{"version":3,"file":"dafa79e94425a08db36d.bundle.js","mappings":"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AQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACRlkI,EAAOP,QAAU,EAAjB,mBC1IA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,iCCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,kCCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,kCCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,oDCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,8CCAA,EAAQ,KACR,EAAQ,KACRO,EAAOP,QAAU,EAAjB,mCCHA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,iCCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,mCCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,oCCDA,EAAQ,KACRO,EAAOP,QAAU,EAAjB,m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","sources":["webpack://multidialogo-frontend/./node_modules/@babel/polyfill/lib/index.js","webpack://multidialogo-frontend/./node_modules/@babel/polyfill/lib/noConflict.js","webpack://multidialogo-frontend/./node_modules/aurelia-binding/dist/native-modules/aurelia-binding.js","webpack://multidialogo-frontend/./node_modules/aurelia-dependency-injection/dist/native-modules/aurelia-dependency-injection.js","webpack://multidialogo-frontend/./node_modules/aurelia-dialog/dist/native-modules/aurelia-dialog.js","webpack://multidialogo-frontend/./node_modules/aurelia-dialog/dist/native-modules/chunk.js","webpack://multidialogo-frontend/./node_modules/aurelia-event-aggregator/dist/native-modules/aurelia-event-aggregator.js","webpack://multidialogo-frontend/./node_modules/aurelia-framework/dist/native-modules/aurelia-framework.js","webpack://multidialogo-frontend/./node_modules/aurelia-history-browser/dist/native-modules/aurelia-history-browser.js","webpack://multidialogo-frontend/./node_modules/aurelia-history/dist/native-modules/aurelia-history.js","webpack://multidialogo-frontend/./node_modules/aurelia-http-client/dist/native-modules/aurelia-http-client.js","webpack://multidialogo-frontend/./node_modules/aurelia-loader-webpack/dist/native-modules/aurelia-loader-webpack.js","webpack://multidialogo-frontend/./node_modules/aurelia-loader/dist/native-modules/aurelia-loader.js","webpack://multidialogo-frontend/./node_modules/aurelia-logging-console/dist/native-modules/aurelia-logging-console.js","webpack://multidialogo-frontend/./node_modules/aurelia-logging/dist/native-modules/aurelia-logging.js","webpack://multidialogo-frontend/./node_modules/aurelia-metadata/dist/native-modules/aurelia-metadata.js","webpack://multidialogo-frontend/./node_modules/aurelia-pal-browser/dist/native-modules/aurelia-pal-browser.js","webpack://multidialogo-frontend/./node_modules/aurelia-pal/dist/native-modules/aurelia-pal.js","webpack://multidialogo-frontend/./node_modules/aurelia-path/dist/native-modules/aurelia-path.js","webpack://multidialogo-frontend/./node_modules/aurelia-polyfills/dist/native-modules/aurelia-polyfills.js","webpack://multidialogo-frontend/./node_modules/aurelia-route-recognizer/dist/native-modules/aurelia-route-recognizer.js","webpack://multidialogo-frontend/./node_modules/aurelia-router/dist/native-modules/aurelia-router.js","webpack://multidialogo-frontend/./node_modules/aurelia-task-queue/dist/native-modules/aurelia-task-queue.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-binding/dist/native-modules/aurelia-templating-binding.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-resources/dist/native-modules/aurelia-templating-resources.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating-router/dist/native-modules/aurelia-templating-router.js","webpack://multidialogo-frontend/./node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js","webpack://multidialogo-frontend/./node_modules/aurelia-validation/dist/native-modules/aurelia-validation.js","webpack://multidialogo-frontend/./src/classes/advices.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-agreements.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-platform-messages.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-settings-linked-software.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-billing-profile.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-profile-data.js","webpack://multidialogo-frontend/./src/classes/checkflow/check-user-profile-pec.js","webpack://multidialogo-frontend/./src/classes/checkflow/checkflow.js","webpack://multidialogo-frontend/./src/classes/mavRequest.js","webpack://multidialogo-frontend/./src/classes/md-table.js","webpack://multidialogo-frontend/./src/classes/md-toast/md-toast.js","webpack://multidialogo-frontend/./src/classes/models/fidelityCards.js","webpack://multidialogo-frontend/./src/classes/queueMessages.js","webpack://multidialogo-frontend/./src/classes/queueProperties.js","webpack://multidialogo-frontend/./src/environment.js","webpack://multidialogo-frontend/./src/index.js","webpack://multidialogo-frontend/./src/resources/attributes/md-tooltip/md-tooltip.js","webpack://multidialogo-frontend/./src/resources/attributes/static-tooltip/static-tooltip.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/accept-cashback-contract.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/confirm-transmission-delay.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/pay-orders.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-certified-documents.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-iban.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-legal-form.js","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-sdd.js","webpack://multidialogo-frontend/./src/resources/elements/km-layout/km-layout.js","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.js","webpack://multidialogo-frontend/./src/resources/elements/md-control/md-control.js","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.js","webpack://multidialogo-frontend/./src/resources/elements/md-input-array/md-input-array.js","webpack://multidialogo-frontend/./src/resources/elements/md-input/md-input.js","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.js","webpack://multidialogo-frontend/./src/resources/elements/md-nav-utenti/md-nav-utenti.js","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel-dialog.js","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel.js","webpack://multidialogo-frontend/./src/resources/elements/md-resource/md-resource.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.js","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.js","webpack://multidialogo-frontend/./src/resources/value-converters/append-comma.js","webpack://multidialogo-frontend/./src/resources/value-converters/combo-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/date-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/filesize-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/object-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/queue-channel-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/queue-status-format.js","webpack://multidialogo-frontend/./src/resources/value-converters/stringify.js","webpack://multidialogo-frontend/./src/resources/value-converters/striphtml.js","webpack://multidialogo-frontend/./src/services/api.js","webpack://multidialogo-frontend/./src/services/md-api.js","webpack://multidialogo-frontend/./src/services/md-auth.js","webpack://multidialogo-frontend/./src/services/md-datasources.js","webpack://multidialogo-frontend/./src/services/md-files.js","webpack://multidialogo-frontend/./src/services/md-tools.js","webpack://multidialogo-frontend/./src/services/md-user.js","webpack://multidialogo-frontend/./src/services/mf-api.js","webpack://multidialogo-frontend/./src/services/mf-files.js","webpack://multidialogo-frontend/./src/views/_agreement/agreement.js","webpack://multidialogo-frontend/./src/views/_legacy/viewer.js","webpack://multidialogo-frontend/./src/views/_template/routeViewName.js","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName1.js","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName2.js","webpack://multidialogo-frontend/./src/views/accesso/dialog-missing-properties.js","webpack://multidialogo-frontend/./src/views/accesso/login.js","webpack://multidialogo-frontend/./src/views/accesso/logout.js","webpack://multidialogo-frontend/./src/views/accesso/recupero.js","webpack://multidialogo-frontend/./src/views/account/delete/delete.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/add-reseller-tag.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.js","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.js","webpack://multidialogo-frontend/./src/views/anagrafiche/revisione-abi-cab/revisione-abi-cab.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dati.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-gruppi.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/anagrafica.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/cashback.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione-editor.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/pagamenti.js","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.js","webpack://multidialogo-frontend/./src/views/app/app-navigation.js","webpack://multidialogo-frontend/./src/views/app/app-toolbar.js","webpack://multidialogo-frontend/./src/views/app/app.js","webpack://multidialogo-frontend/./src/views/app/dialog-senderui.js","webpack://multidialogo-frontend/./src/views/app/maintenance.js","webpack://multidialogo-frontend/./src/views/app/not-found.js","webpack://multidialogo-frontend/./src/views/backoffice/agreements.js","webpack://multidialogo-frontend/./src/views/backoffice/alias.js","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione-dialog.js","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/active-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/expired-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.js","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.js","webpack://multidialogo-frontend/./src/views/backoffice/bounces.js","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.js","webpack://multidialogo-frontend/./src/views/backoffice/documenti/tabs/documenti-gestione.js","webpack://multidialogo-frontend/./src/views/backoffice/multitrax/multitrax.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.js","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/tabs/lista-notifiche.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/assign-editor.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-gestione.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-prenotate.js","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-riscattate.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/multinvio-contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/service-contracts.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/subscriptions.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.js","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/requests.js","webpack://multidialogo-frontend/./src/views/cashback/transactions/transactions.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.js","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.js","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.js","webpack://multidialogo-frontend/./src/views/contabilita/orders.js","webpack://multidialogo-frontend/./src/views/dashboard/dashboard.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.js","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.js","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.js","webpack://multidialogo-frontend/./src/views/help/help.js","webpack://multidialogo-frontend/./src/views/impostazioni/agreements.js","webpack://multidialogo-frontend/./src/views/impostazioni/email.js","webpack://multidialogo-frontend/./src/views/impostazioni/fax.js","webpack://multidialogo-frontend/./src/views/impostazioni/generali.js","webpack://multidialogo-frontend/./src/views/impostazioni/impostazioni.js","webpack://multidialogo-frontend/./src/views/impostazioni/multibox.js","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta.js","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.js","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.js","webpack://multidialogo-frontend/./src/views/impostazioni/posta.js","webpack://multidialogo-frontend/./src/views/impostazioni/sms.js","webpack://multidialogo-frontend/./src/views/landing/email-confirm.js","webpack://multidialogo-frontend/./src/views/landing/offerta.js","webpack://multidialogo-frontend/./src/views/landing/registrazione.js","webpack://multidialogo-frontend/./src/views/multicerta/invite.js","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-mie.js","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-utenti.js","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.js","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.js","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/dialogs/account-for-receipts.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/pagamento.js","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/tabs/mav.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-scadenza.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivabili.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivi.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-gestione.js","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/volture.js","webpack://multidialogo-frontend/./src/views/servizi/credito/crediti.js","webpack://multidialogo-frontend/./src/views/servizi/credito/deposito.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.js","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-transaction-confirm.js","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.js","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.js","webpack://multidialogo-frontend/./src/views/servizi/listini/tabs/listini-elenco.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-assegnate.js","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-gestione.js","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.js","webpack://multidialogo-frontend/./src/views/servizi/ricariche/tabs/ricariche-elenco.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-csv-download.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.js","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.js","webpack://multidialogo-frontend/./src/views/spedizioni/pending.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/report-detail.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/archived.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/canceled.js","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/sent.js","webpack://multidialogo-frontend/./node_modules/charenc/charenc.js","webpack://multidialogo-frontend/./node_modules/core-js/es6/index.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/array/flat-map.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/array/includes.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/entries.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/get-own-property-descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/object/values.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/promise/finally.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/pad-end.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/pad-start.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/trim-end.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/string/trim-start.js","webpack://multidialogo-frontend/./node_modules/core-js/fn/symbol/async-iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/library/fn/global.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_a-function.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_an-object.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_core.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_ctx.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_dom-create.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_export.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_fails.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_global.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_has.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_hide.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_is-object.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_object-dp.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_property-desc.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/_to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/library/modules/es7.global.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_a-function.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_a-number-value.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_advance-string-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_an-instance.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_an-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-copy-within.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-fill.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-methods.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-reduce.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-species-constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_array-species-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_bind.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_classof.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_cof.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection-strong.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection-weak.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_collection.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_core.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_create-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_ctx.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_date-to-iso-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_date-to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_defined.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_dom-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_enum-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_export.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fails-is-regexp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fails.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_fix-re-wks.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_flags.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_flatten-into-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_for-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_function-to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_global.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_has.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_hide.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_html.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_inherit-if-required.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_invoke.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iobject.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-array-iter.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_is-regexp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-call.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-detect.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iter-step.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_iterators.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_library.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-expm1.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-fround.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-log1p.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_math-sign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_meta.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_microtask.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_new-promise-capability.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-assign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-dp.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-dps.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopd.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopn-ext.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gopn.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gops.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-gpo.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-keys-internal.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-pie.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-sap.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_object-to-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_own-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_perform.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_promise-resolve.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_property-desc.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_redefine-all.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_redefine.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_regexp-exec.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_same-value.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-proto.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-species.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_shared-key.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_shared.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_species-constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_strict-method.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-at.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-context.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-html.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-pad.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-repeat.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-trim.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_string-ws.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_task.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-absolute-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-iobject.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-length.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-object.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed-buffer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_typed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_uid.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_user-agent.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_validate-collection.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks-define.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks-ext.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/_wks.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/core.get-iterator-method.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.copy-within.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.every.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.fill.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.filter.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.find-index.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.find.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.for-each.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.from.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.index-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.is-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.join.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.last-index-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.reduce-right.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.reduce.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.slice.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.some.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.sort.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.array.species.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.now.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-json.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-primitive.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.date.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.bind.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.has-instance.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.function.name.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.acosh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.asinh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.atanh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.cbrt.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.clz32.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.cosh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.expm1.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.fround.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.hypot.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.imul.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log10.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log1p.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.log2.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.sign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.sinh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.tanh.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.math.trunc.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.epsilon.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-nan.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.to-fixed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.number.to-precision.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.assign.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.create.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.define-properties.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.define-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.freeze.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-extensible.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-frozen.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is-sealed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.is.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.seal.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.object.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.parse-float.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.parse-int.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.promise.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.apply.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.construct.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.define-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.get.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.has.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.reflect.set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.constructor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.flags.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.match.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.search.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.split.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.regexp.to-string.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.anchor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.big.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.blink.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.bold.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.code-point-at.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.ends-with.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fixed.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fontcolor.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.fontsize.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.from-code-point.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.italics.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.link.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.raw.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.repeat.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.small.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.starts-with.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.strike.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.sub.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.sup.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.string.trim.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.symbol.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.data-view.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.float32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.float64-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int16-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.int8-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.weak-map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es6.weak-set.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.array.flat-map.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.array.includes.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.entries.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.object.values.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.promise.finally.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.pad-end.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.pad-start.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.trim-left.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.string.trim-right.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.dom.iterable.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.immediate.js","webpack://multidialogo-frontend/./node_modules/core-js/modules/web.timers.js","webpack://multidialogo-frontend/./node_modules/core-js/web/index.js","webpack://multidialogo-frontend/./node_modules/crypt/crypt.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/pikaday/css/pikaday.css","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.sass","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.sass","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.sass","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.sass","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.sass","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.sass","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.scss","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.scss","webpack://multidialogo-frontend/./src/static/app.sass","webpack://multidialogo-frontend/./src/views/_agreement/agreement.sass","webpack://multidialogo-frontend/./src/views/accesso/login.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.scss","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.sass","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.sass","webpack://multidialogo-frontend/./src/views/app/not-found.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.sass","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.sass","webpack://multidialogo-frontend/./src/views/backoffice/backoffice.scss","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.sass","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.sass","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.sass","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.sass","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.sass","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.sass","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.sass","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.sass","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.sass","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.sass","webpack://multidialogo-frontend/./src/views/contabilita/orders.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.sass","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.sass","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.sass","webpack://multidialogo-frontend/./src/views/help/help.sass","webpack://multidialogo-frontend/./src/views/impostazioni/email.sass","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.sass","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.scss","webpack://multidialogo-frontend/./src/views/impostazioni/sms.sass","webpack://multidialogo-frontend/./src/views/landing/offerta.sass","webpack://multidialogo-frontend/./src/views/landing/registrazione.sass","webpack://multidialogo-frontend/./src/views/multicerta/invite.scss","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.sass","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.sass","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.sass","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.sass","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.sass","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.scss","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.sass","webpack://multidialogo-frontend/./src/views/servizi/credito/credito-deposito.scss","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.scss","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.scss","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.sass","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.scss","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.sass","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.sass","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-csv-download.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.sass","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.sass","webpack://multidialogo-frontend/./src/views/spedizioni/pending.sass","webpack://multidialogo-frontend/./src/views/spedizioni/report/report-detail.sass","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.sass","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/api.js","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://multidialogo-frontend/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-button/ka-button.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-check/ka-control-check.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-combo/ka-control-combo.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-date/ka-control-date.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-datetime/ka-control-datetime.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-editor/ka-control-editor.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-file/ka-control-file.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-list/ka-control-list.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-number/ka-control-number.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-password/ka-control-password.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-table/ka-control-table.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-text/ka-control-text.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-textarea/ka-control-textarea.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control/ka-control.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-datetime/ka-datetime.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-dialog/ka-dialog-vm.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-input/ka-input-controls.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-input/ka-input.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-layout/ka-layout.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-navbar/ka-navbar.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-progress/ka-progress.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-resource/ka-resource.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-table/ka-table.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-table/ka-tableFilters.html","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-tabs/ka-tabs.html","webpack://multidialogo-frontend/./src/index.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/intents.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/accept-cashback-contract.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/confirm-transmission-delay.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/login.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/pay-orders.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-certified-documents.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-iban.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-legal-form.html","webpack://multidialogo-frontend/./src/resources/dialogs/intents/vms/provide-sdd.html","webpack://multidialogo-frontend/./src/resources/elements/km-layout/km-layout.html","webpack://multidialogo-frontend/./src/resources/elements/md-accordion-button/md-accordion-button.html","webpack://multidialogo-frontend/./src/resources/elements/md-control/md-control.html","webpack://multidialogo-frontend/./src/resources/elements/md-counter/md-counter.html","webpack://multidialogo-frontend/./src/resources/elements/md-input-array/md-input-array.html","webpack://multidialogo-frontend/./src/resources/elements/md-input/md-input.html","webpack://multidialogo-frontend/./src/resources/elements/md-loader/md-loader.html","webpack://multidialogo-frontend/./src/resources/elements/md-nav-utenti/md-nav-utenti.html","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel-dialog.html","webpack://multidialogo-frontend/./src/resources/elements/md-prefsel/md-prefsel.html","webpack://multidialogo-frontend/./src/resources/elements/md-resource/md-resource.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-pagination/md-table-pagination.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-progressbar/md-table-progressbar.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-sort/md-table-sort.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/md-table-toolbar.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-toolbar/sidebars/search.html","webpack://multidialogo-frontend/./src/resources/elements/md-table-wrapper/md-table-wrapper.html","webpack://multidialogo-frontend/./src/views/_agreement/agreement.html","webpack://multidialogo-frontend/./src/views/_legacy/viewer.html","webpack://multidialogo-frontend/./src/views/_template/routeViewName.html","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName1.html","webpack://multidialogo-frontend/./src/views/_template/tabs/routeViewName-tabName2.html","webpack://multidialogo-frontend/./src/views/accesso/dialog-missing-properties.html","webpack://multidialogo-frontend/./src/views/accesso/login.html","webpack://multidialogo-frontend/./src/views/accesso/logout.html","webpack://multidialogo-frontend/./src/views/accesso/recupero.html","webpack://multidialogo-frontend/./src/views/account/delete/delete.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/add-reseller-tag.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.html","webpack://multidialogo-frontend/./src/views/anagrafiche/landing-pages/landing-pages.html","webpack://multidialogo-frontend/./src/views/anagrafiche/revisione-abi-cab/revisione-abi-cab.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dati.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-dialog-elimina.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-gruppi.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica-importazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/rubrica/rubrica.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/migrate-subuser.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/utenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/anagrafica.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/cashback.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/compensi.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/documenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/elenco.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione-editor.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/fatturazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/importazione.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/impostazioni.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/pagamenti.html","webpack://multidialogo-frontend/./src/views/anagrafiche/utenti/views/segnalatori.html","webpack://multidialogo-frontend/./src/views/app/app.html","webpack://multidialogo-frontend/./src/views/app/dialog-senderui.html","webpack://multidialogo-frontend/./src/views/app/maintenance.html","webpack://multidialogo-frontend/./src/views/app/not-found.html","webpack://multidialogo-frontend/./src/views/backoffice/agreements.html","webpack://multidialogo-frontend/./src/views/backoffice/alias.html","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione-dialog.html","webpack://multidialogo-frontend/./src/views/backoffice/archiviazione.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/editor-wall-advice.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice-preview.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/dialogs/wall-advice.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/active-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/tabs/expired-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/avvisi/wall-advices.html","webpack://multidialogo-frontend/./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.html","webpack://multidialogo-frontend/./src/views/backoffice/bounces.html","webpack://multidialogo-frontend/./src/views/backoffice/documenti/dialogs/documenti-approval.html","webpack://multidialogo-frontend/./src/views/backoffice/documenti/tabs/documenti-gestione.html","webpack://multidialogo-frontend/./src/views/backoffice/multitrax/multitrax.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/notifiche.html","webpack://multidialogo-frontend/./src/views/backoffice/notifiche-sistema/tabs/lista-notifiche.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/assign-editor.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/dialogs/offerte-editor.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/offerte.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-gestione.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-prenotate.html","webpack://multidialogo-frontend/./src/views/backoffice/offerte/tabs/offerte-riscattate.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-detail.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/contract-rescission.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/dialogs/create-contract.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/multinvio-contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/service-contracts.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/subscriptions.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-archive.html","webpack://multidialogo-frontend/./src/views/cashback/contracts/tabs/user-subscriptions.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/credit-transfer.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/edit-request.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/insert-movement.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/dialogs/withdrawal-request.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/movements.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/tabs/requests.html","webpack://multidialogo-frontend/./src/views/cashback/transactions/transactions.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/order-detail.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/payment-instructions.html","webpack://multidialogo-frontend/./src/views/contabilita/dialogs/settle-invoice.html","webpack://multidialogo-frontend/./src/views/contabilita/invoices/invoices-list.html","webpack://multidialogo-frontend/./src/views/contabilita/orders.html","webpack://multidialogo-frontend/./src/views/dashboard/dashboard.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/activation.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-activation.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/card.html","webpack://multidialogo-frontend/./src/views/fidelity-cards/templates/fidelity-card.html","webpack://multidialogo-frontend/./src/views/help/dialogs/help-services-agreement.html","webpack://multidialogo-frontend/./src/views/help/help.html","webpack://multidialogo-frontend/./src/views/impostazioni/agreements.html","webpack://multidialogo-frontend/./src/views/impostazioni/email.html","webpack://multidialogo-frontend/./src/views/impostazioni/fax.html","webpack://multidialogo-frontend/./src/views/impostazioni/generali.html","webpack://multidialogo-frontend/./src/views/impostazioni/impostazioni.html","webpack://multidialogo-frontend/./src/views/impostazioni/multibox.html","webpack://multidialogo-frontend/./src/views/impostazioni/multicerta.html","webpack://multidialogo-frontend/./src/views/impostazioni/notifiche.html","webpack://multidialogo-frontend/./src/views/impostazioni/posta-dialog-confirm.html","webpack://multidialogo-frontend/./src/views/impostazioni/posta.html","webpack://multidialogo-frontend/./src/views/impostazioni/sms.html","webpack://multidialogo-frontend/./src/views/landing/email-confirm.html","webpack://multidialogo-frontend/./src/views/landing/offerta.html","webpack://multidialogo-frontend/./src/views/landing/registrazione.html","webpack://multidialogo-frontend/./src/views/multicerta/invite.html","webpack://multidialogo-frontend/./src/views/multicoin/points-transaction-history.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/dialogs/notifiche-anteprima.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/notifiche.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-mie.html","webpack://multidialogo-frontend/./src/views/notifiche-ui/tabs/elenco-notifiche-utenti.html","webpack://multidialogo-frontend/./src/views/print-backoffice/copertine.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/add-cover.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/manage-cover.html","webpack://multidialogo-frontend/./src/views/print-backoffice/dialogs/user-associations-with-the-cover.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/autorizzazioni.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.html","webpack://multidialogo-frontend/./src/views/riscossioni/autorizzazioni/tabs/mav.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/dialogs/account-for-receipts.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/pagamento.html","webpack://multidialogo-frontend/./src/views/riscossioni/pagamento/tabs/mav.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/abbonamenti.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-scadenza.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivabili.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-attivi.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/abbonamenti-gestione.html","webpack://multidialogo-frontend/./src/views/servizi/abbonamenti/tabs/volture.html","webpack://multidialogo-frontend/./src/views/servizi/credito/crediti.html","webpack://multidialogo-frontend/./src/views/servizi/credito/deposito.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-credit-movement.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-deposit-transaction.html","webpack://multidialogo-frontend/./src/views/servizi/credito/dialog-transaction-confirm.html","webpack://multidialogo-frontend/./src/views/servizi/listini/dialogs/listini-pianificazione.html","webpack://multidialogo-frontend/./src/views/servizi/listini/listini.html","webpack://multidialogo-frontend/./src/views/servizi/listini/tabs/listini-elenco.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-assegna.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-crea.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/dialogs/promozioni-modifica.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/promozioni.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-assegnate.html","webpack://multidialogo-frontend/./src/views/servizi/promozioni/tabs/promozioni-gestione.html","webpack://multidialogo-frontend/./src/views/servizi/ricariche/ricariche.html","webpack://multidialogo-frontend/./src/views/servizi/ricariche/tabs/ricariche-elenco.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/bank-transfer-data.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/legacy-history.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-cost-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/message-status-transitions-history.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-cost-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/queue-csv-download.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-attachments.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-multibox-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/dialogs/report-queue-resend.html","webpack://multidialogo-frontend/./src/views/spedizioni/drafts.html","webpack://multidialogo-frontend/./src/views/spedizioni/pending.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/report-detail.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/report.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/archived.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/canceled.html","webpack://multidialogo-frontend/./src/views/spedizioni/report/tabs/sent.html","webpack://multidialogo-frontend/./node_modules/html-loader/dist/runtime/getUrl.js","webpack://multidialogo-frontend/./node_modules/is-buffer/index.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/index.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-api/ka-api.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-button/ka-button.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-console/ka-console.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-backdrop/ka-control-backdrop.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-check/ka-control-check.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-combo/ka-control-combo.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-date/ka-control-date.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-datetime/ka-control-datetime.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-editor/ka-control-editor.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-file/ka-control-file.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-list/ka-control-list.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-number/ka-control-number.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-password/ka-control-password.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-table/ka-control-table.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-text/ka-control-text.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control-textarea/ka-control-textarea.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-control/ka-control.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-datetime/ka-datetime.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-dialog/ka-dialog-vm.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-dialog/ka-dialog.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-enter/ka-enter.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-input/ka-input-controls.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-input/ka-input.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-layout/ka-layout.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-navbar/ka-navbar.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-progress/ka-progress.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-resource/ka-resource.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-table/ka-table.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-table/ka-tableFilters.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-tabs/ka-tabs.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-toast/ka-toast.js","webpack://multidialogo-frontend/./node_modules/ka-components/dist/commonjs/ka-tooltip/ka-tooltip.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/ka-ckeditor/build/ckeditor.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/luxon/build/node/luxon.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/af.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-dz.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-kw.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-ly.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-ma.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-ps.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-sa.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar-tn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ar.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/az.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/be.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bg.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bm.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bn-bd.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/br.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/bs.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ca.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/cs.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/cv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/cy.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/da.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/de-at.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/de-ch.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/de.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/dv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/el.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-au.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-ca.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-gb.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-ie.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-il.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-in.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-nz.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/en-sg.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/eo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/es-do.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/es-mx.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/es-us.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/es.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/et.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/eu.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fa.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fi.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fil.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fr-ca.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fr-ch.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/fy.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ga.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gd.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gom-deva.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gom-latn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/gu.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/he.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/hi.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/hr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/hu.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/hy-am.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/id.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/is.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/it-ch.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/it.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ja.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/jv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ka.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/kk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/km.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/kn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ko.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ku-kmr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ku.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ky.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/lb.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/lo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/lt.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/lv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/me.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mi.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ml.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ms-my.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ms.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/mt.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/my.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/nb.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ne.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/nl-be.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/nl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/nn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/oc-lnc.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/pa-in.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/pl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/pt-br.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/pt.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ro.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ru.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sd.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/se.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/si.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sq.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sr-cyrl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ss.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sv.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/sw.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ta.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/te.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tet.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tg.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/th.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tl-ph.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tlh.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tr.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tzl.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tzm-latn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/tzm.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ug-cn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/uk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ur.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/uz-latn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/uz.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/vi.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/x-pseudo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/yo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/zh-cn.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/zh-hk.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/zh-mo.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/zh-tw.js","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/moment/moment.js","webpack://multidialogo-frontend/./node_modules/md5/md5.js","webpack://multidialogo-frontend/./node_modules/moment/locale/af.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-dz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-kw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-ly.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-ma.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-sa.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar-tn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ar.js","webpack://multidialogo-frontend/./node_modules/moment/locale/az.js","webpack://multidialogo-frontend/./node_modules/moment/locale/be.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bm.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bn-bd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/br.js","webpack://multidialogo-frontend/./node_modules/moment/locale/bs.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cs.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/cy.js","webpack://multidialogo-frontend/./node_modules/moment/locale/da.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de-at.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/de.js","webpack://multidialogo-frontend/./node_modules/moment/locale/dv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/el.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-au.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-gb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-ie.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-il.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-in.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-nz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/en-sg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/eo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-do.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-mx.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es-us.js","webpack://multidialogo-frontend/./node_modules/moment/locale/es.js","webpack://multidialogo-frontend/./node_modules/moment/locale/et.js","webpack://multidialogo-frontend/./node_modules/moment/locale/eu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fa.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fil.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr-ca.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/fy.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ga.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gom-deva.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gom-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/gu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/he.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hu.js","webpack://multidialogo-frontend/./node_modules/moment/locale/hy-am.js","webpack://multidialogo-frontend/./node_modules/moment/locale/id.js","webpack://multidialogo-frontend/./node_modules/moment/locale/is.js","webpack://multidialogo-frontend/./node_modules/moment/locale/it-ch.js","webpack://multidialogo-frontend/./node_modules/moment/locale/it.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ja.js","webpack://multidialogo-frontend/./node_modules/moment/locale/jv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ka.js","webpack://multidialogo-frontend/./node_modules/moment/locale/kk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/km.js","webpack://multidialogo-frontend/./node_modules/moment/locale/kn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ko.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ku.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ky.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/lv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/me.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ml.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ms-my.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ms.js","webpack://multidialogo-frontend/./node_modules/moment/locale/mt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/my.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nb.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ne.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nl-be.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/nn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/oc-lnc.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pa-in.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pt-br.js","webpack://multidialogo-frontend/./node_modules/moment/locale/pt.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ro.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ru.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sd.js","webpack://multidialogo-frontend/./node_modules/moment/locale/se.js","webpack://multidialogo-frontend/./node_modules/moment/locale/si.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sq.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sr-cyrl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ss.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sv.js","webpack://multidialogo-frontend/./node_modules/moment/locale/sw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ta.js","webpack://multidialogo-frontend/./node_modules/moment/locale/te.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tet.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tg.js","webpack://multidialogo-frontend/./node_modules/moment/locale/th.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tl-ph.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tlh.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tr.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzl.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzm-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/tzm.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ug-cn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ur.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uz-latn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/uz.js","webpack://multidialogo-frontend/./node_modules/moment/locale/vi.js","webpack://multidialogo-frontend/./node_modules/moment/locale/x-pseudo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/yo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-cn.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-hk.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-mo.js","webpack://multidialogo-frontend/./node_modules/moment/locale/zh-tw.js","webpack://multidialogo-frontend/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://multidialogo-frontend/./node_modules/moment/moment.js","webpack://multidialogo-frontend/./node_modules/regenerator-runtime/runtime.js","webpack://multidialogo-frontend/./src/services/rest-client.ts","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/regex.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/rng.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/v4.js","webpack://multidialogo-frontend/./node_modules/uuid/dist/esm-browser/validate.js","webpack://multidialogo-frontend/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://multidialogo-frontend/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://multidialogo-frontend/./node_modules/ka-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://multidialogo-frontend/./node_modules/luxon/src/datetime.js","webpack://multidialogo-frontend/./node_modules/luxon/src/duration.js","webpack://multidialogo-frontend/./node_modules/luxon/src/errors.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/conversions.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/diff.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/digits.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/english.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/formats.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/formatter.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/invalid.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/locale.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/regexParser.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/tokenParser.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/util.js","webpack://multidialogo-frontend/./node_modules/luxon/src/impl/zoneUtil.js","webpack://multidialogo-frontend/./node_modules/luxon/src/info.js","webpack://multidialogo-frontend/./node_modules/luxon/src/interval.js","webpack://multidialogo-frontend/./node_modules/luxon/src/settings.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/IANAZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/fixedOffsetZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/invalidZone.js","webpack://multidialogo-frontend/./node_modules/luxon/src/zones/systemZone.js","webpack://multidialogo-frontend/webpack/bootstrap","webpack://multidialogo-frontend/webpack/runtime/load script","webpack://multidialogo-frontend/webpack/runtime/Aurelia expose webpack internal","webpack://multidialogo-frontend/webpack/runtime/compat get default export","webpack://multidialogo-frontend/webpack/runtime/define property getters","webpack://multidialogo-frontend/webpack/runtime/ensure chunk","webpack://multidialogo-frontend/webpack/runtime/get javascript chunk filename","webpack://multidialogo-frontend/webpack/runtime/global","webpack://multidialogo-frontend/webpack/runtime/harmony module decorator","webpack://multidialogo-frontend/webpack/runtime/hasOwnProperty shorthand","webpack://multidialogo-frontend/webpack/runtime/make namespace object","webpack://multidialogo-frontend/webpack/runtime/node module decorator","webpack://multidialogo-frontend/webpack/runtime/publicPath","webpack://multidialogo-frontend/webpack/runtime/jsonp chunk loading","webpack://multidialogo-frontend/./node_modules/aurelia-webpack-plugin/runtime/pal-loader-entry.js","webpack://multidialogo-frontend/./node_modules/aurelia-bootstrapper/dist/native-modules/aurelia-bootstrapper.js"],"sourcesContent":["\"use strict\";\n\nrequire(\"./noConflict\");\n\nvar _global = _interopRequireDefault(require(\"core-js/library/fn/global\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nif (_global[\"default\"]._babelPolyfill && typeof console !== \"undefined\" && console.warn) {\n  console.warn(\"@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended \" + \"and may have consequences if different versions of the polyfills are applied sequentially. \" + \"If you do need to load the polyfill more than once, use @babel/polyfill/noConflict \" + \"instead to bypass the warning.\");\n}\n\n_global[\"default\"]._babelPolyfill = true;","\"use strict\";\n\nrequire(\"core-js/es6\");\n\nrequire(\"core-js/fn/array/includes\");\n\nrequire(\"core-js/fn/array/flat-map\");\n\nrequire(\"core-js/fn/string/pad-start\");\n\nrequire(\"core-js/fn/string/pad-end\");\n\nrequire(\"core-js/fn/string/trim-start\");\n\nrequire(\"core-js/fn/string/trim-end\");\n\nrequire(\"core-js/fn/symbol/async-iterator\");\n\nrequire(\"core-js/fn/object/get-own-property-descriptors\");\n\nrequire(\"core-js/fn/object/values\");\n\nrequire(\"core-js/fn/object/entries\");\n\nrequire(\"core-js/fn/promise/finally\");\n\nrequire(\"core-js/web\");\n\nrequire(\"regenerator-runtime/runtime\");","export { _getArrayObserver as getArrayObserver };\nexport { _getMapObserver as getMapObserver };\nexport { _getSetObserver as getSetObserver };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _class, _dec3, _class2, _dec4, _class3, _dec5, _class5, _dec6, _class7, _dec7, _class8, _dec8, _class9, _dec9, _class10, _class12, _temp, _dec10, _class13, _class14, _temp2;\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nimport * as LogManager from 'aurelia-logging';\nimport { PLATFORM, DOM } from 'aurelia-pal';\nimport { TaskQueue } from 'aurelia-task-queue';\nimport { metadata } from 'aurelia-metadata';\n\nexport var targetContext = 'Binding:target';\nexport var sourceContext = 'Binding:source';\n\nvar map = Object.create(null);\n\nexport function camelCase(name) {\n  if (name in map) {\n    return map[name];\n  }\n  var result = name.charAt(0).toLowerCase() + name.slice(1).replace(/[_.-](\\w|$)/g, function (_, x) {\n    return x.toUpperCase();\n  });\n  map[name] = result;\n  return result;\n}\n\nexport function createOverrideContext(bindingContext, parentOverrideContext) {\n  return {\n    bindingContext: bindingContext,\n    parentOverrideContext: parentOverrideContext || null\n  };\n}\n\nexport function getContextFor(name, scope, ancestor) {\n  var oc = scope.overrideContext;\n\n  if (ancestor) {\n    while (ancestor && oc) {\n      ancestor--;\n      oc = oc.parentOverrideContext;\n    }\n    if (ancestor || !oc) {\n      return undefined;\n    }\n    return name in oc ? oc : oc.bindingContext;\n  }\n\n  while (oc && !(name in oc) && !(oc.bindingContext && name in oc.bindingContext)) {\n    oc = oc.parentOverrideContext;\n  }\n  if (oc) {\n    return name in oc ? oc : oc.bindingContext;\n  }\n\n  return scope.bindingContext || scope.overrideContext;\n}\n\nexport function createScopeForTest(bindingContext, parentBindingContext) {\n  if (parentBindingContext) {\n    return {\n      bindingContext: bindingContext,\n      overrideContext: createOverrideContext(bindingContext, createOverrideContext(parentBindingContext))\n    };\n  }\n  return {\n    bindingContext: bindingContext,\n    overrideContext: createOverrideContext(bindingContext)\n  };\n}\n\nvar slotNames = [];\nvar versionSlotNames = [];\nvar lastSlot = -1;\nfunction ensureEnoughSlotNames(currentSlot) {\n  if (currentSlot === lastSlot) {\n    lastSlot += 5;\n    var ii = slotNames.length = versionSlotNames.length = lastSlot + 1;\n    for (var i = currentSlot + 1; i < ii; ++i) {\n      slotNames[i] = '_observer' + i;\n      versionSlotNames[i] = '_observerVersion' + i;\n    }\n  }\n}\nensureEnoughSlotNames(-1);\n\nfunction addObserver(observer) {\n  var observerSlots = this._observerSlots === undefined ? 0 : this._observerSlots;\n  var i = observerSlots;\n  while (i-- && this[slotNames[i]] !== observer) {}\n\n  if (i === -1) {\n    i = 0;\n    while (this[slotNames[i]]) {\n      i++;\n    }\n    this[slotNames[i]] = observer;\n    observer.subscribe(sourceContext, this);\n\n    if (i === observerSlots) {\n      this._observerSlots = i + 1;\n    }\n  }\n\n  if (this._version === undefined) {\n    this._version = 0;\n  }\n  this[versionSlotNames[i]] = this._version;\n  ensureEnoughSlotNames(i);\n}\n\nfunction observeProperty(obj, propertyName) {\n  var observer = this.observerLocator.getObserver(obj, propertyName);\n  addObserver.call(this, observer);\n}\n\nfunction observeArray(array) {\n  var observer = this.observerLocator.getArrayObserver(array);\n  addObserver.call(this, observer);\n}\n\nfunction unobserve(all) {\n  var i = this._observerSlots;\n  while (i--) {\n    if (all || this[versionSlotNames[i]] !== this._version) {\n      var observer = this[slotNames[i]];\n      this[slotNames[i]] = null;\n      if (observer) {\n        observer.unsubscribe(sourceContext, this);\n      }\n    }\n  }\n}\n\nexport function connectable() {\n  return function (target) {\n    target.prototype.observeProperty = observeProperty;\n    target.prototype.observeArray = observeArray;\n    target.prototype.unobserve = unobserve;\n    target.prototype.addObserver = addObserver;\n  };\n}\n\nvar queue = [];\nvar queued = {};\nvar nextId = 0;\nvar minimumImmediate = 100;\nvar frameBudget = 15;\n\nvar isFlushRequested = false;\nvar immediate = 0;\n\nfunction flush(animationFrameStart) {\n  var length = queue.length;\n  var i = 0;\n  while (i < length) {\n    var binding = queue[i];\n    queued[binding.__connectQueueId] = false;\n    binding.connect(true);\n    i++;\n\n    if (i % 100 === 0 && PLATFORM.performance.now() - animationFrameStart > frameBudget) {\n      break;\n    }\n  }\n  queue.splice(0, i);\n\n  if (queue.length) {\n    PLATFORM.requestAnimationFrame(flush);\n  } else {\n    isFlushRequested = false;\n    immediate = 0;\n  }\n}\n\nexport function enqueueBindingConnect(binding) {\n  if (immediate < minimumImmediate) {\n    immediate++;\n    binding.connect(false);\n  } else {\n    var id = binding.__connectQueueId;\n    if (id === undefined) {\n      id = nextId;\n      nextId++;\n      binding.__connectQueueId = id;\n    }\n\n    if (!queued[id]) {\n      queue.push(binding);\n      queued[id] = true;\n    }\n  }\n  if (!isFlushRequested) {\n    isFlushRequested = true;\n    PLATFORM.requestAnimationFrame(flush);\n  }\n}\n\nexport function setConnectQueueThreshold(value) {\n  minimumImmediate = value;\n}\n\nexport function enableConnectQueue() {\n  setConnectQueueThreshold(100);\n}\n\nexport function disableConnectQueue() {\n  setConnectQueueThreshold(Number.MAX_SAFE_INTEGER);\n}\n\nexport function getConnectQueueSize() {\n  return queue.length;\n}\n\nfunction addSubscriber(context, callable) {\n  if (this.hasSubscriber(context, callable)) {\n    return false;\n  }\n  if (!this._context0) {\n    this._context0 = context;\n    this._callable0 = callable;\n    return true;\n  }\n  if (!this._context1) {\n    this._context1 = context;\n    this._callable1 = callable;\n    return true;\n  }\n  if (!this._context2) {\n    this._context2 = context;\n    this._callable2 = callable;\n    return true;\n  }\n  if (!this._contextsRest) {\n    this._contextsRest = [context];\n    this._callablesRest = [callable];\n    return true;\n  }\n  this._contextsRest.push(context);\n  this._callablesRest.push(callable);\n  return true;\n}\n\nfunction removeSubscriber(context, callable) {\n  if (this._context0 === context && this._callable0 === callable) {\n    this._context0 = null;\n    this._callable0 = null;\n    return true;\n  }\n  if (this._context1 === context && this._callable1 === callable) {\n    this._context1 = null;\n    this._callable1 = null;\n    return true;\n  }\n  if (this._context2 === context && this._callable2 === callable) {\n    this._context2 = null;\n    this._callable2 = null;\n    return true;\n  }\n  var callables = this._callablesRest;\n  if (callables === undefined || callables.length === 0) {\n    return false;\n  }\n  var contexts = this._contextsRest;\n  var i = 0;\n  while (!(callables[i] === callable && contexts[i] === context) && callables.length > i) {\n    i++;\n  }\n  if (i >= callables.length) {\n    return false;\n  }\n  contexts.splice(i, 1);\n  callables.splice(i, 1);\n  return true;\n}\n\nvar arrayPool1 = [];\nvar arrayPool2 = [];\nvar poolUtilization = [];\n\nfunction callSubscribers(newValue, oldValue) {\n  var context0 = this._context0;\n  var callable0 = this._callable0;\n  var context1 = this._context1;\n  var callable1 = this._callable1;\n  var context2 = this._context2;\n  var callable2 = this._callable2;\n  var length = this._contextsRest ? this._contextsRest.length : 0;\n  var contextsRest = void 0;\n  var callablesRest = void 0;\n  var poolIndex = void 0;\n  var i = void 0;\n  if (length) {\n    poolIndex = poolUtilization.length;\n    while (poolIndex-- && poolUtilization[poolIndex]) {}\n    if (poolIndex < 0) {\n      poolIndex = poolUtilization.length;\n      contextsRest = [];\n      callablesRest = [];\n      poolUtilization.push(true);\n      arrayPool1.push(contextsRest);\n      arrayPool2.push(callablesRest);\n    } else {\n      poolUtilization[poolIndex] = true;\n      contextsRest = arrayPool1[poolIndex];\n      callablesRest = arrayPool2[poolIndex];\n    }\n\n    i = length;\n    while (i--) {\n      contextsRest[i] = this._contextsRest[i];\n      callablesRest[i] = this._callablesRest[i];\n    }\n  }\n\n  if (context0) {\n    if (callable0) {\n      callable0.call(context0, newValue, oldValue);\n    } else {\n      context0(newValue, oldValue);\n    }\n  }\n  if (context1) {\n    if (callable1) {\n      callable1.call(context1, newValue, oldValue);\n    } else {\n      context1(newValue, oldValue);\n    }\n  }\n  if (context2) {\n    if (callable2) {\n      callable2.call(context2, newValue, oldValue);\n    } else {\n      context2(newValue, oldValue);\n    }\n  }\n  if (length) {\n    for (i = 0; i < length; i++) {\n      var callable = callablesRest[i];\n      var context = contextsRest[i];\n      if (callable) {\n        callable.call(context, newValue, oldValue);\n      } else {\n        context(newValue, oldValue);\n      }\n      contextsRest[i] = null;\n      callablesRest[i] = null;\n    }\n    poolUtilization[poolIndex] = false;\n  }\n}\n\nfunction hasSubscribers() {\n  return !!(this._context0 || this._context1 || this._context2 || this._contextsRest && this._contextsRest.length);\n}\n\nfunction hasSubscriber(context, callable) {\n  var has = this._context0 === context && this._callable0 === callable || this._context1 === context && this._callable1 === callable || this._context2 === context && this._callable2 === callable;\n  if (has) {\n    return true;\n  }\n  var index = void 0;\n  var contexts = this._contextsRest;\n  if (!contexts || (index = contexts.length) === 0) {\n    return false;\n  }\n  var callables = this._callablesRest;\n  while (index--) {\n    if (contexts[index] === context && callables[index] === callable) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport function subscriberCollection() {\n  return function (target) {\n    target.prototype.addSubscriber = addSubscriber;\n    target.prototype.removeSubscriber = removeSubscriber;\n    target.prototype.callSubscribers = callSubscribers;\n    target.prototype.hasSubscribers = hasSubscribers;\n    target.prototype.hasSubscriber = hasSubscriber;\n  };\n}\n\nexport var ExpressionObserver = (_dec = connectable(), _dec2 = subscriberCollection(), _dec(_class = _dec2(_class = function () {\n  function ExpressionObserver(scope, expression, observerLocator, lookupFunctions) {\n    \n\n    this.scope = scope;\n    this.expression = expression;\n    this.observerLocator = observerLocator;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  ExpressionObserver.prototype.getValue = function getValue() {\n    return this.expression.evaluate(this.scope, this.lookupFunctions);\n  };\n\n  ExpressionObserver.prototype.setValue = function setValue(newValue) {\n    this.expression.assign(this.scope, newValue);\n  };\n\n  ExpressionObserver.prototype.subscribe = function subscribe(context, callable) {\n    var _this = this;\n\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.expression.evaluate(this.scope, this.lookupFunctions);\n      this.expression.connect(this, this.scope);\n    }\n    this.addSubscriber(context, callable);\n    if (arguments.length === 1 && context instanceof Function) {\n      return {\n        dispose: function dispose() {\n          _this.unsubscribe(context, callable);\n        }\n      };\n    }\n  };\n\n  ExpressionObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.unobserve(true);\n      this.oldValue = undefined;\n    }\n  };\n\n  ExpressionObserver.prototype.call = function call() {\n    var newValue = this.expression.evaluate(this.scope, this.lookupFunctions);\n    var oldValue = this.oldValue;\n    if (newValue !== oldValue) {\n      this.oldValue = newValue;\n      this.callSubscribers(newValue, oldValue);\n    }\n    this._version++;\n    this.expression.connect(this, this.scope);\n    this.unobserve(false);\n  };\n\n  return ExpressionObserver;\n}()) || _class) || _class);\n\nfunction isIndex(s) {\n  return +s === s >>> 0;\n}\n\nfunction toNumber(s) {\n  return +s;\n}\n\nfunction newSplice(index, removed, addedCount) {\n  return {\n    index: index,\n    removed: removed,\n    addedCount: addedCount\n  };\n}\n\nvar EDIT_LEAVE = 0;\nvar EDIT_UPDATE = 1;\nvar EDIT_ADD = 2;\nvar EDIT_DELETE = 3;\n\nfunction ArraySplice() {}\n\nArraySplice.prototype = {\n  calcEditDistances: function calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n    var rowCount = oldEnd - oldStart + 1;\n    var columnCount = currentEnd - currentStart + 1;\n    var distances = new Array(rowCount);\n    var north = void 0;\n    var west = void 0;\n\n    for (var i = 0; i < rowCount; ++i) {\n      distances[i] = new Array(columnCount);\n      distances[i][0] = i;\n    }\n\n    for (var j = 0; j < columnCount; ++j) {\n      distances[0][j] = j;\n    }\n\n    for (var _i = 1; _i < rowCount; ++_i) {\n      for (var _j = 1; _j < columnCount; ++_j) {\n        if (this.equals(current[currentStart + _j - 1], old[oldStart + _i - 1])) {\n          distances[_i][_j] = distances[_i - 1][_j - 1];\n        } else {\n          north = distances[_i - 1][_j] + 1;\n          west = distances[_i][_j - 1] + 1;\n          distances[_i][_j] = north < west ? north : west;\n        }\n      }\n    }\n\n    return distances;\n  },\n\n  spliceOperationsFromEditDistances: function spliceOperationsFromEditDistances(distances) {\n    var i = distances.length - 1;\n    var j = distances[0].length - 1;\n    var current = distances[i][j];\n    var edits = [];\n    while (i > 0 || j > 0) {\n      if (i === 0) {\n        edits.push(EDIT_ADD);\n        j--;\n        continue;\n      }\n      if (j === 0) {\n        edits.push(EDIT_DELETE);\n        i--;\n        continue;\n      }\n      var northWest = distances[i - 1][j - 1];\n      var west = distances[i - 1][j];\n      var north = distances[i][j - 1];\n\n      var min = void 0;\n      if (west < north) {\n        min = west < northWest ? west : northWest;\n      } else {\n        min = north < northWest ? north : northWest;\n      }\n\n      if (min === northWest) {\n        if (northWest === current) {\n          edits.push(EDIT_LEAVE);\n        } else {\n          edits.push(EDIT_UPDATE);\n          current = northWest;\n        }\n        i--;\n        j--;\n      } else if (min === west) {\n        edits.push(EDIT_DELETE);\n        i--;\n        current = west;\n      } else {\n        edits.push(EDIT_ADD);\n        j--;\n        current = north;\n      }\n    }\n\n    edits.reverse();\n    return edits;\n  },\n\n  calcSplices: function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n    var prefixCount = 0;\n    var suffixCount = 0;\n\n    var minLength = Math.min(currentEnd - currentStart, oldEnd - oldStart);\n    if (currentStart === 0 && oldStart === 0) {\n      prefixCount = this.sharedPrefix(current, old, minLength);\n    }\n\n    if (currentEnd === current.length && oldEnd === old.length) {\n      suffixCount = this.sharedSuffix(current, old, minLength - prefixCount);\n    }\n\n    currentStart += prefixCount;\n    oldStart += prefixCount;\n    currentEnd -= suffixCount;\n    oldEnd -= suffixCount;\n\n    if (currentEnd - currentStart === 0 && oldEnd - oldStart === 0) {\n      return [];\n    }\n\n    if (currentStart === currentEnd) {\n      var _splice = newSplice(currentStart, [], 0);\n      while (oldStart < oldEnd) {\n        _splice.removed.push(old[oldStart++]);\n      }\n\n      return [_splice];\n    } else if (oldStart === oldEnd) {\n      return [newSplice(currentStart, [], currentEnd - currentStart)];\n    }\n\n    var ops = this.spliceOperationsFromEditDistances(this.calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd));\n\n    var splice = undefined;\n    var splices = [];\n    var index = currentStart;\n    var oldIndex = oldStart;\n    for (var i = 0; i < ops.length; ++i) {\n      switch (ops[i]) {\n        case EDIT_LEAVE:\n          if (splice) {\n            splices.push(splice);\n            splice = undefined;\n          }\n\n          index++;\n          oldIndex++;\n          break;\n        case EDIT_UPDATE:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.addedCount++;\n          index++;\n\n          splice.removed.push(old[oldIndex]);\n          oldIndex++;\n          break;\n        case EDIT_ADD:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.addedCount++;\n          index++;\n          break;\n        case EDIT_DELETE:\n          if (!splice) {\n            splice = newSplice(index, [], 0);\n          }\n\n          splice.removed.push(old[oldIndex]);\n          oldIndex++;\n          break;\n      }\n    }\n\n    if (splice) {\n      splices.push(splice);\n    }\n    return splices;\n  },\n\n  sharedPrefix: function sharedPrefix(current, old, searchLength) {\n    for (var i = 0; i < searchLength; ++i) {\n      if (!this.equals(current[i], old[i])) {\n        return i;\n      }\n    }\n\n    return searchLength;\n  },\n\n  sharedSuffix: function sharedSuffix(current, old, searchLength) {\n    var index1 = current.length;\n    var index2 = old.length;\n    var count = 0;\n    while (count < searchLength && this.equals(current[--index1], old[--index2])) {\n      count++;\n    }\n\n    return count;\n  },\n\n  calculateSplices: function calculateSplices(current, previous) {\n    return this.calcSplices(current, 0, current.length, previous, 0, previous.length);\n  },\n\n  equals: function equals(currentValue, previousValue) {\n    return currentValue === previousValue;\n  }\n};\n\nvar arraySplice = new ArraySplice();\n\nexport function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n  return arraySplice.calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd);\n}\n\nfunction intersect(start1, end1, start2, end2) {\n  if (end1 < start2 || end2 < start1) {\n    return -1;\n  }\n\n  if (end1 === start2 || end2 === start1) {\n    return 0;\n  }\n\n  if (start1 < start2) {\n    if (end1 < end2) {\n      return end1 - start2;\n    }\n\n    return end2 - start2;\n  }\n\n  if (end2 < end1) {\n    return end2 - start1;\n  }\n\n  return end1 - start1;\n}\n\nexport function mergeSplice(splices, index, removed, addedCount) {\n  var splice = newSplice(index, removed, addedCount);\n\n  var inserted = false;\n  var insertionOffset = 0;\n\n  for (var i = 0; i < splices.length; i++) {\n    var current = splices[i];\n    current.index += insertionOffset;\n\n    if (inserted) {\n      continue;\n    }\n\n    var intersectCount = intersect(splice.index, splice.index + splice.removed.length, current.index, current.index + current.addedCount);\n\n    if (intersectCount >= 0) {\n\n      splices.splice(i, 1);\n      i--;\n\n      insertionOffset -= current.addedCount - current.removed.length;\n\n      splice.addedCount += current.addedCount - intersectCount;\n      var deleteCount = splice.removed.length + current.removed.length - intersectCount;\n\n      if (!splice.addedCount && !deleteCount) {\n        inserted = true;\n      } else {\n        var currentRemoved = current.removed;\n\n        if (splice.index < current.index) {\n          var prepend = splice.removed.slice(0, current.index - splice.index);\n          Array.prototype.push.apply(prepend, currentRemoved);\n          currentRemoved = prepend;\n        }\n\n        if (splice.index + splice.removed.length > current.index + current.addedCount) {\n          var append = splice.removed.slice(current.index + current.addedCount - splice.index);\n          Array.prototype.push.apply(currentRemoved, append);\n        }\n\n        splice.removed = currentRemoved;\n        if (current.index < splice.index) {\n          splice.index = current.index;\n        }\n      }\n    } else if (splice.index < current.index) {\n\n      inserted = true;\n\n      splices.splice(i, 0, splice);\n      i++;\n\n      var offset = splice.addedCount - splice.removed.length;\n      current.index += offset;\n      insertionOffset += offset;\n    }\n  }\n\n  if (!inserted) {\n    splices.push(splice);\n  }\n}\n\nfunction createInitialSplices(array, changeRecords) {\n  var splices = [];\n\n  for (var i = 0; i < changeRecords.length; i++) {\n    var record = changeRecords[i];\n    switch (record.type) {\n      case 'splice':\n        mergeSplice(splices, record.index, record.removed.slice(), record.addedCount);\n        break;\n      case 'add':\n      case 'update':\n      case 'delete':\n        if (!isIndex(record.name)) {\n          continue;\n        }\n\n        var index = toNumber(record.name);\n        if (index < 0) {\n          continue;\n        }\n\n        mergeSplice(splices, index, [record.oldValue], record.type === 'delete' ? 0 : 1);\n        break;\n      default:\n        console.error('Unexpected record type: ' + JSON.stringify(record));\n        break;\n    }\n  }\n\n  return splices;\n}\n\nexport function projectArraySplices(array, changeRecords) {\n  var splices = [];\n\n  createInitialSplices(array, changeRecords).forEach(function (splice) {\n    if (splice.addedCount === 1 && splice.removed.length === 1) {\n      if (splice.removed[0] !== array[splice.index]) {\n        splices.push(splice);\n      }\n\n      return;\n    }\n\n    splices = splices.concat(calcSplices(array, splice.index, splice.index + splice.addedCount, splice.removed, 0, splice.removed.length));\n  });\n\n  return splices;\n}\n\nfunction newRecord(type, object, key, oldValue) {\n  return {\n    type: type,\n    object: object,\n    key: key,\n    oldValue: oldValue\n  };\n}\n\nexport function getChangeRecords(map) {\n  var entries = new Array(map.size);\n  var keys = map.keys();\n  var i = 0;\n  var item = void 0;\n\n  while (item = keys.next()) {\n    if (item.done) {\n      break;\n    }\n\n    entries[i] = newRecord('added', map, item.value);\n    i++;\n  }\n\n  return entries;\n}\n\nexport var ModifyCollectionObserver = (_dec3 = subscriberCollection(), _dec3(_class2 = function () {\n  function ModifyCollectionObserver(taskQueue, collection) {\n    \n\n    this.taskQueue = taskQueue;\n    this.queued = false;\n    this.changeRecords = null;\n    this.oldCollection = null;\n    this.collection = collection;\n    this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length';\n  }\n\n  ModifyCollectionObserver.prototype.subscribe = function subscribe(context, callable) {\n    this.addSubscriber(context, callable);\n  };\n\n  ModifyCollectionObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  ModifyCollectionObserver.prototype.addChangeRecord = function addChangeRecord(changeRecord) {\n    if (!this.hasSubscribers() && !this.lengthObserver) {\n      return;\n    }\n\n    if (changeRecord.type === 'splice') {\n      var index = changeRecord.index;\n      var arrayLength = changeRecord.object.length;\n      if (index > arrayLength) {\n        index = arrayLength - changeRecord.addedCount;\n      } else if (index < 0) {\n        index = arrayLength + changeRecord.removed.length + index - changeRecord.addedCount;\n      }\n      if (index < 0) {\n        index = 0;\n      }\n      changeRecord.index = index;\n    }\n\n    if (this.changeRecords === null) {\n      this.changeRecords = [changeRecord];\n    } else {\n      this.changeRecords.push(changeRecord);\n    }\n\n    if (!this.queued) {\n      this.queued = true;\n      this.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  ModifyCollectionObserver.prototype.flushChangeRecords = function flushChangeRecords() {\n    if (this.changeRecords && this.changeRecords.length || this.oldCollection) {\n      this.call();\n    }\n  };\n\n  ModifyCollectionObserver.prototype.reset = function reset(oldCollection) {\n    this.oldCollection = oldCollection;\n\n    if (this.hasSubscribers() && !this.queued) {\n      this.queued = true;\n      this.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  ModifyCollectionObserver.prototype.getLengthObserver = function getLengthObserver() {\n    return this.lengthObserver || (this.lengthObserver = new CollectionLengthObserver(this.collection));\n  };\n\n  ModifyCollectionObserver.prototype.call = function call() {\n    var changeRecords = this.changeRecords;\n    var oldCollection = this.oldCollection;\n    var records = void 0;\n\n    this.queued = false;\n    this.changeRecords = [];\n    this.oldCollection = null;\n\n    if (this.hasSubscribers()) {\n      if (oldCollection) {\n        if (this.collection instanceof Map || this.collection instanceof Set) {\n          records = getChangeRecords(oldCollection);\n        } else {\n          records = calcSplices(this.collection, 0, this.collection.length, oldCollection, 0, oldCollection.length);\n        }\n      } else {\n        if (this.collection instanceof Map || this.collection instanceof Set) {\n          records = changeRecords;\n        } else {\n          records = projectArraySplices(this.collection, changeRecords);\n        }\n      }\n\n      this.callSubscribers(records);\n    }\n\n    if (this.lengthObserver) {\n      this.lengthObserver.call(this.collection[this.lengthPropertyName]);\n    }\n  };\n\n  return ModifyCollectionObserver;\n}()) || _class2);\n\nexport var CollectionLengthObserver = (_dec4 = subscriberCollection(), _dec4(_class3 = function () {\n  function CollectionLengthObserver(collection) {\n    \n\n    this.collection = collection;\n    this.lengthPropertyName = collection instanceof Map || collection instanceof Set ? 'size' : 'length';\n    this.currentValue = collection[this.lengthPropertyName];\n  }\n\n  CollectionLengthObserver.prototype.getValue = function getValue() {\n    return this.collection[this.lengthPropertyName];\n  };\n\n  CollectionLengthObserver.prototype.setValue = function setValue(newValue) {\n    this.collection[this.lengthPropertyName] = newValue;\n  };\n\n  CollectionLengthObserver.prototype.subscribe = function subscribe(context, callable) {\n    this.addSubscriber(context, callable);\n  };\n\n  CollectionLengthObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  CollectionLengthObserver.prototype.call = function call(newValue) {\n    var oldValue = this.currentValue;\n    this.callSubscribers(newValue, oldValue);\n    this.currentValue = newValue;\n  };\n\n  return CollectionLengthObserver;\n}()) || _class3);\n\nvar arrayProto = Array.prototype;\nvar pop = arrayProto.pop;\nvar push = arrayProto.push;\nvar reverse = arrayProto.reverse;\nvar shift = arrayProto.shift;\nvar sort = arrayProto.sort;\nvar splice = arrayProto.splice;\nvar unshift = arrayProto.unshift;\n\nif (arrayProto.__au_patched__) {\n  LogManager.getLogger('array-observation').warn('Detected 2nd attempt of patching array from Aurelia binding.' + ' This is probably caused by dependency mismatch between core modules and a 3rd party plugin.' + ' Please see https://github.com/aurelia/cli/pull/906 if you are using webpack.');\n} else {\n  Reflect.defineProperty(arrayProto, '__au_patched__', { value: 1 });\n  arrayProto.pop = function () {\n    var notEmpty = this.length > 0;\n    var methodCallResult = pop.apply(this, arguments);\n    if (notEmpty && this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'delete',\n        object: this,\n        name: this.length,\n        oldValue: methodCallResult\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.push = function () {\n    var methodCallResult = push.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: this.length - arguments.length,\n        removed: [],\n        addedCount: arguments.length\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.reverse = function () {\n    var oldArray = void 0;\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.flushChangeRecords();\n      oldArray = this.slice();\n    }\n    var methodCallResult = reverse.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.reset(oldArray);\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.shift = function () {\n    var notEmpty = this.length > 0;\n    var methodCallResult = shift.apply(this, arguments);\n    if (notEmpty && this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'delete',\n        object: this,\n        name: 0,\n        oldValue: methodCallResult\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.sort = function () {\n    var oldArray = void 0;\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.flushChangeRecords();\n      oldArray = this.slice();\n    }\n    var methodCallResult = sort.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.reset(oldArray);\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.splice = function () {\n    var methodCallResult = splice.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: +arguments[0],\n        removed: methodCallResult,\n        addedCount: arguments.length > 2 ? arguments.length - 2 : 0\n      });\n    }\n    return methodCallResult;\n  };\n\n  arrayProto.unshift = function () {\n    var methodCallResult = unshift.apply(this, arguments);\n    if (this.__array_observer__ !== undefined) {\n      this.__array_observer__.addChangeRecord({\n        type: 'splice',\n        object: this,\n        index: 0,\n        removed: [],\n        addedCount: arguments.length\n      });\n    }\n    return methodCallResult;\n  };\n}\n\nfunction _getArrayObserver(taskQueue, array) {\n  return ModifyArrayObserver.for(taskQueue, array);\n}\n\nvar ModifyArrayObserver = function (_ModifyCollectionObse) {\n  _inherits(ModifyArrayObserver, _ModifyCollectionObse);\n\n  function ModifyArrayObserver(taskQueue, array) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse.call(this, taskQueue, array));\n  }\n\n  ModifyArrayObserver.for = function _for(taskQueue, array) {\n    if (!('__array_observer__' in array)) {\n      Reflect.defineProperty(array, '__array_observer__', {\n        value: ModifyArrayObserver.create(taskQueue, array),\n        enumerable: false, configurable: false\n      });\n    }\n    return array.__array_observer__;\n  };\n\n  ModifyArrayObserver.create = function create(taskQueue, array) {\n    return new ModifyArrayObserver(taskQueue, array);\n  };\n\n  return ModifyArrayObserver;\n}(ModifyCollectionObserver);\n\nexport var Expression = function () {\n  function Expression() {\n    \n\n    this.isAssignable = false;\n  }\n\n  Expression.prototype.evaluate = function evaluate(scope, lookupFunctions, args) {\n    throw new Error('Binding expression \"' + this + '\" cannot be evaluated.');\n  };\n\n  Expression.prototype.assign = function assign(scope, value, lookupFunctions) {\n    throw new Error('Binding expression \"' + this + '\" cannot be assigned to.');\n  };\n\n  Expression.prototype.toString = function toString() {\n    return typeof FEATURE_NO_UNPARSER === 'undefined' ? _Unparser.unparse(this) : Function.prototype.toString.call(this);\n  };\n\n  return Expression;\n}();\n\nexport var BindingBehavior = function (_Expression) {\n  _inherits(BindingBehavior, _Expression);\n\n  function BindingBehavior(expression, name, args) {\n    \n\n    var _this3 = _possibleConstructorReturn(this, _Expression.call(this));\n\n    _this3.expression = expression;\n    _this3.name = name;\n    _this3.args = args;\n    return _this3;\n  }\n\n  BindingBehavior.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.expression.evaluate(scope, lookupFunctions);\n  };\n\n  BindingBehavior.prototype.assign = function assign(scope, value, lookupFunctions) {\n    return this.expression.assign(scope, value, lookupFunctions);\n  };\n\n  BindingBehavior.prototype.accept = function accept(visitor) {\n    return visitor.visitBindingBehavior(this);\n  };\n\n  BindingBehavior.prototype.connect = function connect(binding, scope) {\n    this.expression.connect(binding, scope);\n  };\n\n  BindingBehavior.prototype.bind = function bind(binding, scope, lookupFunctions) {\n    if (this.expression.expression && this.expression.bind) {\n      this.expression.bind(binding, scope, lookupFunctions);\n    }\n    var behavior = lookupFunctions.bindingBehaviors(this.name);\n    if (!behavior) {\n      throw new Error('No BindingBehavior named \"' + this.name + '\" was found!');\n    }\n    var behaviorKey = 'behavior-' + this.name;\n    if (binding[behaviorKey]) {\n      throw new Error('A binding behavior named \"' + this.name + '\" has already been applied to \"' + this.expression + '\"');\n    }\n    binding[behaviorKey] = behavior;\n    behavior.bind.apply(behavior, [binding, scope].concat(evalList(scope, this.args, binding.lookupFunctions)));\n  };\n\n  BindingBehavior.prototype.unbind = function unbind(binding, scope) {\n    var behaviorKey = 'behavior-' + this.name;\n    binding[behaviorKey].unbind(binding, scope);\n    binding[behaviorKey] = null;\n    if (this.expression.expression && this.expression.unbind) {\n      this.expression.unbind(binding, scope);\n    }\n  };\n\n  return BindingBehavior;\n}(Expression);\n\nexport var ValueConverter = function (_Expression2) {\n  _inherits(ValueConverter, _Expression2);\n\n  function ValueConverter(expression, name, args) {\n    \n\n    var _this4 = _possibleConstructorReturn(this, _Expression2.call(this));\n\n    _this4.expression = expression;\n    _this4.name = name;\n    _this4.args = args;\n    _this4.allArgs = [expression].concat(args);\n    return _this4;\n  }\n\n  ValueConverter.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var converter = lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n\n    if ('toView' in converter) {\n      return converter.toView.apply(converter, evalList(scope, this.allArgs, lookupFunctions));\n    }\n\n    return this.allArgs[0].evaluate(scope, lookupFunctions);\n  };\n\n  ValueConverter.prototype.assign = function assign(scope, value, lookupFunctions) {\n    var converter = lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n\n    if ('fromView' in converter) {\n      value = converter.fromView.apply(converter, [value].concat(evalList(scope, this.args, lookupFunctions)));\n    }\n\n    return this.allArgs[0].assign(scope, value, lookupFunctions);\n  };\n\n  ValueConverter.prototype.accept = function accept(visitor) {\n    return visitor.visitValueConverter(this);\n  };\n\n  ValueConverter.prototype.connect = function connect(binding, scope) {\n    var expressions = this.allArgs;\n    var i = expressions.length;\n    while (i--) {\n      expressions[i].connect(binding, scope);\n    }\n    var converter = binding.lookupFunctions.valueConverters(this.name);\n    if (!converter) {\n      throw new Error('No ValueConverter named \"' + this.name + '\" was found!');\n    }\n    var signals = converter.signals;\n    if (signals === undefined) {\n      return;\n    }\n    i = signals.length;\n    while (i--) {\n      connectBindingToSignal(binding, signals[i]);\n    }\n  };\n\n  return ValueConverter;\n}(Expression);\n\nexport var Assign = function (_Expression3) {\n  _inherits(Assign, _Expression3);\n\n  function Assign(target, value) {\n    \n\n    var _this5 = _possibleConstructorReturn(this, _Expression3.call(this));\n\n    _this5.target = target;\n    _this5.value = value;\n    _this5.isAssignable = true;\n    return _this5;\n  }\n\n  Assign.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.target.assign(scope, this.value.evaluate(scope, lookupFunctions));\n  };\n\n  Assign.prototype.accept = function accept(vistor) {\n    vistor.visitAssign(this);\n  };\n\n  Assign.prototype.connect = function connect(binding, scope) {};\n\n  Assign.prototype.assign = function assign(scope, value) {\n    this.value.assign(scope, value);\n    this.target.assign(scope, value);\n  };\n\n  return Assign;\n}(Expression);\n\nexport var Conditional = function (_Expression4) {\n  _inherits(Conditional, _Expression4);\n\n  function Conditional(condition, yes, no) {\n    \n\n    var _this6 = _possibleConstructorReturn(this, _Expression4.call(this));\n\n    _this6.condition = condition;\n    _this6.yes = yes;\n    _this6.no = no;\n    return _this6;\n  }\n\n  Conditional.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return !!this.condition.evaluate(scope, lookupFunctions) ? this.yes.evaluate(scope, lookupFunctions) : this.no.evaluate(scope, lookupFunctions);\n  };\n\n  Conditional.prototype.accept = function accept(visitor) {\n    return visitor.visitConditional(this);\n  };\n\n  Conditional.prototype.connect = function connect(binding, scope) {\n    this.condition.connect(binding, scope);\n    if (this.condition.evaluate(scope)) {\n      this.yes.connect(binding, scope);\n    } else {\n      this.no.connect(binding, scope);\n    }\n  };\n\n  return Conditional;\n}(Expression);\n\nexport var AccessThis = function (_Expression5) {\n  _inherits(AccessThis, _Expression5);\n\n  function AccessThis(ancestor) {\n    \n\n    var _this7 = _possibleConstructorReturn(this, _Expression5.call(this));\n\n    _this7.ancestor = ancestor;\n    return _this7;\n  }\n\n  AccessThis.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var oc = scope.overrideContext;\n    var i = this.ancestor;\n    while (i-- && oc) {\n      oc = oc.parentOverrideContext;\n    }\n    return i < 1 && oc ? oc.bindingContext : undefined;\n  };\n\n  AccessThis.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessThis(this);\n  };\n\n  AccessThis.prototype.connect = function connect(binding, scope) {};\n\n  return AccessThis;\n}(Expression);\n\nexport var AccessScope = function (_Expression6) {\n  _inherits(AccessScope, _Expression6);\n\n  function AccessScope(name, ancestor) {\n    \n\n    var _this8 = _possibleConstructorReturn(this, _Expression6.call(this));\n\n    _this8.name = name;\n    _this8.ancestor = ancestor;\n    _this8.isAssignable = true;\n    return _this8;\n  }\n\n  AccessScope.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    return context[this.name];\n  };\n\n  AccessScope.prototype.assign = function assign(scope, value) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    return context ? context[this.name] = value : undefined;\n  };\n\n  AccessScope.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessScope(this);\n  };\n\n  AccessScope.prototype.connect = function connect(binding, scope) {\n    var context = getContextFor(this.name, scope, this.ancestor);\n    binding.observeProperty(context, this.name);\n  };\n\n  return AccessScope;\n}(Expression);\n\nexport var AccessMember = function (_Expression7) {\n  _inherits(AccessMember, _Expression7);\n\n  function AccessMember(object, name) {\n    \n\n    var _this9 = _possibleConstructorReturn(this, _Expression7.call(this));\n\n    _this9.object = object;\n    _this9.name = name;\n    _this9.isAssignable = true;\n    return _this9;\n  }\n\n  AccessMember.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    return instance === null || instance === undefined ? instance : instance[this.name];\n  };\n\n  AccessMember.prototype.assign = function assign(scope, value) {\n    var instance = this.object.evaluate(scope);\n\n    if (instance === null || instance === undefined) {\n      instance = {};\n      this.object.assign(scope, instance);\n    }\n\n    instance[this.name] = value;\n    return value;\n  };\n\n  AccessMember.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessMember(this);\n  };\n\n  AccessMember.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (obj) {\n      binding.observeProperty(obj, this.name);\n    }\n  };\n\n  return AccessMember;\n}(Expression);\n\nexport var AccessKeyed = function (_Expression8) {\n  _inherits(AccessKeyed, _Expression8);\n\n  function AccessKeyed(object, key) {\n    \n\n    var _this10 = _possibleConstructorReturn(this, _Expression8.call(this));\n\n    _this10.object = object;\n    _this10.key = key;\n    _this10.isAssignable = true;\n    return _this10;\n  }\n\n  AccessKeyed.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    var lookup = this.key.evaluate(scope, lookupFunctions);\n    return getKeyed(instance, lookup);\n  };\n\n  AccessKeyed.prototype.assign = function assign(scope, value) {\n    var instance = this.object.evaluate(scope);\n    var lookup = this.key.evaluate(scope);\n    return setKeyed(instance, lookup, value);\n  };\n\n  AccessKeyed.prototype.accept = function accept(visitor) {\n    return visitor.visitAccessKeyed(this);\n  };\n\n  AccessKeyed.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (obj instanceof Object) {\n      this.key.connect(binding, scope);\n      var key = this.key.evaluate(scope);\n\n      if (key !== null && key !== undefined && !(Array.isArray(obj) && typeof key === 'number')) {\n        binding.observeProperty(obj, key);\n      }\n    }\n  };\n\n  return AccessKeyed;\n}(Expression);\n\nexport var CallScope = function (_Expression9) {\n  _inherits(CallScope, _Expression9);\n\n  function CallScope(name, args, ancestor) {\n    \n\n    var _this11 = _possibleConstructorReturn(this, _Expression9.call(this));\n\n    _this11.name = name;\n    _this11.args = args;\n    _this11.ancestor = ancestor;\n    return _this11;\n  }\n\n  CallScope.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var args = evalList(scope, this.args, lookupFunctions);\n    var context = getContextFor(this.name, scope, this.ancestor);\n    var func = getFunction(context, this.name, mustEvaluate);\n    if (func) {\n      return func.apply(context, args);\n    }\n    return undefined;\n  };\n\n  CallScope.prototype.accept = function accept(visitor) {\n    return visitor.visitCallScope(this);\n  };\n\n  CallScope.prototype.connect = function connect(binding, scope) {\n    var args = this.args;\n    var i = args.length;\n    while (i--) {\n      args[i].connect(binding, scope);\n    }\n  };\n\n  return CallScope;\n}(Expression);\n\nexport var CallMember = function (_Expression10) {\n  _inherits(CallMember, _Expression10);\n\n  function CallMember(object, name, args) {\n    \n\n    var _this12 = _possibleConstructorReturn(this, _Expression10.call(this));\n\n    _this12.object = object;\n    _this12.name = name;\n    _this12.args = args;\n    return _this12;\n  }\n\n  CallMember.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var instance = this.object.evaluate(scope, lookupFunctions);\n    var args = evalList(scope, this.args, lookupFunctions);\n    var func = getFunction(instance, this.name, mustEvaluate);\n    if (func) {\n      return func.apply(instance, args);\n    }\n    return undefined;\n  };\n\n  CallMember.prototype.accept = function accept(visitor) {\n    return visitor.visitCallMember(this);\n  };\n\n  CallMember.prototype.connect = function connect(binding, scope) {\n    this.object.connect(binding, scope);\n    var obj = this.object.evaluate(scope);\n    if (getFunction(obj, this.name, false)) {\n      var args = this.args;\n      var i = args.length;\n      while (i--) {\n        args[i].connect(binding, scope);\n      }\n    }\n  };\n\n  return CallMember;\n}(Expression);\n\nexport var CallFunction = function (_Expression11) {\n  _inherits(CallFunction, _Expression11);\n\n  function CallFunction(func, args) {\n    \n\n    var _this13 = _possibleConstructorReturn(this, _Expression11.call(this));\n\n    _this13.func = func;\n    _this13.args = args;\n    return _this13;\n  }\n\n  CallFunction.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var func = this.func.evaluate(scope, lookupFunctions);\n    if (typeof func === 'function') {\n      return func.apply(null, evalList(scope, this.args, lookupFunctions));\n    }\n    if (!mustEvaluate && (func === null || func === undefined)) {\n      return undefined;\n    }\n    throw new Error(this.func + ' is not a function');\n  };\n\n  CallFunction.prototype.accept = function accept(visitor) {\n    return visitor.visitCallFunction(this);\n  };\n\n  CallFunction.prototype.connect = function connect(binding, scope) {\n    this.func.connect(binding, scope);\n    var func = this.func.evaluate(scope);\n    if (typeof func === 'function') {\n      var args = this.args;\n      var i = args.length;\n      while (i--) {\n        args[i].connect(binding, scope);\n      }\n    }\n  };\n\n  return CallFunction;\n}(Expression);\n\nexport var Binary = function (_Expression12) {\n  _inherits(Binary, _Expression12);\n\n  function Binary(operation, left, right) {\n    \n\n    var _this14 = _possibleConstructorReturn(this, _Expression12.call(this));\n\n    _this14.operation = operation;\n    _this14.left = left;\n    _this14.right = right;\n    return _this14;\n  }\n\n  Binary.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var left = this.left.evaluate(scope, lookupFunctions);\n\n    switch (this.operation) {\n      case '&&':\n        return left && this.right.evaluate(scope, lookupFunctions);\n      case '||':\n        return left || this.right.evaluate(scope, lookupFunctions);\n    }\n\n    var right = this.right.evaluate(scope, lookupFunctions);\n\n    switch (this.operation) {\n      case '==':\n        return left == right;\n      case '===':\n        return left === right;\n      case '!=':\n        return left != right;\n      case '!==':\n        return left !== right;\n      case 'instanceof':\n        return typeof right === 'function' && left instanceof right;\n      case 'in':\n        return (typeof right === 'undefined' ? 'undefined' : _typeof(right)) === 'object' && right !== null && left in right;\n    }\n\n    if (left === null || right === null || left === undefined || right === undefined) {\n      switch (this.operation) {\n        case '+':\n          if (left !== null && left !== undefined) return left;\n          if (right !== null && right !== undefined) return right;\n          return 0;\n        case '-':\n          if (left !== null && left !== undefined) return left;\n          if (right !== null && right !== undefined) return 0 - right;\n          return 0;\n      }\n\n      return null;\n    }\n\n    switch (this.operation) {\n      case '+':\n        return autoConvertAdd(left, right);\n      case '-':\n        return left - right;\n      case '*':\n        return left * right;\n      case '/':\n        return left / right;\n      case '%':\n        return left % right;\n      case '<':\n        return left < right;\n      case '>':\n        return left > right;\n      case '<=':\n        return left <= right;\n      case '>=':\n        return left >= right;\n      case '^':\n        return left ^ right;\n    }\n\n    throw new Error('Internal error [' + this.operation + '] not handled');\n  };\n\n  Binary.prototype.accept = function accept(visitor) {\n    return visitor.visitBinary(this);\n  };\n\n  Binary.prototype.connect = function connect(binding, scope) {\n    this.left.connect(binding, scope);\n    var left = this.left.evaluate(scope);\n    if (this.operation === '&&' && !left || this.operation === '||' && left) {\n      return;\n    }\n    this.right.connect(binding, scope);\n  };\n\n  return Binary;\n}(Expression);\n\nexport var Unary = function (_Expression13) {\n  _inherits(Unary, _Expression13);\n\n  function Unary(operation, expression) {\n    \n\n    var _this15 = _possibleConstructorReturn(this, _Expression13.call(this));\n\n    _this15.operation = operation;\n    _this15.expression = expression;\n    return _this15;\n  }\n\n  Unary.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    switch (this.operation) {\n      case '!':\n        return !this.expression.evaluate(scope, lookupFunctions);\n      case 'typeof':\n        return _typeof(this.expression.evaluate(scope, lookupFunctions));\n      case 'void':\n        return void this.expression.evaluate(scope, lookupFunctions);\n    }\n\n    throw new Error('Internal error [' + this.operation + '] not handled');\n  };\n\n  Unary.prototype.accept = function accept(visitor) {\n    return visitor.visitPrefix(this);\n  };\n\n  Unary.prototype.connect = function connect(binding, scope) {\n    this.expression.connect(binding, scope);\n  };\n\n  return Unary;\n}(Expression);\n\nexport var LiteralPrimitive = function (_Expression14) {\n  _inherits(LiteralPrimitive, _Expression14);\n\n  function LiteralPrimitive(value) {\n    \n\n    var _this16 = _possibleConstructorReturn(this, _Expression14.call(this));\n\n    _this16.value = value;\n    return _this16;\n  }\n\n  LiteralPrimitive.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.value;\n  };\n\n  LiteralPrimitive.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralPrimitive(this);\n  };\n\n  LiteralPrimitive.prototype.connect = function connect(binding, scope) {};\n\n  return LiteralPrimitive;\n}(Expression);\n\nexport var LiteralString = function (_Expression15) {\n  _inherits(LiteralString, _Expression15);\n\n  function LiteralString(value) {\n    \n\n    var _this17 = _possibleConstructorReturn(this, _Expression15.call(this));\n\n    _this17.value = value;\n    return _this17;\n  }\n\n  LiteralString.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return this.value;\n  };\n\n  LiteralString.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralString(this);\n  };\n\n  LiteralString.prototype.connect = function connect(binding, scope) {};\n\n  return LiteralString;\n}(Expression);\n\nexport var LiteralTemplate = function (_Expression16) {\n  _inherits(LiteralTemplate, _Expression16);\n\n  function LiteralTemplate(cooked, expressions, raw, tag) {\n    \n\n    var _this18 = _possibleConstructorReturn(this, _Expression16.call(this));\n\n    _this18.cooked = cooked;\n    _this18.expressions = expressions || [];\n    _this18.length = _this18.expressions.length;\n    _this18.tagged = tag !== undefined;\n    if (_this18.tagged) {\n      _this18.cooked.raw = raw;\n      _this18.tag = tag;\n      if (tag instanceof AccessScope) {\n        _this18.contextType = 'Scope';\n      } else if (tag instanceof AccessMember || tag instanceof AccessKeyed) {\n        _this18.contextType = 'Object';\n      } else {\n        throw new Error(_this18.tag + ' is not a valid template tag');\n      }\n    }\n    return _this18;\n  }\n\n  LiteralTemplate.prototype.getScopeContext = function getScopeContext(scope, lookupFunctions) {\n    return getContextFor(this.tag.name, scope, this.tag.ancestor);\n  };\n\n  LiteralTemplate.prototype.getObjectContext = function getObjectContext(scope, lookupFunctions) {\n    return this.tag.object.evaluate(scope, lookupFunctions);\n  };\n\n  LiteralTemplate.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) {\n    var results = new Array(this.length);\n    for (var i = 0; i < this.length; i++) {\n      results[i] = this.expressions[i].evaluate(scope, lookupFunctions);\n    }\n    if (this.tagged) {\n      var func = this.tag.evaluate(scope, lookupFunctions);\n      if (typeof func === 'function') {\n        var context = this['get' + this.contextType + 'Context'](scope, lookupFunctions);\n        return func.call.apply(func, [context, this.cooked].concat(results));\n      }\n      if (!mustEvaluate) {\n        return null;\n      }\n      throw new Error(this.tag + ' is not a function');\n    }\n    var result = this.cooked[0];\n    for (var _i2 = 0; _i2 < this.length; _i2++) {\n      result = String.prototype.concat(result, results[_i2], this.cooked[_i2 + 1]);\n    }\n    return result;\n  };\n\n  LiteralTemplate.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralTemplate(this);\n  };\n\n  LiteralTemplate.prototype.connect = function connect(binding, scope) {\n    for (var i = 0; i < this.length; i++) {\n      this.expressions[i].connect(binding, scope);\n    }\n    if (this.tagged) {\n      this.tag.connect(binding, scope);\n    }\n  };\n\n  return LiteralTemplate;\n}(Expression);\n\nexport var LiteralArray = function (_Expression17) {\n  _inherits(LiteralArray, _Expression17);\n\n  function LiteralArray(elements) {\n    \n\n    var _this19 = _possibleConstructorReturn(this, _Expression17.call(this));\n\n    _this19.elements = elements;\n    return _this19;\n  }\n\n  LiteralArray.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var elements = this.elements;\n    var result = [];\n\n    for (var i = 0, length = elements.length; i < length; ++i) {\n      result[i] = elements[i].evaluate(scope, lookupFunctions);\n    }\n\n    return result;\n  };\n\n  LiteralArray.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralArray(this);\n  };\n\n  LiteralArray.prototype.connect = function connect(binding, scope) {\n    var length = this.elements.length;\n    for (var i = 0; i < length; i++) {\n      this.elements[i].connect(binding, scope);\n    }\n  };\n\n  return LiteralArray;\n}(Expression);\n\nexport var LiteralObject = function (_Expression18) {\n  _inherits(LiteralObject, _Expression18);\n\n  function LiteralObject(keys, values) {\n    \n\n    var _this20 = _possibleConstructorReturn(this, _Expression18.call(this));\n\n    _this20.keys = keys;\n    _this20.values = values;\n    return _this20;\n  }\n\n  LiteralObject.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    var instance = {};\n    var keys = this.keys;\n    var values = this.values;\n\n    for (var i = 0, length = keys.length; i < length; ++i) {\n      instance[keys[i]] = values[i].evaluate(scope, lookupFunctions);\n    }\n\n    return instance;\n  };\n\n  LiteralObject.prototype.accept = function accept(visitor) {\n    return visitor.visitLiteralObject(this);\n  };\n\n  LiteralObject.prototype.connect = function connect(binding, scope) {\n    var length = this.keys.length;\n    for (var i = 0; i < length; i++) {\n      this.values[i].connect(binding, scope);\n    }\n  };\n\n  return LiteralObject;\n}(Expression);\n\nfunction evalList(scope, list, lookupFunctions) {\n  var length = list.length;\n  var result = [];\n  for (var i = 0; i < length; i++) {\n    result[i] = list[i].evaluate(scope, lookupFunctions);\n  }\n  return result;\n}\n\nfunction autoConvertAdd(a, b) {\n  if (a !== null && b !== null) {\n    if (typeof a === 'string' && typeof b !== 'string') {\n      return a + b.toString();\n    }\n\n    if (typeof a !== 'string' && typeof b === 'string') {\n      return a.toString() + b;\n    }\n\n    return a + b;\n  }\n\n  if (a !== null) {\n    return a;\n  }\n\n  if (b !== null) {\n    return b;\n  }\n\n  return 0;\n}\n\nfunction getFunction(obj, name, mustExist) {\n  var func = obj === null || obj === undefined ? null : obj[name];\n  if (typeof func === 'function') {\n    return func;\n  }\n  if (!mustExist && (func === null || func === undefined)) {\n    return null;\n  }\n  throw new Error(name + ' is not a function');\n}\n\nfunction getKeyed(obj, key) {\n  if (Array.isArray(obj)) {\n    return obj[parseInt(key, 10)];\n  } else if (obj) {\n    return obj[key];\n  } else if (obj === null || obj === undefined) {\n    return undefined;\n  }\n\n  return obj[key];\n}\n\nfunction setKeyed(obj, key, value) {\n  if (Array.isArray(obj)) {\n    var index = parseInt(key, 10);\n\n    if (obj.length <= index) {\n      obj.length = index + 1;\n    }\n\n    obj[index] = value;\n  } else {\n    obj[key] = value;\n  }\n\n  return value;\n}\n\nvar _Unparser = null;\n\nexport { _Unparser as Unparser };\nif (typeof FEATURE_NO_UNPARSER === 'undefined') {\n  _Unparser = function () {\n    function Unparser(buffer) {\n      \n\n      this.buffer = buffer;\n    }\n\n    Unparser.unparse = function unparse(expression) {\n      var buffer = [];\n      var visitor = new _Unparser(buffer);\n\n      expression.accept(visitor);\n\n      return buffer.join('');\n    };\n\n    Unparser.prototype.write = function write(text) {\n      this.buffer.push(text);\n    };\n\n    Unparser.prototype.writeArgs = function writeArgs(args) {\n      this.write('(');\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        args[i].accept(this);\n      }\n\n      this.write(')');\n    };\n\n    Unparser.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) {\n      var args = behavior.args;\n\n      behavior.expression.accept(this);\n      this.write('&' + behavior.name);\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        this.write(':');\n        args[i].accept(this);\n      }\n    };\n\n    Unparser.prototype.visitValueConverter = function visitValueConverter(converter) {\n      var args = converter.args;\n\n      converter.expression.accept(this);\n      this.write('|' + converter.name);\n\n      for (var i = 0, length = args.length; i < length; ++i) {\n        this.write(':');\n        args[i].accept(this);\n      }\n    };\n\n    Unparser.prototype.visitAssign = function visitAssign(assign) {\n      assign.target.accept(this);\n      this.write('=');\n      assign.value.accept(this);\n    };\n\n    Unparser.prototype.visitConditional = function visitConditional(conditional) {\n      conditional.condition.accept(this);\n      this.write('?');\n      conditional.yes.accept(this);\n      this.write(':');\n      conditional.no.accept(this);\n    };\n\n    Unparser.prototype.visitAccessThis = function visitAccessThis(access) {\n      if (access.ancestor === 0) {\n        this.write('$this');\n        return;\n      }\n      this.write('$parent');\n      var i = access.ancestor - 1;\n      while (i--) {\n        this.write('.$parent');\n      }\n    };\n\n    Unparser.prototype.visitAccessScope = function visitAccessScope(access) {\n      var i = access.ancestor;\n      while (i--) {\n        this.write('$parent.');\n      }\n      this.write(access.name);\n    };\n\n    Unparser.prototype.visitAccessMember = function visitAccessMember(access) {\n      access.object.accept(this);\n      this.write('.' + access.name);\n    };\n\n    Unparser.prototype.visitAccessKeyed = function visitAccessKeyed(access) {\n      access.object.accept(this);\n      this.write('[');\n      access.key.accept(this);\n      this.write(']');\n    };\n\n    Unparser.prototype.visitCallScope = function visitCallScope(call) {\n      var i = call.ancestor;\n      while (i--) {\n        this.write('$parent.');\n      }\n      this.write(call.name);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitCallFunction = function visitCallFunction(call) {\n      call.func.accept(this);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitCallMember = function visitCallMember(call) {\n      call.object.accept(this);\n      this.write('.' + call.name);\n      this.writeArgs(call.args);\n    };\n\n    Unparser.prototype.visitPrefix = function visitPrefix(prefix) {\n      this.write('(' + prefix.operation);\n      if (prefix.operation.charCodeAt(0) >= 97) {\n        this.write(' ');\n      }\n      prefix.expression.accept(this);\n      this.write(')');\n    };\n\n    Unparser.prototype.visitBinary = function visitBinary(binary) {\n      binary.left.accept(this);\n      if (binary.operation.charCodeAt(0) === 105) {\n        this.write(' ' + binary.operation + ' ');\n      } else {\n        this.write(binary.operation);\n      }\n      binary.right.accept(this);\n    };\n\n    Unparser.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) {\n      this.write('' + literal.value);\n    };\n\n    Unparser.prototype.visitLiteralArray = function visitLiteralArray(literal) {\n      var elements = literal.elements;\n\n      this.write('[');\n\n      for (var i = 0, length = elements.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        elements[i].accept(this);\n      }\n\n      this.write(']');\n    };\n\n    Unparser.prototype.visitLiteralObject = function visitLiteralObject(literal) {\n      var keys = literal.keys;\n      var values = literal.values;\n\n      this.write('{');\n\n      for (var i = 0, length = keys.length; i < length; ++i) {\n        if (i !== 0) {\n          this.write(',');\n        }\n\n        this.write('\\'' + keys[i] + '\\':');\n        values[i].accept(this);\n      }\n\n      this.write('}');\n    };\n\n    Unparser.prototype.visitLiteralString = function visitLiteralString(literal) {\n      var escaped = literal.value.replace(/'/g, \"\\'\");\n      this.write('\\'' + escaped + '\\'');\n    };\n\n    Unparser.prototype.visitLiteralTemplate = function visitLiteralTemplate(literal) {\n      var cooked = literal.cooked,\n          expressions = literal.expressions;\n\n      var length = expressions.length;\n      this.write('`');\n      this.write(cooked[0]);\n      for (var i = 0; i < length; i++) {\n        expressions[i].accept(this);\n        this.write(cooked[i + 1]);\n      }\n      this.write('`');\n    };\n\n    return Unparser;\n  }();\n}\n\nexport var ExpressionCloner = function () {\n  function ExpressionCloner() {\n    \n  }\n\n  ExpressionCloner.prototype.cloneExpressionArray = function cloneExpressionArray(array) {\n    var clonedArray = [];\n    var i = array.length;\n    while (i--) {\n      clonedArray[i] = array[i].accept(this);\n    }\n    return clonedArray;\n  };\n\n  ExpressionCloner.prototype.visitBindingBehavior = function visitBindingBehavior(behavior) {\n    return new BindingBehavior(behavior.expression.accept(this), behavior.name, this.cloneExpressionArray(behavior.args));\n  };\n\n  ExpressionCloner.prototype.visitValueConverter = function visitValueConverter(converter) {\n    return new ValueConverter(converter.expression.accept(this), converter.name, this.cloneExpressionArray(converter.args));\n  };\n\n  ExpressionCloner.prototype.visitAssign = function visitAssign(assign) {\n    return new Assign(assign.target.accept(this), assign.value.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitConditional = function visitConditional(conditional) {\n    return new Conditional(conditional.condition.accept(this), conditional.yes.accept(this), conditional.no.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitAccessThis = function visitAccessThis(access) {\n    return new AccessThis(access.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitAccessScope = function visitAccessScope(access) {\n    return new AccessScope(access.name, access.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitAccessMember = function visitAccessMember(access) {\n    return new AccessMember(access.object.accept(this), access.name);\n  };\n\n  ExpressionCloner.prototype.visitAccessKeyed = function visitAccessKeyed(access) {\n    return new AccessKeyed(access.object.accept(this), access.key.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitCallScope = function visitCallScope(call) {\n    return new CallScope(call.name, this.cloneExpressionArray(call.args), call.ancestor);\n  };\n\n  ExpressionCloner.prototype.visitCallFunction = function visitCallFunction(call) {\n    return new CallFunction(call.func.accept(this), this.cloneExpressionArray(call.args));\n  };\n\n  ExpressionCloner.prototype.visitCallMember = function visitCallMember(call) {\n    return new CallMember(call.object.accept(this), call.name, this.cloneExpressionArray(call.args));\n  };\n\n  ExpressionCloner.prototype.visitUnary = function visitUnary(unary) {\n    return new Unary(prefix.operation, prefix.expression.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitBinary = function visitBinary(binary) {\n    return new Binary(binary.operation, binary.left.accept(this), binary.right.accept(this));\n  };\n\n  ExpressionCloner.prototype.visitLiteralPrimitive = function visitLiteralPrimitive(literal) {\n    return new LiteralPrimitive(literal);\n  };\n\n  ExpressionCloner.prototype.visitLiteralArray = function visitLiteralArray(literal) {\n    return new LiteralArray(this.cloneExpressionArray(literal.elements));\n  };\n\n  ExpressionCloner.prototype.visitLiteralObject = function visitLiteralObject(literal) {\n    return new LiteralObject(literal.keys, this.cloneExpressionArray(literal.values));\n  };\n\n  ExpressionCloner.prototype.visitLiteralString = function visitLiteralString(literal) {\n    return new LiteralString(literal.value);\n  };\n\n  ExpressionCloner.prototype.visitLiteralTemplate = function visitLiteralTemplate(literal) {\n    return new LiteralTemplate(literal.cooked, this.cloneExpressionArray(literal.expressions), literal.raw, literal.tag && literal.tag.accept(this));\n  };\n\n  return ExpressionCloner;\n}();\n\nexport function cloneExpression(expression) {\n  var visitor = new ExpressionCloner();\n  return expression.accept(visitor);\n}\n\nexport var bindingMode = {\n  oneTime: 0,\n  toView: 1,\n  oneWay: 1,\n  twoWay: 2,\n  fromView: 3\n};\n\nexport var Parser = function () {\n  function Parser() {\n    \n\n    this.cache = Object.create(null);\n  }\n\n  Parser.prototype.parse = function parse(src) {\n    src = src || '';\n\n    return this.cache[src] || (this.cache[src] = new ParserImplementation(src).parseBindingBehavior());\n  };\n\n  return Parser;\n}();\n\nvar fromCharCode = String.fromCharCode;\n\nexport var ParserImplementation = function () {\n  _createClass(ParserImplementation, [{\n    key: 'raw',\n    get: function get() {\n      return this.src.slice(this.start, this.idx);\n    }\n  }]);\n\n  function ParserImplementation(src) {\n    \n\n    this.idx = 0;\n\n    this.start = 0;\n\n    this.src = src;\n    this.len = src.length;\n\n    this.tkn = T$EOF;\n\n    this.val = undefined;\n\n    this.ch = src.charCodeAt(0);\n  }\n\n  ParserImplementation.prototype.parseBindingBehavior = function parseBindingBehavior() {\n    this.nextToken();\n    if (this.tkn & T$ExpressionTerminal) {\n      this.err('Invalid start of expression');\n    }\n    var result = this.parseValueConverter();\n    while (this.opt(T$Ampersand)) {\n      result = new BindingBehavior(result, this.val, this.parseVariadicArgs());\n    }\n    if (this.tkn !== T$EOF) {\n      this.err('Unconsumed token ' + this.raw);\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseValueConverter = function parseValueConverter() {\n    var result = this.parseExpression();\n    while (this.opt(T$Bar)) {\n      result = new ValueConverter(result, this.val, this.parseVariadicArgs());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseVariadicArgs = function parseVariadicArgs() {\n    this.nextToken();\n    var result = [];\n    while (this.opt(T$Colon)) {\n      result.push(this.parseExpression());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseExpression = function parseExpression() {\n    var exprStart = this.idx;\n    var result = this.parseConditional();\n\n    while (this.tkn === T$Eq) {\n      if (!result.isAssignable) {\n        this.err('Expression ' + this.src.slice(exprStart, this.start) + ' is not assignable');\n      }\n      this.nextToken();\n      exprStart = this.idx;\n      result = new Assign(result, this.parseConditional());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseConditional = function parseConditional() {\n    var result = this.parseBinary(0);\n\n    if (this.opt(T$Question)) {\n      var yes = this.parseExpression();\n      this.expect(T$Colon);\n      result = new Conditional(result, yes, this.parseExpression());\n    }\n    return result;\n  };\n\n  ParserImplementation.prototype.parseBinary = function parseBinary(minPrecedence) {\n    var left = this.parseLeftHandSide(0);\n\n    while (this.tkn & T$BinaryOp) {\n      var opToken = this.tkn;\n      if ((opToken & T$Precedence) <= minPrecedence) {\n        break;\n      }\n      this.nextToken();\n      left = new Binary(TokenValues[opToken & T$TokenMask], left, this.parseBinary(opToken & T$Precedence));\n    }\n    return left;\n  };\n\n  ParserImplementation.prototype.parseLeftHandSide = function parseLeftHandSide(context) {\n    var result = void 0;\n\n    primary: switch (this.tkn) {\n      case T$Plus:\n        this.nextToken();\n        return this.parseLeftHandSide(0);\n      case T$Minus:\n        this.nextToken();\n        return new Binary('-', new LiteralPrimitive(0), this.parseLeftHandSide(0));\n      case T$Bang:\n      case T$TypeofKeyword:\n      case T$VoidKeyword:\n        var op = TokenValues[this.tkn & T$TokenMask];\n        this.nextToken();\n        return new Unary(op, this.parseLeftHandSide(0));\n      case T$ParentScope:\n        {\n          do {\n            this.nextToken();\n            context++;\n            if (this.opt(T$Period)) {\n              if (this.tkn === T$Period) {\n                this.err();\n              }\n              continue;\n            } else if (this.tkn & T$AccessScopeTerminal) {\n              result = new AccessThis(context & C$Ancestor);\n\n              context = context & C$ShorthandProp | C$This;\n              break primary;\n            } else {\n              this.err();\n            }\n          } while (this.tkn === T$ParentScope);\n        }\n\n      case T$Identifier:\n        {\n          result = new AccessScope(this.val, context & C$Ancestor);\n          this.nextToken();\n          context = context & C$ShorthandProp | C$Scope;\n          break;\n        }\n      case T$ThisScope:\n        this.nextToken();\n        result = new AccessThis(0);\n        context = context & C$ShorthandProp | C$This;\n        break;\n      case T$LParen:\n        this.nextToken();\n        result = this.parseExpression();\n        this.expect(T$RParen);\n        context = C$Primary;\n        break;\n      case T$LBracket:\n        {\n          this.nextToken();\n          var _elements = [];\n          if (this.tkn !== T$RBracket) {\n            do {\n              _elements.push(this.parseExpression());\n            } while (this.opt(T$Comma));\n          }\n          this.expect(T$RBracket);\n          result = new LiteralArray(_elements);\n          context = C$Primary;\n          break;\n        }\n      case T$LBrace:\n        {\n          var keys = [];\n          var values = [];\n          this.nextToken();\n          while (this.tkn !== T$RBrace) {\n            if (this.tkn & T$IdentifierOrKeyword) {\n              var ch = this.ch,\n                  tkn = this.tkn,\n                  idx = this.idx;\n\n              keys.push(this.val);\n              this.nextToken();\n              if (this.opt(T$Colon)) {\n                values.push(this.parseExpression());\n              } else {\n                this.ch = ch;\n                this.tkn = tkn;\n                this.idx = idx;\n                values.push(this.parseLeftHandSide(C$ShorthandProp));\n              }\n            } else if (this.tkn & T$Literal) {\n              keys.push(this.val);\n              this.nextToken();\n              this.expect(T$Colon);\n              values.push(this.parseExpression());\n            } else {\n              this.err();\n            }\n            if (this.tkn !== T$RBrace) {\n              this.expect(T$Comma);\n            }\n          }\n          this.expect(T$RBrace);\n          result = new LiteralObject(keys, values);\n          context = C$Primary;\n          break;\n        }\n      case T$StringLiteral:\n        result = new LiteralString(this.val);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      case T$TemplateTail:\n        result = new LiteralTemplate([this.val]);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      case T$TemplateContinuation:\n        result = this.parseTemplate(0);\n        context = C$Primary;\n        break;\n      case T$NumericLiteral:\n        {\n          result = new LiteralPrimitive(this.val);\n          this.nextToken();\n\n          break;\n        }\n      case T$NullKeyword:\n      case T$UndefinedKeyword:\n      case T$TrueKeyword:\n      case T$FalseKeyword:\n        result = new LiteralPrimitive(TokenValues[this.tkn & T$TokenMask]);\n        this.nextToken();\n        context = C$Primary;\n        break;\n      default:\n        if (this.idx >= this.len) {\n          this.err('Unexpected end of expression');\n        } else {\n          this.err();\n        }\n    }\n\n    if (context & C$ShorthandProp) {\n      return result;\n    }\n\n    var name = this.val;\n    while (this.tkn & T$MemberOrCallExpression) {\n      switch (this.tkn) {\n        case T$Period:\n          this.nextToken();\n          if (!(this.tkn & T$IdentifierOrKeyword)) {\n            this.err();\n          }\n          name = this.val;\n          this.nextToken();\n\n          context = context & C$Primary | (context & (C$This | C$Scope)) << 1 | context & C$Member | (context & C$Keyed) >> 1 | (context & C$Call) >> 2;\n          if (this.tkn === T$LParen) {\n            continue;\n          }\n          if (context & C$Scope) {\n            result = new AccessScope(name, result.ancestor);\n          } else {\n            result = new AccessMember(result, name);\n          }\n          continue;\n        case T$LBracket:\n          this.nextToken();\n          context = C$Keyed;\n          result = new AccessKeyed(result, this.parseExpression());\n          this.expect(T$RBracket);\n          break;\n        case T$LParen:\n          this.nextToken();\n          var args = [];\n          while (this.tkn !== T$RParen) {\n            args.push(this.parseExpression());\n            if (!this.opt(T$Comma)) {\n              break;\n            }\n          }\n          this.expect(T$RParen);\n          if (context & C$Scope) {\n            result = new CallScope(name, args, result.ancestor);\n          } else if (context & (C$Member | C$Primary)) {\n            result = new CallMember(result, name, args);\n          } else {\n            result = new CallFunction(result, args);\n          }\n          context = C$Call;\n          break;\n        case T$TemplateTail:\n          result = new LiteralTemplate([this.val], [], [this.raw], result);\n          this.nextToken();\n          break;\n        case T$TemplateContinuation:\n          result = this.parseTemplate(context | C$Tagged, result);\n      }\n    }\n\n    return result;\n  };\n\n  ParserImplementation.prototype.parseTemplate = function parseTemplate(context, func) {\n    var cooked = [this.val];\n    var raw = context & C$Tagged ? [this.raw] : undefined;\n    this.expect(T$TemplateContinuation);\n    var expressions = [this.parseExpression()];\n\n    while ((this.tkn = this.scanTemplateTail()) !== T$TemplateTail) {\n      cooked.push(this.val);\n      if (context & C$Tagged) {\n        raw.push(this.raw);\n      }\n      this.expect(T$TemplateContinuation);\n      expressions.push(this.parseExpression());\n    }\n\n    cooked.push(this.val);\n    if (context & C$Tagged) {\n      raw.push(this.raw);\n    }\n    this.nextToken();\n    return new LiteralTemplate(cooked, expressions, raw, func);\n  };\n\n  ParserImplementation.prototype.nextToken = function nextToken() {\n    while (this.idx < this.len) {\n      if (this.ch <= 0x20) {\n        this.next();\n        continue;\n      }\n      this.start = this.idx;\n      if (this.ch === 0x24 || this.ch >= 0x61 && this.ch <= 0x7A) {\n        this.tkn = this.scanIdentifier();\n        return;\n      }\n\n      if ((this.tkn = CharScanners[this.ch](this)) !== null) {\n        return;\n      }\n    }\n    this.tkn = T$EOF;\n  };\n\n  ParserImplementation.prototype.next = function next() {\n    return this.ch = this.src.charCodeAt(++this.idx);\n  };\n\n  ParserImplementation.prototype.scanIdentifier = function scanIdentifier() {\n    while (AsciiIdParts.has(this.next()) || this.ch > 0x7F && IdParts[this.ch]) {}\n\n    return KeywordLookup[this.val = this.raw] || T$Identifier;\n  };\n\n  ParserImplementation.prototype.scanNumber = function scanNumber(isFloat) {\n    if (isFloat) {\n      this.val = 0;\n    } else {\n      this.val = this.ch - 0x30;\n      while (this.next() <= 0x39 && this.ch >= 0x30) {\n        this.val = this.val * 10 + this.ch - 0x30;\n      }\n    }\n\n    if (isFloat || this.ch === 0x2E) {\n      if (!isFloat) {\n        this.next();\n      }\n      var start = this.idx;\n      var value = this.ch - 0x30;\n      while (this.next() <= 0x39 && this.ch >= 0x30) {\n        value = value * 10 + this.ch - 0x30;\n      }\n      this.val = this.val + value / Math.pow(10, this.idx - start);\n    }\n\n    if (this.ch === 0x65 || this.ch === 0x45) {\n      var _start = this.idx;\n\n      this.next();\n      if (this.ch === 0x2D || this.ch === 0x2B) {\n        this.next();\n      }\n\n      if (!(this.ch >= 0x30 && this.ch <= 0x39)) {\n        this.idx = _start;\n        this.err('Invalid exponent');\n      }\n      while (this.next() <= 0x39 && this.ch >= 0x30) {}\n      this.val = parseFloat(this.src.slice(this.start, this.idx));\n    }\n\n    return T$NumericLiteral;\n  };\n\n  ParserImplementation.prototype.scanString = function scanString() {\n    var quote = this.ch;\n    this.next();\n\n    var buffer = void 0;\n    var marker = this.idx;\n\n    while (this.ch !== quote) {\n      if (this.ch === 0x5C) {\n        if (!buffer) {\n          buffer = [];\n        }\n\n        buffer.push(this.src.slice(marker, this.idx));\n\n        this.next();\n\n        var _unescaped = void 0;\n\n        if (this.ch === 0x75) {\n          this.next();\n\n          if (this.idx + 4 < this.len) {\n            var hex = this.src.slice(this.idx, this.idx + 4);\n\n            if (!/[A-Z0-9]{4}/i.test(hex)) {\n              this.err('Invalid unicode escape [\\\\u' + hex + ']');\n            }\n\n            _unescaped = parseInt(hex, 16);\n            this.idx += 4;\n            this.ch = this.src.charCodeAt(this.idx);\n          } else {\n            this.err();\n          }\n        } else {\n          _unescaped = unescape(this.ch);\n          this.next();\n        }\n\n        buffer.push(fromCharCode(_unescaped));\n        marker = this.idx;\n      } else if (this.ch === 0 || this.idx >= this.len) {\n        this.err('Unterminated quote');\n      } else {\n        this.next();\n      }\n    }\n\n    var last = this.src.slice(marker, this.idx);\n    this.next();\n    var unescaped = last;\n\n    if (buffer !== null && buffer !== undefined) {\n      buffer.push(last);\n      unescaped = buffer.join('');\n    }\n\n    this.val = unescaped;\n    return T$StringLiteral;\n  };\n\n  ParserImplementation.prototype.scanTemplate = function scanTemplate() {\n    var tail = true;\n    var result = '';\n\n    while (this.next() !== 0x60) {\n      if (this.ch === 0x24) {\n        if (this.idx + 1 < this.len && this.src.charCodeAt(this.idx + 1) === 0x7B) {\n          this.idx++;\n          tail = false;\n          break;\n        } else {\n          result += '$';\n        }\n      } else if (this.ch === 0x5C) {\n        result += fromCharCode(unescape(this.next()));\n      } else if (this.ch === 0 || this.idx >= this.len) {\n        this.err('Unterminated template literal');\n      } else {\n        result += fromCharCode(this.ch);\n      }\n    }\n\n    this.next();\n    this.val = result;\n    if (tail) {\n      return T$TemplateTail;\n    }\n    return T$TemplateContinuation;\n  };\n\n  ParserImplementation.prototype.scanTemplateTail = function scanTemplateTail() {\n    if (this.idx >= this.len) {\n      this.err('Unterminated template');\n    }\n    this.idx--;\n    return this.scanTemplate();\n  };\n\n  ParserImplementation.prototype.err = function err() {\n    var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Unexpected token ' + this.raw;\n    var column = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.start;\n\n    throw new Error('Parser Error: ' + message + ' at column ' + column + ' in expression [' + this.src + ']');\n  };\n\n  ParserImplementation.prototype.opt = function opt(token) {\n    if (this.tkn === token) {\n      this.nextToken();\n      return true;\n    }\n\n    return false;\n  };\n\n  ParserImplementation.prototype.expect = function expect(token) {\n    if (this.tkn === token) {\n      this.nextToken();\n    } else {\n      this.err('Missing expected token ' + TokenValues[token & T$TokenMask], this.idx);\n    }\n  };\n\n  return ParserImplementation;\n}();\n\nfunction unescape(code) {\n  switch (code) {\n    case 0x66:\n      return 0xC;\n    case 0x6E:\n      return 0xA;\n    case 0x72:\n      return 0xD;\n    case 0x74:\n      return 0x9;\n    case 0x76:\n      return 0xB;\n    default:\n      return code;\n  }\n}\n\nvar C$This = 1 << 10;\nvar C$Scope = 1 << 11;\nvar C$Member = 1 << 12;\nvar C$Keyed = 1 << 13;\nvar C$Call = 1 << 14;\nvar C$Primary = 1 << 15;\nvar C$ShorthandProp = 1 << 16;\nvar C$Tagged = 1 << 17;\n\nvar C$Ancestor = (1 << 9) - 1;\n\nvar T$TokenMask = (1 << 6) - 1;\n\nvar T$PrecShift = 6;\n\nvar T$Precedence = 7 << T$PrecShift;\n\nvar T$ExpressionTerminal = 1 << 11;\n\nvar T$ClosingToken = 1 << 12;\n\nvar T$OpeningToken = 1 << 13;\n\nvar T$AccessScopeTerminal = 1 << 14;\nvar T$Keyword = 1 << 15;\nvar T$EOF = 1 << 16 | T$AccessScopeTerminal | T$ExpressionTerminal;\nvar T$Identifier = 1 << 17;\nvar T$IdentifierOrKeyword = T$Identifier | T$Keyword;\nvar T$Literal = 1 << 18;\nvar T$NumericLiteral = 1 << 19 | T$Literal;\nvar T$StringLiteral = 1 << 20 | T$Literal;\nvar T$BinaryOp = 1 << 21;\n\nvar T$UnaryOp = 1 << 22;\n\nvar T$MemberExpression = 1 << 23;\n\nvar T$MemberOrCallExpression = 1 << 24;\nvar T$TemplateTail = 1 << 25 | T$MemberOrCallExpression;\nvar T$TemplateContinuation = 1 << 26 | T$MemberOrCallExpression;\n\nvar T$FalseKeyword = 0 | T$Keyword | T$Literal;\nvar T$TrueKeyword = 1 | T$Keyword | T$Literal;\nvar T$NullKeyword = 2 | T$Keyword | T$Literal;\nvar T$UndefinedKeyword = 3 | T$Keyword | T$Literal;\nvar T$ThisScope = 4 | T$IdentifierOrKeyword;\nvar T$ParentScope = 5 | T$IdentifierOrKeyword;\n\nvar T$LParen = 6 | T$OpeningToken | T$AccessScopeTerminal | T$MemberOrCallExpression;\nvar T$LBrace = 7 | T$OpeningToken;\nvar T$Period = 8 | T$MemberExpression | T$MemberOrCallExpression;\nvar T$RBrace = 9 | T$AccessScopeTerminal | T$ClosingToken | T$ExpressionTerminal;\nvar T$RParen = 10 | T$AccessScopeTerminal | T$ClosingToken | T$ExpressionTerminal;\nvar T$Comma = 11 | T$AccessScopeTerminal;\nvar T$LBracket = 12 | T$OpeningToken | T$AccessScopeTerminal | T$MemberExpression | T$MemberOrCallExpression;\nvar T$RBracket = 13 | T$ClosingToken | T$ExpressionTerminal;\nvar T$Colon = 14 | T$AccessScopeTerminal;\nvar T$Question = 15;\n\nvar T$Ampersand = 18 | T$AccessScopeTerminal;\nvar T$Bar = 19 | T$AccessScopeTerminal;\nvar T$BarBar = 20 | 1 << T$PrecShift | T$BinaryOp;\nvar T$AmpersandAmpersand = 21 | 2 << T$PrecShift | T$BinaryOp;\nvar T$Caret = 22 | 3 << T$PrecShift | T$BinaryOp;\nvar T$EqEq = 23 | 4 << T$PrecShift | T$BinaryOp;\nvar T$BangEq = 24 | 4 << T$PrecShift | T$BinaryOp;\nvar T$EqEqEq = 25 | 4 << T$PrecShift | T$BinaryOp;\nvar T$BangEqEq = 26 | 4 << T$PrecShift | T$BinaryOp;\nvar T$Lt = 27 | 5 << T$PrecShift | T$BinaryOp;\nvar T$Gt = 28 | 5 << T$PrecShift | T$BinaryOp;\nvar T$LtEq = 29 | 5 << T$PrecShift | T$BinaryOp;\nvar T$GtEq = 30 | 5 << T$PrecShift | T$BinaryOp;\nvar T$InKeyword = 31 | 5 << T$PrecShift | T$BinaryOp | T$Keyword;\nvar T$InstanceOfKeyword = 32 | 5 << T$PrecShift | T$BinaryOp | T$Keyword;\nvar T$Plus = 33 | 6 << T$PrecShift | T$BinaryOp | T$UnaryOp;\nvar T$Minus = 34 | 6 << T$PrecShift | T$BinaryOp | T$UnaryOp;\nvar T$TypeofKeyword = 35 | T$UnaryOp | T$Keyword;\nvar T$VoidKeyword = 36 | T$UnaryOp | T$Keyword;\nvar T$Star = 37 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Percent = 38 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Slash = 39 | 7 << T$PrecShift | T$BinaryOp;\nvar T$Eq = 40;\nvar T$Bang = 41 | T$UnaryOp;\n\nvar KeywordLookup = Object.create(null);\nKeywordLookup.true = T$TrueKeyword;\nKeywordLookup.null = T$NullKeyword;\nKeywordLookup.false = T$FalseKeyword;\nKeywordLookup.undefined = T$UndefinedKeyword;\nKeywordLookup.$this = T$ThisScope;\nKeywordLookup.$parent = T$ParentScope;\nKeywordLookup.in = T$InKeyword;\nKeywordLookup.instanceof = T$InstanceOfKeyword;\nKeywordLookup.typeof = T$TypeofKeyword;\nKeywordLookup.void = T$VoidKeyword;\n\nvar TokenValues = [false, true, null, undefined, '$this', '$parent', '(', '{', '.', '}', ')', ',', '[', ']', ':', '?', '\\'', '\"', '&', '|', '||', '&&', '^', '==', '!=', '===', '!==', '<', '>', '<=', '>=', 'in', 'instanceof', '+', '-', 'typeof', 'void', '*', '%', '/', '=', '!'];\n\nvar codes = {\n  AsciiIdPart: [0x24, 0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0, 0x61, 0x7B],\n  IdStart: [0x24, 0, 0x41, 0x5B, 0x5F, 0, 0x61, 0x7B, 0xAA, 0, 0xBA, 0, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2E0, 0x2E5, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x2071, 0, 0x207F, 0, 0x2090, 0x209D, 0x212A, 0x212C, 0x2132, 0, 0x214E, 0, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA722, 0xA788, 0xA78B, 0xA7AF, 0xA7B0, 0xA7B8, 0xA7F7, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B],\n  Digit: [0x30, 0x3A],\n  Skip: [0, 0x21, 0x7F, 0xA1]\n};\n\nfunction decompress(lookup, set, compressed, value) {\n  var rangeCount = compressed.length;\n  for (var i = 0; i < rangeCount; i += 2) {\n    var start = compressed[i];\n    var end = compressed[i + 1];\n    end = end > 0 ? end : start + 1;\n    if (lookup) {\n      var j = start;\n      while (j < end) {\n        lookup[j] = value;\n        j++;\n      }\n    }\n    if (set) {\n      for (var ch = start; ch < end; ch++) {\n        set.add(ch);\n      }\n    }\n  }\n}\n\nfunction returnToken(token) {\n  return function (p) {\n    p.next();\n    return token;\n  };\n}\nfunction unexpectedCharacter(p) {\n  p.err('Unexpected character [' + fromCharCode(p.ch) + ']');\n  return null;\n}\n\nvar AsciiIdParts = new Set();\ndecompress(null, AsciiIdParts, codes.AsciiIdPart, true);\n\nvar IdParts = new Uint8Array(0xFFFF);\ndecompress(IdParts, null, codes.IdStart, 1);\ndecompress(IdParts, null, codes.Digit, 1);\n\nvar CharScanners = new Array(0xFFFF);\nvar ci = 0;\nwhile (ci < 0xFFFF) {\n  CharScanners[ci] = unexpectedCharacter;\n  ci++;\n}\n\ndecompress(CharScanners, null, codes.Skip, function (p) {\n  p.next();\n  return null;\n});\ndecompress(CharScanners, null, codes.IdStart, function (p) {\n  return p.scanIdentifier();\n});\ndecompress(CharScanners, null, codes.Digit, function (p) {\n  return p.scanNumber(false);\n});\n\nCharScanners[0x22] = CharScanners[0x27] = function (p) {\n  return p.scanString();\n};\nCharScanners[0x60] = function (p) {\n  return p.scanTemplate();\n};\n\nCharScanners[0x21] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Bang;\n  }\n  if (p.next() !== 0x3D) {\n    return T$BangEq;\n  }\n  p.next();\n  return T$BangEqEq;\n};\n\nCharScanners[0x3D] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Eq;\n  }\n  if (p.next() !== 0x3D) {\n    return T$EqEq;\n  }\n  p.next();\n  return T$EqEqEq;\n};\n\nCharScanners[0x26] = function (p) {\n  if (p.next() !== 0x26) {\n    return T$Ampersand;\n  }\n  p.next();\n  return T$AmpersandAmpersand;\n};\n\nCharScanners[0x7C] = function (p) {\n  if (p.next() !== 0x7C) {\n    return T$Bar;\n  }\n  p.next();\n  return T$BarBar;\n};\n\nCharScanners[0x2E] = function (p) {\n  if (p.next() <= 0x39 && p.ch >= 0x30) {\n    return p.scanNumber(true);\n  }\n  return T$Period;\n};\n\nCharScanners[0x3C] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Lt;\n  }\n  p.next();\n  return T$LtEq;\n};\n\nCharScanners[0x3E] = function (p) {\n  if (p.next() !== 0x3D) {\n    return T$Gt;\n  }\n  p.next();\n  return T$GtEq;\n};\n\nCharScanners[0x25] = returnToken(T$Percent);\nCharScanners[0x28] = returnToken(T$LParen);\nCharScanners[0x29] = returnToken(T$RParen);\nCharScanners[0x2A] = returnToken(T$Star);\nCharScanners[0x2B] = returnToken(T$Plus);\nCharScanners[0x2C] = returnToken(T$Comma);\nCharScanners[0x2D] = returnToken(T$Minus);\nCharScanners[0x2F] = returnToken(T$Slash);\nCharScanners[0x3A] = returnToken(T$Colon);\nCharScanners[0x3F] = returnToken(T$Question);\nCharScanners[0x5B] = returnToken(T$LBracket);\nCharScanners[0x5D] = returnToken(T$RBracket);\nCharScanners[0x5E] = returnToken(T$Caret);\nCharScanners[0x7B] = returnToken(T$LBrace);\nCharScanners[0x7D] = returnToken(T$RBrace);\n\nvar mapProto = Map.prototype;\n\nfunction _getMapObserver(taskQueue, map) {\n  return ModifyMapObserver.for(taskQueue, map);\n}\n\nvar ModifyMapObserver = function (_ModifyCollectionObse2) {\n  _inherits(ModifyMapObserver, _ModifyCollectionObse2);\n\n  function ModifyMapObserver(taskQueue, map) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse2.call(this, taskQueue, map));\n  }\n\n  ModifyMapObserver.for = function _for(taskQueue, map) {\n    if (!('__map_observer__' in map)) {\n      Reflect.defineProperty(map, '__map_observer__', {\n        value: ModifyMapObserver.create(taskQueue, map),\n        enumerable: false, configurable: false\n      });\n    }\n    return map.__map_observer__;\n  };\n\n  ModifyMapObserver.create = function create(taskQueue, map) {\n    var observer = new ModifyMapObserver(taskQueue, map);\n\n    var proto = mapProto;\n    if (proto.set !== map.set || proto.delete !== map.delete || proto.clear !== map.clear) {\n      proto = {\n        set: map.set,\n        delete: map.delete,\n        clear: map.clear\n      };\n    }\n\n    map.set = function () {\n      var hasValue = map.has(arguments[0]);\n      var type = hasValue ? 'update' : 'add';\n      var oldValue = map.get(arguments[0]);\n      var methodCallResult = proto.set.apply(map, arguments);\n      if (!hasValue || oldValue !== map.get(arguments[0])) {\n        observer.addChangeRecord({\n          type: type,\n          object: map,\n          key: arguments[0],\n          oldValue: oldValue\n        });\n      }\n      return methodCallResult;\n    };\n\n    map.delete = function () {\n      var hasValue = map.has(arguments[0]);\n      var oldValue = map.get(arguments[0]);\n      var methodCallResult = proto.delete.apply(map, arguments);\n      if (hasValue) {\n        observer.addChangeRecord({\n          type: 'delete',\n          object: map,\n          key: arguments[0],\n          oldValue: oldValue\n        });\n      }\n      return methodCallResult;\n    };\n\n    map.clear = function () {\n      var methodCallResult = proto.clear.apply(map, arguments);\n      observer.addChangeRecord({\n        type: 'clear',\n        object: map\n      });\n      return methodCallResult;\n    };\n\n    return observer;\n  };\n\n  return ModifyMapObserver;\n}(ModifyCollectionObserver);\n\nvar emLogger = LogManager.getLogger('event-manager');\n\nfunction findOriginalEventTarget(event) {\n  return event.composedPath && event.composedPath()[0] || event.deepPath && event.deepPath()[0] || event.path && event.path[0] || event.target;\n}\n\nfunction stopPropagation() {\n  this.standardStopPropagation();\n  this.propagationStopped = true;\n}\n\nfunction handleCapturedEvent(event) {\n  event.propagationStopped = false;\n  var target = findOriginalEventTarget(event);\n\n  var orderedCallbacks = [];\n\n  while (target) {\n    if (target.capturedCallbacks) {\n      var callback = target.capturedCallbacks[event.type];\n      if (callback) {\n        if (event.stopPropagation !== stopPropagation) {\n          event.standardStopPropagation = event.stopPropagation;\n          event.stopPropagation = stopPropagation;\n        }\n        orderedCallbacks.push(callback);\n      }\n    }\n    target = target.parentNode;\n  }\n  for (var i = orderedCallbacks.length - 1; i >= 0 && !event.propagationStopped; i--) {\n    var orderedCallback = orderedCallbacks[i];\n    if ('handleEvent' in orderedCallback) {\n      orderedCallback.handleEvent(event);\n    } else {\n      orderedCallback(event);\n    }\n  }\n}\n\nvar CapturedHandlerEntry = function () {\n  function CapturedHandlerEntry(eventName) {\n    \n\n    this.eventName = eventName;\n    this.count = 0;\n  }\n\n  CapturedHandlerEntry.prototype.increment = function increment() {\n    this.count++;\n\n    if (this.count === 1) {\n      DOM.addEventListener(this.eventName, handleCapturedEvent, true);\n    }\n  };\n\n  CapturedHandlerEntry.prototype.decrement = function decrement() {\n    if (this.count === 0) {\n      emLogger.warn('The same EventListener was disposed multiple times.');\n    } else if (--this.count === 0) {\n      DOM.removeEventListener(this.eventName, handleCapturedEvent, true);\n    }\n  };\n\n  return CapturedHandlerEntry;\n}();\n\nvar DelegateHandlerEntry = function () {\n  function DelegateHandlerEntry(eventName, eventManager) {\n    \n\n    this.eventName = eventName;\n    this.count = 0;\n    this.eventManager = eventManager;\n  }\n\n  DelegateHandlerEntry.prototype.handleEvent = function handleEvent(event) {\n    event.propagationStopped = false;\n    var target = findOriginalEventTarget(event);\n\n    while (target && !event.propagationStopped) {\n      if (target.delegatedCallbacks) {\n        var callback = target.delegatedCallbacks[event.type];\n        if (callback) {\n          if (event.stopPropagation !== stopPropagation) {\n            event.standardStopPropagation = event.stopPropagation;\n            event.stopPropagation = stopPropagation;\n          }\n          if ('handleEvent' in callback) {\n            callback.handleEvent(event);\n          } else {\n            callback(event);\n          }\n        }\n      }\n\n      var parent = target.parentNode;\n      var shouldEscapeShadowRoot = this.eventManager.escapeShadowRoot && parent instanceof ShadowRoot;\n\n      target = shouldEscapeShadowRoot ? parent.host : parent;\n    }\n  };\n\n  DelegateHandlerEntry.prototype.increment = function increment() {\n    this.count++;\n\n    if (this.count === 1) {\n      DOM.addEventListener(this.eventName, this, false);\n    }\n  };\n\n  DelegateHandlerEntry.prototype.decrement = function decrement() {\n    if (this.count === 0) {\n      emLogger.warn('The same EventListener was disposed multiple times.');\n    } else if (--this.count === 0) {\n      DOM.removeEventListener(this.eventName, this, false);\n    }\n  };\n\n  return DelegateHandlerEntry;\n}();\n\nvar DelegationEntryHandler = function () {\n  function DelegationEntryHandler(entry, lookup, targetEvent) {\n    \n\n    this.entry = entry;\n    this.lookup = lookup;\n    this.targetEvent = targetEvent;\n  }\n\n  DelegationEntryHandler.prototype.dispose = function dispose() {\n    if (this.lookup[this.targetEvent]) {\n      this.entry.decrement();\n      this.lookup[this.targetEvent] = null;\n    } else {\n      emLogger.warn('Calling .dispose() on already disposed eventListener');\n    }\n  };\n\n  return DelegationEntryHandler;\n}();\n\nvar EventHandler = function () {\n  function EventHandler(target, targetEvent, callback) {\n    \n\n    this.target = target;\n    this.targetEvent = targetEvent;\n    this.callback = callback;\n  }\n\n  EventHandler.prototype.dispose = function dispose() {\n    this.target.removeEventListener(this.targetEvent, this.callback);\n  };\n\n  return EventHandler;\n}();\n\nvar DefaultEventStrategy = function () {\n  function DefaultEventStrategy(eventManager) {\n    \n\n    this.delegatedHandlers = {};\n    this.capturedHandlers = {};\n\n    this.eventManager = eventManager;\n  }\n\n  DefaultEventStrategy.prototype.subscribe = function subscribe(target, targetEvent, callback, strategy, disposable) {\n    var delegatedHandlers = void 0;\n    var capturedHandlers = void 0;\n    var handlerEntry = void 0;\n\n    if (strategy === delegationStrategy.bubbling) {\n      delegatedHandlers = this.delegatedHandlers;\n      handlerEntry = delegatedHandlers[targetEvent] || (delegatedHandlers[targetEvent] = new DelegateHandlerEntry(targetEvent, this.eventManager));\n      var delegatedCallbacks = target.delegatedCallbacks || (target.delegatedCallbacks = {});\n      if (!delegatedCallbacks[targetEvent]) {\n        handlerEntry.increment();\n      } else {\n        emLogger.warn('Overriding previous callback for event listener', { event: targetEvent, callback: callback, previousCallback: delegatedCallbacks[targetEvent] });\n      }\n      delegatedCallbacks[targetEvent] = callback;\n\n      if (disposable === true) {\n        return new DelegationEntryHandler(handlerEntry, delegatedCallbacks, targetEvent);\n      }\n\n      return function () {\n        handlerEntry.decrement();\n        delegatedCallbacks[targetEvent] = null;\n      };\n    }\n    if (strategy === delegationStrategy.capturing) {\n      capturedHandlers = this.capturedHandlers;\n      handlerEntry = capturedHandlers[targetEvent] || (capturedHandlers[targetEvent] = new CapturedHandlerEntry(targetEvent));\n      var capturedCallbacks = target.capturedCallbacks || (target.capturedCallbacks = {});\n      if (!capturedCallbacks[targetEvent]) {\n        handlerEntry.increment();\n      } else {\n        emLogger.error('already have a callback for event', { event: targetEvent, callback: callback });\n      }\n      capturedCallbacks[targetEvent] = callback;\n\n      if (disposable === true) {\n        return new DelegationEntryHandler(handlerEntry, capturedCallbacks, targetEvent);\n      }\n\n      return function () {\n        handlerEntry.decrement();\n        capturedCallbacks[targetEvent] = null;\n      };\n    }\n\n    target.addEventListener(targetEvent, callback);\n\n    if (disposable === true) {\n      return new EventHandler(target, targetEvent, callback);\n    }\n\n    return function () {\n      target.removeEventListener(targetEvent, callback);\n    };\n  };\n\n  return DefaultEventStrategy;\n}();\n\nexport var delegationStrategy = {\n  none: 0,\n  capturing: 1,\n  bubbling: 2\n};\n\nexport var EventManager = function () {\n  function EventManager() {\n    var escapeShadowRoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n    \n\n    this.elementHandlerLookup = {};\n    this.eventStrategyLookup = {};\n    this.escapeShadowRoot = escapeShadowRoot;\n\n    this.registerElementConfig({\n      tagName: 'input',\n      properties: {\n        value: ['change', 'input'],\n        checked: ['change', 'input'],\n        files: ['change', 'input']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'textarea',\n      properties: {\n        value: ['change', 'input']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'select',\n      properties: {\n        value: ['change']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'content editable',\n      properties: {\n        value: ['change', 'input', 'blur', 'keyup', 'paste']\n      }\n    });\n\n    this.registerElementConfig({\n      tagName: 'scrollable element',\n      properties: {\n        scrollTop: ['scroll'],\n        scrollLeft: ['scroll']\n      }\n    });\n\n    this.defaultEventStrategy = new DefaultEventStrategy(this);\n  }\n\n  EventManager.prototype.registerElementConfig = function registerElementConfig(config) {\n    var tagName = config.tagName.toLowerCase();\n    var properties = config.properties;\n    var propertyName = void 0;\n\n    var lookup = this.elementHandlerLookup[tagName] = {};\n\n    for (propertyName in properties) {\n      if (properties.hasOwnProperty(propertyName)) {\n        lookup[propertyName] = properties[propertyName];\n      }\n    }\n  };\n\n  EventManager.prototype.registerEventStrategy = function registerEventStrategy(eventName, strategy) {\n    this.eventStrategyLookup[eventName] = strategy;\n  };\n\n  EventManager.prototype.getElementHandler = function getElementHandler(target, propertyName) {\n    var tagName = void 0;\n    var lookup = this.elementHandlerLookup;\n\n    if (target.tagName) {\n      tagName = target.tagName.toLowerCase();\n\n      if (lookup[tagName] && lookup[tagName][propertyName]) {\n        return new EventSubscriber(lookup[tagName][propertyName]);\n      }\n\n      if (propertyName === 'textContent' || propertyName === 'innerHTML') {\n        return new EventSubscriber(lookup['content editable'].value);\n      }\n\n      if (propertyName === 'scrollTop' || propertyName === 'scrollLeft') {\n        return new EventSubscriber(lookup['scrollable element'][propertyName]);\n      }\n    }\n\n    return null;\n  };\n\n  EventManager.prototype.addEventListener = function addEventListener(target, targetEvent, callbackOrListener, delegate, disposable) {\n    return (this.eventStrategyLookup[targetEvent] || this.defaultEventStrategy).subscribe(target, targetEvent, callbackOrListener, delegate, disposable);\n  };\n\n  return EventManager;\n}();\n\nexport var EventSubscriber = function () {\n  function EventSubscriber(events) {\n    \n\n    this.events = events;\n    this.element = null;\n    this.handler = null;\n  }\n\n  EventSubscriber.prototype.subscribe = function subscribe(element, callbackOrListener) {\n    this.element = element;\n    this.handler = callbackOrListener;\n\n    var events = this.events;\n    for (var i = 0, ii = events.length; ii > i; ++i) {\n      element.addEventListener(events[i], callbackOrListener);\n    }\n  };\n\n  EventSubscriber.prototype.dispose = function dispose() {\n    if (this.element === null) {\n      return;\n    }\n    var element = this.element;\n    var callbackOrListener = this.handler;\n    var events = this.events;\n    for (var i = 0, ii = events.length; ii > i; ++i) {\n      element.removeEventListener(events[i], callbackOrListener);\n    }\n    this.element = this.handler = null;\n  };\n\n  return EventSubscriber;\n}();\n\nexport var DirtyChecker = function () {\n  function DirtyChecker() {\n    \n\n    this.tracked = [];\n    this.checkDelay = 120;\n  }\n\n  DirtyChecker.prototype.addProperty = function addProperty(property) {\n    var tracked = this.tracked;\n\n    tracked.push(property);\n\n    if (tracked.length === 1) {\n      this.scheduleDirtyCheck();\n    }\n  };\n\n  DirtyChecker.prototype.removeProperty = function removeProperty(property) {\n    var tracked = this.tracked;\n    tracked.splice(tracked.indexOf(property), 1);\n  };\n\n  DirtyChecker.prototype.scheduleDirtyCheck = function scheduleDirtyCheck() {\n    var _this22 = this;\n\n    setTimeout(function () {\n      return _this22.check();\n    }, this.checkDelay);\n  };\n\n  DirtyChecker.prototype.check = function check() {\n    var tracked = this.tracked;\n    var i = tracked.length;\n\n    while (i--) {\n      var current = tracked[i];\n\n      if (current.isDirty()) {\n        current.call();\n      }\n    }\n\n    if (tracked.length) {\n      this.scheduleDirtyCheck();\n    }\n  };\n\n  return DirtyChecker;\n}();\n\nexport var DirtyCheckProperty = (_dec5 = subscriberCollection(), _dec5(_class5 = function () {\n  function DirtyCheckProperty(dirtyChecker, obj, propertyName) {\n    \n\n    this.dirtyChecker = dirtyChecker;\n    this.obj = obj;\n    this.propertyName = propertyName;\n  }\n\n  DirtyCheckProperty.prototype.getValue = function getValue() {\n    return this.obj[this.propertyName];\n  };\n\n  DirtyCheckProperty.prototype.setValue = function setValue(newValue) {\n    this.obj[this.propertyName] = newValue;\n  };\n\n  DirtyCheckProperty.prototype.call = function call() {\n    var oldValue = this.oldValue;\n    var newValue = this.getValue();\n\n    this.callSubscribers(newValue, oldValue);\n\n    this.oldValue = newValue;\n  };\n\n  DirtyCheckProperty.prototype.isDirty = function isDirty() {\n    return this.oldValue !== this.obj[this.propertyName];\n  };\n\n  DirtyCheckProperty.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.getValue();\n      this.dirtyChecker.addProperty(this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  DirtyCheckProperty.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.dirtyChecker.removeProperty(this);\n    }\n  };\n\n  return DirtyCheckProperty;\n}()) || _class5);\n\nvar logger = LogManager.getLogger('property-observation');\n\nexport var propertyAccessor = {\n  getValue: function getValue(obj, propertyName) {\n    return obj[propertyName];\n  },\n  setValue: function setValue(value, obj, propertyName) {\n    obj[propertyName] = value;\n  }\n};\n\nexport var PrimitiveObserver = function () {\n  function PrimitiveObserver(primitive, propertyName) {\n    \n\n    this.doNotCache = true;\n\n    this.primitive = primitive;\n    this.propertyName = propertyName;\n  }\n\n  PrimitiveObserver.prototype.getValue = function getValue() {\n    return this.primitive[this.propertyName];\n  };\n\n  PrimitiveObserver.prototype.setValue = function setValue() {\n    var type = _typeof(this.primitive);\n    throw new Error('The ' + this.propertyName + ' property of a ' + type + ' (' + this.primitive + ') cannot be assigned.');\n  };\n\n  PrimitiveObserver.prototype.subscribe = function subscribe() {};\n\n  PrimitiveObserver.prototype.unsubscribe = function unsubscribe() {};\n\n  return PrimitiveObserver;\n}();\n\nexport var SetterObserver = (_dec6 = subscriberCollection(), _dec6(_class7 = function () {\n  function SetterObserver(taskQueue, obj, propertyName) {\n    \n\n    this.taskQueue = taskQueue;\n    this.obj = obj;\n    this.propertyName = propertyName;\n    this.queued = false;\n    this.observing = false;\n  }\n\n  SetterObserver.prototype.getValue = function getValue() {\n    return this.obj[this.propertyName];\n  };\n\n  SetterObserver.prototype.setValue = function setValue(newValue) {\n    this.obj[this.propertyName] = newValue;\n  };\n\n  SetterObserver.prototype.getterValue = function getterValue() {\n    return this.currentValue;\n  };\n\n  SetterObserver.prototype.setterValue = function setterValue(newValue) {\n    var oldValue = this.currentValue;\n\n    if (oldValue !== newValue) {\n      if (!this.queued) {\n        this.oldValue = oldValue;\n        this.queued = true;\n        this.taskQueue.queueMicroTask(this);\n      }\n\n      this.currentValue = newValue;\n    }\n  };\n\n  SetterObserver.prototype.call = function call() {\n    var oldValue = this.oldValue;\n    var newValue = this.oldValue = this.currentValue;\n\n    this.queued = false;\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  SetterObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.observing) {\n      this.convertProperty();\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  SetterObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    this.removeSubscriber(context, callable);\n  };\n\n  SetterObserver.prototype.convertProperty = function convertProperty() {\n    this.observing = true;\n    this.currentValue = this.obj[this.propertyName];\n    this.setValue = this.setterValue;\n    this.getValue = this.getterValue;\n\n    if (!Reflect.defineProperty(this.obj, this.propertyName, {\n      configurable: true,\n      enumerable: this.propertyName in this.obj ? this.obj.propertyIsEnumerable(this.propertyName) : true,\n      get: this.getValue.bind(this),\n      set: this.setValue.bind(this)\n    })) {\n      logger.warn('Cannot observe property \\'' + this.propertyName + '\\' of object', this.obj);\n    }\n  };\n\n  return SetterObserver;\n}()) || _class7);\n\nexport var XLinkAttributeObserver = function () {\n  function XLinkAttributeObserver(element, propertyName, attributeName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n    this.attributeName = attributeName;\n  }\n\n  XLinkAttributeObserver.prototype.getValue = function getValue() {\n    return this.element.getAttributeNS('http://www.w3.org/1999/xlink', this.attributeName);\n  };\n\n  XLinkAttributeObserver.prototype.setValue = function setValue(newValue) {\n    return this.element.setAttributeNS('http://www.w3.org/1999/xlink', this.attributeName, newValue);\n  };\n\n  XLinkAttributeObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return XLinkAttributeObserver;\n}();\n\nexport var dataAttributeAccessor = {\n  getValue: function getValue(obj, propertyName) {\n    return obj.getAttribute(propertyName);\n  },\n  setValue: function setValue(value, obj, propertyName) {\n    if (value === null || value === undefined) {\n      obj.removeAttribute(propertyName);\n    } else {\n      obj.setAttribute(propertyName, value);\n    }\n  }\n};\n\nexport var DataAttributeObserver = function () {\n  function DataAttributeObserver(element, propertyName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n  }\n\n  DataAttributeObserver.prototype.getValue = function getValue() {\n    return this.element.getAttribute(this.propertyName);\n  };\n\n  DataAttributeObserver.prototype.setValue = function setValue(newValue) {\n    if (newValue === null || newValue === undefined) {\n      return this.element.removeAttribute(this.propertyName);\n    }\n    return this.element.setAttribute(this.propertyName, newValue);\n  };\n\n  DataAttributeObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return DataAttributeObserver;\n}();\n\nexport var StyleObserver = function () {\n  function StyleObserver(element, propertyName) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n\n    this.styles = null;\n    this.version = 0;\n  }\n\n  StyleObserver.prototype.getValue = function getValue() {\n    return this.element.style.cssText;\n  };\n\n  StyleObserver.prototype._setProperty = function _setProperty(style, value) {\n    var priority = '';\n\n    if (value !== null && value !== undefined && typeof value.indexOf === 'function' && value.indexOf('!important') !== -1) {\n      priority = 'important';\n      value = value.replace('!important', '');\n    }\n    this.element.style.setProperty(style, value, priority);\n  };\n\n  StyleObserver.prototype.setValue = function setValue(newValue) {\n    var styles = this.styles || {};\n    var style = void 0;\n    var version = this.version;\n\n    if (newValue !== null && newValue !== undefined) {\n      if (newValue instanceof Object) {\n        var value = void 0;\n        for (style in newValue) {\n          if (newValue.hasOwnProperty(style)) {\n            value = newValue[style];\n            style = style.replace(/([A-Z])/g, function (m) {\n              return '-' + m.toLowerCase();\n            });\n            styles[style] = version;\n            this._setProperty(style, value);\n          }\n        }\n      } else if (newValue.length) {\n        var rx = /\\s*([\\w\\-]+)\\s*:\\s*((?:(?:[\\w\\-]+\\(\\s*(?:\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[\\w\\-]+\\(\\s*(?:^\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[^\\)]*)\\),?|[^\\)]*)\\),?|\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[^;]*),?\\s*)+);?/g;\n        var pair = void 0;\n        while ((pair = rx.exec(newValue)) !== null) {\n          style = pair[1];\n          if (!style) {\n            continue;\n          }\n\n          styles[style] = version;\n          this._setProperty(style, pair[2]);\n        }\n      }\n    }\n\n    this.styles = styles;\n    this.version += 1;\n\n    if (version === 0) {\n      return;\n    }\n\n    version -= 1;\n    for (style in styles) {\n      if (!styles.hasOwnProperty(style) || styles[style] !== version) {\n        continue;\n      }\n\n      this.element.style.removeProperty(style);\n    }\n  };\n\n  StyleObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"' + this.propertyName + '\" property is not supported.');\n  };\n\n  return StyleObserver;\n}();\n\nexport var ValueAttributeObserver = (_dec7 = subscriberCollection(), _dec7(_class8 = function () {\n  function ValueAttributeObserver(element, propertyName, handler) {\n    \n\n    this.element = element;\n    this.propertyName = propertyName;\n    this.handler = handler;\n    if (propertyName === 'files') {\n      this.setValue = function () {};\n    }\n  }\n\n  ValueAttributeObserver.prototype.getValue = function getValue() {\n    return this.element[this.propertyName];\n  };\n\n  ValueAttributeObserver.prototype.setValue = function setValue(newValue) {\n    newValue = newValue === undefined || newValue === null ? '' : newValue;\n    if (this.element[this.propertyName] !== newValue) {\n      this.element[this.propertyName] = newValue;\n      this.notify();\n    }\n  };\n\n  ValueAttributeObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.getValue();\n\n    this.callSubscribers(newValue, oldValue);\n\n    this.oldValue = newValue;\n  };\n\n  ValueAttributeObserver.prototype.handleEvent = function handleEvent() {\n    this.notify();\n  };\n\n  ValueAttributeObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.oldValue = this.getValue();\n      this.handler.subscribe(this.element, this);\n    }\n\n    this.addSubscriber(context, callable);\n  };\n\n  ValueAttributeObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  return ValueAttributeObserver;\n}()) || _class8);\n\nvar checkedArrayContext = 'CheckedObserver:array';\nvar checkedValueContext = 'CheckedObserver:value';\n\nexport var CheckedObserver = (_dec8 = subscriberCollection(), _dec8(_class9 = function () {\n  function CheckedObserver(element, handler, observerLocator) {\n    \n\n    this.element = element;\n    this.handler = handler;\n    this.observerLocator = observerLocator;\n  }\n\n  CheckedObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  CheckedObserver.prototype.setValue = function setValue(newValue) {\n    if (this.initialSync && this.value === newValue) {\n      return;\n    }\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(checkedArrayContext, this);\n      this.arrayObserver = null;\n    }\n\n    if (this.element.type === 'checkbox' && Array.isArray(newValue)) {\n      this.arrayObserver = this.observerLocator.getArrayObserver(newValue);\n      this.arrayObserver.subscribe(checkedArrayContext, this);\n    }\n\n    this.oldValue = this.value;\n    this.value = newValue;\n    this.synchronizeElement();\n    this.notify();\n\n    if (!this.initialSync) {\n      this.initialSync = true;\n      this.observerLocator.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  CheckedObserver.prototype.call = function call(context, splices) {\n    this.synchronizeElement();\n\n    if (!this.valueObserver) {\n      this.valueObserver = this.element.__observers__.model || this.element.__observers__.value;\n      if (this.valueObserver) {\n        this.valueObserver.subscribe(checkedValueContext, this);\n      }\n    }\n  };\n\n  CheckedObserver.prototype.synchronizeElement = function synchronizeElement() {\n    var value = this.value;\n    var element = this.element;\n    var elementValue = element.hasOwnProperty('model') ? element.model : element.value;\n    var isRadio = element.type === 'radio';\n    var matcher = element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    element.checked = isRadio && !!matcher(value, elementValue) || !isRadio && value === true || !isRadio && Array.isArray(value) && value.findIndex(function (item) {\n      return !!matcher(item, elementValue);\n    }) !== -1;\n  };\n\n  CheckedObserver.prototype.synchronizeValue = function synchronizeValue() {\n    var value = this.value;\n    var element = this.element;\n    var elementValue = element.hasOwnProperty('model') ? element.model : element.value;\n    var index = void 0;\n    var matcher = element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    if (element.type === 'checkbox') {\n      if (Array.isArray(value)) {\n        index = value.findIndex(function (item) {\n          return !!matcher(item, elementValue);\n        });\n        if (element.checked && index === -1) {\n          value.push(elementValue);\n        } else if (!element.checked && index !== -1) {\n          value.splice(index, 1);\n        }\n\n        return;\n      }\n\n      value = element.checked;\n    } else if (element.checked) {\n      value = elementValue;\n    } else {\n      return;\n    }\n\n    this.oldValue = this.value;\n    this.value = value;\n    this.notify();\n  };\n\n  CheckedObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.value;\n\n    if (newValue === oldValue) {\n      return;\n    }\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  CheckedObserver.prototype.handleEvent = function handleEvent() {\n    this.synchronizeValue();\n  };\n\n  CheckedObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.handler.subscribe(this.element, this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  CheckedObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  CheckedObserver.prototype.unbind = function unbind() {\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(checkedArrayContext, this);\n      this.arrayObserver = null;\n    }\n    if (this.valueObserver) {\n      this.valueObserver.unsubscribe(checkedValueContext, this);\n    }\n  };\n\n  return CheckedObserver;\n}()) || _class9);\n\nvar selectArrayContext = 'SelectValueObserver:array';\n\nexport var SelectValueObserver = (_dec9 = subscriberCollection(), _dec9(_class10 = function () {\n  function SelectValueObserver(element, handler, observerLocator) {\n    \n\n    this.element = element;\n    this.handler = handler;\n    this.observerLocator = observerLocator;\n  }\n\n  SelectValueObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  SelectValueObserver.prototype.setValue = function setValue(newValue) {\n    if (newValue !== null && newValue !== undefined && this.element.multiple && !Array.isArray(newValue)) {\n      throw new Error('Only null or Array instances can be bound to a multi-select.');\n    }\n    if (this.value === newValue) {\n      return;\n    }\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(selectArrayContext, this);\n      this.arrayObserver = null;\n    }\n\n    if (Array.isArray(newValue)) {\n      this.arrayObserver = this.observerLocator.getArrayObserver(newValue);\n      this.arrayObserver.subscribe(selectArrayContext, this);\n    }\n\n    this.oldValue = this.value;\n    this.value = newValue;\n    this.synchronizeOptions();\n    this.notify();\n\n    if (!this.initialSync) {\n      this.initialSync = true;\n      this.observerLocator.taskQueue.queueMicroTask(this);\n    }\n  };\n\n  SelectValueObserver.prototype.call = function call(context, splices) {\n    this.synchronizeOptions();\n  };\n\n  SelectValueObserver.prototype.synchronizeOptions = function synchronizeOptions() {\n    var value = this.value;\n    var isArray = void 0;\n\n    if (Array.isArray(value)) {\n      isArray = true;\n    }\n\n    var options = this.element.options;\n    var i = options.length;\n    var matcher = this.element.matcher || function (a, b) {\n      return a === b;\n    };\n\n    var _loop = function _loop() {\n      var option = options.item(i);\n      var optionValue = option.hasOwnProperty('model') ? option.model : option.value;\n      if (isArray) {\n        option.selected = value.findIndex(function (item) {\n          return !!matcher(optionValue, item);\n        }) !== -1;\n        return 'continue';\n      }\n      option.selected = !!matcher(optionValue, value);\n    };\n\n    while (i--) {\n      var _ret = _loop();\n\n      if (_ret === 'continue') continue;\n    }\n  };\n\n  SelectValueObserver.prototype.synchronizeValue = function synchronizeValue() {\n    var _this23 = this;\n\n    var options = this.element.options;\n    var count = 0;\n    var value = [];\n\n    for (var i = 0, ii = options.length; i < ii; i++) {\n      var _option = options.item(i);\n      if (!_option.selected) {\n        continue;\n      }\n      value.push(_option.hasOwnProperty('model') ? _option.model : _option.value);\n      count++;\n    }\n\n    if (this.element.multiple) {\n      if (Array.isArray(this.value)) {\n        var _ret2 = function () {\n          var matcher = _this23.element.matcher || function (a, b) {\n            return a === b;\n          };\n\n          var i = 0;\n\n          var _loop2 = function _loop2() {\n            var a = _this23.value[i];\n            if (value.findIndex(function (b) {\n              return matcher(a, b);\n            }) === -1) {\n              _this23.value.splice(i, 1);\n            } else {\n              i++;\n            }\n          };\n\n          while (i < _this23.value.length) {\n            _loop2();\n          }\n\n          i = 0;\n\n          var _loop3 = function _loop3() {\n            var a = value[i];\n            if (_this23.value.findIndex(function (b) {\n              return matcher(a, b);\n            }) === -1) {\n              _this23.value.push(a);\n            }\n            i++;\n          };\n\n          while (i < value.length) {\n            _loop3();\n          }\n          return {\n            v: void 0\n          };\n        }();\n\n        if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === \"object\") return _ret2.v;\n      }\n    } else {\n      if (count === 0) {\n        value = null;\n      } else {\n        value = value[0];\n      }\n    }\n\n    if (value !== this.value) {\n      this.oldValue = this.value;\n      this.value = value;\n      this.notify();\n    }\n  };\n\n  SelectValueObserver.prototype.notify = function notify() {\n    var oldValue = this.oldValue;\n    var newValue = this.value;\n\n    this.callSubscribers(newValue, oldValue);\n  };\n\n  SelectValueObserver.prototype.handleEvent = function handleEvent() {\n    this.synchronizeValue();\n  };\n\n  SelectValueObserver.prototype.subscribe = function subscribe(context, callable) {\n    if (!this.hasSubscribers()) {\n      this.handler.subscribe(this.element, this);\n    }\n    this.addSubscriber(context, callable);\n  };\n\n  SelectValueObserver.prototype.unsubscribe = function unsubscribe(context, callable) {\n    if (this.removeSubscriber(context, callable) && !this.hasSubscribers()) {\n      this.handler.dispose();\n    }\n  };\n\n  SelectValueObserver.prototype.bind = function bind() {\n    var _this24 = this;\n\n    this.domObserver = DOM.createMutationObserver(function () {\n      _this24.synchronizeOptions();\n      _this24.synchronizeValue();\n    });\n    this.domObserver.observe(this.element, { childList: true, subtree: true, characterData: true });\n  };\n\n  SelectValueObserver.prototype.unbind = function unbind() {\n    this.domObserver.disconnect();\n    this.domObserver = null;\n\n    if (this.arrayObserver) {\n      this.arrayObserver.unsubscribe(selectArrayContext, this);\n      this.arrayObserver = null;\n    }\n  };\n\n  return SelectValueObserver;\n}()) || _class10);\n\nexport var ClassObserver = function () {\n  function ClassObserver(element) {\n    \n\n    this.element = element;\n    this.doNotCache = true;\n    this.value = '';\n    this.version = 0;\n  }\n\n  ClassObserver.prototype.getValue = function getValue() {\n    return this.value;\n  };\n\n  ClassObserver.prototype.setValue = function setValue(newValue) {\n    var nameIndex = this.nameIndex || {};\n    var version = this.version;\n    var names = void 0;\n    var name = void 0;\n\n    if (newValue !== null && newValue !== undefined && newValue.length) {\n      names = newValue.split(/\\s+/);\n      for (var i = 0, length = names.length; i < length; i++) {\n        name = names[i];\n        if (name === '') {\n          continue;\n        }\n        nameIndex[name] = version;\n        this.element.classList.add(name);\n      }\n    }\n\n    this.value = newValue;\n    this.nameIndex = nameIndex;\n    this.version += 1;\n\n    if (version === 0) {\n      return;\n    }\n\n    version -= 1;\n    for (name in nameIndex) {\n      if (!nameIndex.hasOwnProperty(name) || nameIndex[name] !== version) {\n        continue;\n      }\n      this.element.classList.remove(name);\n    }\n  };\n\n  ClassObserver.prototype.subscribe = function subscribe() {\n    throw new Error('Observation of a \"' + this.element.nodeName + '\" element\\'s \"class\" property is not supported.');\n  };\n\n  return ClassObserver;\n}();\n\nexport function hasDeclaredDependencies(descriptor) {\n  return !!(descriptor && descriptor.get && descriptor.get.dependencies);\n}\n\nexport function declarePropertyDependencies(ctor, propertyName, dependencies) {\n  var descriptor = Object.getOwnPropertyDescriptor(ctor.prototype, propertyName);\n  descriptor.get.dependencies = dependencies;\n}\n\nexport function computedFrom() {\n  for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {\n    rest[_key] = arguments[_key];\n  }\n\n  return function (target, key, descriptor) {\n    descriptor.get.dependencies = rest;\n    return descriptor;\n  };\n}\n\nexport var ComputedExpression = function (_Expression19) {\n  _inherits(ComputedExpression, _Expression19);\n\n  function ComputedExpression(name, dependencies) {\n    \n\n    var _this25 = _possibleConstructorReturn(this, _Expression19.call(this));\n\n    _this25.name = name;\n    _this25.dependencies = dependencies;\n    _this25.isAssignable = true;\n    return _this25;\n  }\n\n  ComputedExpression.prototype.evaluate = function evaluate(scope, lookupFunctions) {\n    return scope.bindingContext[this.name];\n  };\n\n  ComputedExpression.prototype.assign = function assign(scope, value) {\n    scope.bindingContext[this.name] = value;\n  };\n\n  ComputedExpression.prototype.accept = function accept(visitor) {\n    throw new Error('not implemented');\n  };\n\n  ComputedExpression.prototype.connect = function connect(binding, scope) {\n    var dependencies = this.dependencies;\n    var i = dependencies.length;\n    while (i--) {\n      dependencies[i].connect(binding, scope);\n    }\n  };\n\n  return ComputedExpression;\n}(Expression);\n\nexport function createComputedObserver(obj, propertyName, descriptor, observerLocator) {\n  var dependencies = descriptor.get.dependencies;\n  if (!(dependencies instanceof ComputedExpression)) {\n    var i = dependencies.length;\n    while (i--) {\n      dependencies[i] = observerLocator.parser.parse(dependencies[i]);\n    }\n    dependencies = descriptor.get.dependencies = new ComputedExpression(propertyName, dependencies);\n  }\n\n  var scope = { bindingContext: obj, overrideContext: createOverrideContext(obj) };\n  return new ExpressionObserver(scope, dependencies, observerLocator);\n}\n\nvar svgElements = void 0;\nvar svgPresentationElements = void 0;\nvar svgPresentationAttributes = void 0;\nvar svgAnalyzer = void 0;\n\nif (typeof FEATURE_NO_SVG === 'undefined') {\n  svgElements = {\n    a: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'target', 'transform', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    altGlyph: ['class', 'dx', 'dy', 'externalResourcesRequired', 'format', 'glyphRef', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    altGlyphDef: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    altGlyphItem: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    animate: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateColor: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateMotion: ['accumulate', 'additive', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keyPoints', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'origin', 'path', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'rotate', 'systemLanguage', 'to', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    animateTransform: ['accumulate', 'additive', 'attributeName', 'attributeType', 'begin', 'by', 'calcMode', 'dur', 'end', 'externalResourcesRequired', 'fill', 'from', 'id', 'keySplines', 'keyTimes', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'type', 'values', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    circle: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'r', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    clipPath: ['class', 'clipPathUnits', 'externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    'color-profile': ['id', 'local', 'name', 'rendering-intent', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    cursor: ['externalResourcesRequired', 'id', 'requiredExtensions', 'requiredFeatures', 'systemLanguage', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    defs: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    desc: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    ellipse: ['class', 'cx', 'cy', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    feBlend: ['class', 'height', 'id', 'in', 'in2', 'mode', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feColorMatrix: ['class', 'height', 'id', 'in', 'result', 'style', 'type', 'values', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feComponentTransfer: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feComposite: ['class', 'height', 'id', 'in', 'in2', 'k1', 'k2', 'k3', 'k4', 'operator', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feConvolveMatrix: ['bias', 'class', 'divisor', 'edgeMode', 'height', 'id', 'in', 'kernelMatrix', 'kernelUnitLength', 'order', 'preserveAlpha', 'result', 'style', 'targetX', 'targetY', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feDiffuseLighting: ['class', 'diffuseConstant', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feDisplacementMap: ['class', 'height', 'id', 'in', 'in2', 'result', 'scale', 'style', 'width', 'x', 'xChannelSelector', 'xml:base', 'xml:lang', 'xml:space', 'y', 'yChannelSelector'],\n    feDistantLight: ['azimuth', 'elevation', 'id', 'xml:base', 'xml:lang', 'xml:space'],\n    feFlood: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feFuncA: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncB: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncG: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feFuncR: ['amplitude', 'exponent', 'id', 'intercept', 'offset', 'slope', 'tableValues', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    feGaussianBlur: ['class', 'height', 'id', 'in', 'result', 'stdDeviation', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feImage: ['class', 'externalResourcesRequired', 'height', 'id', 'preserveAspectRatio', 'result', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feMerge: ['class', 'height', 'id', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feMergeNode: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    feMorphology: ['class', 'height', 'id', 'in', 'operator', 'radius', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feOffset: ['class', 'dx', 'dy', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    fePointLight: ['id', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'],\n    feSpecularLighting: ['class', 'height', 'id', 'in', 'kernelUnitLength', 'result', 'specularConstant', 'specularExponent', 'style', 'surfaceScale', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feSpotLight: ['id', 'limitingConeAngle', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'specularExponent', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'z'],\n    feTile: ['class', 'height', 'id', 'in', 'result', 'style', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    feTurbulence: ['baseFrequency', 'class', 'height', 'id', 'numOctaves', 'result', 'seed', 'stitchTiles', 'style', 'type', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    filter: ['class', 'externalResourcesRequired', 'filterRes', 'filterUnits', 'height', 'id', 'primitiveUnits', 'style', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    font: ['class', 'externalResourcesRequired', 'horiz-adv-x', 'horiz-origin-x', 'horiz-origin-y', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face': ['accent-height', 'alphabetic', 'ascent', 'bbox', 'cap-height', 'descent', 'font-family', 'font-size', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'hanging', 'id', 'ideographic', 'mathematical', 'overline-position', 'overline-thickness', 'panose-1', 'slope', 'stemh', 'stemv', 'strikethrough-position', 'strikethrough-thickness', 'underline-position', 'underline-thickness', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'widths', 'x-height', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-format': ['id', 'string', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-name': ['id', 'name', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-src': ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    'font-face-uri': ['id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    foreignObject: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    g: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    glyph: ['arabic-form', 'class', 'd', 'glyph-name', 'horiz-adv-x', 'id', 'lang', 'orientation', 'style', 'unicode', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    glyphRef: ['class', 'dx', 'dy', 'format', 'glyphRef', 'id', 'style', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    hkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space'],\n    image: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    line: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'x1', 'x2', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'],\n    linearGradient: ['class', 'externalResourcesRequired', 'gradientTransform', 'gradientUnits', 'id', 'spreadMethod', 'style', 'x1', 'x2', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y1', 'y2'],\n    marker: ['class', 'externalResourcesRequired', 'id', 'markerHeight', 'markerUnits', 'markerWidth', 'orient', 'preserveAspectRatio', 'refX', 'refY', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'],\n    mask: ['class', 'externalResourcesRequired', 'height', 'id', 'maskContentUnits', 'maskUnits', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    metadata: ['id', 'xml:base', 'xml:lang', 'xml:space'],\n    'missing-glyph': ['class', 'd', 'horiz-adv-x', 'id', 'style', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'xml:base', 'xml:lang', 'xml:space'],\n    mpath: ['externalResourcesRequired', 'id', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    path: ['class', 'd', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'pathLength', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    pattern: ['class', 'externalResourcesRequired', 'height', 'id', 'patternContentUnits', 'patternTransform', 'patternUnits', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'viewBox', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    polygon: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    polyline: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'points', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    radialGradient: ['class', 'cx', 'cy', 'externalResourcesRequired', 'fx', 'fy', 'gradientTransform', 'gradientUnits', 'id', 'r', 'spreadMethod', 'style', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    rect: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rx', 'ry', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    script: ['externalResourcesRequired', 'id', 'type', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    set: ['attributeName', 'attributeType', 'begin', 'dur', 'end', 'externalResourcesRequired', 'fill', 'id', 'max', 'min', 'onbegin', 'onend', 'onload', 'onrepeat', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'systemLanguage', 'to', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    stop: ['class', 'id', 'offset', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    style: ['id', 'media', 'title', 'type', 'xml:base', 'xml:lang', 'xml:space'],\n    svg: ['baseProfile', 'class', 'contentScriptType', 'contentStyleType', 'externalResourcesRequired', 'height', 'id', 'onabort', 'onactivate', 'onclick', 'onerror', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onresize', 'onscroll', 'onunload', 'onzoom', 'preserveAspectRatio', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'version', 'viewBox', 'width', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y', 'zoomAndPan'],\n    switch: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'xml:base', 'xml:lang', 'xml:space'],\n    symbol: ['class', 'externalResourcesRequired', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'preserveAspectRatio', 'style', 'viewBox', 'xml:base', 'xml:lang', 'xml:space'],\n    text: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'transform', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    textPath: ['class', 'externalResourcesRequired', 'id', 'lengthAdjust', 'method', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'spacing', 'startOffset', 'style', 'systemLanguage', 'textLength', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space'],\n    title: ['class', 'id', 'style', 'xml:base', 'xml:lang', 'xml:space'],\n    tref: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    tspan: ['class', 'dx', 'dy', 'externalResourcesRequired', 'id', 'lengthAdjust', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'rotate', 'style', 'systemLanguage', 'textLength', 'x', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    use: ['class', 'externalResourcesRequired', 'height', 'id', 'onactivate', 'onclick', 'onfocusin', 'onfocusout', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'requiredExtensions', 'requiredFeatures', 'style', 'systemLanguage', 'transform', 'width', 'x', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'y'],\n    view: ['externalResourcesRequired', 'id', 'preserveAspectRatio', 'viewBox', 'viewTarget', 'xml:base', 'xml:lang', 'xml:space', 'zoomAndPan'],\n    vkern: ['g1', 'g2', 'id', 'k', 'u1', 'u2', 'xml:base', 'xml:lang', 'xml:space']\n  };\n\n\n  svgPresentationElements = {\n    'a': true,\n    'altGlyph': true,\n    'animate': true,\n    'animateColor': true,\n    'circle': true,\n    'clipPath': true,\n    'defs': true,\n    'ellipse': true,\n    'feBlend': true,\n    'feColorMatrix': true,\n    'feComponentTransfer': true,\n    'feComposite': true,\n    'feConvolveMatrix': true,\n    'feDiffuseLighting': true,\n    'feDisplacementMap': true,\n    'feFlood': true,\n    'feGaussianBlur': true,\n    'feImage': true,\n    'feMerge': true,\n    'feMorphology': true,\n    'feOffset': true,\n    'feSpecularLighting': true,\n    'feTile': true,\n    'feTurbulence': true,\n    'filter': true,\n    'font': true,\n    'foreignObject': true,\n    'g': true,\n    'glyph': true,\n    'glyphRef': true,\n    'image': true,\n    'line': true,\n    'linearGradient': true,\n    'marker': true,\n    'mask': true,\n    'missing-glyph': true,\n    'path': true,\n    'pattern': true,\n    'polygon': true,\n    'polyline': true,\n    'radialGradient': true,\n    'rect': true,\n    'stop': true,\n    'svg': true,\n    'switch': true,\n    'symbol': true,\n    'text': true,\n    'textPath': true,\n    'tref': true,\n    'tspan': true,\n    'use': true\n  };\n\n  svgPresentationAttributes = {\n    'alignment-baseline': true,\n    'baseline-shift': true,\n    'clip-path': true,\n    'clip-rule': true,\n    'clip': true,\n    'color-interpolation-filters': true,\n    'color-interpolation': true,\n    'color-profile': true,\n    'color-rendering': true,\n    'color': true,\n    'cursor': true,\n    'direction': true,\n    'display': true,\n    'dominant-baseline': true,\n    'enable-background': true,\n    'fill-opacity': true,\n    'fill-rule': true,\n    'fill': true,\n    'filter': true,\n    'flood-color': true,\n    'flood-opacity': true,\n    'font-family': true,\n    'font-size-adjust': true,\n    'font-size': true,\n    'font-stretch': true,\n    'font-style': true,\n    'font-variant': true,\n    'font-weight': true,\n    'glyph-orientation-horizontal': true,\n    'glyph-orientation-vertical': true,\n    'image-rendering': true,\n    'kerning': true,\n    'letter-spacing': true,\n    'lighting-color': true,\n    'marker-end': true,\n    'marker-mid': true,\n    'marker-start': true,\n    'mask': true,\n    'opacity': true,\n    'overflow': true,\n    'pointer-events': true,\n    'shape-rendering': true,\n    'stop-color': true,\n    'stop-opacity': true,\n    'stroke-dasharray': true,\n    'stroke-dashoffset': true,\n    'stroke-linecap': true,\n    'stroke-linejoin': true,\n    'stroke-miterlimit': true,\n    'stroke-opacity': true,\n    'stroke-width': true,\n    'stroke': true,\n    'text-anchor': true,\n    'text-decoration': true,\n    'text-rendering': true,\n    'unicode-bidi': true,\n    'visibility': true,\n    'word-spacing': true,\n    'writing-mode': true\n  };\n\n  var createElement = function createElement(html) {\n    var div = DOM.createElement('div');\n    div.innerHTML = html;\n    return div.firstChild;\n  };\n\n  svgAnalyzer = function () {\n    function SVGAnalyzer() {\n      \n\n      if (createElement('<svg><altGlyph /></svg>').firstElementChild.nodeName === 'altglyph' && elements.altGlyph) {\n        elements.altglyph = elements.altGlyph;\n        delete elements.altGlyph;\n        elements.altglyphdef = elements.altGlyphDef;\n        delete elements.altGlyphDef;\n        elements.altglyphitem = elements.altGlyphItem;\n        delete elements.altGlyphItem;\n        elements.glyphref = elements.glyphRef;\n        delete elements.glyphRef;\n      }\n    }\n\n    SVGAnalyzer.prototype.isStandardSvgAttribute = function isStandardSvgAttribute(nodeName, attributeName) {\n      return presentationElements[nodeName] && presentationAttributes[attributeName] || elements[nodeName] && elements[nodeName].indexOf(attributeName) !== -1;\n    };\n\n    return SVGAnalyzer;\n  }();\n}\n\nexport var elements = svgElements;\nexport var presentationElements = svgPresentationElements;\nexport var presentationAttributes = svgPresentationAttributes;\nexport var SVGAnalyzer = svgAnalyzer || function () {\n  function _class11() {\n    \n  }\n\n  _class11.prototype.isStandardSvgAttribute = function isStandardSvgAttribute() {\n    return false;\n  };\n\n  return _class11;\n}();\n\nexport var ObserverLocator = (_temp = _class12 = function () {\n  function ObserverLocator(taskQueue, eventManager, dirtyChecker, svgAnalyzer, parser) {\n    \n\n    this.taskQueue = taskQueue;\n    this.eventManager = eventManager;\n    this.dirtyChecker = dirtyChecker;\n    this.svgAnalyzer = svgAnalyzer;\n    this.parser = parser;\n\n    this.adapters = [];\n    this.logger = LogManager.getLogger('observer-locator');\n  }\n\n  ObserverLocator.prototype.getObserver = function getObserver(obj, propertyName) {\n    var observersLookup = obj.__observers__;\n    var observer = void 0;\n\n    if (observersLookup && propertyName in observersLookup) {\n      return observersLookup[propertyName];\n    }\n\n    observer = this.createPropertyObserver(obj, propertyName);\n\n    if (!observer.doNotCache) {\n      if (observersLookup === undefined) {\n        observersLookup = this.getOrCreateObserversLookup(obj);\n      }\n\n      observersLookup[propertyName] = observer;\n    }\n\n    return observer;\n  };\n\n  ObserverLocator.prototype.getOrCreateObserversLookup = function getOrCreateObserversLookup(obj) {\n    return obj.__observers__ || this.createObserversLookup(obj);\n  };\n\n  ObserverLocator.prototype.createObserversLookup = function createObserversLookup(obj) {\n    var value = {};\n\n    if (!Reflect.defineProperty(obj, '__observers__', {\n      enumerable: false,\n      configurable: false,\n      writable: false,\n      value: value\n    })) {\n      this.logger.warn('Cannot add observers to object', obj);\n    }\n\n    return value;\n  };\n\n  ObserverLocator.prototype.addAdapter = function addAdapter(adapter) {\n    this.adapters.push(adapter);\n  };\n\n  ObserverLocator.prototype.getAdapterObserver = function getAdapterObserver(obj, propertyName, descriptor) {\n    for (var i = 0, ii = this.adapters.length; i < ii; i++) {\n      var adapter = this.adapters[i];\n      var observer = adapter.getObserver(obj, propertyName, descriptor);\n      if (observer) {\n        return observer;\n      }\n    }\n    return null;\n  };\n\n  ObserverLocator.prototype.createPropertyObserver = function createPropertyObserver(obj, propertyName) {\n    var descriptor = void 0;\n    var handler = void 0;\n    var xlinkResult = void 0;\n\n    if (!(obj instanceof Object)) {\n      return new PrimitiveObserver(obj, propertyName);\n    }\n\n    if (obj instanceof DOM.Element) {\n      if (propertyName === 'class') {\n        return new ClassObserver(obj);\n      }\n      if (propertyName === 'style' || propertyName === 'css') {\n        return new StyleObserver(obj, propertyName);\n      }\n      handler = this.eventManager.getElementHandler(obj, propertyName);\n      if (propertyName === 'value' && obj.tagName.toLowerCase() === 'select') {\n        return new SelectValueObserver(obj, handler, this);\n      }\n      if (propertyName === 'checked' && obj.tagName.toLowerCase() === 'input') {\n        return new CheckedObserver(obj, handler, this);\n      }\n      if (handler) {\n        return new ValueAttributeObserver(obj, propertyName, handler);\n      }\n      xlinkResult = /^xlink:(.+)$/.exec(propertyName);\n      if (xlinkResult) {\n        return new XLinkAttributeObserver(obj, propertyName, xlinkResult[1]);\n      }\n      if (propertyName === 'role' && (obj instanceof DOM.Element || obj instanceof DOM.SVGElement) || /^\\w+:|^data-|^aria-/.test(propertyName) || obj instanceof DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName)) {\n        return new DataAttributeObserver(obj, propertyName);\n      }\n    }\n\n    descriptor = Object.getPropertyDescriptor(obj, propertyName);\n\n    if (hasDeclaredDependencies(descriptor)) {\n      return createComputedObserver(obj, propertyName, descriptor, this);\n    }\n\n    if (descriptor) {\n      var existingGetterOrSetter = descriptor.get || descriptor.set;\n      if (existingGetterOrSetter) {\n        if (existingGetterOrSetter.getObserver) {\n          return existingGetterOrSetter.getObserver(obj);\n        }\n\n        var adapterObserver = this.getAdapterObserver(obj, propertyName, descriptor);\n        if (adapterObserver) {\n          return adapterObserver;\n        }\n        return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n      }\n    }\n\n    if (obj instanceof Array) {\n      if (propertyName === 'length') {\n        return this.getArrayObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    } else if (obj instanceof Map) {\n      if (propertyName === 'size') {\n        return this.getMapObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    } else if (obj instanceof Set) {\n      if (propertyName === 'size') {\n        return this.getSetObserver(obj).getLengthObserver();\n      }\n\n      return new DirtyCheckProperty(this.dirtyChecker, obj, propertyName);\n    }\n\n    return new SetterObserver(this.taskQueue, obj, propertyName);\n  };\n\n  ObserverLocator.prototype.getAccessor = function getAccessor(obj, propertyName) {\n    if (obj instanceof DOM.Element) {\n      if (propertyName === 'class' || propertyName === 'style' || propertyName === 'css' || propertyName === 'value' && (obj.tagName.toLowerCase() === 'input' || obj.tagName.toLowerCase() === 'select') || propertyName === 'checked' && obj.tagName.toLowerCase() === 'input' || propertyName === 'model' && obj.tagName.toLowerCase() === 'input' || /^xlink:.+$/.exec(propertyName)) {\n        return this.getObserver(obj, propertyName);\n      }\n      if (/^\\w+:|^data-|^aria-/.test(propertyName) || obj instanceof DOM.SVGElement && this.svgAnalyzer.isStandardSvgAttribute(obj.nodeName, propertyName) || obj.tagName.toLowerCase() === 'img' && propertyName === 'src' || obj.tagName.toLowerCase() === 'a' && propertyName === 'href') {\n        return dataAttributeAccessor;\n      }\n    }\n    return propertyAccessor;\n  };\n\n  ObserverLocator.prototype.getArrayObserver = function getArrayObserver(array) {\n    return _getArrayObserver(this.taskQueue, array);\n  };\n\n  ObserverLocator.prototype.getMapObserver = function getMapObserver(map) {\n    return _getMapObserver(this.taskQueue, map);\n  };\n\n  ObserverLocator.prototype.getSetObserver = function getSetObserver(set) {\n    return _getSetObserver(this.taskQueue, set);\n  };\n\n  return ObserverLocator;\n}(), _class12.inject = [TaskQueue, EventManager, DirtyChecker, SVGAnalyzer, Parser], _temp);\n\nexport var ObjectObservationAdapter = function () {\n  function ObjectObservationAdapter() {\n    \n  }\n\n  ObjectObservationAdapter.prototype.getObserver = function getObserver(object, propertyName, descriptor) {\n    throw new Error('BindingAdapters must implement getObserver(object, propertyName).');\n  };\n\n  return ObjectObservationAdapter;\n}();\n\nexport var BindingExpression = function () {\n  function BindingExpression(observerLocator, targetProperty, sourceExpression, mode, lookupFunctions, attribute) {\n    \n\n    this.observerLocator = observerLocator;\n    this.targetProperty = targetProperty;\n    this.sourceExpression = sourceExpression;\n    this.mode = mode;\n    this.lookupFunctions = lookupFunctions;\n    this.attribute = attribute;\n    this.discrete = false;\n  }\n\n  BindingExpression.prototype.createBinding = function createBinding(target) {\n    return new Binding(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.mode, this.lookupFunctions);\n  };\n\n  return BindingExpression;\n}();\n\nexport var Binding = (_dec10 = connectable(), _dec10(_class13 = function () {\n  function Binding(observerLocator, sourceExpression, target, targetProperty, mode, lookupFunctions) {\n    \n\n    this.observerLocator = observerLocator;\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.targetProperty = targetProperty;\n    this.mode = mode;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Binding.prototype.updateTarget = function updateTarget(value) {\n    this.targetObserver.setValue(value, this.target, this.targetProperty);\n  };\n\n  Binding.prototype.updateSource = function updateSource(value) {\n    this.sourceExpression.assign(this.source, value, this.lookupFunctions);\n  };\n\n  Binding.prototype.call = function call(context, newValue, oldValue) {\n    if (!this.isBound) {\n      return;\n    }\n    if (context === sourceContext) {\n      oldValue = this.targetObserver.getValue(this.target, this.targetProperty);\n      newValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\n      if (newValue !== oldValue) {\n        this.updateTarget(newValue);\n      }\n      if (this.mode !== bindingMode.oneTime) {\n        this._version++;\n        this.sourceExpression.connect(this, this.source);\n        this.unobserve(false);\n      }\n      return;\n    }\n    if (context === targetContext) {\n      if (newValue !== this.sourceExpression.evaluate(this.source, this.lookupFunctions)) {\n        this.updateSource(newValue);\n      }\n      return;\n    }\n    throw new Error('Unexpected call context ' + context);\n  };\n\n  Binding.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n\n    var mode = this.mode;\n    if (!this.targetObserver) {\n      var method = mode === bindingMode.twoWay || mode === bindingMode.fromView ? 'getObserver' : 'getAccessor';\n      this.targetObserver = this.observerLocator[method](this.target, this.targetProperty);\n    }\n\n    if ('bind' in this.targetObserver) {\n      this.targetObserver.bind();\n    }\n    if (this.mode !== bindingMode.fromView) {\n      var value = this.sourceExpression.evaluate(source, this.lookupFunctions);\n      this.updateTarget(value);\n    }\n\n    if (mode === bindingMode.oneTime) {\n      return;\n    } else if (mode === bindingMode.toView) {\n      enqueueBindingConnect(this);\n    } else if (mode === bindingMode.twoWay) {\n      this.sourceExpression.connect(this, source);\n      this.targetObserver.subscribe(targetContext, this);\n    } else if (mode === bindingMode.fromView) {\n      this.targetObserver.subscribe(targetContext, this);\n    }\n  };\n\n  Binding.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    if ('unbind' in this.targetObserver) {\n      this.targetObserver.unbind();\n    }\n    if (this.targetObserver.unsubscribe) {\n      this.targetObserver.unsubscribe(targetContext, this);\n    }\n    this.unobserve(true);\n  };\n\n  Binding.prototype.connect = function connect(evaluate) {\n    if (!this.isBound) {\n      return;\n    }\n    if (evaluate) {\n      var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\n      this.updateTarget(value);\n    }\n    this.sourceExpression.connect(this, this.source);\n  };\n\n  return Binding;\n}()) || _class13);\n\nexport var CallExpression = function () {\n  function CallExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions) {\n    \n\n    this.observerLocator = observerLocator;\n    this.targetProperty = targetProperty;\n    this.sourceExpression = sourceExpression;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  CallExpression.prototype.createBinding = function createBinding(target) {\n    return new Call(this.observerLocator, this.sourceExpression, target, this.targetProperty, this.lookupFunctions);\n  };\n\n  return CallExpression;\n}();\n\nexport var Call = function () {\n  function Call(observerLocator, sourceExpression, target, targetProperty, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.targetProperty = observerLocator.getObserver(target, targetProperty);\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Call.prototype.callSource = function callSource($event) {\n    var overrideContext = this.source.overrideContext;\n    Object.assign(overrideContext, $event);\n    overrideContext.$event = $event;\n    var mustEvaluate = true;\n    var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate);\n    delete overrideContext.$event;\n    for (var prop in $event) {\n      delete overrideContext[prop];\n    }\n    return result;\n  };\n\n  Call.prototype.bind = function bind(source) {\n    var _this26 = this;\n\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this.targetProperty.setValue(function ($event) {\n      return _this26.callSource($event);\n    });\n  };\n\n  Call.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    this.targetProperty.setValue(null);\n  };\n\n  return Call;\n}();\n\nexport var ValueConverterResource = function () {\n  function ValueConverterResource(name) {\n    \n\n    this.name = name;\n  }\n\n  ValueConverterResource.convention = function convention(name) {\n    if (name.endsWith('ValueConverter')) {\n      return new ValueConverterResource(camelCase(name.substring(0, name.length - 14)));\n    }\n  };\n\n  ValueConverterResource.prototype.initialize = function initialize(container, target) {\n    this.instance = container.get(target);\n  };\n\n  ValueConverterResource.prototype.register = function register(registry, name) {\n    registry.registerValueConverter(name || this.name, this.instance);\n  };\n\n  ValueConverterResource.prototype.load = function load(container, target) {};\n\n  return ValueConverterResource;\n}();\n\nexport function valueConverter(nameOrTarget) {\n  if (nameOrTarget === undefined || typeof nameOrTarget === 'string') {\n    return function (target) {\n      metadata.define(metadata.resource, new ValueConverterResource(nameOrTarget), target);\n    };\n  }\n\n  metadata.define(metadata.resource, new ValueConverterResource(), nameOrTarget);\n}\n\nexport var BindingBehaviorResource = function () {\n  function BindingBehaviorResource(name) {\n    \n\n    this.name = name;\n  }\n\n  BindingBehaviorResource.convention = function convention(name) {\n    if (name.endsWith('BindingBehavior')) {\n      return new BindingBehaviorResource(camelCase(name.substring(0, name.length - 15)));\n    }\n  };\n\n  BindingBehaviorResource.prototype.initialize = function initialize(container, target) {\n    this.instance = container.get(target);\n  };\n\n  BindingBehaviorResource.prototype.register = function register(registry, name) {\n    registry.registerBindingBehavior(name || this.name, this.instance);\n  };\n\n  BindingBehaviorResource.prototype.load = function load(container, target) {};\n\n  return BindingBehaviorResource;\n}();\n\nexport function bindingBehavior(nameOrTarget) {\n  if (nameOrTarget === undefined || typeof nameOrTarget === 'string') {\n    return function (target) {\n      metadata.define(metadata.resource, new BindingBehaviorResource(nameOrTarget), target);\n    };\n  }\n\n  metadata.define(metadata.resource, new BindingBehaviorResource(), nameOrTarget);\n}\n\nexport var ListenerExpression = function () {\n  function ListenerExpression(eventManager, targetEvent, sourceExpression, delegationStrategy, preventDefault, lookupFunctions) {\n    \n\n    this.eventManager = eventManager;\n    this.targetEvent = targetEvent;\n    this.sourceExpression = sourceExpression;\n    this.delegationStrategy = delegationStrategy;\n    this.discrete = true;\n    this.preventDefault = preventDefault;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  ListenerExpression.prototype.createBinding = function createBinding(target) {\n    return new Listener(this.eventManager, this.targetEvent, this.delegationStrategy, this.sourceExpression, target, this.preventDefault, this.lookupFunctions);\n  };\n\n  return ListenerExpression;\n}();\n\nexport var Listener = function () {\n  function Listener(eventManager, targetEvent, delegationStrategy, sourceExpression, target, preventDefault, lookupFunctions) {\n    \n\n    this.eventManager = eventManager;\n    this.targetEvent = targetEvent;\n    this.delegationStrategy = delegationStrategy;\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.preventDefault = preventDefault;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  Listener.prototype.callSource = function callSource(event) {\n    var overrideContext = this.source.overrideContext;\n    overrideContext.$event = event;\n    var mustEvaluate = true;\n    var result = this.sourceExpression.evaluate(this.source, this.lookupFunctions, mustEvaluate);\n    delete overrideContext.$event;\n    if (result !== true && this.preventDefault) {\n      event.preventDefault();\n    }\n    return result;\n  };\n\n  Listener.prototype.handleEvent = function handleEvent(event) {\n    this.callSource(event);\n  };\n\n  Listener.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this._handler = this.eventManager.addEventListener(this.target, this.targetEvent, this, this.delegationStrategy, true);\n  };\n\n  Listener.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n    this._handler.dispose();\n    this._handler = null;\n  };\n\n  return Listener;\n}();\n\nfunction getAU(element) {\n  var au = element.au;\n\n  if (au === undefined) {\n    throw new Error('No Aurelia APIs are defined for the element: \"' + element.tagName + '\".');\n  }\n\n  return au;\n}\n\nexport var NameExpression = function () {\n  function NameExpression(sourceExpression, apiName, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.apiName = apiName;\n    this.lookupFunctions = lookupFunctions;\n    this.discrete = true;\n  }\n\n  NameExpression.prototype.createBinding = function createBinding(target) {\n    return new NameBinder(this.sourceExpression, NameExpression.locateAPI(target, this.apiName), this.lookupFunctions);\n  };\n\n  NameExpression.locateAPI = function locateAPI(element, apiName) {\n    switch (apiName) {\n      case 'element':\n        return element;\n      case 'controller':\n        return getAU(element).controller;\n      case 'view-model':\n        return getAU(element).controller.viewModel;\n      case 'view':\n        return getAU(element).controller.view;\n      default:\n        var target = getAU(element)[apiName];\n\n        if (target === undefined) {\n          throw new Error('Attempted to reference \"' + apiName + '\", but it was not found amongst the target\\'s API.');\n        }\n\n        return target.viewModel;\n    }\n  };\n\n  return NameExpression;\n}();\n\nvar NameBinder = function () {\n  function NameBinder(sourceExpression, target, lookupFunctions) {\n    \n\n    this.sourceExpression = sourceExpression;\n    this.target = target;\n    this.lookupFunctions = lookupFunctions;\n  }\n\n  NameBinder.prototype.bind = function bind(source) {\n    if (this.isBound) {\n      if (this.source === source) {\n        return;\n      }\n      this.unbind();\n    }\n    this.isBound = true;\n    this.source = source;\n    if (this.sourceExpression.bind) {\n      this.sourceExpression.bind(this, source, this.lookupFunctions);\n    }\n    this.sourceExpression.assign(this.source, this.target, this.lookupFunctions);\n  };\n\n  NameBinder.prototype.unbind = function unbind() {\n    if (!this.isBound) {\n      return;\n    }\n    this.isBound = false;\n    if (this.sourceExpression.evaluate(this.source, this.lookupFunctions) === this.target) {\n      this.sourceExpression.assign(this.source, null, this.lookupFunctions);\n    }\n    if (this.sourceExpression.unbind) {\n      this.sourceExpression.unbind(this, this.source);\n    }\n    this.source = null;\n  };\n\n  return NameBinder;\n}();\n\nvar LookupFunctions = {\n  bindingBehaviors: function bindingBehaviors(name) {\n    return null;\n  },\n  valueConverters: function valueConverters(name) {\n    return null;\n  }\n};\n\nexport var BindingEngine = (_temp2 = _class14 = function () {\n  function BindingEngine(observerLocator, parser) {\n    \n\n    this.observerLocator = observerLocator;\n    this.parser = parser;\n  }\n\n  BindingEngine.prototype.createBindingExpression = function createBindingExpression(targetProperty, sourceExpression) {\n    var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : bindingMode.toView;\n    var lookupFunctions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : LookupFunctions;\n\n    return new BindingExpression(this.observerLocator, targetProperty, this.parser.parse(sourceExpression), mode, lookupFunctions);\n  };\n\n  BindingEngine.prototype.propertyObserver = function propertyObserver(obj, propertyName) {\n    var _this27 = this;\n\n    return {\n      subscribe: function subscribe(callback) {\n        var observer = _this27.observerLocator.getObserver(obj, propertyName);\n        observer.subscribe(callback);\n        return {\n          dispose: function dispose() {\n            return observer.unsubscribe(callback);\n          }\n        };\n      }\n    };\n  };\n\n  BindingEngine.prototype.collectionObserver = function collectionObserver(collection) {\n    var _this28 = this;\n\n    return {\n      subscribe: function subscribe(callback) {\n        var observer = void 0;\n        if (collection instanceof Array) {\n          observer = _this28.observerLocator.getArrayObserver(collection);\n        } else if (collection instanceof Map) {\n          observer = _this28.observerLocator.getMapObserver(collection);\n        } else if (collection instanceof Set) {\n          observer = _this28.observerLocator.getSetObserver(collection);\n        } else {\n          throw new Error('collection must be an instance of Array, Map or Set.');\n        }\n        observer.subscribe(callback);\n        return {\n          dispose: function dispose() {\n            return observer.unsubscribe(callback);\n          }\n        };\n      }\n    };\n  };\n\n  BindingEngine.prototype.expressionObserver = function expressionObserver(bindingContext, expression) {\n    var scope = { bindingContext: bindingContext, overrideContext: createOverrideContext(bindingContext) };\n    return new ExpressionObserver(scope, this.parser.parse(expression), this.observerLocator, LookupFunctions);\n  };\n\n  BindingEngine.prototype.parseExpression = function parseExpression(expression) {\n    return this.parser.parse(expression);\n  };\n\n  BindingEngine.prototype.registerAdapter = function registerAdapter(adapter) {\n    this.observerLocator.addAdapter(adapter);\n  };\n\n  return BindingEngine;\n}(), _class14.inject = [ObserverLocator, Parser], _temp2);\n\nvar setProto = Set.prototype;\n\nfunction _getSetObserver(taskQueue, set) {\n  return ModifySetObserver.for(taskQueue, set);\n}\n\nvar ModifySetObserver = function (_ModifyCollectionObse3) {\n  _inherits(ModifySetObserver, _ModifyCollectionObse3);\n\n  function ModifySetObserver(taskQueue, set) {\n    \n\n    return _possibleConstructorReturn(this, _ModifyCollectionObse3.call(this, taskQueue, set));\n  }\n\n  ModifySetObserver.for = function _for(taskQueue, set) {\n    if (!('__set_observer__' in set)) {\n      Reflect.defineProperty(set, '__set_observer__', {\n        value: ModifySetObserver.create(taskQueue, set),\n        enumerable: false, configurable: false\n      });\n    }\n    return set.__set_observer__;\n  };\n\n  ModifySetObserver.create = function create(taskQueue, set) {\n    var observer = new ModifySetObserver(taskQueue, set);\n\n    var proto = setProto;\n    if (proto.add !== set.add || proto.delete !== set.delete || proto.clear !== set.clear) {\n      proto = {\n        add: set.add,\n        delete: set.delete,\n        clear: set.clear\n      };\n    }\n\n    set.add = function () {\n      var type = 'add';\n      var oldSize = set.size;\n      var methodCallResult = proto.add.apply(set, arguments);\n      var hasValue = set.size === oldSize;\n      if (!hasValue) {\n        observer.addChangeRecord({\n          type: type,\n          object: set,\n          value: Array.from(set).pop()\n        });\n      }\n      return methodCallResult;\n    };\n\n    set.delete = function () {\n      var hasValue = set.has(arguments[0]);\n      var methodCallResult = proto.delete.apply(set, arguments);\n      if (hasValue) {\n        observer.addChangeRecord({\n          type: 'delete',\n          object: set,\n          value: arguments[0]\n        });\n      }\n      return methodCallResult;\n    };\n\n    set.clear = function () {\n      var methodCallResult = proto.clear.apply(set, arguments);\n      observer.addChangeRecord({\n        type: 'clear',\n        object: set\n      });\n      return methodCallResult;\n    };\n\n    return observer;\n  };\n\n  return ModifySetObserver;\n}(ModifyCollectionObserver);\n\nexport function observable(targetOrConfig, key, descriptor) {\n  function deco(target, key, descriptor, config) {\n    var isClassDecorator = key === undefined;\n    if (isClassDecorator) {\n      target = target.prototype;\n      key = typeof config === 'string' ? config : config.name;\n    }\n\n    var innerPropertyName = '_' + key;\n    var innerPropertyDescriptor = {\n      configurable: true,\n      enumerable: false,\n      writable: true\n    };\n\n    var callbackName = config && config.changeHandler || key + 'Changed';\n\n    if (descriptor) {\n      if (typeof descriptor.initializer === 'function') {\n        innerPropertyDescriptor.value = descriptor.initializer();\n      }\n    } else {\n      descriptor = {};\n    }\n\n    if (!('enumerable' in descriptor)) {\n      descriptor.enumerable = true;\n    }\n\n    delete descriptor.value;\n    delete descriptor.writable;\n    delete descriptor.initializer;\n\n    Reflect.defineProperty(target, innerPropertyName, innerPropertyDescriptor);\n\n    descriptor.get = function () {\n      return this[innerPropertyName];\n    };\n    descriptor.set = function (newValue) {\n      var oldValue = this[innerPropertyName];\n      if (newValue === oldValue) {\n        return;\n      }\n\n      this[innerPropertyName] = newValue;\n      Reflect.defineProperty(this, innerPropertyName, { enumerable: false });\n\n      if (this[callbackName]) {\n        this[callbackName](newValue, oldValue, key);\n      }\n    };\n\n    descriptor.get.dependencies = [innerPropertyName];\n\n    if (isClassDecorator) {\n      Reflect.defineProperty(target, key, descriptor);\n    } else {\n      return descriptor;\n    }\n  }\n\n  if (key === undefined) {\n    return function (t, k, d) {\n      return deco(t, k, d, targetOrConfig);\n    };\n  }\n  return deco(targetOrConfig, key, descriptor);\n}\n\nvar signals = {};\n\nexport function connectBindingToSignal(binding, name) {\n  if (!signals.hasOwnProperty(name)) {\n    signals[name] = 0;\n  }\n  binding.observeProperty(signals, name);\n}\n\nexport function signalBindings(name) {\n  if (signals.hasOwnProperty(name)) {\n    signals[name]++;\n  }\n}","import { metadata, protocol } from 'aurelia-metadata';\nimport { AggregateError } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\n\nfunction isInjectable(potentialTarget) {\r\n    return !!potentialTarget;\r\n}\r\nfunction autoinject(potentialTarget) {\r\n    var deco = function (target) {\r\n        if (!target.hasOwnProperty('inject')) {\r\n            target.inject = (metadata.getOwn(metadata.paramTypes, target) ||\r\n                _emptyParameters).slice();\r\n            if (target.inject && target.inject.length > 0) {\r\n                if (target.inject[target.inject.length - 1] === Object) {\r\n                    target.inject.splice(-1, 1);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    if (isInjectable(potentialTarget)) {\r\n        return deco(potentialTarget);\r\n    }\r\n    return deco;\r\n}\r\nfunction inject() {\r\n    var rest = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        rest[_i] = arguments[_i];\r\n    }\r\n    return function (target, _key, descriptor) {\r\n        if (typeof descriptor === 'number') {\r\n            autoinject(target);\r\n            if (rest.length === 1) {\r\n                target.inject[descriptor] = rest[0];\r\n            }\r\n            return;\r\n        }\r\n        if (descriptor) {\r\n            var fn = descriptor.value;\r\n            fn.inject = rest;\r\n        }\r\n        else {\r\n            target.inject = rest;\r\n        }\r\n    };\r\n}\n\nvar resolver = protocol.create('aurelia:resolver', function (target) {\r\n    if (!(typeof target.get === 'function')) {\r\n        return 'Resolvers must implement: get(container: Container, key: any): any';\r\n    }\r\n    return true;\r\n});\r\nvar Strategy;\r\n(function (Strategy) {\r\n    Strategy[Strategy[\"instance\"] = 0] = \"instance\";\r\n    Strategy[Strategy[\"singleton\"] = 1] = \"singleton\";\r\n    Strategy[Strategy[\"transient\"] = 2] = \"transient\";\r\n    Strategy[Strategy[\"function\"] = 3] = \"function\";\r\n    Strategy[Strategy[\"array\"] = 4] = \"array\";\r\n    Strategy[Strategy[\"alias\"] = 5] = \"alias\";\r\n})(Strategy || (Strategy = {}));\r\nfunction isStrategy(actual, expected, state) {\r\n    return actual === expected;\r\n}\r\nvar StrategyResolver = (function () {\r\n    function StrategyResolver(strategy, state) {\r\n        this.strategy = strategy;\r\n        this.state = state;\r\n    }\r\n    StrategyResolver.prototype.get = function (container, key) {\r\n        if (isStrategy(this.strategy, Strategy.instance, this.state)) {\r\n            return this.state;\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.singleton, this.state)) {\r\n            var singleton = container.invoke(this.state);\r\n            this.state = singleton;\r\n            this.strategy = 0;\r\n            return singleton;\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.transient, this.state)) {\r\n            return container.invoke(this.state);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.function, this.state)) {\r\n            return this.state(container, key, this);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.array, this.state)) {\r\n            return this.state[0].get(container, key);\r\n        }\r\n        if (isStrategy(this.strategy, Strategy.alias, this.state)) {\r\n            return container.get(this.state);\r\n        }\r\n        throw new Error('Invalid strategy: ' + this.strategy);\r\n    };\r\n    StrategyResolver = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Number, Object])\r\n    ], StrategyResolver);\r\n    return StrategyResolver;\r\n}());\r\nvar Lazy = (function () {\r\n    function Lazy(key) {\r\n        this._key = key;\r\n    }\r\n    Lazy_1 = Lazy;\r\n    Lazy.prototype.get = function (container) {\r\n        var _this = this;\r\n        return function () { return container.get(_this._key); };\r\n    };\r\n    Lazy.of = function (key) {\r\n        return new Lazy_1(key);\r\n    };\r\n    var Lazy_1;\r\n    Lazy = Lazy_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Lazy);\r\n    return Lazy;\r\n}());\r\nvar All = (function () {\r\n    function All(key) {\r\n        this._key = key;\r\n    }\r\n    All_1 = All;\r\n    All.prototype.get = function (container) {\r\n        return container.getAll(this._key);\r\n    };\r\n    All.of = function (key) {\r\n        return new All_1(key);\r\n    };\r\n    var All_1;\r\n    All = All_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], All);\r\n    return All;\r\n}());\r\nvar Optional = (function () {\r\n    function Optional(key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = true; }\r\n        this._key = key;\r\n        this._checkParent = checkParent;\r\n    }\r\n    Optional_1 = Optional;\r\n    Optional.prototype.get = function (container) {\r\n        if (container.hasResolver(this._key, this._checkParent)) {\r\n            return container.get(this._key);\r\n        }\r\n        return null;\r\n    };\r\n    Optional.of = function (key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = true; }\r\n        return new Optional_1(key, checkParent);\r\n    };\r\n    var Optional_1;\r\n    Optional = Optional_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object, Boolean])\r\n    ], Optional);\r\n    return Optional;\r\n}());\r\nvar Parent = (function () {\r\n    function Parent(key) {\r\n        this._key = key;\r\n    }\r\n    Parent_1 = Parent;\r\n    Parent.prototype.get = function (container) {\r\n        return container.parent ? container.parent.get(this._key) : null;\r\n    };\r\n    Parent.of = function (key) {\r\n        return new Parent_1(key);\r\n    };\r\n    var Parent_1;\r\n    Parent = Parent_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Parent);\r\n    return Parent;\r\n}());\r\nvar Factory = (function () {\r\n    function Factory(key) {\r\n        this._key = key;\r\n    }\r\n    Factory_1 = Factory;\r\n    Factory.prototype.get = function (container) {\r\n        var fn = this._key;\r\n        var resolver = container.getResolver(fn);\r\n        if (resolver && resolver.strategy === Strategy.function) {\r\n            fn = resolver.state;\r\n        }\r\n        return function () {\r\n            var rest = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                rest[_i] = arguments[_i];\r\n            }\r\n            return container.invoke(fn, rest);\r\n        };\r\n    };\r\n    Factory.of = function (key) {\r\n        return new Factory_1(key);\r\n    };\r\n    var Factory_1;\r\n    Factory = Factory_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object])\r\n    ], Factory);\r\n    return Factory;\r\n}());\r\nvar NewInstance = (function () {\r\n    function NewInstance(key) {\r\n        var dynamicDependencies = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            dynamicDependencies[_i - 1] = arguments[_i];\r\n        }\r\n        this.key = key;\r\n        this.asKey = key;\r\n        this.dynamicDependencies = dynamicDependencies;\r\n    }\r\n    NewInstance_1 = NewInstance;\r\n    NewInstance.prototype.get = function (container) {\r\n        var dynamicDependencies = this.dynamicDependencies.length > 0\r\n            ? this.dynamicDependencies.map(function (dependency) {\r\n                return dependency['protocol:aurelia:resolver']\r\n                    ? dependency.get(container)\r\n                    : container.get(dependency);\r\n            })\r\n            : undefined;\r\n        var fn = this.key;\r\n        var resolver = container.getResolver(fn);\r\n        if (resolver && resolver.strategy === 3) {\r\n            fn = resolver.state;\r\n        }\r\n        var instance = container.invoke(fn, dynamicDependencies);\r\n        container.registerInstance(this.asKey, instance);\r\n        return instance;\r\n    };\r\n    NewInstance.prototype.as = function (key) {\r\n        this.asKey = key;\r\n        return this;\r\n    };\r\n    NewInstance.of = function (key) {\r\n        var dynamicDependencies = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            dynamicDependencies[_i - 1] = arguments[_i];\r\n        }\r\n        return new (NewInstance_1.bind.apply(NewInstance_1, [void 0, key].concat(dynamicDependencies)))();\r\n    };\r\n    var NewInstance_1;\r\n    NewInstance = NewInstance_1 = __decorate([\r\n        resolver(),\r\n        __metadata(\"design:paramtypes\", [Object, Object])\r\n    ], NewInstance);\r\n    return NewInstance;\r\n}());\r\nfunction getDecoratorDependencies(target) {\r\n    autoinject(target);\r\n    return target.inject;\r\n}\r\nfunction lazy(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = Lazy.of(keyValue);\r\n    };\r\n}\r\nfunction all(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = All.of(keyValue);\r\n    };\r\n}\r\nfunction optional(checkParentOrTarget) {\r\n    if (checkParentOrTarget === void 0) { checkParentOrTarget = true; }\r\n    var deco = function (checkParent) {\r\n        return function (target, _key, index) {\r\n            var inject$$1 = getDecoratorDependencies(target);\r\n            inject$$1[index] = Optional.of(inject$$1[index], checkParent);\r\n        };\r\n    };\r\n    if (typeof checkParentOrTarget === 'boolean') {\r\n        return deco(checkParentOrTarget);\r\n    }\r\n    return deco(true);\r\n}\r\nfunction parent(target, _key, index) {\r\n    var inject$$1 = getDecoratorDependencies(target);\r\n    inject$$1[index] = Parent.of(inject$$1[index]);\r\n}\r\nfunction factory(keyValue) {\r\n    return function (target, _key, index) {\r\n        var inject$$1 = getDecoratorDependencies(target);\r\n        inject$$1[index] = Factory.of(keyValue);\r\n    };\r\n}\r\nfunction newInstance(asKeyOrTarget) {\r\n    var dynamicDependencies = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        dynamicDependencies[_i - 1] = arguments[_i];\r\n    }\r\n    var deco = function (asKey) {\r\n        return function (target, _key, index) {\r\n            var inject$$1 = getDecoratorDependencies(target);\r\n            inject$$1[index] = NewInstance.of.apply(NewInstance, [inject$$1[index]].concat(dynamicDependencies));\r\n            if (!!asKey) {\r\n                inject$$1[index].as(asKey);\r\n            }\r\n        };\r\n    };\r\n    if (arguments.length >= 1) {\r\n        return deco(asKeyOrTarget);\r\n    }\r\n    return deco();\r\n}\n\nfunction validateKey(key) {\r\n    if (key === null || key === undefined) {\r\n        throw new Error('key/value cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n    }\r\n}\r\nvar _emptyParameters = Object.freeze([]);\r\nmetadata.registration = 'aurelia:registration';\r\nmetadata.invoker = 'aurelia:invoker';\r\nvar resolverDecorates = resolver.decorates;\r\nvar InvocationHandler = (function () {\r\n    function InvocationHandler(fn, invoker, dependencies) {\r\n        this.fn = fn;\r\n        this.invoker = invoker;\r\n        this.dependencies = dependencies;\r\n    }\r\n    InvocationHandler.prototype.invoke = function (container, dynamicDependencies) {\r\n        return dynamicDependencies !== undefined\r\n            ? this.invoker.invokeWithDynamicDependencies(container, this.fn, this.dependencies, dynamicDependencies)\r\n            : this.invoker.invoke(container, this.fn, this.dependencies);\r\n    };\r\n    return InvocationHandler;\r\n}());\r\nfunction invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) {\r\n    var i = staticDependencies.length;\r\n    var args = new Array(i);\r\n    var lookup;\r\n    while (i--) {\r\n        lookup = staticDependencies[i];\r\n        if (lookup === null || lookup === undefined) {\r\n            throw new Error('Constructor Parameter with index ' +\r\n                i +\r\n                ' cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n        }\r\n        else {\r\n            args[i] = container.get(lookup);\r\n        }\r\n    }\r\n    if (dynamicDependencies !== undefined) {\r\n        args = args.concat(dynamicDependencies);\r\n    }\r\n    return Reflect.construct(fn, args);\r\n}\r\nvar classInvoker = {\r\n    invoke: function (container, Type, deps) {\r\n        var instances = deps.map(function (dep) { return container.get(dep); });\r\n        return Reflect.construct(Type, instances);\r\n    },\r\n    invokeWithDynamicDependencies: invokeWithDynamicDependencies\r\n};\r\nfunction getDependencies(f) {\r\n    if (!f.hasOwnProperty('inject')) {\r\n        return [];\r\n    }\r\n    if (typeof f.inject === 'function') {\r\n        return f.inject();\r\n    }\r\n    return f.inject;\r\n}\r\nvar Container = (function () {\r\n    function Container(configuration) {\r\n        if (configuration === undefined) {\r\n            configuration = {};\r\n        }\r\n        this._configuration = configuration;\r\n        this._onHandlerCreated = configuration.onHandlerCreated;\r\n        this._handlers =\r\n            configuration.handlers || (configuration.handlers = new Map());\r\n        this._resolvers = new Map();\r\n        this.root = this;\r\n        this.parent = null;\r\n    }\r\n    Container.prototype.makeGlobal = function () {\r\n        Container.instance = this;\r\n        return this;\r\n    };\r\n    Container.prototype.setHandlerCreatedCallback = function (onHandlerCreated) {\r\n        this._onHandlerCreated = onHandlerCreated;\r\n        this._configuration.onHandlerCreated = onHandlerCreated;\r\n    };\r\n    Container.prototype.registerInstance = function (key, instance) {\r\n        return this.registerResolver(key, new StrategyResolver(0, instance === undefined ? key : instance));\r\n    };\r\n    Container.prototype.registerSingleton = function (key, fn) {\r\n        return this.registerResolver(key, new StrategyResolver(1, fn === undefined ? key : fn));\r\n    };\r\n    Container.prototype.registerTransient = function (key, fn) {\r\n        return this.registerResolver(key, new StrategyResolver(2, fn === undefined ? key : fn));\r\n    };\r\n    Container.prototype.registerHandler = function (key, handler) {\r\n        return this.registerResolver(key, new StrategyResolver(3, handler));\r\n    };\r\n    Container.prototype.registerAlias = function (originalKey, aliasKey) {\r\n        return this.registerResolver(aliasKey, new StrategyResolver(5, originalKey));\r\n    };\r\n    Container.prototype.registerResolver = function (key, resolver$$1) {\r\n        validateKey(key);\r\n        var allResolvers = this._resolvers;\r\n        var result = allResolvers.get(key);\r\n        if (result === undefined) {\r\n            allResolvers.set(key, resolver$$1);\r\n        }\r\n        else if (result.strategy === 4) {\r\n            result.state.push(resolver$$1);\r\n        }\r\n        else {\r\n            allResolvers.set(key, new StrategyResolver(4, [result, resolver$$1]));\r\n        }\r\n        return resolver$$1;\r\n    };\r\n    Container.prototype.autoRegister = function (key, fn) {\r\n        fn = fn === undefined ? key : fn;\r\n        if (typeof fn === 'function') {\r\n            var registration = metadata.get(metadata.registration, fn);\r\n            if (registration === undefined) {\r\n                return this.registerResolver(key, new StrategyResolver(1, fn));\r\n            }\r\n            return registration.registerResolver(this, key, fn);\r\n        }\r\n        return this.registerResolver(key, new StrategyResolver(0, fn));\r\n    };\r\n    Container.prototype.autoRegisterAll = function (fns) {\r\n        var i = fns.length;\r\n        while (i--) {\r\n            this.autoRegister(fns[i]);\r\n        }\r\n    };\r\n    Container.prototype.unregister = function (key) {\r\n        this._resolvers.delete(key);\r\n    };\r\n    Container.prototype.hasResolver = function (key, checkParent) {\r\n        if (checkParent === void 0) { checkParent = false; }\r\n        validateKey(key);\r\n        return (this._resolvers.has(key) ||\r\n            (checkParent &&\r\n                this.parent !== null &&\r\n                this.parent.hasResolver(key, checkParent)));\r\n    };\r\n    Container.prototype.getResolver = function (key) {\r\n        return this._resolvers.get(key);\r\n    };\r\n    Container.prototype.get = function (key) {\r\n        validateKey(key);\r\n        if (key === Container) {\r\n            return this;\r\n        }\r\n        if (resolverDecorates(key)) {\r\n            return key.get(this, key);\r\n        }\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return this.autoRegister(key).get(this, key);\r\n            }\r\n            var registration = metadata.get(metadata.registration, key);\r\n            if (registration === undefined) {\r\n                return this.parent._get(key);\r\n            }\r\n            return registration.registerResolver(this, key, key).get(this, key);\r\n        }\r\n        return resolver$$1.get(this, key);\r\n    };\r\n    Container.prototype._get = function (key) {\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return this.autoRegister(key).get(this, key);\r\n            }\r\n            return this.parent._get(key);\r\n        }\r\n        return resolver$$1.get(this, key);\r\n    };\r\n    Container.prototype.getAll = function (key) {\r\n        validateKey(key);\r\n        var resolver$$1 = this._resolvers.get(key);\r\n        if (resolver$$1 === undefined) {\r\n            if (this.parent === null) {\r\n                return _emptyParameters;\r\n            }\r\n            return this.parent.getAll(key);\r\n        }\r\n        if (resolver$$1.strategy === 4) {\r\n            var state = resolver$$1.state;\r\n            var i = state.length;\r\n            var results = new Array(i);\r\n            while (i--) {\r\n                results[i] = state[i].get(this, key);\r\n            }\r\n            return results;\r\n        }\r\n        return [resolver$$1.get(this, key)];\r\n    };\r\n    Container.prototype.createChild = function () {\r\n        var child = new Container(this._configuration);\r\n        child.root = this.root;\r\n        child.parent = this;\r\n        return child;\r\n    };\r\n    Container.prototype.invoke = function (fn, dynamicDependencies) {\r\n        try {\r\n            var handler = this._handlers.get(fn);\r\n            if (handler === undefined) {\r\n                handler = this._createInvocationHandler(fn);\r\n                this._handlers.set(fn, handler);\r\n            }\r\n            return handler.invoke(this, dynamicDependencies);\r\n        }\r\n        catch (e) {\r\n            throw new AggregateError(\"Error invoking \" + fn.name + \". Check the inner error for details.\", e, true);\r\n        }\r\n    };\r\n    Container.prototype._createInvocationHandler = function (fn) {\r\n        var dependencies;\r\n        if (fn.inject === undefined) {\r\n            dependencies =\r\n                metadata.getOwn(metadata.paramTypes, fn) || _emptyParameters;\r\n        }\r\n        else {\r\n            dependencies = [];\r\n            var ctor = fn;\r\n            while (typeof ctor === 'function') {\r\n                dependencies.push.apply(dependencies, getDependencies(ctor));\r\n                ctor = Object.getPrototypeOf(ctor);\r\n            }\r\n        }\r\n        var invoker = metadata.getOwn(metadata.invoker, fn) || classInvoker;\r\n        var handler = new InvocationHandler(fn, invoker, dependencies);\r\n        return this._onHandlerCreated !== undefined\r\n            ? this._onHandlerCreated(handler)\r\n            : handler;\r\n    };\r\n    return Container;\r\n}());\n\nfunction invoker(value) {\r\n    return function (target) {\r\n        metadata.define(metadata.invoker, value, target);\r\n    };\r\n}\r\nfunction invokeAsFactory(potentialTarget) {\r\n    var deco = function (target) {\r\n        metadata.define(metadata.invoker, FactoryInvoker.instance, target);\r\n    };\r\n    return potentialTarget ? deco(potentialTarget) : deco;\r\n}\r\nvar FactoryInvoker = (function () {\r\n    function FactoryInvoker() {\r\n    }\r\n    FactoryInvoker.prototype.invoke = function (container, fn, dependencies) {\r\n        var i = dependencies.length;\r\n        var args = new Array(i);\r\n        while (i--) {\r\n            args[i] = container.get(dependencies[i]);\r\n        }\r\n        return fn.apply(undefined, args);\r\n    };\r\n    FactoryInvoker.prototype.invokeWithDynamicDependencies = function (container, fn, staticDependencies, dynamicDependencies) {\r\n        var i = staticDependencies.length;\r\n        var args = new Array(i);\r\n        while (i--) {\r\n            args[i] = container.get(staticDependencies[i]);\r\n        }\r\n        if (dynamicDependencies !== undefined) {\r\n            args = args.concat(dynamicDependencies);\r\n        }\r\n        return fn.apply(undefined, args);\r\n    };\r\n    return FactoryInvoker;\r\n}());\r\nFactoryInvoker.instance = new FactoryInvoker();\n\nfunction registration(value) {\r\n    return function (target) {\r\n        metadata.define(metadata.registration, value, target);\r\n    };\r\n}\r\nfunction transient(key) {\r\n    return registration(new TransientRegistration(key));\r\n}\r\nfunction singleton(keyOrRegisterInChild, registerInChild) {\r\n    if (registerInChild === void 0) { registerInChild = false; }\r\n    return registration(new SingletonRegistration(keyOrRegisterInChild, registerInChild));\r\n}\r\nvar TransientRegistration = (function () {\r\n    function TransientRegistration(key) {\r\n        this._key = key;\r\n    }\r\n    TransientRegistration.prototype.registerResolver = function (container, key, fn) {\r\n        var existingResolver = container.getResolver(this._key || key);\r\n        return existingResolver === undefined\r\n            ? container.registerTransient((this._key || key), fn)\r\n            : existingResolver;\r\n    };\r\n    return TransientRegistration;\r\n}());\r\nvar SingletonRegistration = (function () {\r\n    function SingletonRegistration(keyOrRegisterInChild, registerInChild) {\r\n        if (registerInChild === void 0) { registerInChild = false; }\r\n        if (typeof keyOrRegisterInChild === 'boolean') {\r\n            this._registerInChild = keyOrRegisterInChild;\r\n        }\r\n        else {\r\n            this._key = keyOrRegisterInChild;\r\n            this._registerInChild = registerInChild;\r\n        }\r\n    }\r\n    SingletonRegistration.prototype.registerResolver = function (container, key, fn) {\r\n        var targetContainer = this._registerInChild ? container : container.root;\r\n        var existingResolver = targetContainer.getResolver(this._key || key);\r\n        return existingResolver === undefined\r\n            ? targetContainer.registerSingleton(this._key || key, fn)\r\n            : existingResolver;\r\n    };\r\n    return SingletonRegistration;\r\n}());\n\nexport { _emptyParameters, InvocationHandler, Container, autoinject, inject, invoker, invokeAsFactory, FactoryInvoker, registration, transient, singleton, TransientRegistration, SingletonRegistration, resolver, Strategy, StrategyResolver, Lazy, All, Optional, Parent, Factory, NewInstance, getDecoratorDependencies, lazy, all, optional, parent, factory, newInstance };\n","import { a as Renderer, b as createDialogCancelError, c as invokeLifecycle, d as DialogController } from './chunk.js';\nexport { d as DialogController, a as Renderer, b as createDialogCancelError, e as createDialogCloseError } from './chunk.js';\nimport { DOM } from 'aurelia-pal';\nimport { Container } from 'aurelia-dependency-injection';\nimport { ViewSlot, CompositionEngine } from 'aurelia-templating';\n\nvar DefaultDialogSettings = (function () {\r\n    function DefaultDialogSettings() {\r\n        this.lock = true;\r\n        this.startingZIndex = 1000;\r\n        this.centerHorizontalOnly = false;\r\n        this.rejectOnCancel = false;\r\n        this.ignoreTransitions = false;\r\n        this.restoreFocus = function (lastActiveElement) { return lastActiveElement.focus(); };\r\n    }\r\n    return DefaultDialogSettings;\r\n}());\n\nvar RENDERRERS = {\r\n    ux: function () { return import('./ux-dialog-renderer.js').then(function (m) { return m.DialogRenderer; }); },\r\n    native: function () { return import('./native-dialog-renderer.js').then(function (m) { return m.NativeDialogRenderer; }); }\r\n};\r\nvar DEFAULT_RESOURCES = {\r\n    'ux-dialog': function () { return import('./ux-dialog.js').then(function (m) { return m.UxDialog; }); },\r\n    'ux-dialog-header': function () { return import('./ux-dialog-header.js').then(function (m) { return m.UxDialogHeader; }); },\r\n    'ux-dialog-body': function () { return import('./ux-dialog-body.js').then(function (m) { return m.UxDialogBody; }); },\r\n    'ux-dialog-footer': function () { return import('./ux-dialog-footer.js').then(function (m) { return m.UxDialogFooter; }); },\r\n    'attach-focus': function () { return import('./attach-focus.js').then(function (m) { return m.AttachFocus; }); }\r\n};\r\nvar DEFAULT_CSS_TEXT = function () { return import('./default-styles.js').then(function (cssM) { return cssM['default']; }); };\r\nvar DialogConfiguration = (function () {\r\n    function DialogConfiguration(frameworkConfiguration, applySetter) {\r\n        var _this = this;\r\n        this.renderer = 'ux';\r\n        this.cssText = DEFAULT_CSS_TEXT;\r\n        this.resources = [];\r\n        this.fwConfig = frameworkConfiguration;\r\n        this.settings = frameworkConfiguration.container.get(DefaultDialogSettings);\r\n        applySetter(function () { return _this._apply(); });\r\n    }\r\n    DialogConfiguration.prototype._apply = function () {\r\n        var _this = this;\r\n        var renderer = this.renderer;\r\n        var cssText = this.cssText;\r\n        return Promise\r\n            .all([\r\n            typeof renderer === 'string' ? RENDERRERS[renderer]() : renderer,\r\n            cssText\r\n                ? typeof cssText === 'string'\r\n                    ? cssText\r\n                    : cssText()\r\n                : ''\r\n        ])\r\n            .then(function (_a) {\r\n            var rendererImpl = _a[0], $cssText = _a[1];\r\n            var fwConfig = _this.fwConfig;\r\n            fwConfig.transient(Renderer, rendererImpl);\r\n            if ($cssText) {\r\n                DOM.injectStyles($cssText);\r\n            }\r\n            return Promise\r\n                .all(_this.resources.map(function (name) { return DEFAULT_RESOURCES[name](); }))\r\n                .then(function (modules) {\r\n                fwConfig.globalResources(modules);\r\n            });\r\n        });\r\n    };\r\n    DialogConfiguration.prototype.useDefaults = function () {\r\n        return this\r\n            .useRenderer('ux')\r\n            .useCSS(DEFAULT_CSS_TEXT)\r\n            .useStandardResources();\r\n    };\r\n    DialogConfiguration.prototype.useStandardResources = function () {\r\n        Object.keys(DEFAULT_RESOURCES).forEach(this.useResource, this);\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useResource = function (resourceName) {\r\n        this.resources.push(resourceName);\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useRenderer = function (renderer, settings) {\r\n        this.renderer = renderer;\r\n        if (settings) {\r\n            Object.assign(this.settings, settings);\r\n        }\r\n        return this;\r\n    };\r\n    DialogConfiguration.prototype.useCSS = function (cssText) {\r\n        this.cssText = cssText;\r\n        return this;\r\n    };\r\n    return DialogConfiguration;\r\n}());\n\nfunction whenClosed(onfulfilled, onrejected) {\r\n    return this.then(function (r) { return r.wasCancelled ? r : r.closeResult; }).then(onfulfilled, onrejected);\r\n}\r\nfunction asDialogOpenPromise(promise) {\r\n    promise.whenClosed = whenClosed;\r\n    return promise;\r\n}\r\nvar DialogService = (function () {\r\n    function DialogService(container, compositionEngine, defaultSettings) {\r\n        this.controllers = [];\r\n        this.hasOpenDialog = false;\r\n        this.hasActiveDialog = false;\r\n        this.container = container;\r\n        this.compositionEngine = compositionEngine;\r\n        this.defaultSettings = defaultSettings;\r\n    }\r\n    DialogService.prototype.validateSettings = function (settings) {\r\n        if (!settings.viewModel && !settings.view) {\r\n            throw new Error('Invalid Dialog Settings. You must provide \"viewModel\", \"view\" or both.');\r\n        }\r\n    };\r\n    DialogService.prototype.createCompositionContext = function (childContainer, host, settings) {\r\n        return {\r\n            container: childContainer.parent,\r\n            childContainer: childContainer,\r\n            bindingContext: null,\r\n            viewResources: null,\r\n            model: settings.model,\r\n            view: settings.view,\r\n            viewModel: settings.viewModel,\r\n            viewSlot: new ViewSlot(host, true),\r\n            host: host\r\n        };\r\n    };\r\n    DialogService.prototype.ensureViewModel = function (compositionContext) {\r\n        if (typeof compositionContext.viewModel === 'object') {\r\n            return Promise.resolve(compositionContext);\r\n        }\r\n        return this.compositionEngine.ensureViewModel(compositionContext);\r\n    };\r\n    DialogService.prototype._cancelOperation = function (rejectOnCancel) {\r\n        if (!rejectOnCancel) {\r\n            return { wasCancelled: true };\r\n        }\r\n        throw createDialogCancelError();\r\n    };\r\n    DialogService.prototype.composeAndShowDialog = function (compositionContext, dialogController) {\r\n        var _this = this;\r\n        if (!compositionContext.viewModel) {\r\n            compositionContext.bindingContext = { controller: dialogController };\r\n        }\r\n        return this.compositionEngine\r\n            .compose(compositionContext)\r\n            .then(function (controller) {\r\n            dialogController.controller = controller;\r\n            return dialogController.renderer\r\n                .showDialog(dialogController)\r\n                .then(function () {\r\n                _this.controllers.push(dialogController);\r\n                _this.hasActiveDialog = _this.hasOpenDialog = !!_this.controllers.length;\r\n            }, function (reason) {\r\n                if (controller.viewModel) {\r\n                    invokeLifecycle(controller.viewModel, 'deactivate');\r\n                }\r\n                return Promise.reject(reason);\r\n            });\r\n        });\r\n    };\r\n    DialogService.prototype.createSettings = function (settings) {\r\n        settings = Object.assign({}, this.defaultSettings, settings);\r\n        if (typeof settings.keyboard !== 'boolean' && !settings.keyboard) {\r\n            settings.keyboard = !settings.lock;\r\n        }\r\n        if (typeof settings.overlayDismiss !== 'boolean') {\r\n            settings.overlayDismiss = !settings.lock;\r\n        }\r\n        Object.defineProperty(settings, 'rejectOnCancel', {\r\n            writable: false,\r\n            configurable: true,\r\n            enumerable: true\r\n        });\r\n        this.validateSettings(settings);\r\n        return settings;\r\n    };\r\n    DialogService.prototype.open = function (settings) {\r\n        var _this = this;\r\n        if (settings === void 0) { settings = {}; }\r\n        settings = this.createSettings(settings);\r\n        var childContainer = settings.childContainer || this.container.createChild();\r\n        var resolveCloseResult;\r\n        var rejectCloseResult;\r\n        var closeResult = new Promise(function (resolve, reject) {\r\n            resolveCloseResult = resolve;\r\n            rejectCloseResult = reject;\r\n        });\r\n        var dialogController = childContainer.invoke(DialogController, [settings, resolveCloseResult, rejectCloseResult]);\r\n        childContainer.registerInstance(DialogController, dialogController);\r\n        closeResult.then(function () {\r\n            removeController(_this, dialogController);\r\n        }, function () {\r\n            removeController(_this, dialogController);\r\n        });\r\n        var compositionContext = this.createCompositionContext(childContainer, dialogController.renderer.getDialogContainer(), dialogController.settings);\r\n        var openResult = this.ensureViewModel(compositionContext).then(function (compositionContext) {\r\n            if (!compositionContext.viewModel) {\r\n                return true;\r\n            }\r\n            return invokeLifecycle(compositionContext.viewModel, 'canActivate', dialogController.settings.model);\r\n        }).then(function (canActivate) {\r\n            if (!canActivate) {\r\n                return _this._cancelOperation(dialogController.settings.rejectOnCancel);\r\n            }\r\n            return _this.composeAndShowDialog(compositionContext, dialogController)\r\n                .then(function () { return ({ controller: dialogController, closeResult: closeResult, wasCancelled: false }); });\r\n        });\r\n        return asDialogOpenPromise(openResult);\r\n    };\r\n    DialogService.prototype.closeAll = function () {\r\n        return Promise.all(this.controllers.slice(0).map(function (controller) {\r\n            if (!controller.settings.rejectOnCancel) {\r\n                return controller.cancel().then(function (result) {\r\n                    if (result.wasCancelled) {\r\n                        return controller;\r\n                    }\r\n                    return null;\r\n                });\r\n            }\r\n            return controller.cancel().then(function () { return null; }).catch(function (reason) {\r\n                if (reason.wasCancelled) {\r\n                    return controller;\r\n                }\r\n                throw reason;\r\n            });\r\n        })).then(function (unclosedControllers) { return unclosedControllers.filter(function (unclosed) { return !!unclosed; }); });\r\n    };\r\n    DialogService.inject = [Container, CompositionEngine, DefaultDialogSettings];\r\n    return DialogService;\r\n}());\r\nfunction removeController(service, dialogController) {\r\n    var i = service.controllers.indexOf(dialogController);\r\n    if (i !== -1) {\r\n        service.controllers.splice(i, 1);\r\n        service.hasActiveDialog = service.hasOpenDialog = !!service.controllers.length;\r\n    }\r\n}\n\nfunction configure(frameworkConfig, callback) {\r\n    var applyConfig = null;\r\n    var config = new DialogConfiguration(frameworkConfig, function (apply) { applyConfig = apply; });\r\n    if (typeof callback === 'function') {\r\n        callback(config);\r\n    }\r\n    else {\r\n        config.useDefaults();\r\n    }\r\n    return applyConfig();\r\n}\n\nexport { DefaultDialogSettings, DialogConfiguration, DialogService, configure };\n//# sourceMappingURL=aurelia-dialog.js.map\n","var Renderer = (function () {\r\n    function Renderer() {\r\n    }\r\n    Renderer.prototype.getDialogContainer = function () {\r\n        throw new Error('DialogRenderer must implement getDialogContainer().');\r\n    };\r\n    Renderer.prototype.showDialog = function (dialogController) {\r\n        throw new Error('DialogRenderer must implement showDialog().');\r\n    };\r\n    Renderer.prototype.hideDialog = function (dialogController) {\r\n        throw new Error('DialogRenderer must implement hideDialog().');\r\n    };\r\n    return Renderer;\r\n}());\n\nfunction createDialogCancelError(output) {\r\n    var error = new Error('Operation cancelled.');\r\n    error.wasCancelled = true;\r\n    error.output = output;\r\n    return error;\r\n}\n\nfunction createDialogCloseError(output) {\r\n    var error = new Error();\r\n    error.wasCancelled = false;\r\n    error.output = output;\r\n    return error;\r\n}\n\nfunction invokeLifecycle(instance, name, model) {\r\n    if (typeof instance[name] === 'function') {\r\n        return new Promise(function (resolve) {\r\n            resolve(instance[name](model));\r\n        }).then(function (result) {\r\n            if (result !== null && result !== undefined) {\r\n                return result;\r\n            }\r\n            return true;\r\n        });\r\n    }\r\n    return Promise.resolve(true);\r\n}\n\nvar DialogController = (function () {\r\n    function DialogController(renderer, settings, resolve, reject) {\r\n        this.resolve = resolve;\r\n        this.reject = reject;\r\n        this.settings = settings;\r\n        this.renderer = renderer;\r\n    }\r\n    DialogController.prototype.releaseResources = function (result) {\r\n        var _this = this;\r\n        return invokeLifecycle(this.controller.viewModel || {}, 'deactivate', result)\r\n            .then(function () { return _this.renderer.hideDialog(_this); })\r\n            .then(function () {\r\n            _this.controller.unbind();\r\n        });\r\n    };\r\n    DialogController.prototype.cancelOperation = function () {\r\n        if (!this.settings.rejectOnCancel) {\r\n            return { wasCancelled: true };\r\n        }\r\n        throw createDialogCancelError();\r\n    };\r\n    DialogController.prototype.ok = function (output) {\r\n        return this.close(true, output);\r\n    };\r\n    DialogController.prototype.cancel = function (output) {\r\n        return this.close(false, output);\r\n    };\r\n    DialogController.prototype.error = function (output) {\r\n        var _this = this;\r\n        var closeError = createDialogCloseError(output);\r\n        return this.releaseResources(closeError).then(function () { _this.reject(closeError); });\r\n    };\r\n    DialogController.prototype.close = function (ok, output) {\r\n        var _this = this;\r\n        if (this.closePromise) {\r\n            return this.closePromise;\r\n        }\r\n        var dialogResult = { wasCancelled: !ok, output: output };\r\n        return this.closePromise = invokeLifecycle(this.controller.viewModel || {}, 'canDeactivate', dialogResult)\r\n            .catch(function (reason) {\r\n            _this.closePromise = undefined;\r\n            return Promise.reject(reason);\r\n        }).then(function (canDeactivate) {\r\n            if (!canDeactivate) {\r\n                _this.closePromise = undefined;\r\n                return _this.cancelOperation();\r\n            }\r\n            return _this.releaseResources(dialogResult).then(function () {\r\n                if (!_this.settings.rejectOnCancel || ok) {\r\n                    _this.resolve(dialogResult);\r\n                }\r\n                else {\r\n                    _this.reject(createDialogCancelError(output));\r\n                }\r\n                return { wasCancelled: false };\r\n            }).catch(function (reason) {\r\n                _this.closePromise = undefined;\r\n                return Promise.reject(reason);\r\n            });\r\n        });\r\n    };\r\n    DialogController.inject = [Renderer];\r\n    return DialogController;\r\n}());\n\nexport { Renderer as a, createDialogCancelError as b, invokeLifecycle as c, DialogController as d, createDialogCloseError as e };\n//# sourceMappingURL=chunk.js.map\n","\n\nimport * as LogManager from 'aurelia-logging';\n\nvar logger = LogManager.getLogger('event-aggregator');\n\nvar Handler = function () {\n  function Handler(messageType, callback) {\n    \n\n    this.messageType = messageType;\n    this.callback = callback;\n  }\n\n  Handler.prototype.handle = function handle(message) {\n    if (message instanceof this.messageType) {\n      this.callback.call(null, message);\n    }\n  };\n\n  return Handler;\n}();\n\nfunction invokeCallback(callback, data, event) {\n  try {\n    callback(data, event);\n  } catch (e) {\n    logger.error(e);\n  }\n}\n\nfunction invokeHandler(handler, data) {\n  try {\n    handler.handle(data);\n  } catch (e) {\n    logger.error(e);\n  }\n}\n\nexport var EventAggregator = function () {\n  function EventAggregator() {\n    \n\n    this.eventLookup = {};\n    this.messageHandlers = [];\n  }\n\n  EventAggregator.prototype.publish = function publish(event, data) {\n    var subscribers = void 0;\n    var i = void 0;\n\n    if (!event) {\n      throw new Error('Event was invalid.');\n    }\n\n    if (typeof event === 'string') {\n      subscribers = this.eventLookup[event];\n      if (subscribers) {\n        subscribers = subscribers.slice();\n        i = subscribers.length;\n\n        while (i--) {\n          invokeCallback(subscribers[i], data, event);\n        }\n      }\n    } else {\n      subscribers = this.messageHandlers.slice();\n      i = subscribers.length;\n\n      while (i--) {\n        invokeHandler(subscribers[i], event);\n      }\n    }\n  };\n\n  EventAggregator.prototype.subscribe = function subscribe(event, callback) {\n    var handler = void 0;\n    var subscribers = void 0;\n\n    if (!event) {\n      throw new Error('Event channel/type was invalid.');\n    }\n\n    if (typeof event === 'string') {\n      handler = callback;\n      subscribers = this.eventLookup[event] || (this.eventLookup[event] = []);\n    } else {\n      handler = new Handler(event, callback);\n      subscribers = this.messageHandlers;\n    }\n\n    subscribers.push(handler);\n\n    return {\n      dispose: function dispose() {\n        var idx = subscribers.indexOf(handler);\n        if (idx !== -1) {\n          subscribers.splice(idx, 1);\n        }\n      }\n    };\n  };\n\n  EventAggregator.prototype.subscribeOnce = function subscribeOnce(event, callback) {\n    var sub = this.subscribe(event, function (a, b) {\n      sub.dispose();\n      return callback(a, b);\n    });\n\n    return sub;\n  };\n\n  return EventAggregator;\n}();\n\nexport function includeEventsIn(obj) {\n  var ea = new EventAggregator();\n\n  obj.subscribeOnce = function (event, callback) {\n    return ea.subscribeOnce(event, callback);\n  };\n\n  obj.subscribe = function (event, callback) {\n    return ea.subscribe(event, callback);\n  };\n\n  obj.publish = function (event, data) {\n    ea.publish(event, data);\n  };\n\n  return ea;\n}\n\nexport function configure(config) {\n  config.instance(EventAggregator, includeEventsIn(config.aurelia));\n}","import { Container } from 'aurelia-dependency-injection';\nexport * from 'aurelia-dependency-injection';\nexport * from 'aurelia-binding';\nexport * from 'aurelia-metadata';\nimport { HtmlBehaviorResource, ViewEngine, BindingLanguage, TemplatingEngine, CompositionTransaction, ViewSlot, ViewResources } from 'aurelia-templating';\nexport * from 'aurelia-templating';\nimport { Loader } from 'aurelia-loader';\nexport * from 'aurelia-loader';\nexport * from 'aurelia-task-queue';\nimport { join, relativeToFile } from 'aurelia-path';\nexport * from 'aurelia-path';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nexport * from 'aurelia-pal';\nimport * as TheLogManager from 'aurelia-logging';\nexport { TheLogManager as LogManager };\n\nvar logger = TheLogManager.getLogger('aurelia');\r\nvar extPattern = /\\.[^/.]+$/;\r\nfunction runTasks(config, tasks) {\r\n    var current;\r\n    var next = function () {\r\n        current = tasks.shift();\r\n        if (current) {\r\n            return Promise.resolve(current(config)).then(next);\r\n        }\r\n        return Promise.resolve();\r\n    };\r\n    return next();\r\n}\r\nfunction loadPlugin(fwConfig, loader, info) {\r\n    logger.debug(\"Loading plugin \".concat(info.moduleId, \".\"));\r\n    if (typeof info.moduleId === 'string') {\r\n        fwConfig.resourcesRelativeTo = info.resourcesRelativeTo;\r\n        var id = info.moduleId;\r\n        if (info.resourcesRelativeTo.length > 1) {\r\n            return loader.normalize(info.moduleId, info.resourcesRelativeTo[1])\r\n                .then(function (normalizedId) { return _loadPlugin(normalizedId); });\r\n        }\r\n        return _loadPlugin(id);\r\n    }\r\n    else if (typeof info.configure === 'function') {\r\n        if (fwConfig.configuredPlugins.indexOf(info.configure) !== -1) {\r\n            return Promise.resolve();\r\n        }\r\n        fwConfig.configuredPlugins.push(info.configure);\r\n        return Promise.resolve(info.configure.call(null, fwConfig, info.config || {}));\r\n    }\r\n    throw new Error(invalidConfigMsg(info.moduleId || info.configure, 'plugin'));\r\n    function _loadPlugin(moduleId) {\r\n        return loader.loadModule(moduleId).then(function (m) {\r\n            if ('configure' in m) {\r\n                if (fwConfig.configuredPlugins.indexOf(m.configure) !== -1) {\r\n                    return Promise.resolve();\r\n                }\r\n                return Promise.resolve(m.configure(fwConfig, info.config || {})).then(function () {\r\n                    fwConfig.configuredPlugins.push(m.configure);\r\n                    fwConfig.resourcesRelativeTo = null;\r\n                    logger.debug(\"Configured plugin \".concat(info.moduleId, \".\"));\r\n                });\r\n            }\r\n            fwConfig.resourcesRelativeTo = null;\r\n            logger.debug(\"Loaded plugin \".concat(info.moduleId, \".\"));\r\n        });\r\n    }\r\n}\r\nfunction loadResources(aurelia, resourcesToLoad, appResources) {\r\n    if (Object.keys(resourcesToLoad).length === 0) {\r\n        return Promise.resolve();\r\n    }\r\n    var viewEngine = aurelia.container.get(ViewEngine);\r\n    return Promise.all(Object.keys(resourcesToLoad).map(function (n) { return _normalize(resourcesToLoad[n]); }))\r\n        .then(function (loads) {\r\n        var names = [];\r\n        var importIds = [];\r\n        loads.forEach(function (l) {\r\n            names.push(undefined);\r\n            importIds.push(l.importId);\r\n        });\r\n        return viewEngine.importViewResources(importIds, names, appResources);\r\n    });\r\n    function _normalize(load) {\r\n        var moduleId = load.moduleId;\r\n        var ext = getExt(moduleId);\r\n        if (isOtherResource(moduleId)) {\r\n            moduleId = removeExt(moduleId);\r\n        }\r\n        return aurelia.loader.normalize(moduleId, load.relativeTo)\r\n            .then(function (normalized) {\r\n            return {\r\n                name: load.moduleId,\r\n                importId: isOtherResource(load.moduleId) ? addOriginalExt(normalized, ext) : normalized\r\n            };\r\n        });\r\n    }\r\n    function isOtherResource(name) {\r\n        var ext = getExt(name);\r\n        if (!ext)\r\n            return false;\r\n        if (ext === '')\r\n            return false;\r\n        if (ext === '.js' || ext === '.ts')\r\n            return false;\r\n        return true;\r\n    }\r\n    function removeExt(name) {\r\n        return name.replace(extPattern, '');\r\n    }\r\n    function addOriginalExt(normalized, ext) {\r\n        return removeExt(normalized) + '.' + ext;\r\n    }\r\n}\r\nfunction getExt(name) {\r\n    var match = name.match(extPattern);\r\n    if (match && match.length > 0) {\r\n        return (match[0].split('.'))[1];\r\n    }\r\n}\r\nfunction loadBehaviors(config) {\r\n    return Promise.all(config.behaviorsToLoad.map(function (m) { return m.load(config.container, m.target); })).then(function () {\r\n        config.behaviorsToLoad = null;\r\n    });\r\n}\r\nfunction assertProcessed(plugins) {\r\n    if (plugins.processed) {\r\n        throw new Error('This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.');\r\n    }\r\n}\r\nfunction invalidConfigMsg(cfg, type) {\r\n    return \"Invalid \".concat(type, \" [\").concat(cfg, \"], \").concat(type, \" must be specified as functions or relative module IDs.\");\r\n}\r\nvar FrameworkConfiguration = (function () {\r\n    function FrameworkConfiguration(aurelia) {\r\n        var _this = this;\r\n        this.aurelia = aurelia;\r\n        this.container = aurelia.container;\r\n        this.info = [];\r\n        this.processed = false;\r\n        this.preTasks = [];\r\n        this.postTasks = [];\r\n        this.behaviorsToLoad = [];\r\n        this.configuredPlugins = [];\r\n        this.resourcesToLoad = {};\r\n        this.preTask(function () { return aurelia.loader.normalize('aurelia-bootstrapper', undefined)\r\n            .then(function (name) { return _this.bootstrapperName = name; }); });\r\n        this.postTask(function () { return loadResources(aurelia, _this.resourcesToLoad, aurelia.resources); });\r\n    }\r\n    FrameworkConfiguration.prototype.instance = function (type, instance) {\r\n        this.container.registerInstance(type, instance);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.singleton = function (type, implementation) {\r\n        this.container.registerSingleton(type, implementation);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.transient = function (type, implementation) {\r\n        this.container.registerTransient(type, implementation);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.preTask = function (task) {\r\n        assertProcessed(this);\r\n        this.preTasks.push(task);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.postTask = function (task) {\r\n        assertProcessed(this);\r\n        this.postTasks.push(task);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.feature = function (plugin, config) {\r\n        if (config === void 0) { config = {}; }\r\n        switch (typeof plugin) {\r\n            case 'string':\r\n                var hasIndex = /\\/index$/i.test(plugin);\r\n                var moduleId = hasIndex || getExt(plugin) ? plugin : plugin + '/index';\r\n                var root = hasIndex ? plugin.slice(0, -6) : plugin;\r\n                this.info.push({ moduleId: moduleId, resourcesRelativeTo: [root, ''], config: config });\r\n                break;\r\n            case 'function':\r\n                this.info.push({ configure: plugin, config: config || {} });\r\n                break;\r\n            default:\r\n                throw new Error(invalidConfigMsg(plugin, 'feature'));\r\n        }\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.globalResources = function (resources) {\r\n        var _this = this;\r\n        assertProcessed(this);\r\n        var toAdd = Array.isArray(resources) ? resources : arguments;\r\n        var resource;\r\n        var resourcesRelativeTo = this.resourcesRelativeTo || ['', ''];\r\n        for (var i = 0, ii = toAdd.length; i < ii; ++i) {\r\n            resource = toAdd[i];\r\n            switch (typeof resource) {\r\n                case 'string':\r\n                    var parent_1 = resourcesRelativeTo[0];\r\n                    var grandParent = resourcesRelativeTo[1];\r\n                    var name_1 = resource;\r\n                    if ((resource.startsWith('./') || resource.startsWith('../')) && parent_1 !== '') {\r\n                        name_1 = join(parent_1, resource);\r\n                    }\r\n                    this.resourcesToLoad[name_1] = { moduleId: name_1, relativeTo: grandParent };\r\n                    break;\r\n                case 'function':\r\n                    var meta = this.aurelia.resources.autoRegister(this.container, resource);\r\n                    if (meta instanceof HtmlBehaviorResource && meta.elementName !== null) {\r\n                        if (this.behaviorsToLoad.push(meta) === 1) {\r\n                            this.postTask(function () { return loadBehaviors(_this); });\r\n                        }\r\n                    }\r\n                    break;\r\n                default:\r\n                    throw new Error(invalidConfigMsg(resource, 'resource'));\r\n            }\r\n        }\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.globalName = function (resourcePath, newName) {\r\n        assertProcessed(this);\r\n        this.resourcesToLoad[resourcePath] = { moduleId: newName, relativeTo: '' };\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.plugin = function (plugin, pluginConfig) {\r\n        assertProcessed(this);\r\n        var info;\r\n        switch (typeof plugin) {\r\n            case 'string':\r\n                info = { moduleId: plugin, resourcesRelativeTo: [plugin, ''], config: pluginConfig || {} };\r\n                break;\r\n            case 'function':\r\n                info = { configure: plugin, config: pluginConfig || {} };\r\n                break;\r\n            default:\r\n                throw new Error(invalidConfigMsg(plugin, 'plugin'));\r\n        }\r\n        this.info.push(info);\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype._addNormalizedPlugin = function (name, config) {\r\n        var _this = this;\r\n        var plugin = { moduleId: name, resourcesRelativeTo: [name, ''], config: config || {} };\r\n        this.info.push(plugin);\r\n        this.preTask(function () {\r\n            var relativeTo = [name, _this.bootstrapperName];\r\n            plugin.moduleId = name;\r\n            plugin.resourcesRelativeTo = relativeTo;\r\n            return Promise.resolve();\r\n        });\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.defaultBindingLanguage = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-binding');\r\n    };\r\n    FrameworkConfiguration.prototype.router = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-router');\r\n    };\r\n    FrameworkConfiguration.prototype.history = function () {\r\n        return this._addNormalizedPlugin('aurelia-history-browser');\r\n    };\r\n    FrameworkConfiguration.prototype.defaultResources = function () {\r\n        return this._addNormalizedPlugin('aurelia-templating-resources');\r\n    };\r\n    FrameworkConfiguration.prototype.eventAggregator = function () {\r\n        return this._addNormalizedPlugin('aurelia-event-aggregator');\r\n    };\r\n    FrameworkConfiguration.prototype.basicConfiguration = function () {\r\n        return this.defaultBindingLanguage().defaultResources().eventAggregator();\r\n    };\r\n    FrameworkConfiguration.prototype.standardConfiguration = function () {\r\n        return this.basicConfiguration().history().router();\r\n    };\r\n    FrameworkConfiguration.prototype.developmentLogging = function (level) {\r\n        var _this = this;\r\n        var logLevel = level ? TheLogManager.logLevel[level] : undefined;\r\n        if (logLevel === undefined) {\r\n            logLevel = TheLogManager.logLevel.debug;\r\n        }\r\n        this.preTask(function () {\r\n            return _this.aurelia.loader.normalize('aurelia-logging-console', _this.bootstrapperName).then(function (name) {\r\n                return _this.aurelia.loader.loadModule(name).then(function (m) {\r\n                    TheLogManager.addAppender(new m.ConsoleAppender());\r\n                    TheLogManager.setLevel(logLevel);\r\n                });\r\n            });\r\n        });\r\n        return this;\r\n    };\r\n    FrameworkConfiguration.prototype.apply = function () {\r\n        var _this = this;\r\n        if (this.processed) {\r\n            return Promise.resolve();\r\n        }\r\n        return runTasks(this, this.preTasks).then(function () {\r\n            var loader = _this.aurelia.loader;\r\n            var info = _this.info;\r\n            var current;\r\n            var next = function () {\r\n                current = info.shift();\r\n                if (current) {\r\n                    return loadPlugin(_this, loader, current).then(next);\r\n                }\r\n                _this.processed = true;\r\n                _this.configuredPlugins = null;\r\n                return Promise.resolve();\r\n            };\r\n            return next().then(function () { return runTasks(_this, _this.postTasks); });\r\n        });\r\n    };\r\n    return FrameworkConfiguration;\r\n}());\n\nfunction preventActionlessFormSubmit() {\r\n    DOM.addEventListener('submit', function (evt) {\r\n        var target = evt.target;\r\n        var action = target.action;\r\n        if (target.tagName.toLowerCase() === 'form' && !action) {\r\n            evt.preventDefault();\r\n        }\r\n    }, false);\r\n}\r\nvar Aurelia = (function () {\r\n    function Aurelia(loader, container, resources) {\r\n        this.loader = loader || new PLATFORM.Loader();\r\n        this.container = container || (new Container()).makeGlobal();\r\n        this.resources = resources || new ViewResources();\r\n        this.use = new FrameworkConfiguration(this);\r\n        this.logger = TheLogManager.getLogger('aurelia');\r\n        this.hostConfigured = false;\r\n        this.host = null;\r\n        this.use.instance(Aurelia, this);\r\n        this.use.instance(Loader, this.loader);\r\n        this.use.instance(ViewResources, this.resources);\r\n    }\r\n    Aurelia.prototype.start = function () {\r\n        var _this = this;\r\n        if (this._started) {\r\n            return this._started;\r\n        }\r\n        this.logger.info('Aurelia Starting');\r\n        return this._started = this.use.apply().then(function () {\r\n            preventActionlessFormSubmit();\r\n            if (!_this.container.hasResolver(BindingLanguage)) {\r\n                var message = 'You must configure Aurelia with a BindingLanguage implementation.';\r\n                _this.logger.error(message);\r\n                throw new Error(message);\r\n            }\r\n            _this.logger.info('Aurelia Started');\r\n            var evt = DOM.createCustomEvent('aurelia-started', { bubbles: true, cancelable: true });\r\n            DOM.dispatchEvent(evt);\r\n            return _this;\r\n        });\r\n    };\r\n    Aurelia.prototype.enhance = function (bindingContext, applicationHost) {\r\n        var _this = this;\r\n        if (bindingContext === void 0) { bindingContext = {}; }\r\n        if (applicationHost === void 0) { applicationHost = null; }\r\n        this._configureHost(applicationHost || DOM.querySelectorAll('body')[0]);\r\n        return new Promise(function (resolve) {\r\n            var engine = _this.container.get(TemplatingEngine);\r\n            _this.root = engine.enhance({ container: _this.container, element: _this.host, resources: _this.resources, bindingContext: bindingContext });\r\n            _this.root.attached();\r\n            _this._onAureliaComposed();\r\n            resolve(_this);\r\n        });\r\n    };\r\n    Aurelia.prototype.setRoot = function (root, applicationHost) {\r\n        var _this = this;\r\n        if (root === void 0) { root = null; }\r\n        if (applicationHost === void 0) { applicationHost = null; }\r\n        var instruction = {};\r\n        if (this.root && this.root.viewModel && this.root.viewModel.router) {\r\n            this.root.viewModel.router.deactivate();\r\n            this.root.viewModel.router.reset();\r\n        }\r\n        this._configureHost(applicationHost);\r\n        var engine = this.container.get(TemplatingEngine);\r\n        var transaction = this.container.get(CompositionTransaction);\r\n        delete transaction.initialComposition;\r\n        if (!root) {\r\n            if (this.configModuleId) {\r\n                root = relativeToFile('./app', this.configModuleId);\r\n            }\r\n            else {\r\n                root = 'app';\r\n            }\r\n        }\r\n        instruction.viewModel = root;\r\n        instruction.container = instruction.childContainer = this.container;\r\n        instruction.viewSlot = this.hostSlot;\r\n        instruction.host = this.host;\r\n        return engine.compose(instruction).then(function (r) {\r\n            _this.root = r;\r\n            instruction.viewSlot.attached();\r\n            _this._onAureliaComposed();\r\n            return _this;\r\n        });\r\n    };\r\n    Aurelia.prototype._configureHost = function (applicationHost) {\r\n        if (this.hostConfigured) {\r\n            return;\r\n        }\r\n        applicationHost = applicationHost || this.host;\r\n        if (!applicationHost || typeof applicationHost === 'string') {\r\n            this.host = DOM.getElementById(applicationHost || 'applicationHost');\r\n        }\r\n        else {\r\n            this.host = applicationHost;\r\n        }\r\n        if (!this.host) {\r\n            throw new Error('No applicationHost was specified.');\r\n        }\r\n        this.hostConfigured = true;\r\n        this.host.aurelia = this;\r\n        this.hostSlot = new ViewSlot(this.host, true);\r\n        this.hostSlot.transformChildNodesIntoView();\r\n        this.container.registerInstance(DOM.boundary, this.host);\r\n    };\r\n    Aurelia.prototype._onAureliaComposed = function () {\r\n        var evt = DOM.createCustomEvent('aurelia-composed', { bubbles: true, cancelable: true });\r\n        setTimeout(function () { return DOM.dispatchEvent(evt); }, 1);\r\n    };\r\n    return Aurelia;\r\n}());\n\nexport { Aurelia, FrameworkConfiguration };\n//# sourceMappingURL=aurelia-framework.js.map\n","import { History } from 'aurelia-history';\nimport { DOM, PLATFORM } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\nvar LinkHandler = (function () {\r\n    function LinkHandler() {\r\n    }\r\n    LinkHandler.prototype.activate = function (history) { };\r\n    LinkHandler.prototype.deactivate = function () { };\r\n    return LinkHandler;\r\n}());\r\nvar DefaultLinkHandler = (function (_super) {\r\n    __extends(DefaultLinkHandler, _super);\r\n    function DefaultLinkHandler() {\r\n        var _this = _super.call(this) || this;\r\n        _this.handler = function (e) {\r\n            var _a = DefaultLinkHandler.getEventInfo(e), shouldHandleEvent = _a.shouldHandleEvent, href = _a.href;\r\n            if (shouldHandleEvent) {\r\n                e.preventDefault();\r\n                _this.history.navigate(href);\r\n            }\r\n        };\r\n        return _this;\r\n    }\r\n    DefaultLinkHandler.prototype.activate = function (history) {\r\n        if (history._hasPushState) {\r\n            this.history = history;\r\n            DOM.addEventListener('click', this.handler, true);\r\n        }\r\n    };\r\n    DefaultLinkHandler.prototype.deactivate = function () {\r\n        DOM.removeEventListener('click', this.handler, true);\r\n    };\r\n    DefaultLinkHandler.getEventInfo = function (event) {\r\n        var $event = event;\r\n        var info = {\r\n            shouldHandleEvent: false,\r\n            href: null,\r\n            anchor: null\r\n        };\r\n        var target = DefaultLinkHandler.findClosestAnchor($event.target);\r\n        if (!target || !DefaultLinkHandler.targetIsThisWindow(target)) {\r\n            return info;\r\n        }\r\n        if (hasAttribute(target, 'download')\r\n            || hasAttribute(target, 'router-ignore')\r\n            || hasAttribute(target, 'data-router-ignore')) {\r\n            return info;\r\n        }\r\n        if ($event.altKey || $event.ctrlKey || $event.metaKey || $event.shiftKey) {\r\n            return info;\r\n        }\r\n        var href = target.getAttribute('href');\r\n        info.anchor = target;\r\n        info.href = href;\r\n        var leftButtonClicked = $event.which === 1;\r\n        var isRelative = href && !(href.charAt(0) === '#' || (/^[a-z]+:/i).test(href));\r\n        info.shouldHandleEvent = leftButtonClicked && isRelative;\r\n        return info;\r\n    };\r\n    DefaultLinkHandler.findClosestAnchor = function (el) {\r\n        while (el) {\r\n            if (el.tagName === 'A') {\r\n                return el;\r\n            }\r\n            el = el.parentNode;\r\n        }\r\n    };\r\n    DefaultLinkHandler.targetIsThisWindow = function (target) {\r\n        var targetWindow = target.getAttribute('target');\r\n        var win = PLATFORM.global;\r\n        return !targetWindow ||\r\n            targetWindow === win.name ||\r\n            targetWindow === '_self';\r\n    };\r\n    return DefaultLinkHandler;\r\n}(LinkHandler));\r\nvar hasAttribute = function (el, attr) { return el.hasAttribute(attr); };\n\nvar BrowserHistory = (function (_super) {\r\n    __extends(BrowserHistory, _super);\r\n    function BrowserHistory(linkHandler) {\r\n        var _this = _super.call(this) || this;\r\n        _this._isActive = false;\r\n        _this._checkUrlCallback = _this._checkUrl.bind(_this);\r\n        _this.location = PLATFORM.location;\r\n        _this.history = PLATFORM.history;\r\n        _this.linkHandler = linkHandler;\r\n        return _this;\r\n    }\r\n    BrowserHistory.prototype.activate = function (options) {\r\n        if (this._isActive) {\r\n            throw new Error('History has already been activated.');\r\n        }\r\n        var $history = this.history;\r\n        var wantsPushState = !!options.pushState;\r\n        this._isActive = true;\r\n        var normalizedOptions = this.options = Object.assign({}, { root: '/' }, this.options, options);\r\n        var rootUrl = this.root = ('/' + normalizedOptions.root + '/').replace(rootStripper, '/');\r\n        var wantsHashChange = this._wantsHashChange = normalizedOptions.hashChange !== false;\r\n        var hasPushState = this._hasPushState = !!(normalizedOptions.pushState && $history && $history.pushState);\r\n        var eventName;\r\n        if (hasPushState) {\r\n            eventName = 'popstate';\r\n        }\r\n        else if (wantsHashChange) {\r\n            eventName = 'hashchange';\r\n        }\r\n        PLATFORM.addEventListener(eventName, this._checkUrlCallback);\r\n        if (wantsHashChange && wantsPushState) {\r\n            var $location = this.location;\r\n            var atRoot = $location.pathname.replace(/[^\\/]$/, '$&/') === rootUrl;\r\n            if (!hasPushState && !atRoot) {\r\n                var fragment = this.fragment = this._getFragment(null, true);\r\n                $location.replace(rootUrl + $location.search + '#' + fragment);\r\n                return true;\r\n            }\r\n            else if (hasPushState && atRoot && $location.hash) {\r\n                var fragment = this.fragment = this._getHash().replace(routeStripper, '');\r\n                $history.replaceState({}, DOM.title, rootUrl + fragment + $location.search);\r\n            }\r\n        }\r\n        if (!this.fragment) {\r\n            this.fragment = this._getFragment('');\r\n        }\r\n        this.linkHandler.activate(this);\r\n        if (!normalizedOptions.silent) {\r\n            return this._loadUrl('');\r\n        }\r\n    };\r\n    BrowserHistory.prototype.deactivate = function () {\r\n        var handler = this._checkUrlCallback;\r\n        PLATFORM.removeEventListener('popstate', handler);\r\n        PLATFORM.removeEventListener('hashchange', handler);\r\n        this._isActive = false;\r\n        this.linkHandler.deactivate();\r\n    };\r\n    BrowserHistory.prototype.getAbsoluteRoot = function () {\r\n        var $location = this.location;\r\n        var origin = createOrigin($location.protocol, $location.hostname, $location.port);\r\n        return \"\" + origin + this.root;\r\n    };\r\n    BrowserHistory.prototype.navigate = function (fragment, _a) {\r\n        var _b = _a === void 0 ? {} : _a, _c = _b.trigger, trigger = _c === void 0 ? true : _c, _d = _b.replace, replace = _d === void 0 ? false : _d;\r\n        var location = this.location;\r\n        if (fragment && absoluteUrl.test(fragment)) {\r\n            location.href = fragment;\r\n            return true;\r\n        }\r\n        if (!this._isActive) {\r\n            return false;\r\n        }\r\n        fragment = this._getFragment(fragment || '');\r\n        if (this.fragment === fragment && !replace) {\r\n            return false;\r\n        }\r\n        this.fragment = fragment;\r\n        var url = this.root + fragment;\r\n        if (fragment === '' && url !== '/') {\r\n            url = url.slice(0, -1);\r\n        }\r\n        if (this._hasPushState) {\r\n            url = url.replace('//', '/');\r\n            this.history[replace ? 'replaceState' : 'pushState']({}, DOM.title, url);\r\n        }\r\n        else if (this._wantsHashChange) {\r\n            updateHash(location, fragment, replace);\r\n        }\r\n        else {\r\n            location.assign(url);\r\n        }\r\n        if (trigger) {\r\n            return this._loadUrl(fragment);\r\n        }\r\n        return true;\r\n    };\r\n    BrowserHistory.prototype.navigateBack = function () {\r\n        this.history.back();\r\n    };\r\n    BrowserHistory.prototype.setTitle = function (title) {\r\n        DOM.title = title;\r\n    };\r\n    BrowserHistory.prototype.setState = function (key, value) {\r\n        var $history = this.history;\r\n        var state = Object.assign({}, $history.state);\r\n        var _a = this.location, pathname = _a.pathname, search = _a.search, hash = _a.hash;\r\n        state[key] = value;\r\n        $history.replaceState(state, null, \"\" + pathname + search + hash);\r\n    };\r\n    BrowserHistory.prototype.getState = function (key) {\r\n        var state = Object.assign({}, this.history.state);\r\n        return state[key];\r\n    };\r\n    BrowserHistory.prototype.getHistoryIndex = function () {\r\n        var historyIndex = this.getState('HistoryIndex');\r\n        if (historyIndex === undefined) {\r\n            historyIndex = this.history.length - 1;\r\n            this.setState('HistoryIndex', historyIndex);\r\n        }\r\n        return historyIndex;\r\n    };\r\n    BrowserHistory.prototype.go = function (movement) {\r\n        this.history.go(movement);\r\n    };\r\n    BrowserHistory.prototype._getHash = function () {\r\n        return this.location.hash.substr(1);\r\n    };\r\n    BrowserHistory.prototype._getFragment = function (fragment, forcePushState) {\r\n        var rootUrl;\r\n        if (!fragment) {\r\n            if (this._hasPushState || !this._wantsHashChange || forcePushState) {\r\n                var location_1 = this.location;\r\n                fragment = location_1.pathname + location_1.search;\r\n                rootUrl = this.root.replace(trailingSlash, '');\r\n                if (!fragment.indexOf(rootUrl)) {\r\n                    fragment = fragment.substr(rootUrl.length);\r\n                }\r\n            }\r\n            else {\r\n                fragment = this._getHash();\r\n            }\r\n        }\r\n        return '/' + fragment.replace(routeStripper, '');\r\n    };\r\n    BrowserHistory.prototype._checkUrl = function () {\r\n        var current = this._getFragment('');\r\n        if (current !== this.fragment) {\r\n            this._loadUrl('');\r\n        }\r\n    };\r\n    BrowserHistory.prototype._loadUrl = function (fragmentOverride) {\r\n        var fragment = this.fragment = this._getFragment(fragmentOverride);\r\n        return this.options.routeHandler ?\r\n            this.options.routeHandler(fragment) :\r\n            false;\r\n    };\r\n    BrowserHistory.inject = [LinkHandler];\r\n    return BrowserHistory;\r\n}(History));\r\nvar routeStripper = /^#?\\/*|\\s+$/g;\r\nvar rootStripper = /^\\/+|\\/+$/g;\r\nvar trailingSlash = /\\/$/;\r\nvar absoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\r\nfunction updateHash($location, fragment, replace) {\r\n    if (replace) {\r\n        var href = $location.href.replace(/(javascript:|#).*$/, '');\r\n        $location.replace(href + '#' + fragment);\r\n    }\r\n    else {\r\n        $location.hash = '#' + fragment;\r\n    }\r\n}\r\nfunction createOrigin(protocol, hostname, port) {\r\n    return protocol + \"//\" + hostname + (port ? ':' + port : '');\r\n}\n\nfunction configure(config) {\r\n    var $config = config;\r\n    $config.singleton(History, BrowserHistory);\r\n    $config.transient(LinkHandler, DefaultLinkHandler);\r\n}\n\nexport { BrowserHistory, DefaultLinkHandler, LinkHandler, configure };\n//# sourceMappingURL=aurelia-history-browser.js.map\n","\n\nfunction mi(name) {\n  throw new Error('History must implement ' + name + '().');\n}\n\nexport var History = function () {\n  function History() {\n    \n  }\n\n  History.prototype.activate = function activate(options) {\n    mi('activate');\n  };\n\n  History.prototype.deactivate = function deactivate() {\n    mi('deactivate');\n  };\n\n  History.prototype.getAbsoluteRoot = function getAbsoluteRoot() {\n    mi('getAbsoluteRoot');\n  };\n\n  History.prototype.navigate = function navigate(fragment, options) {\n    mi('navigate');\n  };\n\n  History.prototype.navigateBack = function navigateBack() {\n    mi('navigateBack');\n  };\n\n  History.prototype.setTitle = function setTitle(title) {\n    mi('setTitle');\n  };\n\n  History.prototype.setState = function setState(key, value) {\n    mi('setState');\n  };\n\n  History.prototype.getState = function getState(key) {\n    mi('getState');\n  };\n\n  History.prototype.getHistoryIndex = function getHistoryIndex() {\n    mi('getHistoryIndex');\n  };\n\n  History.prototype.go = function go(movement) {\n    mi('go');\n  };\n\n  return History;\n}();","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nimport { join, buildQueryString } from 'aurelia-path';\nimport { PLATFORM, DOM } from 'aurelia-pal';\n\nexport var Headers = function () {\n  function Headers() {\n    var headers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n    \n\n    this.headers = {};\n\n    for (var _key in headers) {\n      this.headers[_key.toLowerCase()] = { key: _key, value: headers[_key] };\n    }\n  }\n\n  Headers.prototype.add = function add(key, value) {\n    this.headers[key.toLowerCase()] = { key: key, value: value };\n  };\n\n  Headers.prototype.get = function get(key) {\n    var header = this.headers[key.toLowerCase()];\n    return header ? header.value : undefined;\n  };\n\n  Headers.prototype.clear = function clear() {\n    this.headers = {};\n  };\n\n  Headers.prototype.has = function has(header) {\n    return this.headers.hasOwnProperty(header.toLowerCase());\n  };\n\n  Headers.prototype.configureXHR = function configureXHR(xhr) {\n    for (var name in this.headers) {\n      if (this.headers.hasOwnProperty(name)) {\n        xhr.setRequestHeader(this.headers[name].key, this.headers[name].value);\n      }\n    }\n  };\n\n  Headers.parse = function parse(headerStr) {\n    var headers = new Headers();\n    if (!headerStr) {\n      return headers;\n    }\n\n    var headerPairs = headerStr.split('\\r\\n');\n    for (var i = 0; i < headerPairs.length; i++) {\n      var headerPair = headerPairs[i];\n\n      var index = headerPair.indexOf(': ');\n      if (index > 0) {\n        var _key2 = headerPair.substring(0, index);\n        var val = headerPair.substring(index + 2);\n        headers.add(_key2, val);\n      }\n    }\n\n    return headers;\n  };\n\n  return Headers;\n}();\n\nexport var RequestMessage = function () {\n  function RequestMessage(method, url, content, headers) {\n    \n\n    this.method = method;\n    this.url = url;\n    this.content = content;\n    this.headers = headers || new Headers();\n    this.baseUrl = '';\n  }\n\n  RequestMessage.prototype.buildFullUrl = function buildFullUrl() {\n    var absoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\n    var url = absoluteUrl.test(this.url) ? this.url : join(this.baseUrl, this.url);\n\n    if (this.params) {\n      var qs = buildQueryString(this.params, this.traditional);\n      url = qs ? url + (this.url.indexOf('?') < 0 ? '?' : '&') + qs : url;\n    }\n\n    return url;\n  };\n\n  return RequestMessage;\n}();\n\nexport var HttpResponseMessage = function () {\n  function HttpResponseMessage(requestMessage, xhr, responseType, reviver) {\n    \n\n    this.requestMessage = requestMessage;\n    this.statusCode = xhr.status;\n    this.response = xhr.response || xhr.responseText;\n    this.isSuccess = xhr.status >= 200 && xhr.status < 400;\n    this.statusText = xhr.statusText;\n    this.reviver = reviver;\n    this.mimeType = null;\n\n    if (xhr.getAllResponseHeaders) {\n      this.headers = Headers.parse(xhr.getAllResponseHeaders());\n    } else {\n      this.headers = new Headers();\n    }\n\n    var contentType = void 0;\n\n    if (this.headers && this.headers.headers) {\n      contentType = this.headers.get('Content-Type');\n    }\n\n    if (contentType) {\n      this.mimeType = responseType = contentType.split(';')[0].trim();\n      if (mimeTypes.hasOwnProperty(this.mimeType)) responseType = mimeTypes[this.mimeType];\n    }\n\n    this.responseType = responseType;\n  }\n\n  _createClass(HttpResponseMessage, [{\n    key: 'content',\n    get: function get() {\n      try {\n        if (this._content !== undefined) {\n          return this._content;\n        }\n\n        if (this.response === undefined || this.response === null || this.response === '') {\n          this._content = this.response;\n          return this._content;\n        }\n\n        if (this.responseType === 'json') {\n          this._content = JSON.parse(this.response, this.reviver);\n          return this._content;\n        }\n\n        if (this.reviver) {\n          this._content = this.reviver(this.response);\n          return this._content;\n        }\n\n        this._content = this.response;\n        return this._content;\n      } catch (e) {\n        if (this.isSuccess) {\n          throw e;\n        }\n\n        this._content = null;\n        return this._content;\n      }\n    }\n  }]);\n\n  return HttpResponseMessage;\n}();\n\nexport var mimeTypes = {\n  'text/html': 'html',\n  'text/javascript': 'js',\n  'application/javascript': 'js',\n  'text/json': 'json',\n  'application/json': 'json',\n  'application/rss+xml': 'rss',\n  'application/atom+xml': 'atom',\n  'application/xhtml+xml': 'xhtml',\n  'text/markdown': 'md',\n  'text/xml': 'xml',\n  'text/mathml': 'mml',\n  'application/xml': 'xml',\n  'text/yml': 'yml',\n  'text/csv': 'csv',\n  'text/css': 'css',\n  'text/less': 'less',\n  'text/stylus': 'styl',\n  'text/scss': 'scss',\n  'text/sass': 'sass',\n  'text/plain': 'txt'\n};\n\nfunction applyXhrTransformers(xhrTransformers, client, processor, message, xhr) {\n  var i = void 0;\n  var ii = void 0;\n\n  for (i = 0, ii = xhrTransformers.length; i < ii; ++i) {\n    xhrTransformers[i](client, processor, message, xhr);\n  }\n}\n\nexport var RequestMessageProcessor = function () {\n  function RequestMessageProcessor(xhrType, xhrTransformers) {\n    \n\n    this.XHRType = xhrType;\n    this.xhrTransformers = xhrTransformers;\n    this.isAborted = false;\n  }\n\n  RequestMessageProcessor.prototype.abort = function abort() {\n    if (this.xhr && this.xhr.readyState !== PLATFORM.XMLHttpRequest.UNSENT) {\n      this.xhr.abort();\n    }\n\n    this.isAborted = true;\n  };\n\n  RequestMessageProcessor.prototype.process = function process(client, requestMessage) {\n    var _this = this;\n\n    var promise = new Promise(function (resolve, reject) {\n      var rejectResponse = void 0;\n      if (client.rejectPromiseWithErrorObject) {\n        rejectResponse = function rejectResponse(resp) {\n          var errorResp = new ErrorHttpResponseMessage(resp);\n          reject(errorResp);\n        };\n      } else {\n        rejectResponse = function rejectResponse(resp) {\n          reject(resp);\n        };\n      }\n\n      var xhr = _this.xhr = new _this.XHRType();\n      xhr.onload = function (e) {\n        var response = new HttpResponseMessage(requestMessage, xhr, requestMessage.responseType, requestMessage.reviver);\n        if (response.isSuccess) {\n          resolve(response);\n        } else {\n          rejectResponse(response);\n        }\n      };\n\n      xhr.ontimeout = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'timeout'));\n      };\n\n      xhr.onerror = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'error'));\n      };\n\n      xhr.onabort = function (e) {\n        rejectResponse(new HttpResponseMessage(requestMessage, {\n          response: e,\n          status: xhr.status,\n          statusText: xhr.statusText\n        }, 'abort'));\n      };\n    });\n\n    return Promise.resolve(requestMessage).then(function (message) {\n      var processRequest = function processRequest() {\n        if (_this.isAborted) {\n          _this.xhr.abort();\n        } else {\n          _this.xhr.open(message.method, message.buildFullUrl(), true, message.user, message.password);\n          applyXhrTransformers(_this.xhrTransformers, client, _this, message, _this.xhr);\n          if (typeof message.content === 'undefined') {\n            _this.xhr.send();\n          } else {\n            _this.xhr.send(message.content);\n          }\n        }\n\n        return promise;\n      };\n\n      var chain = [[processRequest, undefined]];\n\n      var interceptors = message.interceptors || [];\n      interceptors.forEach(function (interceptor) {\n        if (interceptor.request || interceptor.requestError) {\n          chain.unshift([interceptor.request ? interceptor.request.bind(interceptor) : undefined, interceptor.requestError ? interceptor.requestError.bind(interceptor) : undefined]);\n        }\n\n        if (interceptor.response || interceptor.responseError) {\n          chain.push([interceptor.response ? interceptor.response.bind(interceptor) : undefined, interceptor.responseError ? interceptor.responseError.bind(interceptor) : undefined]);\n        }\n      });\n\n      var interceptorsPromise = Promise.resolve(message);\n\n      while (chain.length) {\n        var _interceptorsPromise;\n\n        interceptorsPromise = (_interceptorsPromise = interceptorsPromise).then.apply(_interceptorsPromise, chain.shift());\n      }\n\n      return interceptorsPromise;\n    });\n  };\n\n  return RequestMessageProcessor;\n}();\n\nexport function timeoutTransformer(client, processor, message, xhr) {\n  if (message.timeout !== undefined) {\n    xhr.timeout = message.timeout;\n  }\n}\n\nexport function callbackParameterNameTransformer(client, processor, message, xhr) {\n  if (message.callbackParameterName !== undefined) {\n    xhr.callbackParameterName = message.callbackParameterName;\n  }\n}\n\nexport function credentialsTransformer(client, processor, message, xhr) {\n  if (message.withCredentials !== undefined) {\n    xhr.withCredentials = message.withCredentials;\n  }\n}\n\nexport function progressTransformer(client, processor, message, xhr) {\n  if (message.progressCallback) {\n    xhr.upload.onprogress = message.progressCallback;\n  }\n}\n\nexport function downloadProgressTransformer(client, processor, message, xhr) {\n  if (message.downloadProgressCallback) {\n    xhr.onprogress = message.downloadProgressCallback;\n  }\n}\n\nexport function responseTypeTransformer(client, processor, message, xhr) {\n  var responseType = message.responseType;\n\n  if (responseType === 'json') {\n    responseType = 'text';\n  }\n\n  xhr.responseType = responseType;\n}\n\nexport function headerTransformer(client, processor, message, xhr) {\n  message.headers.configureXHR(xhr);\n}\n\nexport function contentTransformer(client, processor, message, xhr) {\n  if (message.skipContentProcessing) {\n    return;\n  }\n\n  if (PLATFORM.global.FormData && message.content instanceof FormData) {\n    return;\n  }\n\n  if (PLATFORM.global.Blob && message.content instanceof Blob) {\n    return;\n  }\n\n  if (PLATFORM.global.ArrayBuffer && message.content instanceof ArrayBuffer) {\n    return;\n  }\n\n  if (message.content instanceof Document) {\n    return;\n  }\n\n  if (typeof message.content === 'string') {\n    return;\n  }\n\n  if (message.content === null || message.content === undefined) {\n    return;\n  }\n\n  message.content = JSON.stringify(message.content, message.replacer);\n\n  if (!message.headers.has('Content-Type')) {\n    message.headers.add('Content-Type', 'application/json');\n  }\n}\n\nexport var JSONPRequestMessage = function (_RequestMessage) {\n  _inherits(JSONPRequestMessage, _RequestMessage);\n\n  function JSONPRequestMessage(url, callbackParameterName) {\n    \n\n    var _this2 = _possibleConstructorReturn(this, _RequestMessage.call(this, 'JSONP', url));\n\n    _this2.responseType = 'jsonp';\n    _this2.callbackParameterName = callbackParameterName;\n    return _this2;\n  }\n\n  return JSONPRequestMessage;\n}(RequestMessage);\n\nvar JSONPXHR = function () {\n  function JSONPXHR() {\n    \n  }\n\n  JSONPXHR.prototype.open = function open(method, url) {\n    this.method = method;\n    this.url = url;\n    this.callbackName = 'jsonp_callback_' + Math.round(100000 * Math.random());\n  };\n\n  JSONPXHR.prototype.send = function send() {\n    var _this3 = this;\n\n    var url = this.url + (this.url.indexOf('?') >= 0 ? '&' : '?') + encodeURIComponent(this.callbackParameterName) + '=' + this.callbackName;\n    var script = DOM.createElement('script');\n\n    script.src = url;\n    script.onerror = function (e) {\n      cleanUp();\n\n      _this3.status = 0;\n      _this3.onerror(new Error('error'));\n    };\n\n    var cleanUp = function cleanUp() {\n      delete PLATFORM.global[_this3.callbackName];\n      DOM.removeNode(script);\n    };\n\n    PLATFORM.global[this.callbackName] = function (data) {\n      cleanUp();\n\n      if (_this3.status === undefined) {\n        _this3.status = 200;\n        _this3.statusText = 'OK';\n        _this3.response = data;\n        _this3.onload(_this3);\n      }\n    };\n\n    DOM.appendNode(script);\n\n    if (this.timeout !== undefined) {\n      setTimeout(function () {\n        if (_this3.status === undefined) {\n          _this3.status = 0;\n          _this3.ontimeout(new Error('timeout'));\n        }\n      }, this.timeout);\n    }\n  };\n\n  JSONPXHR.prototype.abort = function abort() {\n    if (this.status === undefined) {\n      this.status = 0;\n      this.onabort(new Error('abort'));\n    }\n  };\n\n  JSONPXHR.prototype.setRequestHeader = function setRequestHeader() {};\n\n  return JSONPXHR;\n}();\n\nexport function createJSONPRequestMessageProcessor() {\n  return new RequestMessageProcessor(JSONPXHR, [timeoutTransformer, callbackParameterNameTransformer]);\n}\n\nexport var HttpRequestMessage = function (_RequestMessage2) {\n  _inherits(HttpRequestMessage, _RequestMessage2);\n\n  function HttpRequestMessage(method, url, content, headers) {\n    \n\n    var _this4 = _possibleConstructorReturn(this, _RequestMessage2.call(this, method, url, content, headers));\n\n    _this4.responseType = 'json';return _this4;\n  }\n\n  return HttpRequestMessage;\n}(RequestMessage);\n\nexport function createHttpRequestMessageProcessor() {\n  return new RequestMessageProcessor(PLATFORM.XMLHttpRequest, [timeoutTransformer, credentialsTransformer, progressTransformer, downloadProgressTransformer, responseTypeTransformer, contentTransformer, headerTransformer]);\n}\n\nexport var ErrorHttpResponseMessage = function (_HttpResponseMessage) {\n  _inherits(ErrorHttpResponseMessage, _HttpResponseMessage);\n\n  function ErrorHttpResponseMessage(responseMessage) {\n    \n\n    var _this5 = _possibleConstructorReturn(this, _HttpResponseMessage.call(this, responseMessage.requestMessage, {\n      response: responseMessage.response,\n      status: responseMessage.statusCode,\n      statusText: responseMessage.statusText\n    }, responseMessage.responseType));\n\n    _this5.name = responseMessage.responseType;\n    _this5.message = 'Error: ' + responseMessage.statusCode + ' Status: ' + responseMessage.statusText;\n    return _this5;\n  }\n\n  return ErrorHttpResponseMessage;\n}(HttpResponseMessage);\n\nexport var RequestBuilder = function () {\n  function RequestBuilder(client) {\n    \n\n    this.client = client;\n    this.transformers = client.requestTransformers.slice(0);\n    this.useJsonp = false;\n  }\n\n  RequestBuilder.prototype.asDelete = function asDelete() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'DELETE';\n    });\n  };\n\n  RequestBuilder.prototype.asGet = function asGet() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'GET';\n    });\n  };\n\n  RequestBuilder.prototype.asHead = function asHead() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'HEAD';\n    });\n  };\n\n  RequestBuilder.prototype.asOptions = function asOptions() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'OPTIONS';\n    });\n  };\n\n  RequestBuilder.prototype.asPatch = function asPatch() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'PATCH';\n    });\n  };\n\n  RequestBuilder.prototype.asPost = function asPost() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'POST';\n    });\n  };\n\n  RequestBuilder.prototype.asPut = function asPut() {\n    return this._addTransformer(function (client, processor, message) {\n      message.method = 'PUT';\n    });\n  };\n\n  RequestBuilder.prototype.asJsonp = function asJsonp(callbackParameterName) {\n    this.useJsonp = true;\n    return this._addTransformer(function (client, processor, message) {\n      message.callbackParameterName = callbackParameterName;\n    });\n  };\n\n  RequestBuilder.prototype.withUrl = function withUrl(url) {\n    return this._addTransformer(function (client, processor, message) {\n      message.url = url;\n    });\n  };\n\n  RequestBuilder.prototype.withContent = function withContent(content) {\n    return this._addTransformer(function (client, processor, message) {\n      message.content = content;\n    });\n  };\n\n  RequestBuilder.prototype.withBaseUrl = function withBaseUrl(baseUrl) {\n    return this._addTransformer(function (client, processor, message) {\n      message.baseUrl = baseUrl;\n    });\n  };\n\n  RequestBuilder.prototype.withParams = function withParams(params, traditional) {\n    return this._addTransformer(function (client, processor, message) {\n      message.traditional = traditional;\n      message.params = params;\n    });\n  };\n\n  RequestBuilder.prototype.withResponseType = function withResponseType(responseType) {\n    return this._addTransformer(function (client, processor, message) {\n      message.responseType = responseType;\n    });\n  };\n\n  RequestBuilder.prototype.withTimeout = function withTimeout(timeout) {\n    return this._addTransformer(function (client, processor, message) {\n      message.timeout = timeout;\n    });\n  };\n\n  RequestBuilder.prototype.withHeader = function withHeader(key, value) {\n    return this._addTransformer(function (client, processor, message) {\n      message.headers.add(key, value);\n    });\n  };\n\n  RequestBuilder.prototype.withCredentials = function withCredentials(value) {\n    return this._addTransformer(function (client, processor, message) {\n      message.withCredentials = value;\n    });\n  };\n\n  RequestBuilder.prototype.withLogin = function withLogin(user, password) {\n    return this._addTransformer(function (client, processor, message) {\n      message.user = user;message.password = password;\n    });\n  };\n\n  RequestBuilder.prototype.withReviver = function withReviver(reviver) {\n    return this._addTransformer(function (client, processor, message) {\n      message.reviver = reviver;\n    });\n  };\n\n  RequestBuilder.prototype.withReplacer = function withReplacer(replacer) {\n    return this._addTransformer(function (client, processor, message) {\n      message.replacer = replacer;\n    });\n  };\n\n  RequestBuilder.prototype.withProgressCallback = function withProgressCallback(progressCallback) {\n    return this._addTransformer(function (client, processor, message) {\n      message.progressCallback = progressCallback;\n    });\n  };\n\n  RequestBuilder.prototype.withDownloadProgressCallback = function withDownloadProgressCallback(downloadProgressCallback) {\n    return this._addTransformer(function (client, processor, message) {\n      message.downloadProgressCallback = downloadProgressCallback;\n    });\n  };\n\n  RequestBuilder.prototype.withCallbackParameterName = function withCallbackParameterName(callbackParameterName) {\n    return this._addTransformer(function (client, processor, message) {\n      message.callbackParameterName = callbackParameterName;\n    });\n  };\n\n  RequestBuilder.prototype.withInterceptor = function withInterceptor(interceptor) {\n    return this._addTransformer(function (client, processor, message) {\n      message.interceptors = message.interceptors || [];\n      message.interceptors.unshift(interceptor);\n    });\n  };\n\n  RequestBuilder.prototype.skipContentProcessing = function skipContentProcessing() {\n    return this._addTransformer(function (client, processor, message) {\n      message.skipContentProcessing = true;\n    });\n  };\n\n  RequestBuilder.prototype._addTransformer = function _addTransformer(fn) {\n    this.transformers.push(fn);\n    return this;\n  };\n\n  RequestBuilder.addHelper = function addHelper(name, fn) {\n    RequestBuilder.prototype[name] = function () {\n      return this._addTransformer(fn.apply(this, arguments));\n    };\n  };\n\n  RequestBuilder.prototype.send = function send() {\n    var message = this.useJsonp ? new JSONPRequestMessage() : new HttpRequestMessage();\n    return this.client.send(message, this.transformers);\n  };\n\n  return RequestBuilder;\n}();\n\nfunction trackRequestStart(client, processor) {\n  client.pendingRequests.push(processor);\n  client.isRequesting = true;\n}\n\nfunction trackRequestEnd(client, processor) {\n  var index = client.pendingRequests.indexOf(processor);\n\n  client.pendingRequests.splice(index, 1);\n  client.isRequesting = client.pendingRequests.length > 0;\n\n  if (!client.isRequesting) {\n    var evt = DOM.createCustomEvent('aurelia-http-client-requests-drained', { bubbles: true, cancelable: true });\n    setTimeout(function () {\n      return DOM.dispatchEvent(evt);\n    }, 1);\n  }\n}\n\nexport var HttpClient = function () {\n  function HttpClient() {\n    \n\n    this.isRequesting = false;\n\n    this.rejectPromiseWithErrorObject = false;\n    this.requestTransformers = [];\n    this.requestProcessorFactories = new Map();\n    this.requestProcessorFactories.set(HttpRequestMessage, createHttpRequestMessageProcessor);\n    this.requestProcessorFactories.set(JSONPRequestMessage, createJSONPRequestMessageProcessor);\n    this.pendingRequests = [];\n  }\n\n  HttpClient.prototype.configure = function configure(fn) {\n    var builder = new RequestBuilder(this);\n    fn(builder);\n    this.requestTransformers = builder.transformers;\n    return this;\n  };\n\n  HttpClient.prototype.createRequest = function createRequest(url) {\n    var builder = new RequestBuilder(this);\n\n    if (url) {\n      builder.withUrl(url);\n    }\n\n    return builder;\n  };\n\n  HttpClient.prototype.send = function send(requestMessage, transformers) {\n    var _this6 = this;\n\n    var createProcessor = this.requestProcessorFactories.get(requestMessage.constructor);\n    var processor = void 0;\n    var promise = void 0;\n    var i = void 0;\n    var ii = void 0;\n\n    if (!createProcessor) {\n      throw new Error('No request message processor factory for ' + requestMessage.constructor + '.');\n    }\n\n    processor = createProcessor();\n    trackRequestStart(this, processor);\n\n    transformers = transformers || this.requestTransformers;\n\n    promise = Promise.resolve(requestMessage).then(function (message) {\n      for (i = 0, ii = transformers.length; i < ii; ++i) {\n        transformers[i](_this6, processor, message);\n      }\n\n      return processor.process(_this6, message).then(function (response) {\n        trackRequestEnd(_this6, processor);\n        return response;\n      }).catch(function (response) {\n        trackRequestEnd(_this6, processor);\n        throw response;\n      });\n    });\n\n    promise.abort = promise.cancel = function () {\n      processor.abort();\n    };\n\n    return promise;\n  };\n\n  HttpClient.prototype.delete = function _delete(url) {\n    return this.createRequest(url).asDelete().send();\n  };\n\n  HttpClient.prototype.get = function get(url, params, traditional) {\n    var req = this.createRequest(url).asGet();\n\n    if (params) {\n      return req.withParams(params, traditional).send();\n    }\n\n    return req.send();\n  };\n\n  HttpClient.prototype.head = function head(url) {\n    return this.createRequest(url).asHead().send();\n  };\n\n  HttpClient.prototype.jsonp = function jsonp(url) {\n    var callbackParameterName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'jsoncallback';\n\n    return this.createRequest(url).asJsonp(callbackParameterName).send();\n  };\n\n  HttpClient.prototype.options = function options(url) {\n    return this.createRequest(url).asOptions().send();\n  };\n\n  HttpClient.prototype.put = function put(url, content) {\n    return this.createRequest(url).asPut().withContent(content).send();\n  };\n\n  HttpClient.prototype.patch = function patch(url, content) {\n    return this.createRequest(url).asPatch().withContent(content).send();\n  };\n\n  HttpClient.prototype.post = function post(url, content) {\n    return this.createRequest(url).asPost().withContent(content).send();\n  };\n\n  return HttpClient;\n}();","import { Loader } from 'aurelia-loader';\nimport { Origin } from 'aurelia-metadata';\nimport { PLATFORM, DOM } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\n\n/**\r\n* An implementation of the TemplateLoader interface implemented with text-based loading.\r\n*/\r\nvar TextTemplateLoader = /** @class */ (function () {\r\n    function TextTemplateLoader() {\r\n    }\r\n    /**\r\n    * Loads a template.\r\n    * @param loader The loader that is requesting the template load.\r\n    * @param entry The TemplateRegistryEntry to load and populate with a template.\r\n    * @return A promise which resolves when the TemplateRegistryEntry is loaded with a template.\r\n    */\r\n    TextTemplateLoader.prototype.loadTemplate = function (loader, entry) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var text;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0: return [4 /*yield*/, loader.loadText(entry.address)];\r\n                    case 1:\r\n                        text = _a.sent();\r\n                        entry.template = DOM.createTemplateFromMarkup(text);\r\n                        return [2 /*return*/];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    return TextTemplateLoader;\r\n}());\r\nfunction ensureOriginOnExports(moduleExports, moduleId) {\r\n    var target = moduleExports;\r\n    var key;\r\n    var exportedValue;\r\n    if (target.__useDefault) {\r\n        target = target.default;\r\n    }\r\n    Origin.set(target, new Origin(moduleId, 'default'));\r\n    if (typeof target === 'object') {\r\n        for (key in target) {\r\n            exportedValue = target[key];\r\n            if (typeof exportedValue === 'function') {\r\n                Origin.set(exportedValue, new Origin(moduleId, key));\r\n            }\r\n        }\r\n    }\r\n    return moduleExports;\r\n}\r\n/**\r\n* A default implementation of the Loader abstraction which works with webpack (extended common-js style).\r\n*/\r\nvar WebpackLoader = /** @class */ (function (_super) {\r\n    __extends(WebpackLoader, _super);\r\n    function WebpackLoader() {\r\n        var _this = _super.call(this) || this;\r\n        _this.moduleRegistry = Object.create(null);\r\n        _this.loaderPlugins = Object.create(null);\r\n        _this.modulesBeingLoaded = new Map();\r\n        _this.useTemplateLoader(new TextTemplateLoader());\r\n        _this.addPlugin('template-registry-entry', {\r\n            fetch: function (moduleId) { return __awaiter(_this, void 0, void 0, function () {\r\n                var HmrContext, entry;\r\n                var _this = this;\r\n                return __generator(this, function (_a) {\r\n                    switch (_a.label) {\r\n                        case 0:\r\n                            // HMR:\r\n                            if (module.hot) {\r\n                                if (!this.hmrContext) {\r\n                                    HmrContext = require('aurelia-hot-module-reload').HmrContext;\r\n                                    this.hmrContext = new HmrContext(this);\r\n                                }\r\n                                module.hot.accept(moduleId, function () { return __awaiter(_this, void 0, void 0, function () {\r\n                                    return __generator(this, function (_a) {\r\n                                        switch (_a.label) {\r\n                                            case 0: return [4 /*yield*/, this.hmrContext.handleViewChange(moduleId)];\r\n                                            case 1:\r\n                                                _a.sent();\r\n                                                return [2 /*return*/];\r\n                                        }\r\n                                    });\r\n                                }); });\r\n                            }\r\n                            entry = this.getOrCreateTemplateRegistryEntry(moduleId);\r\n                            if (!!entry.templateIsLoaded) return [3 /*break*/, 2];\r\n                            return [4 /*yield*/, this.templateLoader.loadTemplate(this, entry)];\r\n                        case 1:\r\n                            _a.sent();\r\n                            _a.label = 2;\r\n                        case 2: return [2 /*return*/, entry];\r\n                    }\r\n                });\r\n            }); }\r\n        });\r\n        PLATFORM.eachModule = function (callback) {\r\n            var registry = __webpack_require__.c;\r\n            var cachedModuleIds = Object.getOwnPropertyNames(registry);\r\n            cachedModuleIds\r\n                // Note: we use .some here like a .forEach that can be \"break\"ed out of.\r\n                // It will stop iterating only when a truthy value is returned.\r\n                // Even though the docs say \"true\" explicitly, loader-default also goes by truthy\r\n                // and this is to keep it consistent with that.\r\n                .some(function (moduleId) {\r\n                var moduleExports = registry[moduleId].exports;\r\n                if (typeof moduleExports === 'object') {\r\n                    return callback(moduleId, moduleExports);\r\n                }\r\n                return false;\r\n            });\r\n        };\r\n        return _this;\r\n    }\r\n    WebpackLoader.prototype._import = function (address, defaultHMR) {\r\n        if (defaultHMR === void 0) { defaultHMR = true; }\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var addressParts, moduleId, loaderPlugin, plugin_1, asyncModuleId, callback;\r\n            var _this = this;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        addressParts = address.split('!');\r\n                        moduleId = addressParts.splice(addressParts.length - 1, 1)[0];\r\n                        loaderPlugin = addressParts.length === 1 ? addressParts[0] : null;\r\n                        if (!loaderPlugin) return [3 /*break*/, 2];\r\n                        plugin_1 = this.loaderPlugins[loaderPlugin];\r\n                        if (!plugin_1) {\r\n                            throw new Error(\"Plugin \" + loaderPlugin + \" is not registered in the loader.\");\r\n                        }\r\n                        if (module.hot && plugin_1.hot) {\r\n                            module.hot.accept(moduleId, function () { return plugin_1.hot(moduleId); });\r\n                        }\r\n                        return [4 /*yield*/, plugin_1.fetch(moduleId)];\r\n                    case 1: return [2 /*return*/, _a.sent()];\r\n                    case 2:\r\n                        if (__webpack_require__.m[moduleId]) {\r\n                            if (defaultHMR && module.hot && this.hmrContext) {\r\n                                module.hot.accept(moduleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                            }\r\n                            return [2 /*return*/, __webpack_require__(moduleId)];\r\n                        }\r\n                        asyncModuleId = \"async!\" + moduleId;\r\n                        if (!__webpack_require__.m[asyncModuleId]) return [3 /*break*/, 4];\r\n                        if (defaultHMR && module.hot && this.hmrContext) {\r\n                            module.hot.accept(moduleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                            module.hot.accept(asyncModuleId, function () { return _this.hmrContext.handleModuleChange(moduleId, module.hot); });\r\n                        }\r\n                        callback = __webpack_require__(asyncModuleId);\r\n                        return [4 /*yield*/, new Promise(callback)];\r\n                    case 3: return [2 /*return*/, _a.sent()];\r\n                    case 4: throw new Error(\"Unable to find module with ID: \" + moduleId);\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Maps a module id to a source.\r\n    * @param id The module id.\r\n    * @param source The source to map the module to.\r\n    */\r\n    WebpackLoader.prototype.map = function (id, source) { };\r\n    /**\r\n    * Normalizes a module id.\r\n    * @param moduleId The module id to normalize.\r\n    * @param relativeTo What the module id should be normalized relative to.\r\n    * @return The normalized module id.\r\n    */\r\n    WebpackLoader.prototype.normalizeSync = function (moduleId, relativeTo) {\r\n        return moduleId;\r\n    };\r\n    /**\r\n    * Normalizes a module id.\r\n    * @param moduleId The module id to normalize.\r\n    * @param relativeTo What the module id should be normalized relative to.\r\n    * @return The normalized module id.\r\n    */\r\n    WebpackLoader.prototype.normalize = function (moduleId, relativeTo) {\r\n        return Promise.resolve(moduleId);\r\n    };\r\n    /**\r\n    * Instructs the loader to use a specific TemplateLoader instance for loading templates\r\n    * @param templateLoader The instance of TemplateLoader to use for loading templates.\r\n    */\r\n    WebpackLoader.prototype.useTemplateLoader = function (templateLoader) {\r\n        this.templateLoader = templateLoader;\r\n    };\r\n    /**\r\n    * Loads a collection of modules.\r\n    * @param ids The set of module ids to load.\r\n    * @return A Promise for an array of loaded modules.\r\n    */\r\n    WebpackLoader.prototype.loadAllModules = function (ids) {\r\n        var _this = this;\r\n        return Promise.all(ids.map(function (id) { return _this.loadModule(id); }));\r\n    };\r\n    /**\r\n    * Loads a module.\r\n    * @param moduleId The module ID to load.\r\n    * @return A Promise for the loaded module.\r\n    */\r\n    WebpackLoader.prototype.loadModule = function (moduleId, defaultHMR) {\r\n        if (defaultHMR === void 0) { defaultHMR = true; }\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var existing, beingLoaded, moduleExports;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        existing = this.moduleRegistry[moduleId];\r\n                        if (existing) {\r\n                            return [2 /*return*/, existing];\r\n                        }\r\n                        beingLoaded = this.modulesBeingLoaded.get(moduleId);\r\n                        if (beingLoaded) {\r\n                            return [2 /*return*/, beingLoaded];\r\n                        }\r\n                        beingLoaded = this._import(moduleId, defaultHMR);\r\n                        this.modulesBeingLoaded.set(moduleId, beingLoaded);\r\n                        return [4 /*yield*/, beingLoaded];\r\n                    case 1:\r\n                        moduleExports = _a.sent();\r\n                        this.moduleRegistry[moduleId] = ensureOriginOnExports(moduleExports, moduleId);\r\n                        this.modulesBeingLoaded.delete(moduleId);\r\n                        return [2 /*return*/, moduleExports];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Loads a template.\r\n    * @param url The url of the template to load.\r\n    * @return A Promise for a TemplateRegistryEntry containing the template.\r\n    */\r\n    WebpackLoader.prototype.loadTemplate = function (url) {\r\n        return this.loadModule(this.applyPluginToUrl(url, 'template-registry-entry'), false);\r\n    };\r\n    /**\r\n    * Loads a text-based resource.\r\n    * @param url The url of the text file to load.\r\n    * @return A Promise for text content.\r\n    */\r\n    WebpackLoader.prototype.loadText = function (url) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var result, defaultExport;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0: return [4 /*yield*/, this.loadModule(url, false)];\r\n                    case 1:\r\n                        result = _a.sent();\r\n                        defaultExport = result && result.__esModule ? result.default : result;\r\n                        if (defaultExport instanceof Array && defaultExport[0] instanceof Array && defaultExport.hasOwnProperty('toString')) {\r\n                            // we're dealing with a file loaded using the css-loader:\r\n                            return [2 /*return*/, defaultExport.toString()];\r\n                        }\r\n                        return [2 /*return*/, typeof result === \"string\" ? result : defaultExport];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    /**\r\n    * Alters a module id so that it includes a plugin loader.\r\n    * @param url The url of the module to load.\r\n    * @param pluginName The plugin to apply to the module id.\r\n    * @return The plugin-based module id.\r\n    */\r\n    WebpackLoader.prototype.applyPluginToUrl = function (url, pluginName) {\r\n        return pluginName + \"!\" + url;\r\n    };\r\n    /**\r\n    * Registers a plugin with the loader.\r\n    * @param pluginName The name of the plugin.\r\n    * @param implementation The plugin implementation.\r\n    */\r\n    WebpackLoader.prototype.addPlugin = function (pluginName, implementation) {\r\n        this.loaderPlugins[pluginName] = implementation;\r\n    };\r\n    return WebpackLoader;\r\n}(Loader));\r\nPLATFORM.Loader = WebpackLoader;\n\nexport { TextTemplateLoader, WebpackLoader, ensureOriginOnExports };\n","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n\n\nimport { relativeToFile } from 'aurelia-path';\nimport { Origin } from 'aurelia-metadata';\n\nexport var TemplateDependency = function TemplateDependency(src, name) {\n  \n\n  this.src = src;\n  this.name = name;\n};\n\nexport var TemplateRegistryEntry = function () {\n  function TemplateRegistryEntry(address) {\n    \n\n    this.templateIsLoaded = false;\n    this.factoryIsReady = false;\n    this.resources = null;\n    this.dependencies = null;\n\n    this.address = address;\n    this.onReady = null;\n    this._template = null;\n    this._factory = null;\n  }\n\n  TemplateRegistryEntry.prototype.addDependency = function addDependency(src, name) {\n    var finalSrc = typeof src === 'string' ? relativeToFile(src, this.address) : Origin.get(src).moduleId;\n\n    this.dependencies.push(new TemplateDependency(finalSrc, name));\n  };\n\n  _createClass(TemplateRegistryEntry, [{\n    key: 'template',\n    get: function get() {\n      return this._template;\n    },\n    set: function set(value) {\n      var address = this.address;\n      var requires = void 0;\n      var current = void 0;\n      var src = void 0;\n      var dependencies = void 0;\n\n      this._template = value;\n      this.templateIsLoaded = true;\n\n      requires = value.content.querySelectorAll('require');\n      dependencies = this.dependencies = new Array(requires.length);\n\n      for (var i = 0, ii = requires.length; i < ii; ++i) {\n        current = requires[i];\n        src = current.getAttribute('from');\n\n        if (!src) {\n          throw new Error('<require> element in ' + address + ' has no \"from\" attribute.');\n        }\n\n        dependencies[i] = new TemplateDependency(relativeToFile(src, address), current.getAttribute('as'));\n\n        if (current.parentNode) {\n          current.parentNode.removeChild(current);\n        }\n      }\n    }\n  }, {\n    key: 'factory',\n    get: function get() {\n      return this._factory;\n    },\n    set: function set(value) {\n      this._factory = value;\n      this.factoryIsReady = true;\n    }\n  }]);\n\n  return TemplateRegistryEntry;\n}();\n\nexport var Loader = function () {\n  function Loader() {\n    \n\n    this.templateRegistry = {};\n  }\n\n  Loader.prototype.map = function map(id, source) {\n    throw new Error('Loaders must implement map(id, source).');\n  };\n\n  Loader.prototype.normalizeSync = function normalizeSync(moduleId, relativeTo) {\n    throw new Error('Loaders must implement normalizeSync(moduleId, relativeTo).');\n  };\n\n  Loader.prototype.normalize = function normalize(moduleId, relativeTo) {\n    throw new Error('Loaders must implement normalize(moduleId: string, relativeTo: string): Promise<string>.');\n  };\n\n  Loader.prototype.loadModule = function loadModule(id) {\n    throw new Error('Loaders must implement loadModule(id).');\n  };\n\n  Loader.prototype.loadAllModules = function loadAllModules(ids) {\n    throw new Error('Loader must implement loadAllModules(ids).');\n  };\n\n  Loader.prototype.loadTemplate = function loadTemplate(url) {\n    throw new Error('Loader must implement loadTemplate(url).');\n  };\n\n  Loader.prototype.loadText = function loadText(url) {\n    throw new Error('Loader must implement loadText(url).');\n  };\n\n  Loader.prototype.applyPluginToUrl = function applyPluginToUrl(url, pluginName) {\n    throw new Error('Loader must implement applyPluginToUrl(url, pluginName).');\n  };\n\n  Loader.prototype.addPlugin = function addPlugin(pluginName, implementation) {\n    throw new Error('Loader must implement addPlugin(pluginName, implementation).');\n  };\n\n  Loader.prototype.getOrCreateTemplateRegistryEntry = function getOrCreateTemplateRegistryEntry(address) {\n    return this.templateRegistry[address] || (this.templateRegistry[address] = new TemplateRegistryEntry(address));\n  };\n\n  return Loader;\n}();","\n\nexport var ConsoleAppender = function () {\n  function ConsoleAppender() {\n    \n  }\n\n  ConsoleAppender.prototype.debug = function debug(logger) {\n    var _console;\n\n    for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      rest[_key - 1] = arguments[_key];\n    }\n\n    (_console = console).debug.apply(_console, [\"DEBUG [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.info = function info(logger) {\n    var _console2;\n\n    for (var _len2 = arguments.length, rest = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n      rest[_key2 - 1] = arguments[_key2];\n    }\n\n    (_console2 = console).info.apply(_console2, [\"INFO [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.warn = function warn(logger) {\n    var _console3;\n\n    for (var _len3 = arguments.length, rest = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n      rest[_key3 - 1] = arguments[_key3];\n    }\n\n    (_console3 = console).warn.apply(_console3, [\"WARN [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  ConsoleAppender.prototype.error = function error(logger) {\n    var _console4;\n\n    for (var _len4 = arguments.length, rest = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n      rest[_key4 - 1] = arguments[_key4];\n    }\n\n    (_console4 = console).error.apply(_console4, [\"ERROR [\" + logger.id + \"]\"].concat(rest));\n  };\n\n  return ConsoleAppender;\n}();","\n\nexport var logLevel = {\n  none: 0,\n  error: 10,\n  warn: 20,\n  info: 30,\n  debug: 40\n};\n\nvar loggers = {};\nvar appenders = [];\nvar globalDefaultLevel = logLevel.none;\n\nvar standardLevels = ['none', 'error', 'warn', 'info', 'debug'];\nfunction isStandardLevel(level) {\n  return standardLevels.filter(function (l) {\n    return l === level;\n  }).length > 0;\n}\n\nfunction appendArgs() {\n  return [this].concat(Array.prototype.slice.call(arguments));\n}\n\nfunction logFactory(level) {\n  var threshold = logLevel[level];\n  return function () {\n    if (this.level < threshold) {\n      return;\n    }\n\n    var args = appendArgs.apply(this, arguments);\n    var i = appenders.length;\n    while (i--) {\n      var _appenders$i;\n\n      (_appenders$i = appenders[i])[level].apply(_appenders$i, args);\n    }\n  };\n}\n\nfunction logFactoryCustom(level) {\n  var threshold = logLevel[level];\n  return function () {\n    if (this.level < threshold) {\n      return;\n    }\n\n    var args = appendArgs.apply(this, arguments);\n    var i = appenders.length;\n    while (i--) {\n      var appender = appenders[i];\n      if (appender[level] !== undefined) {\n        appender[level].apply(appender, args);\n      }\n    }\n  };\n}\n\nfunction connectLoggers() {\n  var proto = Logger.prototype;\n  for (var _level in logLevel) {\n    if (isStandardLevel(_level)) {\n      if (_level !== 'none') {\n        proto[_level] = logFactory(_level);\n      }\n    } else {\n      proto[_level] = logFactoryCustom(_level);\n    }\n  }\n}\n\nfunction disconnectLoggers() {\n  var proto = Logger.prototype;\n  for (var _level2 in logLevel) {\n    if (_level2 !== 'none') {\n      proto[_level2] = function () {};\n    }\n  }\n}\n\nexport function getLogger(id) {\n  return loggers[id] || new Logger(id);\n}\n\nexport function addAppender(appender) {\n  if (appenders.push(appender) === 1) {\n    connectLoggers();\n  }\n}\n\nexport function removeAppender(appender) {\n  appenders = appenders.filter(function (a) {\n    return a !== appender;\n  });\n}\n\nexport function getAppenders() {\n  return [].concat(appenders);\n}\n\nexport function clearAppenders() {\n  appenders = [];\n  disconnectLoggers();\n}\n\nexport function addCustomLevel(name, value) {\n  if (logLevel[name] !== undefined) {\n    throw Error('Log level \"' + name + '\" already exists.');\n  }\n\n  if (isNaN(value)) {\n    throw Error('Value must be a number.');\n  }\n\n  logLevel[name] = value;\n\n  if (appenders.length > 0) {\n    connectLoggers();\n  } else {\n    Logger.prototype[name] = function () {};\n  }\n}\n\nexport function removeCustomLevel(name) {\n  if (logLevel[name] === undefined) {\n    return;\n  }\n\n  if (isStandardLevel(name)) {\n    throw Error('Built-in log level \"' + name + '\" cannot be removed.');\n  }\n\n  delete logLevel[name];\n  delete Logger.prototype[name];\n}\n\nexport function setLevel(level) {\n  globalDefaultLevel = level;\n  for (var key in loggers) {\n    loggers[key].setLevel(level);\n  }\n}\n\nexport function getLevel() {\n  return globalDefaultLevel;\n}\n\nexport var Logger = function () {\n  function Logger(id) {\n    \n\n    var cached = loggers[id];\n    if (cached) {\n      return cached;\n    }\n\n    loggers[id] = this;\n    this.id = id;\n    this.level = globalDefaultLevel;\n  }\n\n  Logger.prototype.debug = function debug(message) {};\n\n  Logger.prototype.info = function info(message) {};\n\n  Logger.prototype.warn = function warn(message) {};\n\n  Logger.prototype.error = function error(message) {};\n\n  Logger.prototype.setLevel = function setLevel(level) {\n    this.level = level;\n  };\n\n  Logger.prototype.isDebugEnabled = function isDebugEnabled() {\n    return this.level === logLevel.debug;\n  };\n\n  return Logger;\n}();","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nimport { PLATFORM } from 'aurelia-pal';\n\nfunction isObject(val) {\n  return val && (typeof val === 'function' || (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object');\n}\n\nexport var metadata = {\n  resource: 'aurelia:resource',\n  paramTypes: 'design:paramtypes',\n  propertyType: 'design:type',\n  properties: 'design:properties',\n  get: function get(metadataKey, target, targetKey) {\n    if (!isObject(target)) {\n      return undefined;\n    }\n    var result = metadata.getOwn(metadataKey, target, targetKey);\n    return result === undefined ? metadata.get(metadataKey, Object.getPrototypeOf(target), targetKey) : result;\n  },\n  getOwn: function getOwn(metadataKey, target, targetKey) {\n    if (!isObject(target)) {\n      return undefined;\n    }\n    return Reflect.getOwnMetadata(metadataKey, target, targetKey);\n  },\n  define: function define(metadataKey, metadataValue, target, targetKey) {\n    Reflect.defineMetadata(metadataKey, metadataValue, target, targetKey);\n  },\n  getOrCreateOwn: function getOrCreateOwn(metadataKey, Type, target, targetKey) {\n    var result = metadata.getOwn(metadataKey, target, targetKey);\n\n    if (result === undefined) {\n      result = new Type();\n      Reflect.defineMetadata(metadataKey, result, target, targetKey);\n    }\n\n    return result;\n  }\n};\n\nvar originStorage = new Map();\nvar unknownOrigin = Object.freeze({ moduleId: undefined, moduleMember: undefined });\n\nexport var Origin = function () {\n  function Origin(moduleId, moduleMember) {\n    \n\n    this.moduleId = moduleId;\n    this.moduleMember = moduleMember;\n  }\n\n  Origin.get = function get(fn) {\n    var origin = originStorage.get(fn);\n\n    if (origin === undefined) {\n      PLATFORM.eachModule(function (key, value) {\n        if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n          for (var name in value) {\n            try {\n              var exp = value[name];\n              if (exp === fn) {\n                originStorage.set(fn, origin = new Origin(key, name));\n                return true;\n              }\n            } catch (e) {}\n          }\n        }\n\n        if (value === fn) {\n          originStorage.set(fn, origin = new Origin(key, 'default'));\n          return true;\n        }\n\n        return false;\n      });\n    }\n\n    return origin || unknownOrigin;\n  };\n\n  Origin.set = function set(fn, origin) {\n    originStorage.set(fn, origin);\n  };\n\n  return Origin;\n}();\n\nexport function decorators() {\n  for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {\n    rest[_key] = arguments[_key];\n  }\n\n  var applicator = function applicator(target, key, descriptor) {\n    var i = rest.length;\n\n    if (key) {\n      descriptor = descriptor || {\n        value: target[key],\n        writable: true,\n        configurable: true,\n        enumerable: true\n      };\n\n      while (i--) {\n        descriptor = rest[i](target, key, descriptor) || descriptor;\n      }\n\n      Object.defineProperty(target, key, descriptor);\n    } else {\n      while (i--) {\n        target = rest[i](target) || target;\n      }\n    }\n\n    return target;\n  };\n\n  applicator.on = applicator;\n  return applicator;\n}\n\nexport function deprecated(optionsOrTarget, maybeKey, maybeDescriptor) {\n  function decorator(target, key, descriptor) {\n    var methodSignature = target.constructor.name + '#' + key;\n    var options = maybeKey ? {} : optionsOrTarget || {};\n    var message = 'DEPRECATION - ' + methodSignature;\n\n    if (typeof descriptor.value !== 'function') {\n      throw new SyntaxError('Only methods can be marked as deprecated.');\n    }\n\n    if (options.message) {\n      message += ' - ' + options.message;\n    }\n\n    return _extends({}, descriptor, {\n      value: function deprecationWrapper() {\n        if (options.error) {\n          throw new Error(message);\n        } else {\n          console.warn(message);\n        }\n\n        return descriptor.value.apply(this, arguments);\n      }\n    });\n  }\n\n  return maybeKey ? decorator(optionsOrTarget, maybeKey, maybeDescriptor) : decorator;\n}\n\nexport function mixin(behavior) {\n  var instanceKeys = Object.keys(behavior);\n\n  function _mixin(possible) {\n    var decorator = function decorator(target) {\n      var resolvedTarget = typeof target === 'function' ? target.prototype : target;\n\n      var i = instanceKeys.length;\n      while (i--) {\n        var property = instanceKeys[i];\n        Object.defineProperty(resolvedTarget, property, {\n          value: behavior[property],\n          writable: true\n        });\n      }\n    };\n\n    return possible ? decorator(possible) : decorator;\n  }\n\n  return _mixin;\n}\n\nfunction alwaysValid() {\n  return true;\n}\nfunction noCompose() {}\n\nfunction ensureProtocolOptions(options) {\n  if (options === undefined) {\n    options = {};\n  } else if (typeof options === 'function') {\n    options = {\n      validate: options\n    };\n  }\n\n  if (!options.validate) {\n    options.validate = alwaysValid;\n  }\n\n  if (!options.compose) {\n    options.compose = noCompose;\n  }\n\n  return options;\n}\n\nfunction createProtocolValidator(validate) {\n  return function (target) {\n    var result = validate(target);\n    return result === true;\n  };\n}\n\nfunction createProtocolAsserter(name, validate) {\n  return function (target) {\n    var result = validate(target);\n    if (result !== true) {\n      throw new Error(result || name + ' was not correctly implemented.');\n    }\n  };\n}\n\nexport function protocol(name, options) {\n  options = ensureProtocolOptions(options);\n\n  var result = function result(target) {\n    var resolvedTarget = typeof target === 'function' ? target.prototype : target;\n\n    options.compose(resolvedTarget);\n    result.assert(resolvedTarget);\n\n    Object.defineProperty(resolvedTarget, 'protocol:' + name, {\n      enumerable: false,\n      configurable: false,\n      writable: false,\n      value: true\n    });\n  };\n\n  result.validate = createProtocolValidator(options.validate);\n  result.assert = createProtocolAsserter(name, options.validate);\n\n  return result;\n}\n\nprotocol.create = function (name, options) {\n  options = ensureProtocolOptions(options);\n  var hidden = 'protocol:' + name;\n  var result = function result(target) {\n    var decorator = protocol(name, options);\n    return target ? decorator(target) : decorator;\n  };\n\n  result.decorates = function (obj) {\n    return obj[hidden] === true;\n  };\n  result.validate = createProtocolValidator(options.validate);\n  result.assert = createProtocolAsserter(name, options.validate);\n\n  return result;\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { initializePAL, isInitialized } from 'aurelia-pal';\n\nexport var _PLATFORM = {\n  location: window.location,\n  history: window.history,\n  addEventListener: function addEventListener(eventName, callback, capture) {\n    this.global.addEventListener(eventName, callback, capture);\n  },\n  removeEventListener: function removeEventListener(eventName, callback, capture) {\n    this.global.removeEventListener(eventName, callback, capture);\n  },\n\n  performance: window.performance,\n  requestAnimationFrame: function requestAnimationFrame(callback) {\n    return this.global.requestAnimationFrame(callback);\n  }\n};\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var test = function test() {};\n\n  if (test.name === undefined) {\n    Object.defineProperty(Function.prototype, 'name', {\n      get: function get() {\n        var name = this.toString().match(/^\\s*function\\s*(\\S*)\\s*\\(/)[1];\n\n        Object.defineProperty(this, 'name', { value: name });\n        return name;\n      }\n    });\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  if (!('classList' in document.createElement('_')) || document.createElementNS && !('classList' in document.createElementNS('http://www.w3.org/2000/svg', 'g'))) {\n    var protoProp = 'prototype';\n    var strTrim = String.prototype.trim;\n    var arrIndexOf = Array.prototype.indexOf;\n    var emptyArray = [];\n\n    var DOMEx = function DOMEx(type, message) {\n      this.name = type;\n      this.code = DOMException[type];\n      this.message = message;\n    };\n\n    var checkTokenAndGetIndex = function checkTokenAndGetIndex(classList, token) {\n      if (token === '') {\n        throw new DOMEx('SYNTAX_ERR', 'An invalid or illegal string was specified');\n      }\n\n      if (/\\s/.test(token)) {\n        throw new DOMEx('INVALID_CHARACTER_ERR', 'String contains an invalid character');\n      }\n\n      return arrIndexOf.call(classList, token);\n    };\n\n    var ClassList = function ClassList(elem) {\n      var trimmedClasses = strTrim.call(elem.getAttribute('class') || '');\n      var classes = trimmedClasses ? trimmedClasses.split(/\\s+/) : emptyArray;\n\n      for (var i = 0, ii = classes.length; i < ii; ++i) {\n        this.push(classes[i]);\n      }\n\n      this._updateClassName = function () {\n        elem.setAttribute('class', this.toString());\n      };\n    };\n\n    var classListProto = ClassList[protoProp] = [];\n\n    DOMEx[protoProp] = Error[protoProp];\n\n    classListProto.item = function (i) {\n      return this[i] || null;\n    };\n\n    classListProto.contains = function (token) {\n      token += '';\n      return checkTokenAndGetIndex(this, token) !== -1;\n    };\n\n    classListProto.add = function () {\n      var tokens = arguments;\n      var i = 0;\n      var ii = tokens.length;\n      var token = void 0;\n      var updated = false;\n\n      do {\n        token = tokens[i] + '';\n        if (checkTokenAndGetIndex(this, token) === -1) {\n          this.push(token);\n          updated = true;\n        }\n      } while (++i < ii);\n\n      if (updated) {\n        this._updateClassName();\n      }\n    };\n\n    classListProto.remove = function () {\n      var tokens = arguments;\n      var i = 0;\n      var ii = tokens.length;\n      var token = void 0;\n      var updated = false;\n      var index = void 0;\n\n      do {\n        token = tokens[i] + '';\n        index = checkTokenAndGetIndex(this, token);\n        while (index !== -1) {\n          this.splice(index, 1);\n          updated = true;\n          index = checkTokenAndGetIndex(this, token);\n        }\n      } while (++i < ii);\n\n      if (updated) {\n        this._updateClassName();\n      }\n    };\n\n    classListProto.toggle = function (token, force) {\n      token += '';\n\n      var result = this.contains(token);\n      var method = result ? force !== true && 'remove' : force !== false && 'add';\n\n      if (method) {\n        this[method](token);\n      }\n\n      if (force === true || force === false) {\n        return force;\n      }\n\n      return !result;\n    };\n\n    classListProto.toString = function () {\n      return this.join(' ');\n    };\n\n    Object.defineProperty(Element.prototype, 'classList', {\n      get: function get() {\n        return new ClassList(this);\n      },\n      enumerable: true,\n      configurable: true\n    });\n  } else {\n    var testElement = document.createElement('_');\n    testElement.classList.add('c1', 'c2');\n\n    if (!testElement.classList.contains('c2')) {\n      var createMethod = function createMethod(method) {\n        var original = DOMTokenList.prototype[method];\n\n        DOMTokenList.prototype[method] = function (token) {\n          for (var i = 0, ii = arguments.length; i < ii; ++i) {\n            token = arguments[i];\n            original.call(this, token);\n          }\n        };\n      };\n\n      createMethod('add');\n      createMethod('remove');\n    }\n\n    testElement.classList.toggle('c3', false);\n\n    if (testElement.classList.contains('c3')) {\n      var _toggle = DOMTokenList.prototype.toggle;\n\n      DOMTokenList.prototype.toggle = function (token, force) {\n        if (1 in arguments && !this.contains(token) === !force) {\n          return force;\n        }\n\n        return _toggle.call(this, token);\n      };\n    }\n\n    testElement = null;\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var _filterEntries = function _filterEntries(key, value) {\n    var i = 0,\n        n = _entries.length,\n        result = [];\n    for (; i < n; i++) {\n      if (_entries[i][key] == value) {\n        result.push(_entries[i]);\n      }\n    }\n    return result;\n  };\n\n  var _clearEntries = function _clearEntries(type, name) {\n    var i = _entries.length,\n        entry;\n    while (i--) {\n      entry = _entries[i];\n      if (entry.entryType == type && (name === void 0 || entry.name == name)) {\n        _entries.splice(i, 1);\n      }\n    }\n  };\n\n  // @license http://opensource.org/licenses/MIT\n  if ('performance' in window === false) {\n    window.performance = {};\n  }\n\n  if ('now' in window.performance === false) {\n    var nowOffset = Date.now();\n\n    if (performance.timing && performance.timing.navigationStart) {\n      nowOffset = performance.timing.navigationStart;\n    }\n\n    window.performance.now = function now() {\n      return Date.now() - nowOffset;\n    };\n  }\n\n  var startOffset = Date.now ? Date.now() : +new Date();\n  var _entries = [];\n  var _marksIndex = {};\n\n  ;\n\n  if (!window.performance.mark) {\n    window.performance.mark = window.performance.webkitMark || function (name) {\n      var mark = {\n        name: name,\n        entryType: \"mark\",\n        startTime: window.performance.now(),\n        duration: 0\n      };\n\n      _entries.push(mark);\n      _marksIndex[name] = mark;\n    };\n  }\n\n  if (!window.performance.measure) {\n    window.performance.measure = window.performance.webkitMeasure || function (name, startMark, endMark) {\n      startMark = _marksIndex[startMark].startTime;\n      endMark = _marksIndex[endMark].startTime;\n\n      _entries.push({\n        name: name,\n        entryType: \"measure\",\n        startTime: startMark,\n        duration: endMark - startMark\n      });\n    };\n  }\n\n  if (!window.performance.getEntriesByType) {\n    window.performance.getEntriesByType = window.performance.webkitGetEntriesByType || function (type) {\n      return _filterEntries(\"entryType\", type);\n    };\n  }\n\n  if (!window.performance.getEntriesByName) {\n    window.performance.getEntriesByName = window.performance.webkitGetEntriesByName || function (name) {\n      return _filterEntries(\"name\", name);\n    };\n  }\n\n  if (!window.performance.clearMarks) {\n    window.performance.clearMarks = window.performance.webkitClearMarks || function (name) {\n      _clearEntries(\"mark\", name);\n    };\n  }\n\n  if (!window.performance.clearMeasures) {\n    window.performance.clearMeasures = window.performance.webkitClearMeasures || function (name) {\n      _clearEntries(\"measure\", name);\n    };\n  }\n\n  _PLATFORM.performance = window.performance;\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var con = window.console = window.console || {};\n  var nop = function nop() {};\n\n  if (!con.memory) con.memory = {};\n  ('assert,clear,count,debug,dir,dirxml,error,exception,group,' + 'groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,' + 'show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn').split(',').forEach(function (m) {\n    if (!con[m]) con[m] = nop;\n  });\n\n  if (_typeof(con.log) === 'object') {\n    'log,info,warn,error,assert,dir,clear,profile,profileEnd'.split(',').forEach(function (method) {\n      console[method] = this.bind(console[method], console);\n    }, Function.prototype.call);\n  }\n}\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  if (!window.CustomEvent || typeof window.CustomEvent !== 'function') {\n    var _CustomEvent = function _CustomEvent(event, params) {\n      params = params || {\n        bubbles: false,\n        cancelable: false,\n        detail: undefined\n      };\n\n      var evt = document.createEvent('CustomEvent');\n      evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n      return evt;\n    };\n\n    _CustomEvent.prototype = window.Event.prototype;\n    window.CustomEvent = _CustomEvent;\n  }\n}\n\nif (Element && !Element.prototype.matches) {\n  var proto = Element.prototype;\n  proto.matches = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector;\n}\n\nexport var _FEATURE = {\n  shadowDOM: !!HTMLElement.prototype.attachShadow,\n  scopedCSS: 'scoped' in document.createElement('style'),\n  htmlTemplateElement: function () {\n    var d = document.createElement('div');\n    d.innerHTML = '<template></template>';\n    return 'content' in d.children[0];\n  }(),\n  mutationObserver: !!(window.MutationObserver || window.WebKitMutationObserver),\n  ensureHTMLTemplateElement: function ensureHTMLTemplateElement(t) {\n    return t;\n  }\n};\n\nif (typeof FEATURE_NO_IE === 'undefined') {\n  var isSVGTemplate = function isSVGTemplate(el) {\n    return el.tagName === 'template' && el.namespaceURI === 'http://www.w3.org/2000/svg';\n  };\n\n  var fixSVGTemplateElement = function fixSVGTemplateElement(el) {\n    var template = el.ownerDocument.createElement('template');\n    var attrs = el.attributes;\n    var length = attrs.length;\n    var attr = void 0;\n\n    el.parentNode.insertBefore(template, el);\n\n    while (length-- > 0) {\n      attr = attrs[length];\n      template.setAttribute(attr.name, attr.value);\n      el.removeAttribute(attr.name);\n    }\n\n    el.parentNode.removeChild(el);\n\n    return fixHTMLTemplateElement(template);\n  };\n\n  var fixHTMLTemplateElement = function fixHTMLTemplateElement(template) {\n    var content = template.content = document.createDocumentFragment();\n    var child = void 0;\n\n    while (child = template.firstChild) {\n      content.appendChild(child);\n    }\n\n    return template;\n  };\n\n  var fixHTMLTemplateElementRoot = function fixHTMLTemplateElementRoot(template) {\n    var content = fixHTMLTemplateElement(template).content;\n    var childTemplates = content.querySelectorAll('template');\n\n    for (var i = 0, ii = childTemplates.length; i < ii; ++i) {\n      var child = childTemplates[i];\n\n      if (isSVGTemplate(child)) {\n        fixSVGTemplateElement(child);\n      } else {\n        fixHTMLTemplateElement(child);\n      }\n    }\n\n    return template;\n  };\n\n  if (!_FEATURE.htmlTemplateElement) {\n    _FEATURE.ensureHTMLTemplateElement = fixHTMLTemplateElementRoot;\n  }\n}\n\nvar shadowPoly = window.ShadowDOMPolyfill || null;\n\nexport var _DOM = {\n  Element: Element,\n  NodeList: NodeList,\n  SVGElement: SVGElement,\n  boundary: 'aurelia-dom-boundary',\n  addEventListener: function addEventListener(eventName, callback, capture) {\n    document.addEventListener(eventName, callback, capture);\n  },\n  removeEventListener: function removeEventListener(eventName, callback, capture) {\n    document.removeEventListener(eventName, callback, capture);\n  },\n  adoptNode: function adoptNode(node) {\n    return document.adoptNode(node);\n  },\n  createAttribute: function createAttribute(name) {\n    return document.createAttribute(name);\n  },\n  createElement: function createElement(tagName) {\n    return document.createElement(tagName);\n  },\n  createTextNode: function createTextNode(text) {\n    return document.createTextNode(text);\n  },\n  createComment: function createComment(text) {\n    return document.createComment(text);\n  },\n  createDocumentFragment: function createDocumentFragment() {\n    return document.createDocumentFragment();\n  },\n  createTemplateElement: function createTemplateElement() {\n    var template = document.createElement('template');\n    return _FEATURE.ensureHTMLTemplateElement(template);\n  },\n  createMutationObserver: function createMutationObserver(callback) {\n    return new (window.MutationObserver || window.WebKitMutationObserver)(callback);\n  },\n  createCustomEvent: function createCustomEvent(eventType, options) {\n    return new window.CustomEvent(eventType, options);\n  },\n  dispatchEvent: function dispatchEvent(evt) {\n    document.dispatchEvent(evt);\n  },\n  getComputedStyle: function getComputedStyle(element) {\n    return window.getComputedStyle(element);\n  },\n  getElementById: function getElementById(id) {\n    return document.getElementById(id);\n  },\n  querySelector: function querySelector(query) {\n    return document.querySelector(query);\n  },\n  querySelectorAll: function querySelectorAll(query) {\n    return document.querySelectorAll(query);\n  },\n  nextElementSibling: function nextElementSibling(element) {\n    if (element.nextElementSibling) {\n      return element.nextElementSibling;\n    }\n    do {\n      element = element.nextSibling;\n    } while (element && element.nodeType !== 1);\n    return element;\n  },\n  createTemplateFromMarkup: function createTemplateFromMarkup(markup) {\n    var parser = document.createElement('div');\n    parser.innerHTML = markup;\n\n    var temp = parser.firstElementChild;\n    if (!temp || temp.nodeName !== 'TEMPLATE') {\n      throw new Error('Template markup must be wrapped in a <template> element e.g. <template> <!-- markup here --> </template>');\n    }\n\n    return _FEATURE.ensureHTMLTemplateElement(temp);\n  },\n  appendNode: function appendNode(newNode, parentNode) {\n    (parentNode || document.body).appendChild(newNode);\n  },\n  replaceNode: function replaceNode(newNode, node, parentNode) {\n    if (node.parentNode) {\n      node.parentNode.replaceChild(newNode, node);\n    } else if (shadowPoly !== null) {\n      shadowPoly.unwrap(parentNode).replaceChild(shadowPoly.unwrap(newNode), shadowPoly.unwrap(node));\n    } else {\n      parentNode.replaceChild(newNode, node);\n    }\n  },\n  removeNode: function removeNode(node, parentNode) {\n    if (node.parentNode) {\n      node.parentNode.removeChild(node);\n    } else if (parentNode) {\n      if (shadowPoly !== null) {\n        shadowPoly.unwrap(parentNode).removeChild(shadowPoly.unwrap(node));\n      } else {\n        parentNode.removeChild(node);\n      }\n    }\n  },\n  injectStyles: function injectStyles(styles, destination, prepend, id) {\n    if (id) {\n      var oldStyle = document.getElementById(id);\n      if (oldStyle) {\n        var isStyleTag = oldStyle.tagName.toLowerCase() === 'style';\n\n        if (isStyleTag) {\n          oldStyle.innerHTML = styles;\n          return;\n        }\n\n        throw new Error('The provided id does not indicate a style tag.');\n      }\n    }\n\n    var node = document.createElement('style');\n    node.innerHTML = styles;\n    node.type = 'text/css';\n\n    if (id) {\n      node.id = id;\n    }\n\n    destination = destination || document.head;\n\n    if (prepend && destination.childNodes.length > 0) {\n      destination.insertBefore(node, destination.childNodes[0]);\n    } else {\n      destination.appendChild(node);\n    }\n\n    return node;\n  }\n};\n\nexport function initialize() {\n  if (isInitialized) {\n    return;\n  }\n\n  initializePAL(function (platform, feature, dom) {\n    Object.assign(platform, _PLATFORM);\n    Object.assign(feature, _FEATURE);\n    Object.assign(dom, _DOM);\n\n    Object.defineProperty(dom, 'title', {\n      get: function get() {\n        return document.title;\n      },\n      set: function set(value) {\n        document.title = value;\n      }\n    });\n\n    Object.defineProperty(dom, 'activeElement', {\n      get: function get() {\n        return document.activeElement;\n      }\n    });\n\n    Object.defineProperty(platform, 'XMLHttpRequest', {\n      get: function get() {\n        return platform.global.XMLHttpRequest;\n      }\n    });\n  });\n}","\nexport function AggregateError(message, innerError, skipIfAlreadyAggregate) {\n  if (innerError) {\n    if (innerError.innerError && skipIfAlreadyAggregate) {\n      return innerError;\n    }\n\n    var separator = '\\n------------------------------------------------\\n';\n\n    message += separator + 'Inner Error:\\n';\n\n    if (typeof innerError === 'string') {\n      message += 'Message: ' + innerError;\n    } else {\n      if (innerError.message) {\n        message += 'Message: ' + innerError.message;\n      } else {\n        message += 'Unknown Inner Error Type. Displaying Inner Error as JSON:\\n ' + JSON.stringify(innerError, null, '  ');\n      }\n\n      if (innerError.stack) {\n        message += '\\nInner Error Stack:\\n' + innerError.stack;\n        message += '\\nEnd Inner Error Stack';\n      }\n    }\n\n    message += separator;\n  }\n\n  var e = new Error(message);\n  if (innerError) {\n    e.innerError = innerError;\n  }\n\n  return e;\n}\n\nexport var FEATURE = {};\n\nexport var PLATFORM = {\n  noop: function noop() {},\n  eachModule: function eachModule() {},\n  moduleName: function (_moduleName) {\n    function moduleName(_x) {\n      return _moduleName.apply(this, arguments);\n    }\n\n    moduleName.toString = function () {\n      return _moduleName.toString();\n    };\n\n    return moduleName;\n  }(function (moduleName) {\n    return moduleName;\n  })\n};\n\nPLATFORM.global = function () {\n  if (typeof self !== 'undefined') {\n    return self;\n  }\n\n  if (typeof global !== 'undefined') {\n    return global;\n  }\n\n  return new Function('return this')();\n}();\n\nexport var DOM = {};\nexport var isInitialized = false;\n\nexport function initializePAL(callback) {\n  if (isInitialized) {\n    return;\n  }\n  isInitialized = true;\n  if (typeof Object.getPropertyDescriptor !== 'function') {\n    Object.getPropertyDescriptor = function (subject, name) {\n      var pd = Object.getOwnPropertyDescriptor(subject, name);\n      var proto = Object.getPrototypeOf(subject);\n      while (typeof pd === 'undefined' && proto !== null) {\n        pd = Object.getOwnPropertyDescriptor(proto, name);\n        proto = Object.getPrototypeOf(proto);\n      }\n      return pd;\n    };\n  }\n\n  callback(PLATFORM, FEATURE, DOM);\n}\nexport function reset() {\n  isInitialized = false;\n}","function trimDots(ary) {\r\n    for (var i = 0; i < ary.length; ++i) {\r\n        var part = ary[i];\r\n        if (part === '.') {\r\n            ary.splice(i, 1);\r\n            i -= 1;\r\n        }\r\n        else if (part === '..') {\r\n            if (i === 0 || (i === 1 && ary[2] === '..') || ary[i - 1] === '..') {\r\n                continue;\r\n            }\r\n            else if (i > 0) {\r\n                ary.splice(i - 1, 2);\r\n                i -= 2;\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction relativeToFile(name, file) {\r\n    var fileParts = file && file.split('/');\r\n    var nameParts = name.trim().split('/');\r\n    if (nameParts[0].charAt(0) === '.' && fileParts) {\r\n        var normalizedBaseParts = fileParts.slice(0, fileParts.length - 1);\r\n        nameParts.unshift.apply(nameParts, normalizedBaseParts);\r\n    }\r\n    trimDots(nameParts);\r\n    return nameParts.join('/');\r\n}\r\nfunction join(path1, path2) {\r\n    if (!path1) {\r\n        return path2;\r\n    }\r\n    if (!path2) {\r\n        return path1;\r\n    }\r\n    var schemeMatch = path1.match(/^([^/]*?:)\\//);\r\n    var scheme = (schemeMatch && schemeMatch.length > 0) ? schemeMatch[1] : '';\r\n    path1 = path1.substr(scheme.length);\r\n    var urlPrefix;\r\n    if (path1.indexOf('///') === 0 && scheme === 'file:') {\r\n        urlPrefix = '///';\r\n    }\r\n    else if (path1.indexOf('//') === 0) {\r\n        urlPrefix = '//';\r\n    }\r\n    else if (path1.indexOf('/') === 0) {\r\n        urlPrefix = '/';\r\n    }\r\n    else {\r\n        urlPrefix = '';\r\n    }\r\n    var trailingSlash = path2.slice(-1) === '/' ? '/' : '';\r\n    var url1 = path1.split('/');\r\n    var url2 = path2.split('/');\r\n    var url3 = [];\r\n    for (var i = 0, ii = url1.length; i < ii; ++i) {\r\n        if (url1[i] === '..') {\r\n            if (url3.length && url3[url3.length - 1] !== '..') {\r\n                url3.pop();\r\n            }\r\n            else {\r\n                url3.push(url1[i]);\r\n            }\r\n        }\r\n        else if (url1[i] === '.' || url1[i] === '') {\r\n            continue;\r\n        }\r\n        else {\r\n            url3.push(url1[i]);\r\n        }\r\n    }\r\n    for (var i = 0, ii = url2.length; i < ii; ++i) {\r\n        if (url2[i] === '..') {\r\n            if (url3.length && url3[url3.length - 1] !== '..') {\r\n                url3.pop();\r\n            }\r\n            else {\r\n                url3.push(url2[i]);\r\n            }\r\n        }\r\n        else if (url2[i] === '.' || url2[i] === '') {\r\n            continue;\r\n        }\r\n        else {\r\n            url3.push(url2[i]);\r\n        }\r\n    }\r\n    return scheme + urlPrefix + url3.join('/') + trailingSlash;\r\n}\r\nvar encode = encodeURIComponent;\r\nvar encodeKey = function (k) { return encode(k).replace('%24', '$'); };\r\nfunction buildParam(key, value, traditional) {\r\n    var result = [];\r\n    if (value === null || value === undefined) {\r\n        return result;\r\n    }\r\n    if (Array.isArray(value)) {\r\n        for (var i = 0, l = value.length; i < l; i++) {\r\n            if (traditional) {\r\n                result.push(encodeKey(key) + \"=\" + encode(value[i]));\r\n            }\r\n            else {\r\n                var arrayKey = key + '[' + (typeof value[i] === 'object' && value[i] !== null ? i : '') + ']';\r\n                result = result.concat(buildParam(arrayKey, value[i]));\r\n            }\r\n        }\r\n    }\r\n    else if (typeof (value) === 'object' && !traditional) {\r\n        for (var propertyName in value) {\r\n            result = result.concat(buildParam(key + '[' + propertyName + ']', value[propertyName]));\r\n        }\r\n    }\r\n    else {\r\n        result.push(encodeKey(key) + \"=\" + encode(value));\r\n    }\r\n    return result;\r\n}\r\nfunction buildQueryString(params, traditional) {\r\n    var pairs = [];\r\n    var keys = Object.keys(params || {}).sort();\r\n    for (var i = 0, len = keys.length; i < len; i++) {\r\n        var key = keys[i];\r\n        pairs = pairs.concat(buildParam(key, params[key], traditional));\r\n    }\r\n    if (pairs.length === 0) {\r\n        return '';\r\n    }\r\n    return pairs.join('&');\r\n}\r\nfunction processScalarParam(existedParam, value) {\r\n    if (Array.isArray(existedParam)) {\r\n        existedParam.push(value);\r\n        return existedParam;\r\n    }\r\n    if (existedParam !== undefined) {\r\n        return [existedParam, value];\r\n    }\r\n    return value;\r\n}\r\nfunction parseComplexParam(queryParams, keys, value) {\r\n    var currentParams = queryParams;\r\n    var keysLastIndex = keys.length - 1;\r\n    for (var j = 0; j <= keysLastIndex; j++) {\r\n        var key = keys[j] === '' ? currentParams.length : keys[j];\r\n        preventPollution(key);\r\n        if (j < keysLastIndex) {\r\n            var prevValue = !currentParams[key] || typeof currentParams[key] === 'object' ? currentParams[key] : [currentParams[key]];\r\n            currentParams = currentParams[key] = prevValue || (isNaN(keys[j + 1]) ? {} : []);\r\n        }\r\n        else {\r\n            currentParams = currentParams[key] = value;\r\n        }\r\n    }\r\n}\r\nfunction parseQueryString(queryString) {\r\n    var queryParams = {};\r\n    if (!queryString || typeof queryString !== 'string') {\r\n        return queryParams;\r\n    }\r\n    var query = queryString;\r\n    if (query.charAt(0) === '?') {\r\n        query = query.substr(1);\r\n    }\r\n    var pairs = query.replace(/\\+/g, ' ').split('&');\r\n    for (var i = 0; i < pairs.length; i++) {\r\n        var pair = pairs[i].split('=');\r\n        var key = decodeURIComponent(pair[0]);\r\n        if (!key) {\r\n            continue;\r\n        }\r\n        var keys = key.split('][');\r\n        var keysLastIndex = keys.length - 1;\r\n        if (/\\[/.test(keys[0]) && /\\]$/.test(keys[keysLastIndex])) {\r\n            keys[keysLastIndex] = keys[keysLastIndex].replace(/\\]$/, '');\r\n            keys = keys.shift().split('[').concat(keys);\r\n            keysLastIndex = keys.length - 1;\r\n        }\r\n        else {\r\n            keysLastIndex = 0;\r\n        }\r\n        if (pair.length >= 2) {\r\n            var value = pair[1] ? decodeURIComponent(pair[1]) : '';\r\n            if (keysLastIndex) {\r\n                parseComplexParam(queryParams, keys, value);\r\n            }\r\n            else {\r\n                preventPollution(key);\r\n                queryParams[key] = processScalarParam(queryParams[key], value);\r\n            }\r\n        }\r\n        else {\r\n            queryParams[key] = true;\r\n        }\r\n    }\r\n    return queryParams;\r\n}\r\nfunction preventPollution(key) {\r\n    if (key === '__proto__') {\r\n        throw new Error('Prototype pollution detected.');\r\n    }\r\n}\n\nexport { buildQueryString, join, parseQueryString, relativeToFile };\n//# sourceMappingURL=aurelia-path.js.map\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { PLATFORM } from 'aurelia-pal';\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function (Object, GOPS) {\n    'use strict';\n\n    if (GOPS in Object) return;\n\n    var setDescriptor,\n        G = PLATFORM.global,\n        id = 0,\n        random = '' + Math.random(),\n        prefix = '__\\x01symbol:',\n        prefixLength = prefix.length,\n        internalSymbol = '__\\x01symbol@@' + random,\n        DP = 'defineProperty',\n        DPies = 'defineProperties',\n        GOPN = 'getOwnPropertyNames',\n        GOPD = 'getOwnPropertyDescriptor',\n        PIE = 'propertyIsEnumerable',\n        gOPN = Object[GOPN],\n        gOPD = Object[GOPD],\n        create = Object.create,\n        keys = Object.keys,\n        defineProperty = Object[DP],\n        $defineProperties = Object[DPies],\n        descriptor = gOPD(Object, GOPN),\n        ObjectProto = Object.prototype,\n        hOP = ObjectProto.hasOwnProperty,\n        pIE = ObjectProto[PIE],\n        toString = ObjectProto.toString,\n        indexOf = Array.prototype.indexOf || function (v) {\n      for (var i = this.length; i-- && this[i] !== v;) {}\n      return i;\n    },\n        addInternalIfNeeded = function addInternalIfNeeded(o, uid, enumerable) {\n      if (!hOP.call(o, internalSymbol)) {\n        defineProperty(o, internalSymbol, {\n          enumerable: false,\n          configurable: false,\n          writable: false,\n          value: {}\n        });\n      }\n      o[internalSymbol]['@@' + uid] = enumerable;\n    },\n        createWithSymbols = function createWithSymbols(proto, descriptors) {\n      var self = create(proto);\n      if (descriptors !== null && (typeof descriptors === 'undefined' ? 'undefined' : _typeof(descriptors)) === 'object') {\n        gOPN(descriptors).forEach(function (key) {\n          if (propertyIsEnumerable.call(descriptors, key)) {\n            $defineProperty(self, key, descriptors[key]);\n          }\n        });\n      }\n      return self;\n    },\n        copyAsNonEnumerable = function copyAsNonEnumerable(descriptor) {\n      var newDescriptor = create(descriptor);\n      newDescriptor.enumerable = false;\n      return newDescriptor;\n    },\n        get = function get() {},\n        onlyNonSymbols = function onlyNonSymbols(name) {\n      return name != internalSymbol && !hOP.call(source, name);\n    },\n        onlySymbols = function onlySymbols(name) {\n      return name != internalSymbol && hOP.call(source, name);\n    },\n        propertyIsEnumerable = function propertyIsEnumerable(key) {\n      var uid = '' + key;\n      return onlySymbols(uid) ? hOP.call(this, uid) && this[internalSymbol] && this[internalSymbol]['@@' + uid] : pIE.call(this, key);\n    },\n        setAndGetSymbol = function setAndGetSymbol(uid) {\n      var descriptor = {\n        enumerable: false,\n        configurable: true,\n        get: get,\n        set: function set(value) {\n          setDescriptor(this, uid, {\n            enumerable: false,\n            configurable: true,\n            writable: true,\n            value: value\n          });\n          addInternalIfNeeded(this, uid, true);\n        }\n      };\n      defineProperty(ObjectProto, uid, descriptor);\n      return source[uid] = defineProperty(Object(uid), 'constructor', sourceConstructor);\n    },\n        _Symbol = function _Symbol2(description) {\n      if (this && this !== G) {\n        throw new TypeError('Symbol is not a constructor');\n      }\n      return setAndGetSymbol(prefix.concat(description || '', random, ++id));\n    },\n        source = create(null),\n        sourceConstructor = { value: _Symbol },\n        sourceMap = function sourceMap(uid) {\n      return source[uid];\n    },\n        $defineProperty = function defineProp(o, key, descriptor) {\n      var uid = '' + key;\n      if (onlySymbols(uid)) {\n        setDescriptor(o, uid, descriptor.enumerable ? copyAsNonEnumerable(descriptor) : descriptor);\n        addInternalIfNeeded(o, uid, !!descriptor.enumerable);\n      } else {\n        defineProperty(o, key, descriptor);\n      }\n      return o;\n    },\n        $getOwnPropertySymbols = function getOwnPropertySymbols(o) {\n      var cof = toString.call(o);\n      o = cof === '[object String]' ? o.split('') : Object(o);\n      return gOPN(o).filter(onlySymbols).map(sourceMap);\n    };\n\n    descriptor.value = $defineProperty;\n    defineProperty(Object, DP, descriptor);\n\n    descriptor.value = $getOwnPropertySymbols;\n    defineProperty(Object, GOPS, descriptor);\n\n    var cachedWindowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' ? Object.getOwnPropertyNames(window) : [];\n    var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n    descriptor.value = function getOwnPropertyNames(o) {\n      if (toString.call(o) === '[object Window]') {\n        try {\n          return originalObjectGetOwnPropertyNames(o);\n        } catch (e) {\n          return [].concat([], cachedWindowNames);\n        }\n      }\n      return gOPN(o).filter(onlyNonSymbols);\n    };\n    defineProperty(Object, GOPN, descriptor);\n\n    descriptor.value = function defineProperties(o, descriptors) {\n      var symbols = $getOwnPropertySymbols(descriptors);\n      if (symbols.length) {\n        keys(descriptors).concat(symbols).forEach(function (uid) {\n          if (propertyIsEnumerable.call(descriptors, uid)) {\n            $defineProperty(o, uid, descriptors[uid]);\n          }\n        });\n      } else {\n        $defineProperties(o, descriptors);\n      }\n      return o;\n    };\n    defineProperty(Object, DPies, descriptor);\n\n    descriptor.value = propertyIsEnumerable;\n    defineProperty(ObjectProto, PIE, descriptor);\n\n    descriptor.value = _Symbol;\n    defineProperty(G, 'Symbol', descriptor);\n\n    descriptor.value = function (key) {\n      var uid = prefix.concat(prefix, key, random);\n      return uid in ObjectProto ? source[uid] : setAndGetSymbol(uid);\n    };\n    defineProperty(_Symbol, 'for', descriptor);\n\n    descriptor.value = function (symbol) {\n      return hOP.call(source, symbol) ? symbol.slice(prefixLength * 2, -random.length) : void 0;\n    };\n    defineProperty(_Symbol, 'keyFor', descriptor);\n\n    descriptor.value = function getOwnPropertyDescriptor(o, key) {\n      var descriptor = gOPD(o, key);\n      if (descriptor && onlySymbols(key)) {\n        descriptor.enumerable = propertyIsEnumerable.call(o, key);\n      }\n      return descriptor;\n    };\n    defineProperty(Object, GOPD, descriptor);\n\n    descriptor.value = function (proto, descriptors) {\n      return arguments.length === 1 ? create(proto) : createWithSymbols(proto, descriptors);\n    };\n    defineProperty(Object, 'create', descriptor);\n\n    descriptor.value = function () {\n      var str = toString.call(this);\n      return str === '[object String]' && onlySymbols(this) ? '[object Symbol]' : str;\n    };\n    defineProperty(ObjectProto, 'toString', descriptor);\n\n    try {\n      setDescriptor = create(defineProperty({}, prefix, {\n        get: function get() {\n          return defineProperty(this, prefix, { value: false })[prefix];\n        }\n      }))[prefix] || defineProperty;\n    } catch (o_O) {\n      setDescriptor = function setDescriptor(o, key, descriptor) {\n        var protoDescriptor = gOPD(ObjectProto, key);\n        delete ObjectProto[key];\n        defineProperty(o, key, descriptor);\n        defineProperty(ObjectProto, key, protoDescriptor);\n      };\n    }\n  })(Object, 'getOwnPropertySymbols');\n\n  (function (O, S) {\n    var dP = O.defineProperty,\n        ObjectProto = O.prototype,\n        toString = ObjectProto.toString,\n        toStringTag = 'toStringTag',\n        descriptor;\n    ['iterator', 'match', 'replace', 'search', 'split', 'hasInstance', 'isConcatSpreadable', 'unscopables', 'species', 'toPrimitive', toStringTag].forEach(function (name) {\n      if (!(name in Symbol)) {\n        dP(Symbol, name, { value: Symbol(name) });\n        switch (name) {\n          case toStringTag:\n            descriptor = O.getOwnPropertyDescriptor(ObjectProto, 'toString');\n            descriptor.value = function () {\n              var str = toString.call(this),\n                  tst = typeof this === 'undefined' || this === null ? undefined : this[Symbol.toStringTag];\n              return typeof tst === 'undefined' ? str : '[object ' + tst + ']';\n            };\n            dP(ObjectProto, 'toString', descriptor);\n            break;\n        }\n      }\n    });\n  })(Object, Symbol);\n\n  (function (Si, AP, SP) {\n\n    function returnThis() {\n      return this;\n    }\n\n    if (!AP[Si]) AP[Si] = function () {\n      var i = 0,\n          self = this,\n          iterator = {\n        next: function next() {\n          var done = self.length <= i;\n          return done ? { done: done } : { done: done, value: self[i++] };\n        }\n      };\n      iterator[Si] = returnThis;\n      return iterator;\n    };\n\n    if (!SP[Si]) SP[Si] = function () {\n      var fromCodePoint = String.fromCodePoint,\n          self = this,\n          i = 0,\n          length = self.length,\n          iterator = {\n        next: function next() {\n          var done = length <= i,\n              c = done ? '' : fromCodePoint(self.codePointAt(i));\n          i += c.length;\n          return done ? { done: done } : { done: done, value: c };\n        }\n      };\n      iterator[Si] = returnThis;\n      return iterator;\n    };\n  })(Symbol.iterator, Array.prototype, String.prototype);\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  Number.isNaN = Number.isNaN || function (value) {\n    return value !== value;\n  };\n\n  Number.isFinite = Number.isFinite || function (value) {\n    return typeof value === \"number\" && isFinite(value);\n  };\n}\n\nif (!String.prototype.endsWith || function () {\n  try {\n    return !\"ab\".endsWith(\"a\", 1);\n  } catch (e) {\n    return true;\n  }\n}()) {\n  String.prototype.endsWith = function (searchString, position) {\n    var subjectString = this.toString();\n    if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n      position = subjectString.length;\n    }\n    position -= searchString.length;\n    var lastIndex = subjectString.indexOf(searchString, position);\n    return lastIndex !== -1 && lastIndex === position;\n  };\n}\n\nif (!String.prototype.startsWith || function () {\n  try {\n    return !\"ab\".startsWith(\"b\", 1);\n  } catch (e) {\n    return true;\n  }\n}()) {\n  String.prototype.startsWith = function (searchString, position) {\n    position = position || 0;\n    return this.substr(position, searchString.length) === searchString;\n  };\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  if (!Array.from) {\n    Array.from = function () {\n      var toInteger = function toInteger(it) {\n        return isNaN(it = +it) ? 0 : (it > 0 ? Math.floor : Math.ceil)(it);\n      };\n      var toLength = function toLength(it) {\n        return it > 0 ? Math.min(toInteger(it), 0x1fffffffffffff) : 0;\n      };\n      var iterCall = function iterCall(iter, fn, val, index) {\n        try {\n          return fn(val, index);\n        } catch (E) {\n          if (typeof iter.return == 'function') iter.return();\n          throw E;\n        }\n      };\n\n      return function from(arrayLike) {\n        var O = Object(arrayLike),\n            C = typeof this == 'function' ? this : Array,\n            aLen = arguments.length,\n            mapfn = aLen > 1 ? arguments[1] : undefined,\n            mapping = mapfn !== undefined,\n            index = 0,\n            iterFn = O[Symbol.iterator],\n            length,\n            result,\n            step,\n            iterator;\n        if (mapping) mapfn = mapfn.bind(aLen > 2 ? arguments[2] : undefined);\n        if (iterFn != undefined && !Array.isArray(arrayLike)) {\n          for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n            result[index] = mapping ? iterCall(iterator, mapfn, step.value, index) : step.value;\n          }\n        } else {\n          length = toLength(O.length);\n          for (result = new C(length); length > index; index++) {\n            result[index] = mapping ? mapfn(O[index], index) : O[index];\n          }\n        }\n        result.length = index;\n        return result;\n      };\n    }();\n  }\n\n  if (!Array.prototype.find) {\n    Object.defineProperty(Array.prototype, 'find', {\n      configurable: true,\n      writable: true,\n      enumerable: false,\n      value: function value(predicate) {\n        if (this === null) {\n          throw new TypeError('Array.prototype.find called on null or undefined');\n        }\n        if (typeof predicate !== 'function') {\n          throw new TypeError('predicate must be a function');\n        }\n        var list = Object(this);\n        var length = list.length >>> 0;\n        var thisArg = arguments[1];\n        var value;\n\n        for (var i = 0; i < length; i++) {\n          value = list[i];\n          if (predicate.call(thisArg, value, i, list)) {\n            return value;\n          }\n        }\n        return undefined;\n      }\n    });\n  }\n\n  if (!Array.prototype.findIndex) {\n    Object.defineProperty(Array.prototype, 'findIndex', {\n      configurable: true,\n      writable: true,\n      enumerable: false,\n      value: function value(predicate) {\n        if (this === null) {\n          throw new TypeError('Array.prototype.findIndex called on null or undefined');\n        }\n        if (typeof predicate !== 'function') {\n          throw new TypeError('predicate must be a function');\n        }\n        var list = Object(this);\n        var length = list.length >>> 0;\n        var thisArg = arguments[1];\n        var value;\n\n        for (var i = 0; i < length; i++) {\n          value = list[i];\n          if (predicate.call(thisArg, value, i, list)) {\n            return i;\n          }\n        }\n        return -1;\n      }\n    });\n  }\n}\n\nif (typeof FEATURE_NO_ES2016 === 'undefined' && !Array.prototype.includes) {\n  Object.defineProperty(Array.prototype, 'includes', {\n    configurable: true,\n    writable: true,\n    enumerable: false,\n    value: function value(searchElement) {\n      var O = Object(this);\n      var len = parseInt(O.length) || 0;\n      if (len === 0) {\n        return false;\n      }\n      var n = parseInt(arguments[1]) || 0;\n      var k;\n      if (n >= 0) {\n        k = n;\n      } else {\n        k = len + n;\n        if (k < 0) {\n          k = 0;\n        }\n      }\n      var currentElement;\n      while (k < len) {\n        currentElement = O[k];\n        if (searchElement === currentElement || searchElement !== searchElement && currentElement !== currentElement) {\n          return true;\n        }\n        k++;\n      }\n      return false;\n    }\n  });\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function () {\n    var needsFix = false;\n\n    try {\n      var s = Object.keys('a');\n      needsFix = s.length !== 1 || s[0] !== '0';\n    } catch (e) {\n      needsFix = true;\n    }\n\n    if (needsFix) {\n      Object.keys = function () {\n        var hasOwnProperty = Object.prototype.hasOwnProperty,\n            hasDontEnumBug = !{ toString: null }.propertyIsEnumerable('toString'),\n            dontEnums = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'],\n            dontEnumsLength = dontEnums.length;\n\n        return function (obj) {\n          if (obj === undefined || obj === null) {\n            throw TypeError('Cannot convert undefined or null to object');\n          }\n\n          obj = Object(obj);\n\n          var result = [],\n              prop,\n              i;\n\n          for (prop in obj) {\n            if (hasOwnProperty.call(obj, prop)) {\n              result.push(prop);\n            }\n          }\n\n          if (hasDontEnumBug) {\n            for (i = 0; i < dontEnumsLength; i++) {\n              if (hasOwnProperty.call(obj, dontEnums[i])) {\n                result.push(dontEnums[i]);\n              }\n            }\n          }\n\n          return result;\n        };\n      }();\n    }\n  })();\n\n  (function (O) {\n    if ('assign' in O) {\n      return;\n    }\n\n    O.defineProperty(O, 'assign', {\n      configurable: true,\n      writable: true,\n      value: function () {\n        var gOPS = O.getOwnPropertySymbols,\n            pIE = O.propertyIsEnumerable,\n            filterOS = gOPS ? function (self) {\n          return gOPS(self).filter(pIE, self);\n        } : function () {\n          return Array.prototype;\n        };\n\n        return function assign(where) {\n          if (gOPS && !(where instanceof O)) {\n            console.warn('problematic Symbols', where);\n          }\n\n          function set(keyOrSymbol) {\n            where[keyOrSymbol] = arg[keyOrSymbol];\n          }\n\n          for (var i = 1, ii = arguments.length; i < ii; ++i) {\n            var arg = arguments[i];\n\n            if (arg === null || arg === undefined) {\n              continue;\n            }\n\n            O.keys(arg).concat(filterOS(arg)).forEach(set);\n          }\n\n          return where;\n        };\n      }()\n    });\n  })(Object);\n\n  if (!Object.is) {\n    Object.is = function (x, y) {\n      if (x === y) {\n        return x !== 0 || 1 / x === 1 / y;\n      } else {\n        return x !== x && y !== y;\n      }\n    };\n  }\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  (function (global) {\n    var i;\n\n    var defineProperty = Object.defineProperty,\n        is = function is(a, b) {\n      return a === b || a !== a && b !== b;\n    };\n\n    if (typeof WeakMap == 'undefined') {\n      global.WeakMap = createCollection({\n        'delete': sharedDelete,\n\n        clear: sharedClear,\n\n        get: sharedGet,\n\n        has: mapHas,\n\n        set: sharedSet\n      }, true);\n    }\n\n    if (typeof Map == 'undefined' || typeof new Map().values !== 'function' || !new Map().values().next) {\n      var _createCollection;\n\n      global.Map = createCollection((_createCollection = {\n        'delete': sharedDelete,\n\n        has: mapHas,\n\n        get: sharedGet,\n\n        set: sharedSet,\n\n        keys: sharedKeys,\n\n        values: sharedValues,\n\n        entries: mapEntries,\n\n        forEach: sharedForEach,\n\n        clear: sharedClear\n      }, _createCollection[Symbol.iterator] = mapEntries, _createCollection));\n    }\n\n    if (typeof Set == 'undefined' || typeof new Set().values !== 'function' || !new Set().values().next) {\n      var _createCollection2;\n\n      global.Set = createCollection((_createCollection2 = {\n        has: setHas,\n\n        add: sharedAdd,\n\n        'delete': sharedDelete,\n\n        clear: sharedClear,\n\n        keys: sharedValues,\n        values: sharedValues,\n\n        entries: setEntries,\n\n        forEach: sharedForEach\n      }, _createCollection2[Symbol.iterator] = sharedValues, _createCollection2));\n    }\n\n    if (typeof WeakSet == 'undefined') {\n      global.WeakSet = createCollection({\n        'delete': sharedDelete,\n\n        add: sharedAdd,\n\n        clear: sharedClear,\n\n        has: setHas\n      }, true);\n    }\n\n    function createCollection(proto, objectOnly) {\n      function Collection(a) {\n        if (!this || this.constructor !== Collection) return new Collection(a);\n        this._keys = [];\n        this._values = [];\n        this._itp = [];\n        this.objectOnly = objectOnly;\n\n        if (a) init.call(this, a);\n      }\n\n      if (!objectOnly) {\n        defineProperty(proto, 'size', {\n          get: sharedSize\n        });\n      }\n\n      proto.constructor = Collection;\n      Collection.prototype = proto;\n\n      return Collection;\n    }\n\n    function init(a) {\n      var i;\n\n      if (this.add) a.forEach(this.add, this);else a.forEach(function (a) {\n          this.set(a[0], a[1]);\n        }, this);\n    }\n\n    function sharedDelete(key) {\n      if (this.has(key)) {\n        this._keys.splice(i, 1);\n        this._values.splice(i, 1);\n\n        this._itp.forEach(function (p) {\n          if (i < p[0]) p[0]--;\n        });\n      }\n\n      return -1 < i;\n    };\n\n    function sharedGet(key) {\n      return this.has(key) ? this._values[i] : undefined;\n    }\n\n    function has(list, key) {\n      if (this.objectOnly && key !== Object(key)) throw new TypeError(\"Invalid value used as weak collection key\");\n\n      if (key != key || key === 0) for (i = list.length; i-- && !is(list[i], key);) {} else i = list.indexOf(key);\n      return -1 < i;\n    }\n\n    function setHas(value) {\n      return has.call(this, this._values, value);\n    }\n\n    function mapHas(value) {\n      return has.call(this, this._keys, value);\n    }\n\n    function sharedSet(key, value) {\n      this.has(key) ? this._values[i] = value : this._values[this._keys.push(key) - 1] = value;\n      return this;\n    }\n\n    function sharedAdd(value) {\n      if (!this.has(value)) this._values.push(value);\n      return this;\n    }\n\n    function sharedClear() {\n      (this._keys || 0).length = this._values.length = 0;\n    }\n\n    function sharedKeys() {\n      return sharedIterator(this._itp, this._keys);\n    }\n\n    function sharedValues() {\n      return sharedIterator(this._itp, this._values);\n    }\n\n    function mapEntries() {\n      return sharedIterator(this._itp, this._keys, this._values);\n    }\n\n    function setEntries() {\n      return sharedIterator(this._itp, this._values, this._values);\n    }\n\n    function sharedIterator(itp, array, array2) {\n      var _ref;\n\n      var p = [0],\n          done = false;\n      itp.push(p);\n      return _ref = {}, _ref[Symbol.iterator] = function () {\n        return this;\n      }, _ref.next = function next() {\n        var v,\n            k = p[0];\n        if (!done && k < array.length) {\n          v = array2 ? [array[k], array2[k]] : array[k];\n          p[0]++;\n        } else {\n          done = true;\n          itp.splice(itp.indexOf(p), 1);\n        }\n        return { done: done, value: v };\n      }, _ref;\n    }\n\n    function sharedSize() {\n      return this._values.length;\n    }\n\n    function sharedForEach(callback, context) {\n      var it = this.entries();\n      for (;;) {\n        var r = it.next();\n        if (r.done) break;\n        callback.call(context, r.value[1], r.value[0], this);\n      }\n    }\n  })(PLATFORM.global);\n}\n\nif (typeof FEATURE_NO_ES2015 === 'undefined') {\n\n  var bind = Function.prototype.bind;\n\n  if (typeof PLATFORM.global.Reflect === 'undefined') {\n    PLATFORM.global.Reflect = {};\n  }\n\n  if (typeof Reflect.defineProperty !== 'function') {\n    Reflect.defineProperty = function (target, propertyKey, descriptor) {\n      if ((typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' ? target === null : typeof target !== 'function') {\n        throw new TypeError('Reflect.defineProperty called on non-object');\n      }\n      try {\n        Object.defineProperty(target, propertyKey, descriptor);\n        return true;\n      } catch (e) {\n        return false;\n      }\n    };\n  }\n\n  if (typeof Reflect.construct !== 'function') {\n    Reflect.construct = function (Target, args) {\n      if (args) {\n        switch (args.length) {\n          case 0:\n            return new Target();\n          case 1:\n            return new Target(args[0]);\n          case 2:\n            return new Target(args[0], args[1]);\n          case 3:\n            return new Target(args[0], args[1], args[2]);\n          case 4:\n            return new Target(args[0], args[1], args[2], args[3]);\n        }\n      }\n\n      var a = [null];\n      a.push.apply(a, args);\n      return new (bind.apply(Target, a))();\n    };\n  }\n\n  if (typeof Reflect.ownKeys !== 'function') {\n    Reflect.ownKeys = function (o) {\n      return Object.getOwnPropertyNames(o).concat(Object.getOwnPropertySymbols(o));\n    };\n  }\n}\n\nif (typeof FEATURE_NO_ESNEXT === 'undefined') {\n\n  var emptyMetadata = Object.freeze({});\n  var metadataContainerKey = '__metadata__';\n\n  if (typeof Reflect.getOwnMetadata !== 'function') {\n    Reflect.getOwnMetadata = function (metadataKey, target, targetKey) {\n      if (target.hasOwnProperty(metadataContainerKey)) {\n        return (target[metadataContainerKey][targetKey] || emptyMetadata)[metadataKey];\n      }\n    };\n  }\n\n  if (typeof Reflect.defineMetadata !== 'function') {\n    Reflect.defineMetadata = function (metadataKey, metadataValue, target, targetKey) {\n      var metadataContainer = target.hasOwnProperty(metadataContainerKey) ? target[metadataContainerKey] : target[metadataContainerKey] = {};\n      var targetContainer = metadataContainer[targetKey] || (metadataContainer[targetKey] = {});\n      targetContainer[metadataKey] = metadataValue;\n    };\n  }\n\n  if (typeof Reflect.metadata !== 'function') {\n    Reflect.metadata = function (metadataKey, metadataValue) {\n      return function (target, targetKey) {\n        Reflect.defineMetadata(metadataKey, metadataValue, target, targetKey);\n      };\n    };\n  }\n}","\n\nimport { buildQueryString, parseQueryString } from 'aurelia-path';\n\nexport var State = function () {\n  function State(charSpec) {\n    \n\n    this.charSpec = charSpec;\n    this.nextStates = [];\n  }\n\n  State.prototype.get = function get(charSpec) {\n    for (var _iterator = this.nextStates, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var child = _ref;\n\n      var isEqual = child.charSpec.validChars === charSpec.validChars && child.charSpec.invalidChars === charSpec.invalidChars;\n\n      if (isEqual) {\n        return child;\n      }\n    }\n\n    return undefined;\n  };\n\n  State.prototype.put = function put(charSpec) {\n    var state = this.get(charSpec);\n\n    if (state) {\n      return state;\n    }\n\n    state = new State(charSpec);\n\n    this.nextStates.push(state);\n\n    if (charSpec.repeat) {\n      state.nextStates.push(state);\n    }\n\n    return state;\n  };\n\n  State.prototype.match = function match(ch) {\n    var nextStates = this.nextStates;\n    var results = [];\n\n    for (var i = 0, l = nextStates.length; i < l; i++) {\n      var child = nextStates[i];\n      var charSpec = child.charSpec;\n\n      if (charSpec.validChars !== undefined) {\n        if (charSpec.validChars.indexOf(ch) !== -1) {\n          results.push(child);\n        }\n      } else if (charSpec.invalidChars !== undefined) {\n        if (charSpec.invalidChars.indexOf(ch) === -1) {\n          results.push(child);\n        }\n      }\n    }\n\n    return results;\n  };\n\n  return State;\n}();\n\nvar specials = ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\\\'];\n\nvar escapeRegex = new RegExp('(\\\\' + specials.join('|\\\\') + ')', 'g');\n\nexport var StaticSegment = function () {\n  function StaticSegment(string, caseSensitive) {\n    \n\n    this.string = string;\n    this.caseSensitive = caseSensitive;\n  }\n\n  StaticSegment.prototype.eachChar = function eachChar(callback) {\n    var s = this.string;\n    for (var i = 0, ii = s.length; i < ii; ++i) {\n      var ch = s[i];\n      callback({ validChars: this.caseSensitive ? ch : ch.toUpperCase() + ch.toLowerCase() });\n    }\n  };\n\n  StaticSegment.prototype.regex = function regex() {\n    return this.string.replace(escapeRegex, '\\\\$1');\n  };\n\n  StaticSegment.prototype.generate = function generate() {\n    return this.string;\n  };\n\n  return StaticSegment;\n}();\n\nexport var DynamicSegment = function () {\n  function DynamicSegment(name, optional) {\n    \n\n    this.name = name;\n    this.optional = optional;\n  }\n\n  DynamicSegment.prototype.eachChar = function eachChar(callback) {\n    callback({ invalidChars: '/', repeat: true });\n  };\n\n  DynamicSegment.prototype.regex = function regex() {\n    return '([^/]+)';\n  };\n\n  DynamicSegment.prototype.generate = function generate(params, consumed) {\n    consumed[this.name] = true;\n    return params[this.name];\n  };\n\n  return DynamicSegment;\n}();\n\nexport var StarSegment = function () {\n  function StarSegment(name) {\n    \n\n    this.name = name;\n  }\n\n  StarSegment.prototype.eachChar = function eachChar(callback) {\n    callback({ invalidChars: '', repeat: true });\n  };\n\n  StarSegment.prototype.regex = function regex() {\n    return '(.+)';\n  };\n\n  StarSegment.prototype.generate = function generate(params, consumed) {\n    consumed[this.name] = true;\n    return params[this.name];\n  };\n\n  return StarSegment;\n}();\n\nexport var EpsilonSegment = function () {\n  function EpsilonSegment() {\n    \n  }\n\n  EpsilonSegment.prototype.eachChar = function eachChar() {};\n\n  EpsilonSegment.prototype.regex = function regex() {\n    return '';\n  };\n\n  EpsilonSegment.prototype.generate = function generate() {\n    return '';\n  };\n\n  return EpsilonSegment;\n}();\n\nexport var RouteRecognizer = function () {\n  function RouteRecognizer() {\n    \n\n    this.rootState = new State();\n    this.names = {};\n    this.routes = new Map();\n  }\n\n  RouteRecognizer.prototype.add = function add(route) {\n    var _this = this;\n\n    if (Array.isArray(route)) {\n      route.forEach(function (r) {\n        return _this.add(r);\n      });\n      return undefined;\n    }\n\n    var currentState = this.rootState;\n    var skippableStates = [];\n    var regex = '^';\n    var types = { statics: 0, dynamics: 0, stars: 0 };\n    var names = [];\n    var routeName = route.handler.name;\n    var isEmpty = true;\n    var segments = parse(route.path, names, types, route.caseSensitive);\n\n    for (var i = 0, ii = segments.length; i < ii; i++) {\n      var segment = segments[i];\n      if (segment instanceof EpsilonSegment) {\n        continue;\n      }\n\n      var _addSegment = addSegment(currentState, segment),\n          firstState = _addSegment[0],\n          nextState = _addSegment[1];\n\n      for (var j = 0, jj = skippableStates.length; j < jj; j++) {\n        skippableStates[j].nextStates.push(firstState);\n      }\n\n      if (segment.optional) {\n        skippableStates.push(nextState);\n        regex += '(?:/' + segment.regex() + ')?';\n      } else {\n        currentState = nextState;\n        regex += '/' + segment.regex();\n        skippableStates.length = 0;\n        isEmpty = false;\n      }\n    }\n\n    if (isEmpty) {\n      currentState = currentState.put({ validChars: '/' });\n      regex += '/?';\n    }\n\n    var handlers = [{ handler: route.handler, names: names }];\n\n    this.routes.set(route.handler, { segments: segments, handlers: handlers });\n    if (routeName) {\n      var routeNames = Array.isArray(routeName) ? routeName : [routeName];\n      for (var _i2 = 0; _i2 < routeNames.length; _i2++) {\n        if (!(routeNames[_i2] in this.names)) {\n          this.names[routeNames[_i2]] = { segments: segments, handlers: handlers };\n        }\n      }\n    }\n\n    for (var _i3 = 0; _i3 < skippableStates.length; _i3++) {\n      var state = skippableStates[_i3];\n      state.handlers = handlers;\n      state.regex = new RegExp(regex + '$', route.caseSensitive ? '' : 'i');\n      state.types = types;\n    }\n\n    currentState.handlers = handlers;\n    currentState.regex = new RegExp(regex + '$', route.caseSensitive ? '' : 'i');\n    currentState.types = types;\n\n    return currentState;\n  };\n\n  RouteRecognizer.prototype.getRoute = function getRoute(nameOrRoute) {\n    return typeof nameOrRoute === 'string' ? this.names[nameOrRoute] : this.routes.get(nameOrRoute);\n  };\n\n  RouteRecognizer.prototype.handlersFor = function handlersFor(nameOrRoute) {\n    var route = this.getRoute(nameOrRoute);\n    if (!route) {\n      throw new Error('There is no route named ' + nameOrRoute);\n    }\n\n    return [].concat(route.handlers);\n  };\n\n  RouteRecognizer.prototype.hasRoute = function hasRoute(nameOrRoute) {\n    return !!this.getRoute(nameOrRoute);\n  };\n\n  RouteRecognizer.prototype.generate = function generate(nameOrRoute, params) {\n    var route = this.getRoute(nameOrRoute);\n    if (!route) {\n      throw new Error('There is no route named ' + nameOrRoute);\n    }\n\n    var handler = route.handlers[0].handler;\n    if (handler.generationUsesHref) {\n      return handler.href;\n    }\n\n    var routeParams = Object.assign({}, params);\n    var segments = route.segments;\n    var consumed = {};\n    var output = '';\n\n    for (var i = 0, l = segments.length; i < l; i++) {\n      var segment = segments[i];\n\n      if (segment instanceof EpsilonSegment) {\n        continue;\n      }\n\n      var segmentValue = segment.generate(routeParams, consumed);\n      if (segmentValue === null || segmentValue === undefined) {\n        if (!segment.optional) {\n          throw new Error('A value is required for route parameter \\'' + segment.name + '\\' in route \\'' + nameOrRoute + '\\'.');\n        }\n      } else {\n        output += '/';\n        output += segmentValue;\n      }\n    }\n\n    if (output.charAt(0) !== '/') {\n      output = '/' + output;\n    }\n\n    for (var param in consumed) {\n      delete routeParams[param];\n    }\n\n    var queryString = buildQueryString(routeParams);\n    output += queryString ? '?' + queryString : '';\n\n    return output;\n  };\n\n  RouteRecognizer.prototype.recognize = function recognize(path) {\n    var states = [this.rootState];\n    var queryParams = {};\n    var isSlashDropped = false;\n    var normalizedPath = path;\n\n    var queryStart = normalizedPath.indexOf('?');\n    if (queryStart !== -1) {\n      var queryString = normalizedPath.substr(queryStart + 1, normalizedPath.length);\n      normalizedPath = normalizedPath.substr(0, queryStart);\n      queryParams = parseQueryString(queryString);\n    }\n\n    normalizedPath = decodeURI(normalizedPath);\n\n    if (normalizedPath.charAt(0) !== '/') {\n      normalizedPath = '/' + normalizedPath;\n    }\n\n    var pathLen = normalizedPath.length;\n    if (pathLen > 1 && normalizedPath.charAt(pathLen - 1) === '/') {\n      normalizedPath = normalizedPath.substr(0, pathLen - 1);\n      isSlashDropped = true;\n    }\n\n    for (var i = 0, l = normalizedPath.length; i < l; i++) {\n      states = recognizeChar(states, normalizedPath.charAt(i));\n      if (!states.length) {\n        break;\n      }\n    }\n\n    var solutions = [];\n    for (var _i4 = 0, _l = states.length; _i4 < _l; _i4++) {\n      if (states[_i4].handlers) {\n        solutions.push(states[_i4]);\n      }\n    }\n\n    states = sortSolutions(solutions);\n\n    var state = solutions[0];\n    if (state && state.handlers) {\n      if (isSlashDropped && state.regex.source.slice(-5) === '(.+)$') {\n        normalizedPath = normalizedPath + '/';\n      }\n\n      return findHandler(state, normalizedPath, queryParams);\n    }\n  };\n\n  return RouteRecognizer;\n}();\n\nvar RecognizeResults = function RecognizeResults(queryParams) {\n  \n\n  this.splice = Array.prototype.splice;\n  this.slice = Array.prototype.slice;\n  this.push = Array.prototype.push;\n  this.length = 0;\n  this.queryParams = queryParams || {};\n};\n\nfunction parse(route, names, types, caseSensitive) {\n  var normalizedRoute = route;\n  if (route.charAt(0) === '/') {\n    normalizedRoute = route.substr(1);\n  }\n\n  var results = [];\n\n  var splitRoute = normalizedRoute.split('/');\n  for (var i = 0, ii = splitRoute.length; i < ii; ++i) {\n    var segment = splitRoute[i];\n\n    var match = segment.match(/^:([^?]+)(\\?)?$/);\n    if (match) {\n      var _match = match,\n          _name = _match[1],\n          optional = _match[2];\n\n      if (_name.indexOf('=') !== -1) {\n        throw new Error('Parameter ' + _name + ' in route ' + route + ' has a default value, which is not supported.');\n      }\n      results.push(new DynamicSegment(_name, !!optional));\n      names.push(_name);\n      types.dynamics++;\n      continue;\n    }\n\n    match = segment.match(/^\\*(.+)$/);\n    if (match) {\n      results.push(new StarSegment(match[1]));\n      names.push(match[1]);\n      types.stars++;\n    } else if (segment === '') {\n      results.push(new EpsilonSegment());\n    } else {\n      results.push(new StaticSegment(segment, caseSensitive));\n      types.statics++;\n    }\n  }\n\n  return results;\n}\n\nfunction sortSolutions(states) {\n  return states.sort(function (a, b) {\n    if (a.types.stars !== b.types.stars) {\n      return a.types.stars - b.types.stars;\n    }\n\n    if (a.types.stars) {\n      if (a.types.statics !== b.types.statics) {\n        return b.types.statics - a.types.statics;\n      }\n      if (a.types.dynamics !== b.types.dynamics) {\n        return b.types.dynamics - a.types.dynamics;\n      }\n    }\n\n    if (a.types.dynamics !== b.types.dynamics) {\n      return a.types.dynamics - b.types.dynamics;\n    }\n\n    if (a.types.statics !== b.types.statics) {\n      return b.types.statics - a.types.statics;\n    }\n\n    return 0;\n  });\n}\n\nfunction recognizeChar(states, ch) {\n  var nextStates = [];\n\n  for (var i = 0, l = states.length; i < l; i++) {\n    var state = states[i];\n    nextStates.push.apply(nextStates, state.match(ch));\n  }\n\n  return nextStates;\n}\n\nfunction findHandler(state, path, queryParams) {\n  var handlers = state.handlers;\n  var regex = state.regex;\n  var captures = path.match(regex);\n  var currentCapture = 1;\n  var result = new RecognizeResults(queryParams);\n\n  for (var i = 0, l = handlers.length; i < l; i++) {\n    var _handler = handlers[i];\n    var _names = _handler.names;\n    var _params = {};\n\n    for (var j = 0, m = _names.length; j < m; j++) {\n      _params[_names[j]] = captures[currentCapture++];\n    }\n\n    result.push({ handler: _handler.handler, params: _params, isDynamic: !!_names.length });\n  }\n\n  return result;\n}\n\nfunction addSegment(currentState, segment) {\n  var firstState = currentState.put({ validChars: '/' });\n  var nextState = firstState;\n  segment.eachChar(function (ch) {\n    nextState = nextState.put(ch);\n  });\n\n  return [firstState, nextState];\n}","import { getLogger } from 'aurelia-logging';\nimport { Container } from 'aurelia-dependency-injection';\nimport { History } from 'aurelia-history';\nimport { RouteRecognizer } from 'aurelia-route-recognizer';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\n/**\r\n * Class used to represent an instruction during a navigation.\r\n */\r\nvar NavigationInstruction = /** @class */ (function () {\r\n    function NavigationInstruction(init) {\r\n        /**\r\n         * Current built viewport plan of this nav instruction\r\n         */\r\n        this.plan = null;\r\n        this.options = {};\r\n        Object.assign(this, init);\r\n        this.params = this.params || {};\r\n        this.viewPortInstructions = {};\r\n        var ancestorParams = [];\r\n        var current = this;\r\n        do {\r\n            var currentParams = Object.assign({}, current.params);\r\n            if (current.config && current.config.hasChildRouter) {\r\n                // remove the param for the injected child route segment\r\n                delete currentParams[current.getWildCardName()];\r\n            }\r\n            ancestorParams.unshift(currentParams);\r\n            current = current.parentInstruction;\r\n        } while (current);\r\n        var allParams = Object.assign.apply(Object, [{}, this.queryParams].concat(ancestorParams));\r\n        this.lifecycleArgs = [allParams, this.config, this];\r\n    }\r\n    /**\r\n     * Gets an array containing this instruction and all child instructions for the current navigation.\r\n     */\r\n    NavigationInstruction.prototype.getAllInstructions = function () {\r\n        var instructions = [this];\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        for (var key in viewPortInstructions) {\r\n            var childInstruction = viewPortInstructions[key].childNavigationInstruction;\r\n            if (childInstruction) {\r\n                instructions.push.apply(instructions, childInstruction.getAllInstructions());\r\n            }\r\n        }\r\n        return instructions;\r\n    };\r\n    /**\r\n     * Gets an array containing the instruction and all child instructions for the previous navigation.\r\n     * Previous instructions are no longer available after navigation completes.\r\n     */\r\n    NavigationInstruction.prototype.getAllPreviousInstructions = function () {\r\n        return this.getAllInstructions().map(function (c) { return c.previousInstruction; }).filter(function (c) { return c; });\r\n    };\r\n    NavigationInstruction.prototype.addViewPortInstruction = function (nameOrInitOptions, strategy, moduleId, component) {\r\n        var viewPortInstruction;\r\n        var viewPortName = typeof nameOrInitOptions === 'string' ? nameOrInitOptions : nameOrInitOptions.name;\r\n        var lifecycleArgs = this.lifecycleArgs;\r\n        var config = Object.assign({}, lifecycleArgs[1], { currentViewPort: viewPortName });\r\n        if (typeof nameOrInitOptions === 'string') {\r\n            viewPortInstruction = {\r\n                name: nameOrInitOptions,\r\n                strategy: strategy,\r\n                moduleId: moduleId,\r\n                component: component,\r\n                childRouter: component.childRouter,\r\n                lifecycleArgs: [lifecycleArgs[0], config, lifecycleArgs[2]]\r\n            };\r\n        }\r\n        else {\r\n            viewPortInstruction = {\r\n                name: viewPortName,\r\n                strategy: nameOrInitOptions.strategy,\r\n                component: nameOrInitOptions.component,\r\n                moduleId: nameOrInitOptions.moduleId,\r\n                childRouter: nameOrInitOptions.component.childRouter,\r\n                lifecycleArgs: [lifecycleArgs[0], config, lifecycleArgs[2]]\r\n            };\r\n        }\r\n        return this.viewPortInstructions[viewPortName] = viewPortInstruction;\r\n    };\r\n    /**\r\n     * Gets the name of the route pattern's wildcard parameter, if applicable.\r\n     */\r\n    NavigationInstruction.prototype.getWildCardName = function () {\r\n        // todo: potential issue, or at least unsafe typings\r\n        var configRoute = this.config.route;\r\n        var wildcardIndex = configRoute.lastIndexOf('*');\r\n        return configRoute.substr(wildcardIndex + 1);\r\n    };\r\n    /**\r\n     * Gets the path and query string created by filling the route\r\n     * pattern's wildcard parameter with the matching param.\r\n     */\r\n    NavigationInstruction.prototype.getWildcardPath = function () {\r\n        var wildcardName = this.getWildCardName();\r\n        var path = this.params[wildcardName] || '';\r\n        var queryString = this.queryString;\r\n        if (queryString) {\r\n            path += '?' + queryString;\r\n        }\r\n        return path;\r\n    };\r\n    /**\r\n     * Gets the instruction's base URL, accounting for wildcard route parameters.\r\n     */\r\n    NavigationInstruction.prototype.getBaseUrl = function () {\r\n        var _this = this;\r\n        var $encodeURI = encodeURI;\r\n        var fragment = decodeURI(this.fragment);\r\n        if (fragment === '') {\r\n            var nonEmptyRoute = this.router.routes.find(function (route) {\r\n                return route.name === _this.config.name &&\r\n                    route.route !== '';\r\n            });\r\n            if (nonEmptyRoute) {\r\n                fragment = nonEmptyRoute.route;\r\n            }\r\n        }\r\n        if (!this.params) {\r\n            return $encodeURI(fragment);\r\n        }\r\n        var wildcardName = this.getWildCardName();\r\n        var path = this.params[wildcardName] || '';\r\n        if (!path) {\r\n            return $encodeURI(fragment);\r\n        }\r\n        return $encodeURI(fragment.substr(0, fragment.lastIndexOf(path)));\r\n    };\r\n    /**\r\n     * Finalize a viewport instruction\r\n     * @internal\r\n     */\r\n    NavigationInstruction.prototype._commitChanges = function (waitToSwap) {\r\n        var _this = this;\r\n        var router = this.router;\r\n        router.currentInstruction = this;\r\n        var previousInstruction = this.previousInstruction;\r\n        if (previousInstruction) {\r\n            previousInstruction.config.navModel.isActive = false;\r\n        }\r\n        this.config.navModel.isActive = true;\r\n        router.refreshNavigation();\r\n        var loads = [];\r\n        var delaySwaps = [];\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        var _loop_1 = function (viewPortName) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var viewPort = router.viewPorts[viewPortName];\r\n            if (!viewPort) {\r\n                throw new Error(\"There was no router-view found in the view for \" + viewPortInstruction.moduleId + \".\");\r\n            }\r\n            var childNavInstruction = viewPortInstruction.childNavigationInstruction;\r\n            if (viewPortInstruction.strategy === \"replace\" /* Replace */) {\r\n                if (childNavInstruction && childNavInstruction.parentCatchHandler) {\r\n                    loads.push(childNavInstruction._commitChanges(waitToSwap));\r\n                }\r\n                else {\r\n                    if (waitToSwap) {\r\n                        delaySwaps.push({ viewPort: viewPort, viewPortInstruction: viewPortInstruction });\r\n                    }\r\n                    loads.push(viewPort\r\n                        .process(viewPortInstruction, waitToSwap)\r\n                        .then(function () { return childNavInstruction\r\n                        ? childNavInstruction._commitChanges(waitToSwap)\r\n                        : Promise.resolve(); }));\r\n                }\r\n            }\r\n            else {\r\n                if (childNavInstruction) {\r\n                    loads.push(childNavInstruction._commitChanges(waitToSwap));\r\n                }\r\n            }\r\n        };\r\n        for (var viewPortName in viewPortInstructions) {\r\n            _loop_1(viewPortName);\r\n        }\r\n        return Promise\r\n            .all(loads)\r\n            .then(function () {\r\n            delaySwaps.forEach(function (x) { return x.viewPort.swap(x.viewPortInstruction); });\r\n            return null;\r\n        })\r\n            .then(function () { return prune(_this); });\r\n    };\r\n    /**@internal */\r\n    NavigationInstruction.prototype._updateTitle = function () {\r\n        var router = this.router;\r\n        var title = this._buildTitle(router.titleSeparator);\r\n        if (title) {\r\n            router.history.setTitle(title);\r\n        }\r\n    };\r\n    /**@internal */\r\n    NavigationInstruction.prototype._buildTitle = function (separator) {\r\n        if (separator === void 0) { separator = ' | '; }\r\n        var title = '';\r\n        var childTitles = [];\r\n        var navModelTitle = this.config.navModel.title;\r\n        var instructionRouter = this.router;\r\n        var viewPortInstructions = this.viewPortInstructions;\r\n        if (navModelTitle) {\r\n            title = instructionRouter.transformTitle(navModelTitle);\r\n        }\r\n        for (var viewPortName in viewPortInstructions) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var child_nav_instruction = viewPortInstruction.childNavigationInstruction;\r\n            if (child_nav_instruction) {\r\n                var childTitle = child_nav_instruction._buildTitle(separator);\r\n                if (childTitle) {\r\n                    childTitles.push(childTitle);\r\n                }\r\n            }\r\n        }\r\n        if (childTitles.length) {\r\n            title = childTitles.join(separator) + (title ? separator : '') + title;\r\n        }\r\n        if (instructionRouter.title) {\r\n            title += (title ? separator : '') + instructionRouter.transformTitle(instructionRouter.title);\r\n        }\r\n        return title;\r\n    };\r\n    return NavigationInstruction;\r\n}());\r\nvar prune = function (instruction) {\r\n    instruction.previousInstruction = null;\r\n    instruction.plan = null;\r\n};\n\n/**\r\n* Class for storing and interacting with a route's navigation settings.\r\n*/\r\nvar NavModel = /** @class */ (function () {\r\n    function NavModel(router, relativeHref) {\r\n        /**\r\n        * True if this nav item is currently active.\r\n        */\r\n        this.isActive = false;\r\n        /**\r\n        * The title.\r\n        */\r\n        this.title = null;\r\n        /**\r\n        * This nav item's absolute href.\r\n        */\r\n        this.href = null;\r\n        /**\r\n        * This nav item's relative href.\r\n        */\r\n        this.relativeHref = null;\r\n        /**\r\n        * Data attached to the route at configuration time.\r\n        */\r\n        this.settings = {};\r\n        /**\r\n        * The route config.\r\n        */\r\n        this.config = null;\r\n        this.router = router;\r\n        this.relativeHref = relativeHref;\r\n    }\r\n    /**\r\n    * Sets the route's title and updates document.title.\r\n    *  If the a navigation is in progress, the change will be applied\r\n    *  to document.title when the navigation completes.\r\n    *\r\n    * @param title The new title.\r\n    */\r\n    NavModel.prototype.setTitle = function (title) {\r\n        this.title = title;\r\n        if (this.isActive) {\r\n            this.router.updateTitle();\r\n        }\r\n    };\r\n    return NavModel;\r\n}());\n\nfunction _normalizeAbsolutePath(path, hasPushState, absolute) {\r\n    if (absolute === void 0) { absolute = false; }\r\n    if (!hasPushState && path[0] !== '#') {\r\n        path = '#' + path;\r\n    }\r\n    if (hasPushState && absolute) {\r\n        path = path.substring(1, path.length);\r\n    }\r\n    return path;\r\n}\r\nfunction _createRootedPath(fragment, baseUrl, hasPushState, absolute) {\r\n    if (isAbsoluteUrl.test(fragment)) {\r\n        return fragment;\r\n    }\r\n    var path = '';\r\n    if (baseUrl.length && baseUrl[0] !== '/') {\r\n        path += '/';\r\n    }\r\n    path += baseUrl;\r\n    if ((!path.length || path[path.length - 1] !== '/') && fragment[0] !== '/') {\r\n        path += '/';\r\n    }\r\n    if (path.length && path[path.length - 1] === '/' && fragment[0] === '/') {\r\n        path = path.substring(0, path.length - 1);\r\n    }\r\n    return _normalizeAbsolutePath(path + fragment, hasPushState, absolute);\r\n}\r\nfunction _resolveUrl(fragment, baseUrl, hasPushState) {\r\n    if (isRootedPath.test(fragment)) {\r\n        return _normalizeAbsolutePath(fragment, hasPushState);\r\n    }\r\n    return _createRootedPath(fragment, baseUrl, hasPushState);\r\n}\r\nfunction _ensureArrayWithSingleRoutePerConfig(config) {\r\n    var routeConfigs = [];\r\n    if (Array.isArray(config.route)) {\r\n        for (var i = 0, ii = config.route.length; i < ii; ++i) {\r\n            var current = Object.assign({}, config);\r\n            current.route = config.route[i];\r\n            routeConfigs.push(current);\r\n        }\r\n    }\r\n    else {\r\n        routeConfigs.push(Object.assign({}, config));\r\n    }\r\n    return routeConfigs;\r\n}\r\nvar isRootedPath = /^#?\\//;\r\nvar isAbsoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\n\n/**\r\n * Class used to configure a [[Router]] instance.\r\n *\r\n * @constructor\r\n */\r\nvar RouterConfiguration = /** @class */ (function () {\r\n    function RouterConfiguration() {\r\n        this.instructions = [];\r\n        this.options = {};\r\n        this.pipelineSteps = [];\r\n    }\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s navigation pipeline.\r\n     *\r\n     * @param name The name of the pipeline slot to insert the step into.\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPipelineStep = function (name, step) {\r\n        if (step === null || step === undefined) {\r\n            throw new Error('Pipeline step cannot be null or undefined.');\r\n        }\r\n        this.pipelineSteps.push({ name: name, step: step });\r\n        return this;\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s authorize pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addAuthorizeStep = function (step) {\r\n        return this.addPipelineStep(\"authorize\" /* Authorize */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s preActivate pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPreActivateStep = function (step) {\r\n        return this.addPipelineStep(\"preActivate\" /* PreActivate */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s preRender pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPreRenderStep = function (step) {\r\n        return this.addPipelineStep(\"preRender\" /* PreRender */, step);\r\n    };\r\n    /**\r\n     * Adds a step to be run during the [[Router]]'s postRender pipeline slot.\r\n     *\r\n     * @param step The pipeline step.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.addPostRenderStep = function (step) {\r\n        return this.addPipelineStep(\"postRender\" /* PostRender */, step);\r\n    };\r\n    /**\r\n     * Configures a route that will be used if there is no previous location available on navigation cancellation.\r\n     *\r\n     * @param fragment The URL fragment to use as the navigation destination.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.fallbackRoute = function (fragment) {\r\n        this._fallbackRoute = fragment;\r\n        return this;\r\n    };\r\n    /**\r\n     * Maps one or more routes to be registered with the router.\r\n     *\r\n     * @param route The [[RouteConfig]] to map, or an array of [[RouteConfig]] to map.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.map = function (route) {\r\n        var _this = this;\r\n        if (Array.isArray(route)) {\r\n            route.forEach(function (r) { return _this.map(r); });\r\n            return this;\r\n        }\r\n        return this.mapRoute(route);\r\n    };\r\n    /**\r\n     * Configures defaults to use for any view ports.\r\n     *\r\n     * @param viewPortConfig a view port configuration object to use as a\r\n     *  default, of the form { viewPortName: { moduleId } }.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.useViewPortDefaults = function (viewPortConfig) {\r\n        this.viewPortDefaults = viewPortConfig;\r\n        return this;\r\n    };\r\n    /**\r\n     * Maps a single route to be registered with the router.\r\n     *\r\n     * @param route The [[RouteConfig]] to map.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.mapRoute = function (config) {\r\n        this.instructions.push(function (router) {\r\n            var routeConfigs = _ensureArrayWithSingleRoutePerConfig(config);\r\n            var navModel;\r\n            for (var i = 0, ii = routeConfigs.length; i < ii; ++i) {\r\n                var routeConfig = routeConfigs[i];\r\n                routeConfig.settings = routeConfig.settings || {};\r\n                if (!navModel) {\r\n                    navModel = router.createNavModel(routeConfig);\r\n                }\r\n                router.addRoute(routeConfig, navModel);\r\n            }\r\n        });\r\n        return this;\r\n    };\r\n    /**\r\n     * Registers an unknown route handler to be run when the URL fragment doesn't match any registered routes.\r\n     *\r\n     * @param config A string containing a moduleId to load, or a [[RouteConfig]], or a function that takes the\r\n     *  [[NavigationInstruction]] and selects a moduleId to load.\r\n     * @chainable\r\n     */\r\n    RouterConfiguration.prototype.mapUnknownRoutes = function (config) {\r\n        this.unknownRouteConfig = config;\r\n        return this;\r\n    };\r\n    /**\r\n     * Applies the current configuration to the specified [[Router]].\r\n     *\r\n     * @param router The [[Router]] to apply the configuration to.\r\n     */\r\n    RouterConfiguration.prototype.exportToRouter = function (router) {\r\n        var instructions = this.instructions;\r\n        for (var i = 0, ii = instructions.length; i < ii; ++i) {\r\n            instructions[i](router);\r\n        }\r\n        var _a = this, title = _a.title, titleSeparator = _a.titleSeparator, unknownRouteConfig = _a.unknownRouteConfig, _fallbackRoute = _a._fallbackRoute, viewPortDefaults = _a.viewPortDefaults;\r\n        if (title) {\r\n            router.title = title;\r\n        }\r\n        if (titleSeparator) {\r\n            router.titleSeparator = titleSeparator;\r\n        }\r\n        if (unknownRouteConfig) {\r\n            router.handleUnknownRoutes(unknownRouteConfig);\r\n        }\r\n        if (_fallbackRoute) {\r\n            router.fallbackRoute = _fallbackRoute;\r\n        }\r\n        if (viewPortDefaults) {\r\n            router.useViewPortDefaults(viewPortDefaults);\r\n        }\r\n        Object.assign(router.options, this.options);\r\n        var pipelineSteps = this.pipelineSteps;\r\n        var pipelineStepCount = pipelineSteps.length;\r\n        if (pipelineStepCount) {\r\n            if (!router.isRoot) {\r\n                throw new Error('Pipeline steps can only be added to the root router');\r\n            }\r\n            var pipelineProvider = router.pipelineProvider;\r\n            for (var i = 0, ii = pipelineStepCount; i < ii; ++i) {\r\n                var _b = pipelineSteps[i], name_1 = _b.name, step = _b.step;\r\n                pipelineProvider.addStep(name_1, step);\r\n            }\r\n        }\r\n    };\r\n    return RouterConfiguration;\r\n}());\n\n/**\r\n * The primary class responsible for handling routing and navigation.\r\n */\r\nvar Router = /** @class */ (function () {\r\n    /**\r\n     * @param container The [[Container]] to use when child routers.\r\n     * @param history The [[History]] implementation to delegate navigation requests to.\r\n     */\r\n    function Router(container, history) {\r\n        var _this = this;\r\n        /**\r\n         * The parent router, or null if this instance is not a child router.\r\n         */\r\n        this.parent = null;\r\n        this.options = {};\r\n        /**\r\n         * The defaults used when a viewport lacks specified content\r\n         */\r\n        this.viewPortDefaults = {};\r\n        /**\r\n         * Extension point to transform the document title before it is built and displayed.\r\n         * By default, child routers delegate to the parent router, and the app router\r\n         * returns the title unchanged.\r\n         */\r\n        this.transformTitle = function (title) {\r\n            if (_this.parent) {\r\n                return _this.parent.transformTitle(title);\r\n            }\r\n            return title;\r\n        };\r\n        this.container = container;\r\n        this.history = history;\r\n        this.reset();\r\n    }\r\n    /**\r\n     * Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\r\n     * Use with caution (actually, avoid using this). Do not use this to simply change your navigation model.\r\n     */\r\n    Router.prototype.reset = function () {\r\n        var _this = this;\r\n        this.viewPorts = {};\r\n        this.routes = [];\r\n        this.baseUrl = '';\r\n        this.isConfigured = false;\r\n        this.isNavigating = false;\r\n        this.isExplicitNavigation = false;\r\n        this.isExplicitNavigationBack = false;\r\n        this.isNavigatingFirst = false;\r\n        this.isNavigatingNew = false;\r\n        this.isNavigatingRefresh = false;\r\n        this.isNavigatingForward = false;\r\n        this.isNavigatingBack = false;\r\n        this.couldDeactivate = false;\r\n        this.navigation = [];\r\n        this.currentInstruction = null;\r\n        this.viewPortDefaults = {};\r\n        this._fallbackOrder = 100;\r\n        this._recognizer = new RouteRecognizer();\r\n        this._childRecognizer = new RouteRecognizer();\r\n        this._configuredPromise = new Promise(function (resolve) {\r\n            _this._resolveConfiguredPromise = resolve;\r\n        });\r\n    };\r\n    Object.defineProperty(Router.prototype, \"isRoot\", {\r\n        /**\r\n         * Gets a value indicating whether or not this [[Router]] is the root in the router tree. I.e., it has no parent.\r\n         */\r\n        get: function () {\r\n            return !this.parent;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /**\r\n     * Registers a viewPort to be used as a rendering target for activated routes.\r\n     *\r\n     * @param viewPort The viewPort.\r\n     * @param name The name of the viewPort. 'default' if unspecified.\r\n     */\r\n    Router.prototype.registerViewPort = function (viewPort, name) {\r\n        name = name || 'default';\r\n        this.viewPorts[name] = viewPort;\r\n    };\r\n    /**\r\n     * Returns a Promise that resolves when the router is configured.\r\n     */\r\n    Router.prototype.ensureConfigured = function () {\r\n        return this._configuredPromise;\r\n    };\r\n    /**\r\n     * Configures the router.\r\n     *\r\n     * @param callbackOrConfig The [[RouterConfiguration]] or a callback that takes a [[RouterConfiguration]].\r\n     */\r\n    Router.prototype.configure = function (callbackOrConfig) {\r\n        var _this = this;\r\n        this.isConfigured = true;\r\n        var result = callbackOrConfig;\r\n        var config;\r\n        if (typeof callbackOrConfig === 'function') {\r\n            config = new RouterConfiguration();\r\n            result = callbackOrConfig(config);\r\n        }\r\n        return Promise\r\n            .resolve(result)\r\n            .then(function (c) {\r\n            if (c && c.exportToRouter) {\r\n                config = c;\r\n            }\r\n            config.exportToRouter(_this);\r\n            _this.isConfigured = true;\r\n            _this._resolveConfiguredPromise();\r\n        });\r\n    };\r\n    /**\r\n     * Navigates to a new location.\r\n     *\r\n     * @param fragment The URL fragment to use as the navigation destination.\r\n     * @param options The navigation options.\r\n     */\r\n    Router.prototype.navigate = function (fragment, options) {\r\n        if (!this.isConfigured && this.parent) {\r\n            return this.parent.navigate(fragment, options);\r\n        }\r\n        this.isExplicitNavigation = true;\r\n        return this.history.navigate(_resolveUrl(fragment, this.baseUrl, this.history._hasPushState), options);\r\n    };\r\n    /**\r\n     * Navigates to a new location corresponding to the route and params specified. Equivallent to [[Router.generate]] followed\r\n     * by [[Router.navigate]].\r\n     *\r\n     * @param route The name of the route to use when generating the navigation location.\r\n     * @param params The route parameters to be used when populating the route pattern.\r\n     * @param options The navigation options.\r\n     */\r\n    Router.prototype.navigateToRoute = function (route, params, options) {\r\n        var path = this.generate(route, params);\r\n        return this.navigate(path, options);\r\n    };\r\n    /**\r\n     * Navigates back to the most recent location in history.\r\n     */\r\n    Router.prototype.navigateBack = function () {\r\n        this.isExplicitNavigationBack = true;\r\n        this.history.navigateBack();\r\n    };\r\n    /**\r\n     * Creates a child router of the current router.\r\n     *\r\n     * @param container The [[Container]] to provide to the child router. Uses the current [[Router]]'s [[Container]] if unspecified.\r\n     * @returns {Router} The new child Router.\r\n     */\r\n    Router.prototype.createChild = function (container) {\r\n        var childRouter = new Router(container || this.container.createChild(), this.history);\r\n        childRouter.parent = this;\r\n        return childRouter;\r\n    };\r\n    /**\r\n     * Generates a URL fragment matching the specified route pattern.\r\n     *\r\n     * @param name The name of the route whose pattern should be used to generate the fragment.\r\n     * @param params The route params to be used to populate the route pattern.\r\n     * @param options If options.absolute = true, then absolute url will be generated; otherwise, it will be relative url.\r\n     * @returns {string} A string containing the generated URL fragment.\r\n     */\r\n    Router.prototype.generate = function (nameOrRoute, params, options) {\r\n        if (params === void 0) { params = {}; }\r\n        if (options === void 0) { options = {}; }\r\n        // A child recognizer generates routes for potential child routes. Any potential child route is added\r\n        // to the childRoute property of params for the childRouter to recognize. When generating routes, we\r\n        // use the childRecognizer when childRoute params are available to generate a child router enabled route.\r\n        var recognizer = 'childRoute' in params ? this._childRecognizer : this._recognizer;\r\n        var hasRoute = recognizer.hasRoute(nameOrRoute);\r\n        if (!hasRoute) {\r\n            if (this.parent) {\r\n                return this.parent.generate(nameOrRoute, params, options);\r\n            }\r\n            throw new Error(\"A route with name '\" + nameOrRoute + \"' could not be found. Check that `name: '\" + nameOrRoute + \"'` was specified in the route's config.\");\r\n        }\r\n        var path = recognizer.generate(nameOrRoute, params);\r\n        var rootedPath = _createRootedPath(path, this.baseUrl, this.history._hasPushState, options.absolute);\r\n        return options.absolute ? \"\" + this.history.getAbsoluteRoot() + rootedPath : rootedPath;\r\n    };\r\n    /**\r\n     * Creates a [[NavModel]] for the specified route config.\r\n     *\r\n     * @param config The route config.\r\n     */\r\n    Router.prototype.createNavModel = function (config) {\r\n        var navModel = new NavModel(this, 'href' in config\r\n            ? config.href\r\n            // potential error when config.route is a string[] ?\r\n            : config.route);\r\n        navModel.title = config.title;\r\n        navModel.order = config.nav;\r\n        navModel.href = config.href;\r\n        navModel.settings = config.settings;\r\n        navModel.config = config;\r\n        return navModel;\r\n    };\r\n    /**\r\n     * Registers a new route with the router.\r\n     *\r\n     * @param config The [[RouteConfig]].\r\n     * @param navModel The [[NavModel]] to use for the route. May be omitted for single-pattern routes.\r\n     */\r\n    Router.prototype.addRoute = function (config, navModel) {\r\n        if (Array.isArray(config.route)) {\r\n            var routeConfigs = _ensureArrayWithSingleRoutePerConfig(config);\r\n            // the following is wrong. todo: fix this after TS refactoring release\r\n            routeConfigs.forEach(this.addRoute.bind(this));\r\n            return;\r\n        }\r\n        validateRouteConfig(config);\r\n        if (!('viewPorts' in config) && !config.navigationStrategy) {\r\n            config.viewPorts = {\r\n                'default': {\r\n                    moduleId: config.moduleId,\r\n                    view: config.view\r\n                }\r\n            };\r\n        }\r\n        if (!navModel) {\r\n            navModel = this.createNavModel(config);\r\n        }\r\n        this.routes.push(config);\r\n        var path = config.route;\r\n        if (path.charAt(0) === '/') {\r\n            path = path.substr(1);\r\n        }\r\n        var caseSensitive = config.caseSensitive === true;\r\n        var state = this._recognizer.add({\r\n            path: path,\r\n            handler: config,\r\n            caseSensitive: caseSensitive\r\n        });\r\n        if (path) {\r\n            var settings = config.settings;\r\n            delete config.settings;\r\n            var withChild = JSON.parse(JSON.stringify(config));\r\n            config.settings = settings;\r\n            withChild.route = path + \"/*childRoute\";\r\n            withChild.hasChildRouter = true;\r\n            this._childRecognizer.add({\r\n                path: withChild.route,\r\n                handler: withChild,\r\n                caseSensitive: caseSensitive\r\n            });\r\n            withChild.navModel = navModel;\r\n            withChild.settings = config.settings;\r\n            withChild.navigationStrategy = config.navigationStrategy;\r\n        }\r\n        config.navModel = navModel;\r\n        var navigation = this.navigation;\r\n        if ((navModel.order || navModel.order === 0) && navigation.indexOf(navModel) === -1) {\r\n            if ((!navModel.href && navModel.href !== '') && (state.types.dynamics || state.types.stars)) {\r\n                throw new Error('Invalid route config for \"' + config.route + '\" : dynamic routes must specify an \"href:\" to be included in the navigation model.');\r\n            }\r\n            if (typeof navModel.order !== 'number') {\r\n                navModel.order = ++this._fallbackOrder;\r\n            }\r\n            navigation.push(navModel);\r\n            // this is a potential error / inconsistency between browsers\r\n            //\r\n            // MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\r\n            // If compareFunction(a, b) returns 0, leave a and b unchanged with respect to each other,\r\n            // but sorted with respect to all different elements.\r\n            // Note: the ECMAscript standard does not guarantee this behaviour,\r\n            // and thus not all browsers (e.g. Mozilla versions dating back to at least 2003) respect this.\r\n            navigation.sort(function (a, b) { return a.order - b.order; });\r\n        }\r\n    };\r\n    /**\r\n     * Gets a value indicating whether or not this [[Router]] or one of its ancestors has a route registered with the specified name.\r\n     *\r\n     * @param name The name of the route to check.\r\n     */\r\n    Router.prototype.hasRoute = function (name) {\r\n        return !!(this._recognizer.hasRoute(name) || this.parent && this.parent.hasRoute(name));\r\n    };\r\n    /**\r\n     * Gets a value indicating whether or not this [[Router]] has a route registered with the specified name.\r\n     *\r\n     * @param name The name of the route to check.\r\n     */\r\n    Router.prototype.hasOwnRoute = function (name) {\r\n        return this._recognizer.hasRoute(name);\r\n    };\r\n    /**\r\n     * Register a handler to use when the incoming URL fragment doesn't match any registered routes.\r\n     *\r\n     * @param config The moduleId, or a function that selects the moduleId, or a [[RouteConfig]].\r\n     */\r\n    Router.prototype.handleUnknownRoutes = function (config) {\r\n        var _this = this;\r\n        if (!config) {\r\n            throw new Error('Invalid unknown route handler');\r\n        }\r\n        this.catchAllHandler = function (instruction) {\r\n            return _this\r\n                ._createRouteConfig(config, instruction)\r\n                .then(function (c) {\r\n                instruction.config = c;\r\n                return instruction;\r\n            });\r\n        };\r\n    };\r\n    /**\r\n     * Updates the document title using the current navigation instruction.\r\n     */\r\n    Router.prototype.updateTitle = function () {\r\n        var parentRouter = this.parent;\r\n        if (parentRouter) {\r\n            return parentRouter.updateTitle();\r\n        }\r\n        var currentInstruction = this.currentInstruction;\r\n        if (currentInstruction) {\r\n            currentInstruction._updateTitle();\r\n        }\r\n        return undefined;\r\n    };\r\n    /**\r\n     * Updates the navigation routes with hrefs relative to the current location.\r\n     * Note: This method will likely move to a plugin in a future release.\r\n     */\r\n    Router.prototype.refreshNavigation = function () {\r\n        var nav = this.navigation;\r\n        for (var i = 0, length_1 = nav.length; i < length_1; i++) {\r\n            var current = nav[i];\r\n            if (!current.config.href) {\r\n                current.href = _createRootedPath(current.relativeHref, this.baseUrl, this.history._hasPushState);\r\n            }\r\n            else {\r\n                current.href = _normalizeAbsolutePath(current.config.href, this.history._hasPushState);\r\n            }\r\n        }\r\n    };\r\n    /**\r\n     * Sets the default configuration for the view ports. This specifies how to\r\n     *  populate a view port for which no module is specified. The default is\r\n     *  an empty view/view-model pair.\r\n     */\r\n    Router.prototype.useViewPortDefaults = function ($viewPortDefaults) {\r\n        // a workaround to have strong typings while not requiring to expose interface ViewPortInstruction\r\n        var viewPortDefaults = $viewPortDefaults;\r\n        for (var viewPortName in viewPortDefaults) {\r\n            var viewPortConfig = viewPortDefaults[viewPortName];\r\n            this.viewPortDefaults[viewPortName] = {\r\n                moduleId: viewPortConfig.moduleId\r\n            };\r\n        }\r\n    };\r\n    /**@internal */\r\n    Router.prototype._refreshBaseUrl = function () {\r\n        var parentRouter = this.parent;\r\n        if (parentRouter) {\r\n            this.baseUrl = generateBaseUrl(parentRouter, parentRouter.currentInstruction);\r\n        }\r\n    };\r\n    /**@internal */\r\n    Router.prototype._createNavigationInstruction = function (url, parentInstruction) {\r\n        if (url === void 0) { url = ''; }\r\n        if (parentInstruction === void 0) { parentInstruction = null; }\r\n        var fragment = url;\r\n        var queryString = '';\r\n        var queryIndex = url.indexOf('?');\r\n        if (queryIndex !== -1) {\r\n            fragment = url.substr(0, queryIndex);\r\n            queryString = url.substr(queryIndex + 1);\r\n        }\r\n        var urlRecognizationResults = this._recognizer.recognize(url);\r\n        if (!urlRecognizationResults || !urlRecognizationResults.length) {\r\n            urlRecognizationResults = this._childRecognizer.recognize(url);\r\n        }\r\n        var instructionInit = {\r\n            fragment: fragment,\r\n            queryString: queryString,\r\n            config: null,\r\n            parentInstruction: parentInstruction,\r\n            previousInstruction: this.currentInstruction,\r\n            router: this,\r\n            options: {\r\n                compareQueryParams: this.options.compareQueryParams\r\n            }\r\n        };\r\n        var result;\r\n        if (urlRecognizationResults && urlRecognizationResults.length) {\r\n            var first = urlRecognizationResults[0];\r\n            var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                params: first.params,\r\n                queryParams: first.queryParams || urlRecognizationResults.queryParams,\r\n                config: first.config || first.handler\r\n            }));\r\n            if (typeof first.handler === 'function') {\r\n                result = evaluateNavigationStrategy(instruction, first.handler, first);\r\n            }\r\n            else if (first.handler && typeof first.handler.navigationStrategy === 'function') {\r\n                result = evaluateNavigationStrategy(instruction, first.handler.navigationStrategy, first.handler);\r\n            }\r\n            else {\r\n                result = Promise.resolve(instruction);\r\n            }\r\n        }\r\n        else if (this.catchAllHandler) {\r\n            var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                params: { path: fragment },\r\n                queryParams: urlRecognizationResults ? urlRecognizationResults.queryParams : {},\r\n                config: null // config will be created by the catchAllHandler\r\n            }));\r\n            result = evaluateNavigationStrategy(instruction, this.catchAllHandler);\r\n        }\r\n        else if (this.parent) {\r\n            var router = this._parentCatchAllHandler(this.parent);\r\n            if (router) {\r\n                var newParentInstruction = this._findParentInstructionFromRouter(router, parentInstruction);\r\n                var instruction = new NavigationInstruction(Object.assign({}, instructionInit, {\r\n                    params: { path: fragment },\r\n                    queryParams: urlRecognizationResults ? urlRecognizationResults.queryParams : {},\r\n                    router: router,\r\n                    parentInstruction: newParentInstruction,\r\n                    parentCatchHandler: true,\r\n                    config: null // config will be created by the chained parent catchAllHandler\r\n                }));\r\n                result = evaluateNavigationStrategy(instruction, router.catchAllHandler);\r\n            }\r\n        }\r\n        if (result && parentInstruction) {\r\n            this.baseUrl = generateBaseUrl(this.parent, parentInstruction);\r\n        }\r\n        return result || Promise.reject(new Error(\"Route not found: \" + url));\r\n    };\r\n    /**@internal */\r\n    Router.prototype._findParentInstructionFromRouter = function (router, instruction) {\r\n        if (instruction.router === router) {\r\n            instruction.fragment = router.baseUrl; // need to change the fragment in case of a redirect instead of moduleId\r\n            return instruction;\r\n        }\r\n        else if (instruction.parentInstruction) {\r\n            return this._findParentInstructionFromRouter(router, instruction.parentInstruction);\r\n        }\r\n        return undefined;\r\n    };\r\n    /**@internal */\r\n    Router.prototype._parentCatchAllHandler = function (router) {\r\n        if (router.catchAllHandler) {\r\n            return router;\r\n        }\r\n        else if (router.parent) {\r\n            return this._parentCatchAllHandler(router.parent);\r\n        }\r\n        return false;\r\n    };\r\n    /**\r\n     * @internal\r\n     */\r\n    Router.prototype._createRouteConfig = function (config, instruction) {\r\n        var _this = this;\r\n        return Promise\r\n            .resolve(config)\r\n            .then(function (c) {\r\n            if (typeof c === 'string') {\r\n                return { moduleId: c };\r\n            }\r\n            else if (typeof c === 'function') {\r\n                return c(instruction);\r\n            }\r\n            return c;\r\n        })\r\n            // typing here could be either RouteConfig or RedirectConfig\r\n            // but temporarily treat both as RouteConfig\r\n            // todo: improve typings precision\r\n            .then(function (c) { return typeof c === 'string' ? { moduleId: c } : c; })\r\n            .then(function (c) {\r\n            c.route = instruction.params.path;\r\n            validateRouteConfig(c);\r\n            if (!c.navModel) {\r\n                c.navModel = _this.createNavModel(c);\r\n            }\r\n            return c;\r\n        });\r\n    };\r\n    return Router;\r\n}());\r\n/* @internal exported for unit testing */\r\nvar generateBaseUrl = function (router, instruction) {\r\n    return \"\" + (router.baseUrl || '') + (instruction.getBaseUrl() || '');\r\n};\r\n/* @internal exported for unit testing */\r\nvar validateRouteConfig = function (config) {\r\n    if (typeof config !== 'object') {\r\n        throw new Error('Invalid Route Config');\r\n    }\r\n    if (typeof config.route !== 'string') {\r\n        var name_1 = config.name || '(no name)';\r\n        throw new Error('Invalid Route Config for \"' + name_1 + '\": You must specify a \"route:\" pattern.');\r\n    }\r\n    if (!('redirect' in config || config.moduleId || config.navigationStrategy || config.viewPorts)) {\r\n        throw new Error('Invalid Route Config for \"' + config.route + '\": You must specify a \"moduleId:\", \"redirect:\", \"navigationStrategy:\", or \"viewPorts:\".');\r\n    }\r\n};\r\n/* @internal exported for unit testing */\r\nvar evaluateNavigationStrategy = function (instruction, evaluator, context) {\r\n    return Promise\r\n        .resolve(evaluator.call(context, instruction))\r\n        .then(function () {\r\n        if (!('viewPorts' in instruction.config)) {\r\n            instruction.config.viewPorts = {\r\n                'default': {\r\n                    moduleId: instruction.config.moduleId\r\n                }\r\n            };\r\n        }\r\n        return instruction;\r\n    });\r\n};\n\n/**@internal exported for unit testing */\r\nvar createNextFn = function (instruction, steps) {\r\n    var index = -1;\r\n    var next = function () {\r\n        index++;\r\n        if (index < steps.length) {\r\n            var currentStep = steps[index];\r\n            try {\r\n                return currentStep(instruction, next);\r\n            }\r\n            catch (e) {\r\n                return next.reject(e);\r\n            }\r\n        }\r\n        else {\r\n            return next.complete();\r\n        }\r\n    };\r\n    next.complete = createCompletionHandler(next, \"completed\" /* Completed */);\r\n    next.cancel = createCompletionHandler(next, \"canceled\" /* Canceled */);\r\n    next.reject = createCompletionHandler(next, \"rejected\" /* Rejected */);\r\n    return next;\r\n};\r\n/**@internal exported for unit testing */\r\nvar createCompletionHandler = function (next, status) {\r\n    return function (output) { return Promise\r\n        .resolve({\r\n        status: status,\r\n        output: output,\r\n        completed: status === \"completed\" /* Completed */\r\n    }); };\r\n};\n\n/**\r\n * The class responsible for managing and processing the navigation pipeline.\r\n */\r\nvar Pipeline = /** @class */ (function () {\r\n    function Pipeline() {\r\n        /**\r\n         * The pipeline steps. And steps added via addStep will be converted to a function\r\n         * The actualy running functions with correct step contexts of this pipeline\r\n         */\r\n        this.steps = [];\r\n    }\r\n    /**\r\n     * Adds a step to the pipeline.\r\n     *\r\n     * @param step The pipeline step.\r\n     */\r\n    Pipeline.prototype.addStep = function (step) {\r\n        var run;\r\n        if (typeof step === 'function') {\r\n            run = step;\r\n        }\r\n        else if (typeof step.getSteps === 'function') {\r\n            // getSteps is to enable support open slots\r\n            // where devs can add multiple steps into the same slot name\r\n            var steps = step.getSteps();\r\n            for (var i = 0, l = steps.length; i < l; i++) {\r\n                this.addStep(steps[i]);\r\n            }\r\n            return this;\r\n        }\r\n        else {\r\n            run = step.run.bind(step);\r\n        }\r\n        this.steps.push(run);\r\n        return this;\r\n    };\r\n    /**\r\n     * Runs the pipeline.\r\n     *\r\n     * @param instruction The navigation instruction to process.\r\n     */\r\n    Pipeline.prototype.run = function (instruction) {\r\n        var nextFn = createNextFn(instruction, this.steps);\r\n        return nextFn();\r\n    };\r\n    return Pipeline;\r\n}());\n\n/**\r\n* Determines if the provided object is a navigation command.\r\n* A navigation command is anything with a navigate method.\r\n*\r\n* @param obj The object to check.\r\n*/\r\nfunction isNavigationCommand(obj) {\r\n    return obj && typeof obj.navigate === 'function';\r\n}\r\n/**\r\n* Used during the activation lifecycle to cause a redirect.\r\n*/\r\nvar Redirect = /** @class */ (function () {\r\n    /**\r\n     * @param url The URL fragment to use as the navigation destination.\r\n     * @param options The navigation options.\r\n     */\r\n    function Redirect(url, options) {\r\n        if (options === void 0) { options = {}; }\r\n        this.url = url;\r\n        this.options = Object.assign({ trigger: true, replace: true }, options);\r\n        this.shouldContinueProcessing = false;\r\n    }\r\n    /**\r\n     * Called by the activation system to set the child router.\r\n     *\r\n     * @param router The router.\r\n     */\r\n    Redirect.prototype.setRouter = function (router) {\r\n        this.router = router;\r\n    };\r\n    /**\r\n     * Called by the navigation pipeline to navigate.\r\n     *\r\n     * @param appRouter The router to be redirected.\r\n     */\r\n    Redirect.prototype.navigate = function (appRouter) {\r\n        var navigatingRouter = this.options.useAppRouter ? appRouter : (this.router || appRouter);\r\n        navigatingRouter.navigate(this.url, this.options);\r\n    };\r\n    return Redirect;\r\n}());\r\n/**\r\n * Used during the activation lifecycle to cause a redirect to a named route.\r\n */\r\nvar RedirectToRoute = /** @class */ (function () {\r\n    /**\r\n     * @param route The name of the route.\r\n     * @param params The parameters to be sent to the activation method.\r\n     * @param options The options to use for navigation.\r\n     */\r\n    function RedirectToRoute(route, params, options) {\r\n        if (params === void 0) { params = {}; }\r\n        if (options === void 0) { options = {}; }\r\n        this.route = route;\r\n        this.params = params;\r\n        this.options = Object.assign({ trigger: true, replace: true }, options);\r\n        this.shouldContinueProcessing = false;\r\n    }\r\n    /**\r\n     * Called by the activation system to set the child router.\r\n     *\r\n     * @param router The router.\r\n     */\r\n    RedirectToRoute.prototype.setRouter = function (router) {\r\n        this.router = router;\r\n    };\r\n    /**\r\n     * Called by the navigation pipeline to navigate.\r\n     *\r\n     * @param appRouter The router to be redirected.\r\n     */\r\n    RedirectToRoute.prototype.navigate = function (appRouter) {\r\n        var navigatingRouter = this.options.useAppRouter ? appRouter : (this.router || appRouter);\r\n        navigatingRouter.navigateToRoute(this.route, this.params, this.options);\r\n    };\r\n    return RedirectToRoute;\r\n}());\n\n/**\r\n * @internal exported for unit testing\r\n */\r\nfunction _buildNavigationPlan(instruction, forceLifecycleMinimum) {\r\n    var config = instruction.config;\r\n    if ('redirect' in config) {\r\n        return buildRedirectPlan(instruction);\r\n    }\r\n    var prevInstruction = instruction.previousInstruction;\r\n    var defaultViewPortConfigs = instruction.router.viewPortDefaults;\r\n    if (prevInstruction) {\r\n        return buildTransitionPlans(instruction, prevInstruction, defaultViewPortConfigs, forceLifecycleMinimum);\r\n    }\r\n    // first navigation, only need to prepare a few information for each viewport plan\r\n    var viewPortPlans = {};\r\n    var viewPortConfigs = config.viewPorts;\r\n    for (var viewPortName in viewPortConfigs) {\r\n        var viewPortConfig = viewPortConfigs[viewPortName];\r\n        if (viewPortConfig.moduleId === null && viewPortName in defaultViewPortConfigs) {\r\n            viewPortConfig = defaultViewPortConfigs[viewPortName];\r\n        }\r\n        viewPortPlans[viewPortName] = {\r\n            name: viewPortName,\r\n            strategy: \"replace\" /* Replace */,\r\n            config: viewPortConfig\r\n        };\r\n    }\r\n    return Promise.resolve(viewPortPlans);\r\n}\r\n/**\r\n * Build redirect plan based on config of a navigation instruction\r\n * @internal exported for unit testing\r\n */\r\nvar buildRedirectPlan = function (instruction) {\r\n    var config = instruction.config;\r\n    var router = instruction.router;\r\n    return router\r\n        ._createNavigationInstruction(config.redirect)\r\n        .then(function (redirectInstruction) {\r\n        var params = {};\r\n        var originalInstructionParams = instruction.params;\r\n        var redirectInstructionParams = redirectInstruction.params;\r\n        for (var key in redirectInstructionParams) {\r\n            // If the param on the redirect points to another param, e.g. { route: first/:this, redirect: second/:this }\r\n            var val = redirectInstructionParams[key];\r\n            if (typeof val === 'string' && val[0] === ':') {\r\n                val = val.slice(1);\r\n                // And if that param is found on the original instruction then use it\r\n                if (val in originalInstructionParams) {\r\n                    params[key] = originalInstructionParams[val];\r\n                }\r\n            }\r\n            else {\r\n                params[key] = redirectInstructionParams[key];\r\n            }\r\n        }\r\n        var redirectLocation = router.generate(redirectInstruction.config, params, instruction.options);\r\n        // Special handling for child routes\r\n        for (var key in originalInstructionParams) {\r\n            redirectLocation = redirectLocation.replace(\":\" + key, originalInstructionParams[key]);\r\n        }\r\n        var queryString = instruction.queryString;\r\n        if (queryString) {\r\n            redirectLocation += '?' + queryString;\r\n        }\r\n        return Promise.resolve(new Redirect(redirectLocation));\r\n    });\r\n};\r\n/**\r\n * @param viewPortPlans the Plan record that holds information about built plans\r\n * @internal exported for unit testing\r\n */\r\nvar buildTransitionPlans = function (currentInstruction, previousInstruction, defaultViewPortConfigs, forceLifecycleMinimum) {\r\n    var viewPortPlans = {};\r\n    var newInstructionConfig = currentInstruction.config;\r\n    var hasNewParams = hasDifferentParameterValues(previousInstruction, currentInstruction);\r\n    var pending = [];\r\n    var previousViewPortInstructions = previousInstruction.viewPortInstructions;\r\n    var _loop_1 = function (viewPortName) {\r\n        var prevViewPortInstruction = previousViewPortInstructions[viewPortName];\r\n        var prevViewPortComponent = prevViewPortInstruction.component;\r\n        var newInstructionViewPortConfigs = newInstructionConfig.viewPorts;\r\n        // if this is invoked on a viewport without any changes, based on new url,\r\n        // newViewPortConfig will be the existing viewport instruction\r\n        var nextViewPortConfig = viewPortName in newInstructionViewPortConfigs\r\n            ? newInstructionViewPortConfigs[viewPortName]\r\n            : prevViewPortInstruction;\r\n        if (nextViewPortConfig.moduleId === null && viewPortName in defaultViewPortConfigs) {\r\n            nextViewPortConfig = defaultViewPortConfigs[viewPortName];\r\n        }\r\n        var viewPortActivationStrategy = determineActivationStrategy(currentInstruction, prevViewPortInstruction, nextViewPortConfig, hasNewParams, forceLifecycleMinimum);\r\n        var viewPortPlan = viewPortPlans[viewPortName] = {\r\n            name: viewPortName,\r\n            // ViewPortInstruction can quack like a RouteConfig\r\n            config: nextViewPortConfig,\r\n            prevComponent: prevViewPortComponent,\r\n            prevModuleId: prevViewPortInstruction.moduleId,\r\n            strategy: viewPortActivationStrategy\r\n        };\r\n        // recursively build nav plans for all existing child routers/viewports of this viewport\r\n        // this is possible because existing child viewports and routers already have necessary information\r\n        // to process the wildcard path from parent instruction\r\n        if (viewPortActivationStrategy !== \"replace\" /* Replace */ && prevViewPortInstruction.childRouter) {\r\n            var path = currentInstruction.getWildcardPath();\r\n            var task = prevViewPortInstruction\r\n                .childRouter\r\n                ._createNavigationInstruction(path, currentInstruction)\r\n                .then(function (childInstruction) {\r\n                viewPortPlan.childNavigationInstruction = childInstruction;\r\n                return _buildNavigationPlan(childInstruction, \r\n                // is it safe to assume viewPortPlan has not been changed from previous assignment?\r\n                // if so, can just use local variable viewPortPlanStrategy\r\n                // there could be user code modifying viewport plan during _createNavigationInstruction?\r\n                viewPortPlan.strategy === \"invoke-lifecycle\" /* InvokeLifecycle */)\r\n                    .then(function (childPlan) {\r\n                    if (childPlan instanceof Redirect) {\r\n                        return Promise.reject(childPlan);\r\n                    }\r\n                    childInstruction.plan = childPlan;\r\n                    // for bluebird ?\r\n                    return null;\r\n                });\r\n            });\r\n            pending.push(task);\r\n        }\r\n    };\r\n    for (var viewPortName in previousViewPortInstructions) {\r\n        _loop_1(viewPortName);\r\n    }\r\n    return Promise.all(pending).then(function () { return viewPortPlans; });\r\n};\r\n/**\r\n * @param newViewPortConfig if this is invoked on a viewport without any changes, based on new url, newViewPortConfig will be the existing viewport instruction\r\n * @internal exported for unit testing\r\n */\r\nvar determineActivationStrategy = function (currentNavInstruction, prevViewPortInstruction, newViewPortConfig, \r\n// indicates whether there is difference between old and new url params\r\nhasNewParams, forceLifecycleMinimum) {\r\n    var newInstructionConfig = currentNavInstruction.config;\r\n    var prevViewPortViewModel = prevViewPortInstruction.component.viewModel;\r\n    var viewPortPlanStrategy;\r\n    if (prevViewPortInstruction.moduleId !== newViewPortConfig.moduleId) {\r\n        viewPortPlanStrategy = \"replace\" /* Replace */;\r\n    }\r\n    else if ('determineActivationStrategy' in prevViewPortViewModel) {\r\n        viewPortPlanStrategy = prevViewPortViewModel.determineActivationStrategy.apply(prevViewPortViewModel, currentNavInstruction.lifecycleArgs);\r\n    }\r\n    else if (newInstructionConfig.activationStrategy) {\r\n        viewPortPlanStrategy = newInstructionConfig.activationStrategy;\r\n    }\r\n    else if (hasNewParams || forceLifecycleMinimum) {\r\n        viewPortPlanStrategy = \"invoke-lifecycle\" /* InvokeLifecycle */;\r\n    }\r\n    else {\r\n        viewPortPlanStrategy = \"no-change\" /* NoChange */;\r\n    }\r\n    return viewPortPlanStrategy;\r\n};\r\n/**@internal exported for unit testing */\r\nvar hasDifferentParameterValues = function (prev, next) {\r\n    var prevParams = prev.params;\r\n    var nextParams = next.params;\r\n    var nextWildCardName = next.config.hasChildRouter ? next.getWildCardName() : null;\r\n    for (var key in nextParams) {\r\n        if (key === nextWildCardName) {\r\n            continue;\r\n        }\r\n        if (prevParams[key] !== nextParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    for (var key in prevParams) {\r\n        if (key === nextWildCardName) {\r\n            continue;\r\n        }\r\n        if (prevParams[key] !== nextParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    if (!next.options.compareQueryParams) {\r\n        return false;\r\n    }\r\n    var prevQueryParams = prev.queryParams;\r\n    var nextQueryParams = next.queryParams;\r\n    for (var key in nextQueryParams) {\r\n        if (prevQueryParams[key] !== nextQueryParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    for (var key in prevQueryParams) {\r\n        if (prevQueryParams[key] !== nextQueryParams[key]) {\r\n            return true;\r\n        }\r\n    }\r\n    return false;\r\n};\n\n/**\r\n * Transform a navigation instruction into viewport plan record object,\r\n * or a redirect request if user viewmodel demands\r\n */\r\nvar BuildNavigationPlanStep = /** @class */ (function () {\r\n    function BuildNavigationPlanStep() {\r\n    }\r\n    BuildNavigationPlanStep.prototype.run = function (navigationInstruction, next) {\r\n        return _buildNavigationPlan(navigationInstruction)\r\n            .then(function (plan) {\r\n            if (plan instanceof Redirect) {\r\n                return next.cancel(plan);\r\n            }\r\n            navigationInstruction.plan = plan;\r\n            return next();\r\n        })\r\n            .catch(next.cancel);\r\n    };\r\n    return BuildNavigationPlanStep;\r\n}());\n\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar loadNewRoute = function (routeLoader, navigationInstruction) {\r\n    var loadingPlans = determineLoadingPlans(navigationInstruction);\r\n    var loadPromises = loadingPlans.map(function (loadingPlan) { return loadRoute(routeLoader, loadingPlan.navigationInstruction, loadingPlan.viewPortPlan); });\r\n    return Promise.all(loadPromises);\r\n};\r\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar determineLoadingPlans = function (navigationInstruction, loadingPlans) {\r\n    if (loadingPlans === void 0) { loadingPlans = []; }\r\n    var viewPortPlans = navigationInstruction.plan;\r\n    for (var viewPortName in viewPortPlans) {\r\n        var viewPortPlan = viewPortPlans[viewPortName];\r\n        var childNavInstruction = viewPortPlan.childNavigationInstruction;\r\n        if (viewPortPlan.strategy === \"replace\" /* Replace */) {\r\n            loadingPlans.push({ viewPortPlan: viewPortPlan, navigationInstruction: navigationInstruction });\r\n            if (childNavInstruction) {\r\n                determineLoadingPlans(childNavInstruction, loadingPlans);\r\n            }\r\n        }\r\n        else {\r\n            var viewPortInstruction = navigationInstruction.addViewPortInstruction({\r\n                name: viewPortName,\r\n                strategy: viewPortPlan.strategy,\r\n                moduleId: viewPortPlan.prevModuleId,\r\n                component: viewPortPlan.prevComponent\r\n            });\r\n            if (childNavInstruction) {\r\n                viewPortInstruction.childNavigationInstruction = childNavInstruction;\r\n                determineLoadingPlans(childNavInstruction, loadingPlans);\r\n            }\r\n        }\r\n    }\r\n    return loadingPlans;\r\n};\r\n/**\r\n * @internal Exported for unit testing\r\n */\r\nvar loadRoute = function (routeLoader, navigationInstruction, viewPortPlan) {\r\n    var planConfig = viewPortPlan.config;\r\n    var moduleId = planConfig ? planConfig.moduleId : null;\r\n    return loadComponent(routeLoader, navigationInstruction, planConfig)\r\n        .then(function (component) {\r\n        var viewPortInstruction = navigationInstruction.addViewPortInstruction({\r\n            name: viewPortPlan.name,\r\n            strategy: viewPortPlan.strategy,\r\n            moduleId: moduleId,\r\n            component: component\r\n        });\r\n        var childRouter = component.childRouter;\r\n        if (childRouter) {\r\n            var path = navigationInstruction.getWildcardPath();\r\n            return childRouter\r\n                ._createNavigationInstruction(path, navigationInstruction)\r\n                .then(function (childInstruction) {\r\n                viewPortPlan.childNavigationInstruction = childInstruction;\r\n                return _buildNavigationPlan(childInstruction)\r\n                    .then(function (childPlan) {\r\n                    if (childPlan instanceof Redirect) {\r\n                        return Promise.reject(childPlan);\r\n                    }\r\n                    childInstruction.plan = childPlan;\r\n                    viewPortInstruction.childNavigationInstruction = childInstruction;\r\n                    return loadNewRoute(routeLoader, childInstruction);\r\n                });\r\n            });\r\n        }\r\n        // ts complains without this, though they are same\r\n        return void 0;\r\n    });\r\n};\r\n/**\r\n * Load a routed-component based on navigation instruction and route config\r\n * @internal exported for unit testing only\r\n */\r\nvar loadComponent = function (routeLoader, navigationInstruction, config) {\r\n    var router = navigationInstruction.router;\r\n    var lifecycleArgs = navigationInstruction.lifecycleArgs;\r\n    return Promise.resolve()\r\n        .then(function () { return routeLoader.loadRoute(router, config, navigationInstruction); })\r\n        .then(\r\n    /**\r\n     * @param component an object carrying information about loaded route\r\n     * typically contains information about view model, childContainer, view and router\r\n     */\r\n    function (component) {\r\n        var viewModel = component.viewModel, childContainer = component.childContainer;\r\n        component.router = router;\r\n        component.config = config;\r\n        if ('configureRouter' in viewModel) {\r\n            var childRouter_1 = childContainer.getChildRouter();\r\n            component.childRouter = childRouter_1;\r\n            return childRouter_1\r\n                .configure(function (c) { return viewModel.configureRouter(c, childRouter_1, lifecycleArgs[0], lifecycleArgs[1], lifecycleArgs[2]); })\r\n                .then(function () { return component; });\r\n        }\r\n        return component;\r\n    });\r\n};\n\n/**\r\n * Abstract class that is responsible for loading view / view model from a route config\r\n * The default implementation can be found in `aurelia-templating-router`\r\n */\r\nvar RouteLoader = /** @class */ (function () {\r\n    function RouteLoader() {\r\n    }\r\n    /**\r\n     * Load a route config based on its viewmodel / view configuration\r\n     */\r\n    // return typing: return typings used to be never\r\n    // as it was a throw. Changing it to Promise<any> should not cause any issues\r\n    RouteLoader.prototype.loadRoute = function (router, config, navigationInstruction) {\r\n        throw new Error('Route loaders must implement \"loadRoute(router, config, navigationInstruction)\".');\r\n    };\r\n    return RouteLoader;\r\n}());\n\n/**\r\n * A pipeline step responsible for loading a route config of a navigation instruction\r\n */\r\nvar LoadRouteStep = /** @class */ (function () {\r\n    function LoadRouteStep(routeLoader) {\r\n        this.routeLoader = routeLoader;\r\n    }\r\n    /**@internal */\r\n    LoadRouteStep.inject = function () { return [RouteLoader]; };\r\n    /**\r\n     * Run the internal to load route config of a navigation instruction to prepare for next steps in the pipeline\r\n     */\r\n    LoadRouteStep.prototype.run = function (navigationInstruction, next) {\r\n        return loadNewRoute(this.routeLoader, navigationInstruction)\r\n            .then(next, next.cancel);\r\n    };\r\n    return LoadRouteStep;\r\n}());\n\n/**\r\n * A pipeline step for instructing a piepline to commit changes on a navigation instruction\r\n */\r\nvar CommitChangesStep = /** @class */ (function () {\r\n    function CommitChangesStep() {\r\n    }\r\n    CommitChangesStep.prototype.run = function (navigationInstruction, next) {\r\n        return navigationInstruction\r\n            ._commitChanges(/*wait to swap?*/ true)\r\n            .then(function () {\r\n            navigationInstruction._updateTitle();\r\n            return next();\r\n        });\r\n    };\r\n    return CommitChangesStep;\r\n}());\n\n/**\r\n * An optional interface describing the available activation strategies.\r\n * @internal Used internally.\r\n */\r\nvar InternalActivationStrategy;\r\n(function (InternalActivationStrategy) {\r\n    /**\r\n     * Reuse the existing view model, without invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"NoChange\"] = \"no-change\";\r\n    /**\r\n     * Reuse the existing view model, invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"InvokeLifecycle\"] = \"invoke-lifecycle\";\r\n    /**\r\n     * Replace the existing view model, invoking Router lifecycle hooks.\r\n     */\r\n    InternalActivationStrategy[\"Replace\"] = \"replace\";\r\n})(InternalActivationStrategy || (InternalActivationStrategy = {}));\r\n/**\r\n * The strategy to use when activating modules during navigation.\r\n */\r\n// kept for compat reason\r\nvar activationStrategy = {\r\n    noChange: \"no-change\" /* NoChange */,\r\n    invokeLifecycle: \"invoke-lifecycle\" /* InvokeLifecycle */,\r\n    replace: \"replace\" /* Replace */\r\n};\n\n/**\r\n * Recursively find list of deactivate-able view models\r\n * and invoke the either 'canDeactivate' or 'deactivate' on each\r\n * @internal exported for unit testing\r\n */\r\nvar processDeactivatable = function (navigationInstruction, callbackName, next, ignoreResult) {\r\n    var plan = navigationInstruction.plan;\r\n    var infos = findDeactivatable(plan, callbackName);\r\n    var i = infos.length; // query from inside out\r\n    function inspect(val) {\r\n        if (ignoreResult || shouldContinue(val)) {\r\n            return iterate();\r\n        }\r\n        return next.cancel(val);\r\n    }\r\n    function iterate() {\r\n        if (i--) {\r\n            try {\r\n                var viewModel = infos[i];\r\n                var result = viewModel[callbackName](navigationInstruction);\r\n                return processPotential(result, inspect, next.cancel);\r\n            }\r\n            catch (error) {\r\n                return next.cancel(error);\r\n            }\r\n        }\r\n        navigationInstruction.router.couldDeactivate = true;\r\n        return next();\r\n    }\r\n    return iterate();\r\n};\r\n/**\r\n * Recursively find and returns a list of deactivate-able view models\r\n * @internal exported for unit testing\r\n */\r\nvar findDeactivatable = function (plan, callbackName, list) {\r\n    if (list === void 0) { list = []; }\r\n    for (var viewPortName in plan) {\r\n        var viewPortPlan = plan[viewPortName];\r\n        var prevComponent = viewPortPlan.prevComponent;\r\n        if ((viewPortPlan.strategy === activationStrategy.invokeLifecycle || viewPortPlan.strategy === activationStrategy.replace)\r\n            && prevComponent) {\r\n            var viewModel = prevComponent.viewModel;\r\n            if (callbackName in viewModel) {\r\n                list.push(viewModel);\r\n            }\r\n        }\r\n        if (viewPortPlan.strategy === activationStrategy.replace && prevComponent) {\r\n            addPreviousDeactivatable(prevComponent, callbackName, list);\r\n        }\r\n        else if (viewPortPlan.childNavigationInstruction) {\r\n            findDeactivatable(viewPortPlan.childNavigationInstruction.plan, callbackName, list);\r\n        }\r\n    }\r\n    return list;\r\n};\r\n/**\r\n * @internal exported for unit testing\r\n */\r\nvar addPreviousDeactivatable = function (component, callbackName, list) {\r\n    var childRouter = component.childRouter;\r\n    if (childRouter && childRouter.currentInstruction) {\r\n        var viewPortInstructions = childRouter.currentInstruction.viewPortInstructions;\r\n        for (var viewPortName in viewPortInstructions) {\r\n            var viewPortInstruction = viewPortInstructions[viewPortName];\r\n            var prevComponent = viewPortInstruction.component;\r\n            var prevViewModel = prevComponent.viewModel;\r\n            if (callbackName in prevViewModel) {\r\n                list.push(prevViewModel);\r\n            }\r\n            addPreviousDeactivatable(prevComponent, callbackName, list);\r\n        }\r\n    }\r\n};\r\n/**\r\n * @internal exported for unit testing\r\n */\r\nvar processActivatable = function (navigationInstruction, callbackName, next, ignoreResult) {\r\n    var infos = findActivatable(navigationInstruction, callbackName);\r\n    var length = infos.length;\r\n    var i = -1; // query from top down\r\n    function inspect(val, router) {\r\n        if (ignoreResult || shouldContinue(val, router)) {\r\n            return iterate();\r\n        }\r\n        return next.cancel(val);\r\n    }\r\n    function iterate() {\r\n        var _a;\r\n        i++;\r\n        if (i < length) {\r\n            try {\r\n                var current_1 = infos[i];\r\n                var result = (_a = current_1.viewModel)[callbackName].apply(_a, current_1.lifecycleArgs);\r\n                return processPotential(result, function (val) { return inspect(val, current_1.router); }, next.cancel);\r\n            }\r\n            catch (error) {\r\n                return next.cancel(error);\r\n            }\r\n        }\r\n        return next();\r\n    }\r\n    return iterate();\r\n};\r\n/**\r\n * Find list of activatable view model and add to list (3rd parameter)\r\n * @internal exported for unit testing\r\n */\r\nvar findActivatable = function (navigationInstruction, callbackName, list, router) {\r\n    if (list === void 0) { list = []; }\r\n    var plan = navigationInstruction.plan;\r\n    Object\r\n        .keys(plan)\r\n        .forEach(function (viewPortName) {\r\n        var viewPortPlan = plan[viewPortName];\r\n        var viewPortInstruction = navigationInstruction.viewPortInstructions[viewPortName];\r\n        var viewPortComponent = viewPortInstruction.component;\r\n        var viewModel = viewPortComponent.viewModel;\r\n        if ((viewPortPlan.strategy === activationStrategy.invokeLifecycle\r\n            || viewPortPlan.strategy === activationStrategy.replace)\r\n            && callbackName in viewModel) {\r\n            list.push({\r\n                viewModel: viewModel,\r\n                lifecycleArgs: viewPortInstruction.lifecycleArgs,\r\n                router: router\r\n            });\r\n        }\r\n        var childNavInstruction = viewPortPlan.childNavigationInstruction;\r\n        if (childNavInstruction) {\r\n            findActivatable(childNavInstruction, callbackName, list, viewPortComponent.childRouter || router);\r\n        }\r\n    });\r\n    return list;\r\n};\r\nvar shouldContinue = function (output, router) {\r\n    if (output instanceof Error) {\r\n        return false;\r\n    }\r\n    if (isNavigationCommand(output)) {\r\n        if (typeof output.setRouter === 'function') {\r\n            output.setRouter(router);\r\n        }\r\n        return !!output.shouldContinueProcessing;\r\n    }\r\n    if (output === undefined) {\r\n        return true;\r\n    }\r\n    return output;\r\n};\r\n/**\r\n * wraps a subscription, allowing unsubscribe calls even if\r\n * the first value comes synchronously\r\n */\r\nvar SafeSubscription = /** @class */ (function () {\r\n    function SafeSubscription(subscriptionFunc) {\r\n        this._subscribed = true;\r\n        this._subscription = subscriptionFunc(this);\r\n        if (!this._subscribed) {\r\n            this.unsubscribe();\r\n        }\r\n    }\r\n    Object.defineProperty(SafeSubscription.prototype, \"subscribed\", {\r\n        get: function () {\r\n            return this._subscribed;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SafeSubscription.prototype.unsubscribe = function () {\r\n        if (this._subscribed && this._subscription) {\r\n            this._subscription.unsubscribe();\r\n        }\r\n        this._subscribed = false;\r\n    };\r\n    return SafeSubscription;\r\n}());\r\n/**\r\n * A function to process return value from `activate`/`canActivate` steps\r\n * Supports observable/promise\r\n *\r\n * For observable, resolve at first next() or on complete()\r\n */\r\nvar processPotential = function (obj, resolve, reject) {\r\n    // if promise like\r\n    if (obj && typeof obj.then === 'function') {\r\n        return Promise.resolve(obj).then(resolve).catch(reject);\r\n    }\r\n    // if observable\r\n    if (obj && typeof obj.subscribe === 'function') {\r\n        var obs_1 = obj;\r\n        return new SafeSubscription(function (sub) { return obs_1.subscribe({\r\n            next: function () {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    resolve(obj);\r\n                }\r\n            },\r\n            error: function (error) {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    reject(error);\r\n                }\r\n            },\r\n            complete: function () {\r\n                if (sub.subscribed) {\r\n                    sub.unsubscribe();\r\n                    resolve(obj);\r\n                }\r\n            }\r\n        }); });\r\n    }\r\n    // else just resolve\r\n    try {\r\n        return resolve(obj);\r\n    }\r\n    catch (error) {\r\n        return reject(error);\r\n    }\r\n};\n\n/**\r\n * A pipeline step responsible for finding and activating method `canDeactivate` on a view model of a route\r\n */\r\nvar CanDeactivatePreviousStep = /** @class */ (function () {\r\n    function CanDeactivatePreviousStep() {\r\n    }\r\n    CanDeactivatePreviousStep.prototype.run = function (navigationInstruction, next) {\r\n        return processDeactivatable(navigationInstruction, 'canDeactivate', next);\r\n    };\r\n    return CanDeactivatePreviousStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `canActivate` on a view model of a route\r\n */\r\nvar CanActivateNextStep = /** @class */ (function () {\r\n    function CanActivateNextStep() {\r\n    }\r\n    CanActivateNextStep.prototype.run = function (navigationInstruction, next) {\r\n        return processActivatable(navigationInstruction, 'canActivate', next);\r\n    };\r\n    return CanActivateNextStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `deactivate` on a view model of a route\r\n */\r\nvar DeactivatePreviousStep = /** @class */ (function () {\r\n    function DeactivatePreviousStep() {\r\n    }\r\n    DeactivatePreviousStep.prototype.run = function (navigationInstruction, next) {\r\n        return processDeactivatable(navigationInstruction, 'deactivate', next, true);\r\n    };\r\n    return DeactivatePreviousStep;\r\n}());\r\n/**\r\n * A pipeline step responsible for finding and activating method `activate` on a view model of a route\r\n */\r\nvar ActivateNextStep = /** @class */ (function () {\r\n    function ActivateNextStep() {\r\n    }\r\n    ActivateNextStep.prototype.run = function (navigationInstruction, next) {\r\n        return processActivatable(navigationInstruction, 'activate', next, true);\r\n    };\r\n    return ActivateNextStep;\r\n}());\n\n/**\r\n * A multi-slots Pipeline Placeholder Step for hooking into a pipeline execution\r\n */\r\nvar PipelineSlot = /** @class */ (function () {\r\n    function PipelineSlot(container, name, alias) {\r\n        this.steps = [];\r\n        this.container = container;\r\n        this.slotName = name;\r\n        this.slotAlias = alias;\r\n    }\r\n    PipelineSlot.prototype.getSteps = function () {\r\n        var _this = this;\r\n        return this.steps.map(function (x) { return _this.container.get(x); });\r\n    };\r\n    return PipelineSlot;\r\n}());\r\n/**\r\n * Class responsible for creating the navigation pipeline.\r\n */\r\nvar PipelineProvider = /** @class */ (function () {\r\n    function PipelineProvider(container) {\r\n        this.container = container;\r\n        this.steps = [\r\n            BuildNavigationPlanStep,\r\n            CanDeactivatePreviousStep,\r\n            LoadRouteStep,\r\n            createPipelineSlot(container, \"authorize\" /* Authorize */),\r\n            CanActivateNextStep,\r\n            createPipelineSlot(container, \"preActivate\" /* PreActivate */, 'modelbind'),\r\n            // NOTE: app state changes start below - point of no return\r\n            DeactivatePreviousStep,\r\n            ActivateNextStep,\r\n            createPipelineSlot(container, \"preRender\" /* PreRender */, 'precommit'),\r\n            CommitChangesStep,\r\n            createPipelineSlot(container, \"postRender\" /* PostRender */, 'postcomplete')\r\n        ];\r\n    }\r\n    /**@internal */\r\n    PipelineProvider.inject = function () { return [Container]; };\r\n    /**\r\n     * Create the navigation pipeline.\r\n     */\r\n    PipelineProvider.prototype.createPipeline = function (useCanDeactivateStep) {\r\n        var _this = this;\r\n        if (useCanDeactivateStep === void 0) { useCanDeactivateStep = true; }\r\n        var pipeline = new Pipeline();\r\n        this.steps.forEach(function (step) {\r\n            if (useCanDeactivateStep || step !== CanDeactivatePreviousStep) {\r\n                pipeline.addStep(_this.container.get(step));\r\n            }\r\n        });\r\n        return pipeline;\r\n    };\r\n    /**@internal */\r\n    PipelineProvider.prototype._findStep = function (name) {\r\n        // Steps that are not PipelineSlots are constructor functions, and they will automatically fail. Probably.\r\n        return this.steps.find(function (x) { return x.slotName === name || x.slotAlias === name; });\r\n    };\r\n    /**\r\n     * Adds a step into the pipeline at a known slot location.\r\n     */\r\n    PipelineProvider.prototype.addStep = function (name, step) {\r\n        var found = this._findStep(name);\r\n        if (found) {\r\n            var slotSteps = found.steps;\r\n            // prevent duplicates\r\n            if (!slotSteps.includes(step)) {\r\n                slotSteps.push(step);\r\n            }\r\n        }\r\n        else {\r\n            throw new Error(\"Invalid pipeline slot name: \" + name + \".\");\r\n        }\r\n    };\r\n    /**\r\n     * Removes a step from a slot in the pipeline\r\n     */\r\n    PipelineProvider.prototype.removeStep = function (name, step) {\r\n        var slot = this._findStep(name);\r\n        if (slot) {\r\n            var slotSteps = slot.steps;\r\n            slotSteps.splice(slotSteps.indexOf(step), 1);\r\n        }\r\n    };\r\n    /**\r\n     * Clears all steps from a slot in the pipeline\r\n     * @internal\r\n     */\r\n    PipelineProvider.prototype._clearSteps = function (name) {\r\n        if (name === void 0) { name = ''; }\r\n        var slot = this._findStep(name);\r\n        if (slot) {\r\n            slot.steps = [];\r\n        }\r\n    };\r\n    /**\r\n     * Resets all pipeline slots\r\n     */\r\n    PipelineProvider.prototype.reset = function () {\r\n        this._clearSteps(\"authorize\" /* Authorize */);\r\n        this._clearSteps(\"preActivate\" /* PreActivate */);\r\n        this._clearSteps(\"preRender\" /* PreRender */);\r\n        this._clearSteps(\"postRender\" /* PostRender */);\r\n    };\r\n    return PipelineProvider;\r\n}());\r\n/**@internal */\r\nvar createPipelineSlot = function (container, name, alias) {\r\n    return new PipelineSlot(container, name, alias);\r\n};\n\nvar logger = getLogger('app-router');\r\n/**\r\n * The main application router.\r\n */\r\nvar AppRouter = /** @class */ (function (_super) {\r\n    __extends(AppRouter, _super);\r\n    function AppRouter(container, history, pipelineProvider, events) {\r\n        var _this = _super.call(this, container, history) || this;\r\n        _this.pipelineProvider = pipelineProvider;\r\n        _this.events = events;\r\n        return _this;\r\n    }\r\n    /**@internal */\r\n    AppRouter.inject = function () { return [Container, History, PipelineProvider, EventAggregator]; };\r\n    /**\r\n     * Fully resets the router's internal state. Primarily used internally by the framework when multiple calls to setRoot are made.\r\n     * Use with caution (actually, avoid using this). Do not use this to simply change your navigation model.\r\n     */\r\n    AppRouter.prototype.reset = function () {\r\n        _super.prototype.reset.call(this);\r\n        this.maxInstructionCount = 10;\r\n        if (!this._queue) {\r\n            this._queue = [];\r\n        }\r\n        else {\r\n            this._queue.length = 0;\r\n        }\r\n    };\r\n    /**\r\n     * Loads the specified URL.\r\n     *\r\n     * @param url The URL fragment to load.\r\n     */\r\n    AppRouter.prototype.loadUrl = function (url) {\r\n        var _this = this;\r\n        return this\r\n            ._createNavigationInstruction(url)\r\n            .then(function (instruction) { return _this._queueInstruction(instruction); })\r\n            .catch(function (error) {\r\n            logger.error(error);\r\n            restorePreviousLocation(_this);\r\n        });\r\n    };\r\n    /**\r\n     * Registers a viewPort to be used as a rendering target for activated routes.\r\n     *\r\n     * @param viewPort The viewPort. This is typically a <router-view/> element in Aurelia default impl\r\n     * @param name The name of the viewPort. 'default' if unspecified.\r\n     */\r\n    AppRouter.prototype.registerViewPort = function (viewPort, name) {\r\n        var _this = this;\r\n        // having strong typing without changing public API\r\n        var $viewPort = viewPort;\r\n        _super.prototype.registerViewPort.call(this, $viewPort, name);\r\n        // beside adding viewport to the registry of this instance\r\n        // AppRouter also configure routing/history to start routing functionality\r\n        // There are situation where there are more than 1 <router-view/> element at root view\r\n        // in that case, still only activate once via the following guard\r\n        if (!this.isActive) {\r\n            var viewModel_1 = this._findViewModel($viewPort);\r\n            if ('configureRouter' in viewModel_1) {\r\n                // If there are more than one <router-view/> element at root view\r\n                // use this flag to guard against configure method being invoked multiple times\r\n                // this flag is set inside method configure\r\n                if (!this.isConfigured) {\r\n                    // replace the real resolve with a noop to guarantee that any action in base class Router\r\n                    // won't resolve the configurePromise prematurely\r\n                    var resolveConfiguredPromise_1 = this._resolveConfiguredPromise;\r\n                    this._resolveConfiguredPromise = function () { };\r\n                    return this\r\n                        .configure(function (config) {\r\n                        return Promise\r\n                            .resolve(viewModel_1.configureRouter(config, _this))\r\n                            // an issue with configure interface. Should be fixed there\r\n                            // todo: fix this via configure interface in router\r\n                            .then(function () { return config; });\r\n                    })\r\n                        .then(function () {\r\n                        _this.activate();\r\n                        resolveConfiguredPromise_1();\r\n                    });\r\n                }\r\n            }\r\n            else {\r\n                this.activate();\r\n            }\r\n        }\r\n        // when a viewport is added dynamically to a root view that is already activated\r\n        // just process the navigation instruction\r\n        else {\r\n            this._dequeueInstruction();\r\n        }\r\n        return Promise.resolve();\r\n    };\r\n    /**\r\n     * Activates the router. This instructs the router to begin listening for history changes and processing instructions.\r\n     *\r\n     * @params options The set of options to activate the router with.\r\n     */\r\n    AppRouter.prototype.activate = function (options) {\r\n        if (this.isActive) {\r\n            return;\r\n        }\r\n        this.isActive = true;\r\n        // route handler property is responsible for handling url change\r\n        // the interface of aurelia-history isn't clear on this perspective\r\n        this.options = Object.assign({ routeHandler: this.loadUrl.bind(this) }, this.options, options);\r\n        this.history.activate(this.options);\r\n        this._dequeueInstruction();\r\n    };\r\n    /**\r\n     * Deactivates the router.\r\n     */\r\n    AppRouter.prototype.deactivate = function () {\r\n        this.isActive = false;\r\n        this.history.deactivate();\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._queueInstruction = function (instruction) {\r\n        var _this = this;\r\n        return new Promise(function (resolve) {\r\n            instruction.resolve = resolve;\r\n            _this._queue.unshift(instruction);\r\n            _this._dequeueInstruction();\r\n        });\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._dequeueInstruction = function (instructionCount) {\r\n        var _this = this;\r\n        if (instructionCount === void 0) { instructionCount = 0; }\r\n        return Promise.resolve().then(function () {\r\n            if (_this.isNavigating && !instructionCount) {\r\n                // ts complains about inconsistent returns without void 0\r\n                return void 0;\r\n            }\r\n            var instruction = _this._queue.shift();\r\n            _this._queue.length = 0;\r\n            if (!instruction) {\r\n                // ts complains about inconsistent returns without void 0\r\n                return void 0;\r\n            }\r\n            _this.isNavigating = true;\r\n            var navtracker = _this.history.getState('NavigationTracker');\r\n            var currentNavTracker = _this.currentNavigationTracker;\r\n            if (!navtracker && !currentNavTracker) {\r\n                _this.isNavigatingFirst = true;\r\n                _this.isNavigatingNew = true;\r\n            }\r\n            else if (!navtracker) {\r\n                _this.isNavigatingNew = true;\r\n            }\r\n            else if (!currentNavTracker) {\r\n                _this.isNavigatingRefresh = true;\r\n            }\r\n            else if (currentNavTracker < navtracker) {\r\n                _this.isNavigatingForward = true;\r\n            }\r\n            else if (currentNavTracker > navtracker) {\r\n                _this.isNavigatingBack = true;\r\n            }\r\n            if (!navtracker) {\r\n                navtracker = Date.now();\r\n                _this.history.setState('NavigationTracker', navtracker);\r\n            }\r\n            _this.currentNavigationTracker = navtracker;\r\n            instruction.previousInstruction = _this.currentInstruction;\r\n            var maxInstructionCount = _this.maxInstructionCount;\r\n            if (!instructionCount) {\r\n                _this.events.publish(\"router:navigation:processing\" /* Processing */, { instruction: instruction });\r\n            }\r\n            else if (instructionCount === maxInstructionCount - 1) {\r\n                logger.error(instructionCount + 1 + \" navigation instructions have been attempted without success. Restoring last known good location.\");\r\n                restorePreviousLocation(_this);\r\n                return _this._dequeueInstruction(instructionCount + 1);\r\n            }\r\n            else if (instructionCount > maxInstructionCount) {\r\n                throw new Error('Maximum navigation attempts exceeded. Giving up.');\r\n            }\r\n            var pipeline = _this.pipelineProvider.createPipeline(!_this.couldDeactivate);\r\n            return pipeline\r\n                .run(instruction)\r\n                .then(function (result) { return processResult(instruction, result, instructionCount, _this); })\r\n                .catch(function (error) {\r\n                return { output: error instanceof Error ? error : new Error(error) };\r\n            })\r\n                .then(function (result) { return resolveInstruction(instruction, result, !!instructionCount, _this); });\r\n        });\r\n    };\r\n    /**@internal */\r\n    AppRouter.prototype._findViewModel = function (viewPort) {\r\n        if (this.container.viewModel) {\r\n            return this.container.viewModel;\r\n        }\r\n        if (viewPort.container) {\r\n            var container = viewPort.container;\r\n            while (container) {\r\n                if (container.viewModel) {\r\n                    this.container.viewModel = container.viewModel;\r\n                    return container.viewModel;\r\n                }\r\n                container = container.parent;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return AppRouter;\r\n}(Router));\r\nvar processResult = function (instruction, result, instructionCount, router) {\r\n    if (!(result && 'completed' in result && 'output' in result)) {\r\n        result = result || {};\r\n        result.output = new Error(\"Expected router pipeline to return a navigation result, but got [\" + JSON.stringify(result) + \"] instead.\");\r\n    }\r\n    var finalResult = null;\r\n    var navigationCommandResult = null;\r\n    if (isNavigationCommand(result.output)) {\r\n        navigationCommandResult = result.output.navigate(router);\r\n    }\r\n    else {\r\n        finalResult = result;\r\n        if (!result.completed) {\r\n            if (result.output instanceof Error) {\r\n                logger.error(result.output.toString());\r\n            }\r\n            restorePreviousLocation(router);\r\n        }\r\n    }\r\n    return Promise.resolve(navigationCommandResult)\r\n        .then(function (_) { return router._dequeueInstruction(instructionCount + 1); })\r\n        .then(function (innerResult) { return finalResult || innerResult || result; });\r\n};\r\nvar resolveInstruction = function (instruction, result, isInnerInstruction, router) {\r\n    instruction.resolve(result);\r\n    var eventAggregator = router.events;\r\n    var eventArgs = { instruction: instruction, result: result };\r\n    if (!isInnerInstruction) {\r\n        router.isNavigating = false;\r\n        router.isExplicitNavigation = false;\r\n        router.isExplicitNavigationBack = false;\r\n        router.isNavigatingFirst = false;\r\n        router.isNavigatingNew = false;\r\n        router.isNavigatingRefresh = false;\r\n        router.isNavigatingForward = false;\r\n        router.isNavigatingBack = false;\r\n        router.couldDeactivate = false;\r\n        var eventName = void 0;\r\n        if (result.output instanceof Error) {\r\n            eventName = \"router:navigation:error\" /* Error */;\r\n        }\r\n        else if (!result.completed) {\r\n            eventName = \"router:navigation:canceled\" /* Canceled */;\r\n        }\r\n        else {\r\n            var queryString = instruction.queryString ? ('?' + instruction.queryString) : '';\r\n            router.history.previousLocation = instruction.fragment + queryString;\r\n            eventName = \"router:navigation:success\" /* Success */;\r\n        }\r\n        eventAggregator.publish(eventName, eventArgs);\r\n        eventAggregator.publish(\"router:navigation:complete\" /* Complete */, eventArgs);\r\n    }\r\n    else {\r\n        eventAggregator.publish(\"router:navigation:child:complete\" /* ChildComplete */, eventArgs);\r\n    }\r\n    return result;\r\n};\r\nvar restorePreviousLocation = function (router) {\r\n    var previousLocation = router.history.previousLocation;\r\n    if (previousLocation) {\r\n        router.navigate(previousLocation, { trigger: false, replace: true });\r\n    }\r\n    else if (router.fallbackRoute) {\r\n        router.navigate(router.fallbackRoute, { trigger: true, replace: true });\r\n    }\r\n    else {\r\n        logger.error('Router navigation failed, and no previous location or fallbackRoute could be restored.');\r\n    }\r\n};\n\n/**\r\n* The status of a Pipeline.\r\n*/\r\nvar PipelineStatus;\r\n(function (PipelineStatus) {\r\n    PipelineStatus[\"Completed\"] = \"completed\";\r\n    PipelineStatus[\"Canceled\"] = \"canceled\";\r\n    PipelineStatus[\"Rejected\"] = \"rejected\";\r\n    PipelineStatus[\"Running\"] = \"running\";\r\n})(PipelineStatus || (PipelineStatus = {}));\n\n/**\r\n * A list of known router events used by the Aurelia router\r\n * to signal the pipeline has come to a certain state\r\n */\r\n// const enum is preserved in tsconfig\r\nvar RouterEvent;\r\n(function (RouterEvent) {\r\n    RouterEvent[\"Processing\"] = \"router:navigation:processing\";\r\n    RouterEvent[\"Error\"] = \"router:navigation:error\";\r\n    RouterEvent[\"Canceled\"] = \"router:navigation:canceled\";\r\n    RouterEvent[\"Complete\"] = \"router:navigation:complete\";\r\n    RouterEvent[\"Success\"] = \"router:navigation:success\";\r\n    RouterEvent[\"ChildComplete\"] = \"router:navigation:child:complete\";\r\n})(RouterEvent || (RouterEvent = {}));\n\n/**\r\n * Available pipeline slot names to insert interceptor into router pipeline\r\n */\r\n// const enum is preserved in tsconfig\r\nvar PipelineSlotName;\r\n(function (PipelineSlotName) {\r\n    /**\r\n     * Authorization slot. Invoked early in the pipeline,\r\n     * before `canActivate` hook of incoming route\r\n     */\r\n    PipelineSlotName[\"Authorize\"] = \"authorize\";\r\n    /**\r\n     * Pre-activation slot. Invoked early in the pipeline,\r\n     * Invoked timing:\r\n     *   - after Authorization slot\r\n     *   - after canActivate hook on new view model\r\n     *   - before deactivate hook on old view model\r\n     *   - before activate hook on new view model\r\n     */\r\n    PipelineSlotName[\"PreActivate\"] = \"preActivate\";\r\n    /**\r\n     * Pre-render slot. Invoked later in the pipeline\r\n     * Invokcation timing:\r\n     *   - after activate hook on new view model\r\n     *   - before commit step on new navigation instruction\r\n     */\r\n    PipelineSlotName[\"PreRender\"] = \"preRender\";\r\n    /**\r\n     * Post-render slot. Invoked last in the pipeline\r\n     */\r\n    PipelineSlotName[\"PostRender\"] = \"postRender\";\r\n})(PipelineSlotName || (PipelineSlotName = {}));\n\nexport { ActivateNextStep, AppRouter, BuildNavigationPlanStep, CanActivateNextStep, CanDeactivatePreviousStep, CommitChangesStep, DeactivatePreviousStep, LoadRouteStep, NavModel, NavigationInstruction, Pipeline, PipelineProvider, PipelineSlotName, PipelineStatus, Redirect, RedirectToRoute, RouteLoader, Router, RouterConfiguration, RouterEvent, activationStrategy, isNavigationCommand };\n//# sourceMappingURL=aurelia-router.js.map\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nimport { DOM, FEATURE } from 'aurelia-pal';\n\nvar stackSeparator = '\\nEnqueued in TaskQueue by:\\n';\nvar microStackSeparator = '\\nEnqueued in MicroTaskQueue by:\\n';\n\nfunction makeRequestFlushFromMutationObserver(flush) {\n  var observer = DOM.createMutationObserver(flush);\n  var val = 'a';\n  var node = DOM.createTextNode('a');\n  var values = Object.create(null);\n  values.a = 'b';\n  values.b = 'a';\n  observer.observe(node, { characterData: true });\n  return function requestFlush() {\n    node.data = val = values[val];\n  };\n}\n\nfunction makeRequestFlushFromTimer(flush) {\n  return function requestFlush() {\n    var timeoutHandle = setTimeout(handleFlushTimer, 0);\n\n    var intervalHandle = setInterval(handleFlushTimer, 50);\n    function handleFlushTimer() {\n      clearTimeout(timeoutHandle);\n      clearInterval(intervalHandle);\n      flush();\n    }\n  };\n}\n\nfunction onError(error, task, longStacks) {\n  if (longStacks && task.stack && (typeof error === 'undefined' ? 'undefined' : _typeof(error)) === 'object' && error !== null) {\n    error.stack = filterFlushStack(error.stack) + task.stack;\n  }\n\n  if ('onError' in task) {\n    task.onError(error);\n  } else {\n    setTimeout(function () {\n      throw error;\n    }, 0);\n  }\n}\n\nexport var TaskQueue = function () {\n  function TaskQueue() {\n    var _this = this;\n\n    \n\n    this.flushing = false;\n    this.longStacks = false;\n\n    this.microTaskQueue = [];\n    this.microTaskQueueCapacity = 1024;\n    this.taskQueue = [];\n\n    if (FEATURE.mutationObserver) {\n      this.requestFlushMicroTaskQueue = makeRequestFlushFromMutationObserver(function () {\n        return _this.flushMicroTaskQueue();\n      });\n    } else {\n      this.requestFlushMicroTaskQueue = makeRequestFlushFromTimer(function () {\n        return _this.flushMicroTaskQueue();\n      });\n    }\n\n    this.requestFlushTaskQueue = makeRequestFlushFromTimer(function () {\n      return _this.flushTaskQueue();\n    });\n  }\n\n  TaskQueue.prototype._flushQueue = function _flushQueue(queue, capacity) {\n    var index = 0;\n    var task = void 0;\n\n    try {\n      this.flushing = true;\n      while (index < queue.length) {\n        task = queue[index];\n        if (this.longStacks) {\n          this.stack = typeof task.stack === 'string' ? task.stack : undefined;\n        }\n        task.call();\n        index++;\n\n        if (index > capacity) {\n          for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n            queue[scan] = queue[scan + index];\n          }\n\n          queue.length -= index;\n          index = 0;\n        }\n      }\n    } catch (error) {\n      onError(error, task, this.longStacks);\n    } finally {\n      this.flushing = false;\n    }\n  };\n\n  TaskQueue.prototype.queueMicroTask = function queueMicroTask(task) {\n    if (this.microTaskQueue.length < 1) {\n      this.requestFlushMicroTaskQueue();\n    }\n\n    if (this.longStacks) {\n      task.stack = this.prepareQueueStack(microStackSeparator);\n    }\n\n    this.microTaskQueue.push(task);\n  };\n\n  TaskQueue.prototype.queueTask = function queueTask(task) {\n    if (this.taskQueue.length < 1) {\n      this.requestFlushTaskQueue();\n    }\n\n    if (this.longStacks) {\n      task.stack = this.prepareQueueStack(stackSeparator);\n    }\n\n    this.taskQueue.push(task);\n  };\n\n  TaskQueue.prototype.flushTaskQueue = function flushTaskQueue() {\n    var queue = this.taskQueue;\n    this.taskQueue = [];\n    this._flushQueue(queue, Number.MAX_VALUE);\n  };\n\n  TaskQueue.prototype.flushMicroTaskQueue = function flushMicroTaskQueue() {\n    var queue = this.microTaskQueue;\n    this._flushQueue(queue, this.microTaskQueueCapacity);\n    queue.length = 0;\n  };\n\n  TaskQueue.prototype.prepareQueueStack = function prepareQueueStack(separator) {\n    var stack = separator + filterQueueStack(captureStack());\n\n    if (typeof this.stack === 'string') {\n      stack = filterFlushStack(stack) + this.stack;\n    }\n\n    return stack;\n  };\n\n  return TaskQueue;\n}();\n\nfunction captureStack() {\n  var error = new Error();\n\n  if (error.stack) {\n    return error.stack;\n  }\n\n  try {\n    throw error;\n  } catch (e) {\n    return e.stack;\n  }\n}\n\nfunction filterQueueStack(stack) {\n  return stack.replace(/^[\\s\\S]*?\\bqueue(Micro)?Task\\b[^\\n]*\\n/, '');\n}\n\nfunction filterFlushStack(stack) {\n  var index = stack.lastIndexOf('flushMicroTaskQueue');\n\n  if (index < 0) {\n    index = stack.lastIndexOf('flushTaskQueue');\n    if (index < 0) {\n      return stack;\n    }\n  }\n\n  index = stack.lastIndexOf('\\n', index);\n\n  return index < 0 ? stack : stack.substr(0, index);\n}","import { BehaviorInstruction, BindingLanguage } from 'aurelia-templating';\nimport { camelCase, SVGAnalyzer, bindingMode, enqueueBindingConnect, connectable, sourceContext, BindingExpression, ListenerExpression, delegationStrategy, CallExpression, Parser, ObserverLocator, EventManager, NameExpression, LiteralString } from 'aurelia-binding';\nimport * as LogManager from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\n\nvar AttributeMap = (function () {\r\n    function AttributeMap(svg) {\r\n        this.elements = Object.create(null);\r\n        this.allElements = Object.create(null);\r\n        this.svg = svg;\r\n        this.registerUniversal('accesskey', 'accessKey');\r\n        this.registerUniversal('contenteditable', 'contentEditable');\r\n        this.registerUniversal('tabindex', 'tabIndex');\r\n        this.registerUniversal('textcontent', 'textContent');\r\n        this.registerUniversal('innerhtml', 'innerHTML');\r\n        this.registerUniversal('scrolltop', 'scrollTop');\r\n        this.registerUniversal('scrollleft', 'scrollLeft');\r\n        this.registerUniversal('readonly', 'readOnly');\r\n        this.register('label', 'for', 'htmlFor');\r\n        this.register('img', 'usemap', 'useMap');\r\n        this.register('input', 'maxlength', 'maxLength');\r\n        this.register('input', 'minlength', 'minLength');\r\n        this.register('input', 'formaction', 'formAction');\r\n        this.register('input', 'formenctype', 'formEncType');\r\n        this.register('input', 'formmethod', 'formMethod');\r\n        this.register('input', 'formnovalidate', 'formNoValidate');\r\n        this.register('input', 'formtarget', 'formTarget');\r\n        this.register('textarea', 'maxlength', 'maxLength');\r\n        this.register('td', 'rowspan', 'rowSpan');\r\n        this.register('td', 'colspan', 'colSpan');\r\n        this.register('th', 'rowspan', 'rowSpan');\r\n        this.register('th', 'colspan', 'colSpan');\r\n    }\r\n    AttributeMap.prototype.register = function (elementName, attributeName, propertyName) {\r\n        elementName = elementName.toLowerCase();\r\n        attributeName = attributeName.toLowerCase();\r\n        var element = this.elements[elementName] = (this.elements[elementName] || Object.create(null));\r\n        element[attributeName] = propertyName;\r\n    };\r\n    AttributeMap.prototype.registerUniversal = function (attributeName, propertyName) {\r\n        attributeName = attributeName.toLowerCase();\r\n        this.allElements[attributeName] = propertyName;\r\n    };\r\n    AttributeMap.prototype.map = function (elementName, attributeName) {\r\n        if (this.svg.isStandardSvgAttribute(elementName, attributeName)) {\r\n            return attributeName;\r\n        }\r\n        elementName = elementName.toLowerCase();\r\n        attributeName = attributeName.toLowerCase();\r\n        var element = this.elements[elementName];\r\n        if (element !== undefined && attributeName in element) {\r\n            return element[attributeName];\r\n        }\r\n        if (attributeName in this.allElements) {\r\n            return this.allElements[attributeName];\r\n        }\r\n        if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) {\r\n            return attributeName;\r\n        }\r\n        return camelCase(attributeName);\r\n    };\r\n    AttributeMap.inject = [SVGAnalyzer];\r\n    return AttributeMap;\r\n}());\n\nvar InterpolationBindingExpression = (function () {\r\n    function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) {\r\n        this.observerLocator = observerLocator;\r\n        this.targetProperty = targetProperty;\r\n        this.parts = parts;\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.attribute = this.attrToRemove = attribute;\r\n        this.discrete = false;\r\n    }\r\n    InterpolationBindingExpression.prototype.createBinding = function (target) {\r\n        if (this.parts.length === 3) {\r\n            return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]);\r\n        }\r\n        return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions);\r\n    };\r\n    return InterpolationBindingExpression;\r\n}());\r\nfunction validateTarget(target, propertyName) {\r\n    if (propertyName === 'style') {\r\n        LogManager.getLogger('templating-binding')\r\n            .info('Internet Explorer does not support interpolation in \"style\" attributes.  Use the style attribute\\'s alias, \"css\" instead.');\r\n    }\r\n    else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') {\r\n        throw new Error('Interpolation binding cannot be used in the content of a textarea element.  Use <textarea value.bind=\"expression\"></textarea> instead.');\r\n    }\r\n}\r\nvar InterpolationBinding = (function () {\r\n    function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) {\r\n        validateTarget(target, targetProperty);\r\n        this.observerLocator = observerLocator;\r\n        this.parts = parts;\r\n        this.target = target;\r\n        this.targetProperty = targetProperty;\r\n        this.targetAccessor = observerLocator.getAccessor(target, targetProperty);\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n    }\r\n    InterpolationBinding.prototype.interpolate = function () {\r\n        if (this.isBound) {\r\n            var value = '';\r\n            var parts = this.parts;\r\n            for (var i = 0, ii = parts.length; i < ii; i++) {\r\n                value += (i % 2 === 0 ? parts[i] : this[\"childBinding\".concat(i)].value);\r\n            }\r\n            this.targetAccessor.setValue(value, this.target, this.targetProperty);\r\n        }\r\n    };\r\n    InterpolationBinding.prototype.updateOneTimeBindings = function () {\r\n        for (var i = 1, ii = this.parts.length; i < ii; i += 2) {\r\n            var child = this[\"childBinding\".concat(i)];\r\n            if (child.mode === bindingMode.oneTime) {\r\n                child.call();\r\n            }\r\n        }\r\n    };\r\n    InterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.source = source;\r\n        var parts = this.parts;\r\n        for (var i = 1, ii = parts.length; i < ii; i += 2) {\r\n            var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions);\r\n            binding.bind(source);\r\n            this[\"childBinding\".concat(i)] = binding;\r\n        }\r\n        this.isBound = true;\r\n        this.interpolate();\r\n    };\r\n    InterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        var parts = this.parts;\r\n        for (var i = 1, ii = parts.length; i < ii; i += 2) {\r\n            var name_1 = \"childBinding\".concat(i);\r\n            this[name_1].unbind();\r\n        }\r\n    };\r\n    return InterpolationBinding;\r\n}());\r\nvar ChildInterpolationBinding = (function () {\r\n    function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) {\r\n        if (target instanceof InterpolationBinding) {\r\n            this.parent = target;\r\n        }\r\n        else {\r\n            validateTarget(target, targetProperty);\r\n            this.target = target;\r\n            this.targetProperty = targetProperty;\r\n            this.targetAccessor = observerLocator.getAccessor(target, targetProperty);\r\n        }\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.mode = mode;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.left = left;\r\n        this.right = right;\r\n    }\r\n    ChildInterpolationBinding.prototype.updateTarget = function (value) {\r\n        value = value === null || value === undefined ? '' : value.toString();\r\n        if (value !== this.value) {\r\n            this.value = value;\r\n            if (this.parent) {\r\n                this.parent.interpolate();\r\n            }\r\n            else {\r\n                this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty);\r\n            }\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.call = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n        this.updateTarget(this.rawValue);\r\n        if (this.mode !== bindingMode.oneTime) {\r\n            this._version++;\r\n            this.sourceExpression.connect(this, this.source);\r\n            if (this.rawValue instanceof Array) {\r\n                this.observeArray(this.rawValue);\r\n            }\r\n            this.unobserve(false);\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        var sourceExpression = this.sourceExpression;\r\n        if (sourceExpression.bind) {\r\n            sourceExpression.bind(this, source, this.lookupFunctions);\r\n        }\r\n        this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions);\r\n        this.updateTarget(this.rawValue);\r\n        if (this.mode === bindingMode.oneWay) {\r\n            enqueueBindingConnect(this);\r\n        }\r\n    };\r\n    ChildInterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        var sourceExpression = this.sourceExpression;\r\n        if (sourceExpression.unbind) {\r\n            sourceExpression.unbind(this, this.source);\r\n        }\r\n        this.source = null;\r\n        this.value = null;\r\n        this.rawValue = null;\r\n        this.unobserve(true);\r\n    };\r\n    ChildInterpolationBinding.prototype.connect = function (evaluate) {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        if (evaluate) {\r\n            this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n            this.updateTarget(this.rawValue);\r\n        }\r\n        this.sourceExpression.connect(this, this.source);\r\n        if (this.rawValue instanceof Array) {\r\n            this.observeArray(this.rawValue);\r\n        }\r\n    };\r\n    ChildInterpolationBinding = __decorate([\r\n        connectable()\r\n    ], ChildInterpolationBinding);\r\n    return ChildInterpolationBinding;\r\n}());\n\nvar LetExpression = (function () {\r\n    function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetExpression.prototype.createBinding = function () {\r\n        return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext);\r\n    };\r\n    return LetExpression;\r\n}());\r\nvar LetBinding = (function () {\r\n    function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.sourceExpression = sourceExpression;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.source = null;\r\n        this.target = null;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetBinding.prototype.updateTarget = function () {\r\n        var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions);\r\n        this.target[this.targetProperty] = value;\r\n    };\r\n    LetBinding.prototype.call = function (context) {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        if (context === sourceContext) {\r\n            this.updateTarget();\r\n            return;\r\n        }\r\n        throw new Error(\"Unexpected call context \".concat(context));\r\n    };\r\n    LetBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        this.target = this.toBindingContext ? source.bindingContext : source.overrideContext;\r\n        if (this.sourceExpression.bind) {\r\n            this.sourceExpression.bind(this, source, this.lookupFunctions);\r\n        }\r\n        enqueueBindingConnect(this);\r\n    };\r\n    LetBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        if (this.sourceExpression.unbind) {\r\n            this.sourceExpression.unbind(this, this.source);\r\n        }\r\n        this.source = null;\r\n        this.target = null;\r\n        this.unobserve(true);\r\n    };\r\n    LetBinding.prototype.unobserve = function (arg0) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    LetBinding.prototype.connect = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.updateTarget();\r\n        this.sourceExpression.connect(this, this.source);\r\n    };\r\n    LetBinding = __decorate([\r\n        connectable()\r\n    ], LetBinding);\r\n    return LetBinding;\r\n}());\n\nvar LetInterpolationBindingExpression = (function () {\r\n    function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.targetProperty = targetProperty;\r\n        this.parts = parts;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n    }\r\n    LetInterpolationBindingExpression.prototype.createBinding = function () {\r\n        return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext);\r\n    };\r\n    return LetInterpolationBindingExpression;\r\n}());\r\nvar LetInterpolationBinding = (function () {\r\n    function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) {\r\n        this.observerLocator = observerLocator;\r\n        this.parts = parts;\r\n        this.targetProperty = targetProperty;\r\n        this.lookupFunctions = lookupFunctions;\r\n        this.toBindingContext = toBindingContext;\r\n        this.target = null;\r\n    }\r\n    LetInterpolationBinding.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.source = source;\r\n        this.target = this.toBindingContext ? source.bindingContext : source.overrideContext;\r\n        this.interpolationBinding = this.createInterpolationBinding();\r\n        this.interpolationBinding.bind(source);\r\n    };\r\n    LetInterpolationBinding.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        this.target = null;\r\n        this.interpolationBinding.unbind();\r\n        this.interpolationBinding = null;\r\n    };\r\n    LetInterpolationBinding.prototype.createInterpolationBinding = function () {\r\n        if (this.parts.length === 3) {\r\n            return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]);\r\n        }\r\n        return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.toView, this.lookupFunctions);\r\n    };\r\n    return LetInterpolationBinding;\r\n}());\n\nvar SyntaxInterpreter = (function () {\r\n    function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) {\r\n        this.parser = parser;\r\n        this.observerLocator = observerLocator;\r\n        this.eventManager = eventManager;\r\n        this.attributeMap = attributeMap;\r\n    }\r\n    SyntaxInterpreter.prototype.interpret = function (resources, element, info, existingInstruction, context) {\r\n        if (info.command in this) {\r\n            return this[info.command](resources, element, info, existingInstruction, context);\r\n        }\r\n        return this.handleUnknownCommand(resources, element, info, existingInstruction, context);\r\n    };\r\n    SyntaxInterpreter.prototype.handleUnknownCommand = function (resources, element, info, existingInstruction, context) {\r\n        LogManager.getLogger('templating-binding').warn('Unknown binding command.', info);\r\n        return existingInstruction;\r\n    };\r\n    SyntaxInterpreter.prototype.determineDefaultBindingMode = function (element, attrName, context) {\r\n        var tagName = element.tagName.toLowerCase();\r\n        if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio'\r\n            || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio')\r\n            || (tagName === 'textarea' || tagName === 'select') && attrName === 'value'\r\n            || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true'\r\n            || attrName === 'scrolltop'\r\n            || attrName === 'scrollleft') {\r\n            return bindingMode.twoWay;\r\n        }\r\n        if (context\r\n            && attrName in context.attributes\r\n            && context.attributes[attrName]\r\n            && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) {\r\n            return context.attributes[attrName].defaultBindingMode;\r\n        }\r\n        return bindingMode.toView;\r\n    };\r\n    SyntaxInterpreter.prototype.bind = function (resources, element, info, existingInstruction, context) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null\r\n            ? this.determineDefaultBindingMode(element, info.attrName, context)\r\n            : info.defaultBindingMode, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype.trigger = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.capture = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.delegate = function (resources, element, info) {\r\n        return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions);\r\n    };\r\n    SyntaxInterpreter.prototype.call = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype.options = function (resources, element, info, existingInstruction, context) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        var attrValue = info.attrValue;\r\n        var language = this.language;\r\n        var name = null;\r\n        var target = '';\r\n        var current;\r\n        var i;\r\n        var ii;\r\n        var inString = false;\r\n        var inEscape = false;\r\n        var foundName = false;\r\n        for (i = 0, ii = attrValue.length; i < ii; ++i) {\r\n            current = attrValue[i];\r\n            if (current === ';' && !inString) {\r\n                if (!foundName) {\r\n                    name = this._getPrimaryPropertyName(resources, context);\r\n                }\r\n                info = language.inspectAttribute(resources, '?', name, target.trim());\r\n                language.createAttributeInstruction(resources, element, info, instruction, context);\r\n                if (!instruction.attributes[info.attrName]) {\r\n                    instruction.attributes[info.attrName] = info.attrValue;\r\n                }\r\n                target = '';\r\n                name = null;\r\n            }\r\n            else if (current === ':' && name === null) {\r\n                foundName = true;\r\n                name = target.trim();\r\n                target = '';\r\n            }\r\n            else if (current === '\\\\') {\r\n                target += current;\r\n                inEscape = true;\r\n                continue;\r\n            }\r\n            else {\r\n                target += current;\r\n                if (name !== null && inEscape === false && current === '\\'') {\r\n                    inString = !inString;\r\n                }\r\n            }\r\n            inEscape = false;\r\n        }\r\n        if (!foundName) {\r\n            name = this._getPrimaryPropertyName(resources, context);\r\n        }\r\n        if (name !== null) {\r\n            info = language.inspectAttribute(resources, '?', name, target.trim());\r\n            language.createAttributeInstruction(resources, element, info, instruction, context);\r\n            if (!instruction.attributes[info.attrName]) {\r\n                instruction.attributes[info.attrName] = info.attrValue;\r\n            }\r\n        }\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype._getPrimaryPropertyName = function (resources, context) {\r\n        var type = resources.getAttribute(context.attributeName);\r\n        if (type && type.primaryProperty) {\r\n            return type.primaryProperty.attribute;\r\n        }\r\n        return null;\r\n    };\r\n    SyntaxInterpreter.prototype['for'] = function (resources, element, info, existingInstruction) {\r\n        var parts;\r\n        var keyValue;\r\n        var instruction;\r\n        var attrValue;\r\n        var isDestructuring;\r\n        attrValue = info.attrValue;\r\n        isDestructuring = attrValue.match(/^ *[[].+[\\]]/);\r\n        parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of ');\r\n        if (parts.length !== 2) {\r\n            throw new Error('Incorrect syntax for \"for\". The form is: \"$local of $items\" or \"[$key, $value] of $items\".');\r\n        }\r\n        instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        if (isDestructuring) {\r\n            keyValue = parts[0].replace(/[[\\]]/g, '').replace(/,/g, ' ').replace(/\\s+/g, ' ').trim().split(' ');\r\n            instruction.attributes.key = keyValue[0];\r\n            instruction.attributes.value = keyValue[1];\r\n        }\r\n        else {\r\n            instruction.attributes.local = parts[0];\r\n        }\r\n        instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.toView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['two-way'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['to-view'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['from-view'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.prototype['one-time'] = function (resources, element, info, existingInstruction) {\r\n        var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName);\r\n        instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions);\r\n        return instruction;\r\n    };\r\n    SyntaxInterpreter.inject = [Parser, ObserverLocator, EventManager, AttributeMap];\r\n    return SyntaxInterpreter;\r\n}());\r\nObject.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view'));\n\nvar info = {};\r\nvar TemplatingBindingLanguage = (function (_super) {\r\n    __extends(TemplatingBindingLanguage, _super);\r\n    function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) {\r\n        var _this = _super.call(this) || this;\r\n        _this.parser = parser;\r\n        _this.observerLocator = observerLocator;\r\n        _this.syntaxInterpreter = syntaxInterpreter;\r\n        _this.emptyStringExpression = _this.parser.parse('\\'\\'');\r\n        syntaxInterpreter.language = _this;\r\n        _this.attributeMap = attributeMap;\r\n        _this.toBindingContextAttr = 'to-binding-context';\r\n        return _this;\r\n    }\r\n    TemplatingBindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) {\r\n        var parts = attrName.split('.');\r\n        info.defaultBindingMode = null;\r\n        if (parts.length === 2) {\r\n            info.attrName = parts[0].trim();\r\n            info.attrValue = attrValue;\r\n            info.command = parts[1].trim();\r\n            if (info.command === 'ref') {\r\n                info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions);\r\n                info.command = null;\r\n                info.attrName = 'ref';\r\n            }\r\n            else {\r\n                info.expression = null;\r\n            }\r\n        }\r\n        else if (attrName === 'ref') {\r\n            info.attrName = attrName;\r\n            info.attrValue = attrValue;\r\n            info.command = null;\r\n            info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions);\r\n        }\r\n        else {\r\n            info.attrName = attrName;\r\n            info.attrValue = attrValue;\r\n            info.command = null;\r\n            var interpolationParts = this.parseInterpolation(resources, attrValue);\r\n            if (interpolationParts === null) {\r\n                info.expression = null;\r\n            }\r\n            else {\r\n                info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.toView, resources.lookupFunctions, attrName);\r\n            }\r\n        }\r\n        return info;\r\n    };\r\n    TemplatingBindingLanguage.prototype.createAttributeInstruction = function (resources, element, theInfo, existingInstruction, context) {\r\n        var instruction;\r\n        if (theInfo.expression) {\r\n            if (theInfo.attrName === 'ref') {\r\n                return theInfo.expression;\r\n            }\r\n            instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName);\r\n            instruction.attributes[theInfo.attrName] = theInfo.expression;\r\n        }\r\n        else if (theInfo.command) {\r\n            instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context);\r\n        }\r\n        return instruction;\r\n    };\r\n    TemplatingBindingLanguage.prototype.createLetExpressions = function (resources, letElement) {\r\n        var expressions = [];\r\n        var attributes = letElement.attributes;\r\n        var attr;\r\n        var parts;\r\n        var attrName;\r\n        var attrValue;\r\n        var command;\r\n        var toBindingContextAttr = this.toBindingContextAttr;\r\n        var toBindingContext = letElement.hasAttribute(toBindingContextAttr);\r\n        for (var i = 0, ii = attributes.length; ii > i; ++i) {\r\n            attr = attributes[i];\r\n            attrName = attr.name;\r\n            attrValue = attr.nodeValue;\r\n            parts = attrName.split('.');\r\n            if (attrName === toBindingContextAttr) {\r\n                continue;\r\n            }\r\n            if (parts.length === 2) {\r\n                command = parts[1];\r\n                if (command !== 'bind') {\r\n                    LogManager.getLogger('templating-binding-language')\r\n                        .warn(\"Detected invalid let command. Expected \\\"\".concat(parts[0], \".bind\\\", given \\\"\").concat(attrName, \"\\\"\"));\r\n                    continue;\r\n                }\r\n                expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext));\r\n            }\r\n            else {\r\n                attrName = camelCase(attrName);\r\n                parts = this.parseInterpolation(resources, attrValue);\r\n                if (parts === null) {\r\n                    LogManager.getLogger('templating-binding-language')\r\n                        .warn(\"Detected string literal in let bindings. Did you mean \\\"\".concat(attrName, \".bind=\").concat(attrValue, \"\\\" or \\\"\").concat(attrName, \"=${\").concat(attrValue, \"}\\\" ?\"));\r\n                }\r\n                if (parts) {\r\n                    expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext));\r\n                }\r\n                else {\r\n                    expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext));\r\n                }\r\n            }\r\n        }\r\n        return expressions;\r\n    };\r\n    TemplatingBindingLanguage.prototype.inspectTextContent = function (resources, value) {\r\n        var parts = this.parseInterpolation(resources, value);\r\n        if (parts === null) {\r\n            return null;\r\n        }\r\n        return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.toView, resources.lookupFunctions, 'textContent');\r\n    };\r\n    TemplatingBindingLanguage.prototype.parseInterpolation = function (resources, value) {\r\n        var i = value.indexOf('${', 0);\r\n        var ii = value.length;\r\n        var char;\r\n        var pos = 0;\r\n        var open = 0;\r\n        var quote = null;\r\n        var interpolationStart;\r\n        var parts;\r\n        var partIndex = 0;\r\n        while (i >= 0 && i < ii - 2) {\r\n            open = 1;\r\n            interpolationStart = i;\r\n            i += 2;\r\n            do {\r\n                char = value[i];\r\n                i++;\r\n                if (char === \"'\" || char === '\"') {\r\n                    if (quote === null) {\r\n                        quote = char;\r\n                    }\r\n                    else if (quote === char) {\r\n                        quote = null;\r\n                    }\r\n                    continue;\r\n                }\r\n                if (char === '\\\\') {\r\n                    i++;\r\n                    continue;\r\n                }\r\n                if (quote !== null) {\r\n                    continue;\r\n                }\r\n                if (char === '{') {\r\n                    open++;\r\n                }\r\n                else if (char === '}') {\r\n                    open--;\r\n                }\r\n            } while (open > 0 && i < ii);\r\n            if (open === 0) {\r\n                parts = parts || [];\r\n                if (value[interpolationStart - 1] === '\\\\' && value[interpolationStart - 2] !== '\\\\') {\r\n                    parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i);\r\n                    partIndex++;\r\n                    parts[partIndex] = this.emptyStringExpression;\r\n                    partIndex++;\r\n                }\r\n                else {\r\n                    parts[partIndex] = value.substring(pos, interpolationStart);\r\n                    partIndex++;\r\n                    parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1));\r\n                    partIndex++;\r\n                }\r\n                pos = i;\r\n                i = value.indexOf('${', i);\r\n            }\r\n            else {\r\n                break;\r\n            }\r\n        }\r\n        if (partIndex === 0) {\r\n            return null;\r\n        }\r\n        parts[partIndex] = value.substr(pos);\r\n        return parts;\r\n    };\r\n    TemplatingBindingLanguage.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap];\r\n    return TemplatingBindingLanguage;\r\n}(BindingLanguage));\n\nfunction configure(config) {\r\n    config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage);\r\n    config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage);\r\n}\n\nexport { AttributeMap, ChildInterpolationBinding, InterpolationBinding, InterpolationBindingExpression, LetBinding, LetExpression, LetInterpolationBinding, LetInterpolationBindingExpression, SyntaxInterpreter, TemplatingBindingLanguage, configure };\n//# sourceMappingURL=aurelia-templating-binding.js.map\n","import { Container, inject, Optional } from 'aurelia-dependency-injection';\nimport { DOM, FEATURE } from 'aurelia-pal';\nimport { TaskQueue } from 'aurelia-task-queue';\nimport { bindable, noView, customElement, CompositionEngine, ViewSlot, ViewResources, customAttribute, templateController, BoundViewFactory, TargetInstruction, Animator, resource, useView, useShadowDOM, ViewEngine } from 'aurelia-templating';\nimport { createOverrideContext, bindingMode, BindingBehavior, ValueConverter, sourceContext, mergeSplice, ObserverLocator, valueConverter, DataAttributeObserver, bindingBehavior, targetContext, EventSubscriber } from 'aurelia-binding';\nimport { Loader } from 'aurelia-loader';\nimport { relativeToFile } from 'aurelia-path';\nimport { mixin } from 'aurelia-metadata';\nimport { getLogger } from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\n\nvar ActivationStrategy;\r\n(function (ActivationStrategy) {\r\n    ActivationStrategy[\"InvokeLifecycle\"] = \"invoke-lifecycle\";\r\n    ActivationStrategy[\"Replace\"] = \"replace\";\r\n})(ActivationStrategy || (ActivationStrategy = {}));\r\nvar Compose = (function () {\r\n    function Compose(element, container, compositionEngine, viewSlot, viewResources, taskQueue) {\r\n        this.activationStrategy = ActivationStrategy.InvokeLifecycle;\r\n        this.element = element;\r\n        this.container = container;\r\n        this.compositionEngine = compositionEngine;\r\n        this.viewSlot = viewSlot;\r\n        this.viewResources = viewResources;\r\n        this.taskQueue = taskQueue;\r\n        this.currentController = null;\r\n        this.currentViewModel = null;\r\n        this.changes = Object.create(null);\r\n    }\r\n    Compose.inject = function () {\r\n        return [DOM.Element, Container, CompositionEngine, ViewSlot, ViewResources, TaskQueue];\r\n    };\r\n    Compose.prototype.created = function (owningView) {\r\n        this.owningView = owningView;\r\n    };\r\n    Compose.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n        var changes = this.changes;\r\n        changes.view = this.view;\r\n        changes.viewModel = this.viewModel;\r\n        changes.model = this.model;\r\n        if (!this.pendingTask) {\r\n            processChanges(this);\r\n        }\r\n    };\r\n    Compose.prototype.unbind = function () {\r\n        this.changes = Object.create(null);\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        var returnToCache = true;\r\n        var skipAnimation = true;\r\n        this.viewSlot.removeAll(returnToCache, skipAnimation);\r\n    };\r\n    Compose.prototype.modelChanged = function (newValue, oldValue) {\r\n        this.changes.model = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    Compose.prototype.viewChanged = function (newValue, oldValue) {\r\n        this.changes.view = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    Compose.prototype.viewModelChanged = function (newValue, oldValue) {\r\n        this.changes.viewModel = newValue;\r\n        requestUpdate(this);\r\n    };\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"model\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"view\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"viewModel\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"activationStrategy\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Compose.prototype, \"swapOrder\", void 0);\r\n    Compose = __decorate([\r\n        noView,\r\n        customElement('compose')\r\n    ], Compose);\r\n    return Compose;\r\n}());\r\nfunction isEmpty(obj) {\r\n    for (var _ in obj) {\r\n        return false;\r\n    }\r\n    return true;\r\n}\r\nfunction tryActivateViewModel(vm, model) {\r\n    if (vm && typeof vm.activate === 'function') {\r\n        return Promise.resolve(vm.activate(model));\r\n    }\r\n}\r\nfunction createInstruction(composer, instruction) {\r\n    return Object.assign(instruction, {\r\n        bindingContext: composer.bindingContext,\r\n        overrideContext: composer.overrideContext,\r\n        owningView: composer.owningView,\r\n        container: composer.container,\r\n        viewSlot: composer.viewSlot,\r\n        viewResources: composer.viewResources,\r\n        currentController: composer.currentController,\r\n        host: composer.element,\r\n        swapOrder: composer.swapOrder\r\n    });\r\n}\r\nfunction processChanges(composer) {\r\n    var changes = composer.changes;\r\n    composer.changes = Object.create(null);\r\n    if (needsReInitialization(composer, changes)) {\r\n        var instruction = {\r\n            view: composer.view,\r\n            viewModel: composer.currentViewModel || composer.viewModel,\r\n            model: composer.model\r\n        };\r\n        instruction = Object.assign(instruction, changes);\r\n        instruction = createInstruction(composer, instruction);\r\n        composer.pendingTask = composer.compositionEngine.compose(instruction).then(function (controller) {\r\n            composer.currentController = controller;\r\n            composer.currentViewModel = controller ? controller.viewModel : null;\r\n        });\r\n    }\r\n    else {\r\n        composer.pendingTask = tryActivateViewModel(composer.currentViewModel, changes.model);\r\n        if (!composer.pendingTask) {\r\n            return;\r\n        }\r\n    }\r\n    composer.pendingTask = composer.pendingTask\r\n        .then(function () {\r\n        completeCompositionTask(composer);\r\n    }, function (reason) {\r\n        completeCompositionTask(composer);\r\n        throw reason;\r\n    });\r\n}\r\nfunction completeCompositionTask(composer) {\r\n    composer.pendingTask = null;\r\n    if (!isEmpty(composer.changes)) {\r\n        processChanges(composer);\r\n    }\r\n}\r\nfunction requestUpdate(composer) {\r\n    if (composer.pendingTask || composer.updateRequested) {\r\n        return;\r\n    }\r\n    composer.updateRequested = true;\r\n    composer.taskQueue.queueMicroTask(function () {\r\n        composer.updateRequested = false;\r\n        processChanges(composer);\r\n    });\r\n}\r\nfunction needsReInitialization(composer, changes) {\r\n    var activationStrategy = composer.activationStrategy;\r\n    var vm = composer.currentViewModel;\r\n    if (vm && typeof vm.determineActivationStrategy === 'function') {\r\n        activationStrategy = vm.determineActivationStrategy();\r\n    }\r\n    return 'view' in changes\r\n        || 'viewModel' in changes\r\n        || activationStrategy === ActivationStrategy.Replace;\r\n}\n\nvar IfCore = (function () {\r\n    function IfCore(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.view = null;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.showing = false;\r\n        this.cache = true;\r\n    }\r\n    IfCore.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n    };\r\n    IfCore.prototype.unbind = function () {\r\n        if (this.view === null) {\r\n            return;\r\n        }\r\n        this.view.unbind();\r\n        if (!this.viewFactory.isCaching) {\r\n            return;\r\n        }\r\n        if (this.showing) {\r\n            this.showing = false;\r\n            this.viewSlot.remove(this.view, true, true);\r\n        }\r\n        else {\r\n            this.view.returnToCache();\r\n        }\r\n        this.view = null;\r\n    };\r\n    IfCore.prototype._show = function () {\r\n        if (this.showing) {\r\n            if (!this.view.isBound) {\r\n                this.view.bind(this.bindingContext, this.overrideContext);\r\n            }\r\n            return;\r\n        }\r\n        if (this.view === null) {\r\n            this.view = this.viewFactory.create();\r\n        }\r\n        if (!this.view.isBound) {\r\n            this.view.bind(this.bindingContext, this.overrideContext);\r\n        }\r\n        this.showing = true;\r\n        return this.viewSlot.add(this.view);\r\n    };\r\n    IfCore.prototype._hide = function () {\r\n        var _this = this;\r\n        if (!this.showing) {\r\n            return;\r\n        }\r\n        this.showing = false;\r\n        var removed = this.viewSlot.remove(this.view);\r\n        if (removed instanceof Promise) {\r\n            return removed.then(function () {\r\n                _this._unbindView();\r\n            });\r\n        }\r\n        this._unbindView();\r\n    };\r\n    IfCore.prototype._unbindView = function () {\r\n        var cache = this.cache === 'false' ? false : !!this.cache;\r\n        this.view.unbind();\r\n        if (!cache) {\r\n            this.view = null;\r\n        }\r\n    };\r\n    return IfCore;\r\n}());\n\nvar If = (function (_super) {\r\n    __extends(If, _super);\r\n    function If() {\r\n        var _this = _super !== null && _super.apply(this, arguments) || this;\r\n        _this.cache = true;\r\n        return _this;\r\n    }\r\n    If.prototype.bind = function (bindingContext, overrideContext) {\r\n        _super.prototype.bind.call(this, bindingContext, overrideContext);\r\n        if (this.condition) {\r\n            this._show();\r\n        }\r\n        else {\r\n            this._hide();\r\n        }\r\n    };\r\n    If.prototype.conditionChanged = function (newValue) {\r\n        this._update(newValue);\r\n    };\r\n    If.prototype._update = function (show) {\r\n        var _this = this;\r\n        if (this.animating) {\r\n            return;\r\n        }\r\n        var promise;\r\n        if (this.elseVm) {\r\n            promise = show ? this._swap(this.elseVm, this) : this._swap(this, this.elseVm);\r\n        }\r\n        else {\r\n            promise = show ? this._show() : this._hide();\r\n        }\r\n        if (promise) {\r\n            this.animating = true;\r\n            promise.then(function () {\r\n                _this.animating = false;\r\n                if (_this.condition !== _this.showing) {\r\n                    _this._update(_this.condition);\r\n                }\r\n            });\r\n        }\r\n    };\r\n    If.prototype._swap = function (remove, add) {\r\n        switch (this.swapOrder) {\r\n            case 'before':\r\n                return Promise.resolve(add._show()).then(function () { return remove._hide(); });\r\n            case 'with':\r\n                return Promise.all([remove._hide(), add._show()]);\r\n            default:\r\n                var promise = remove._hide();\r\n                return promise ? promise.then(function () { return add._show(); }) : add._show();\r\n        }\r\n    };\r\n    __decorate([\r\n        bindable({ primaryProperty: true })\r\n    ], If.prototype, \"condition\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], If.prototype, \"swapOrder\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], If.prototype, \"cache\", void 0);\r\n    If = __decorate([\r\n        customAttribute('if'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], If);\r\n    return If;\r\n}(IfCore));\n\nvar Else = (function (_super) {\r\n    __extends(Else, _super);\r\n    function Else(viewFactory, viewSlot) {\r\n        var _this = _super.call(this, viewFactory, viewSlot) || this;\r\n        _this._registerInIf();\r\n        return _this;\r\n    }\r\n    Else.prototype.bind = function (bindingContext, overrideContext) {\r\n        _super.prototype.bind.call(this, bindingContext, overrideContext);\r\n        if (this.ifVm.condition) {\r\n            this._hide();\r\n        }\r\n        else {\r\n            this._show();\r\n        }\r\n    };\r\n    Else.prototype._registerInIf = function () {\r\n        var previous = this.viewSlot.anchor.previousSibling;\r\n        while (previous && !previous.au) {\r\n            previous = previous.previousSibling;\r\n        }\r\n        if (!previous || !previous.au.if) {\r\n            throw new Error(\"Can't find matching If for Else custom attribute.\");\r\n        }\r\n        this.ifVm = previous.au.if.viewModel;\r\n        this.ifVm.elseVm = this;\r\n    };\r\n    Else = __decorate([\r\n        customAttribute('else'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], Else);\r\n    return Else;\r\n}(IfCore));\n\nvar With = (function () {\r\n    function With(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.parentOverrideContext = null;\r\n        this.view = null;\r\n    }\r\n    With.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.parentOverrideContext = overrideContext;\r\n        this.valueChanged(this.value);\r\n    };\r\n    With.prototype.valueChanged = function (newValue) {\r\n        var overrideContext = createOverrideContext(newValue, this.parentOverrideContext);\r\n        var view = this.view;\r\n        if (!view) {\r\n            view = this.view = this.viewFactory.create();\r\n            view.bind(newValue, overrideContext);\r\n            this.viewSlot.add(view);\r\n        }\r\n        else {\r\n            view.bind(newValue, overrideContext);\r\n        }\r\n    };\r\n    With.prototype.unbind = function () {\r\n        var view = this.view;\r\n        this.parentOverrideContext = null;\r\n        if (view) {\r\n            view.unbind();\r\n        }\r\n    };\r\n    With = __decorate([\r\n        customAttribute('with'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], With);\r\n    return With;\r\n}());\n\nvar oneTime = bindingMode.oneTime;\r\nfunction updateOverrideContexts(views, startIndex) {\r\n    var length = views.length;\r\n    if (startIndex > 0) {\r\n        startIndex = startIndex - 1;\r\n    }\r\n    for (; startIndex < length; ++startIndex) {\r\n        updateOverrideContext(views[startIndex].overrideContext, startIndex, length);\r\n    }\r\n}\r\nfunction createFullOverrideContext(repeat, data, index, length, key) {\r\n    var bindingContext = {};\r\n    var overrideContext = createOverrideContext(bindingContext, repeat.scope.overrideContext);\r\n    if (typeof key !== 'undefined') {\r\n        bindingContext[repeat.key] = key;\r\n        bindingContext[repeat.value] = data;\r\n    }\r\n    else {\r\n        bindingContext[repeat.local] = data;\r\n    }\r\n    updateOverrideContext(overrideContext, index, length);\r\n    return overrideContext;\r\n}\r\nfunction updateOverrideContext(overrideContext, index, length) {\r\n    var first = (index === 0);\r\n    var last = (index === length - 1);\r\n    var even = index % 2 === 0;\r\n    overrideContext.$index = index;\r\n    overrideContext.$first = first;\r\n    overrideContext.$last = last;\r\n    overrideContext.$middle = !(first || last);\r\n    overrideContext.$odd = !even;\r\n    overrideContext.$even = even;\r\n}\r\nfunction getItemsSourceExpression(instruction, attrName) {\r\n    return instruction.behaviorInstructions\r\n        .filter(function (bi) { return bi.originalAttrName === attrName; })[0]\r\n        .attributes\r\n        .items\r\n        .sourceExpression;\r\n}\r\nfunction unwrapExpression(expression) {\r\n    var unwrapped = false;\r\n    while (expression instanceof BindingBehavior) {\r\n        expression = expression.expression;\r\n    }\r\n    while (expression instanceof ValueConverter) {\r\n        expression = expression.expression;\r\n        unwrapped = true;\r\n    }\r\n    return unwrapped ? expression : null;\r\n}\r\nfunction isOneTime(expression) {\r\n    while (expression instanceof BindingBehavior) {\r\n        if (expression.name === 'oneTime') {\r\n            return true;\r\n        }\r\n        expression = expression.expression;\r\n    }\r\n    return false;\r\n}\r\nfunction updateOneTimeBinding(binding) {\r\n    if (binding.call && binding.mode === oneTime) {\r\n        binding.call(sourceContext);\r\n    }\r\n    else if (binding.updateOneTimeBindings) {\r\n        binding.updateOneTimeBindings();\r\n    }\r\n}\r\nfunction indexOf(array, item, matcher, startIndex) {\r\n    if (!matcher) {\r\n        return array.indexOf(item);\r\n    }\r\n    var length = array.length;\r\n    for (var index = startIndex || 0; index < length; index++) {\r\n        if (matcher(array[index], item)) {\r\n            return index;\r\n        }\r\n    }\r\n    return -1;\r\n}\n\nvar ArrayRepeatStrategy = (function () {\r\n    function ArrayRepeatStrategy() {\r\n    }\r\n    ArrayRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getArrayObserver(items);\r\n    };\r\n    ArrayRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var $repeat = repeat;\r\n        var itemsLength = items.length;\r\n        if (!items || itemsLength === 0) {\r\n            $repeat.removeAllViews(true, !$repeat.viewsRequireLifecycle);\r\n            return;\r\n        }\r\n        var children = $repeat.views();\r\n        var viewsLength = children.length;\r\n        if (viewsLength === 0) {\r\n            this._standardProcessInstanceChanged($repeat, items);\r\n            return;\r\n        }\r\n        if ($repeat.viewsRequireLifecycle) {\r\n            var childrenSnapshot = children.slice(0);\r\n            var itemNameInBindingContext = $repeat.local;\r\n            var matcher_1 = $repeat.matcher();\r\n            var itemsPreviouslyInViews_1 = [];\r\n            var viewsToRemove = [];\r\n            for (var index = 0; index < viewsLength; index++) {\r\n                var view = childrenSnapshot[index];\r\n                var oldItem = view.bindingContext[itemNameInBindingContext];\r\n                if (indexOf(items, oldItem, matcher_1) === -1) {\r\n                    viewsToRemove.push(view);\r\n                }\r\n                else {\r\n                    itemsPreviouslyInViews_1.push(oldItem);\r\n                }\r\n            }\r\n            var updateViews = void 0;\r\n            var removePromise = void 0;\r\n            if (itemsPreviouslyInViews_1.length > 0) {\r\n                removePromise = $repeat.removeViews(viewsToRemove, true, !$repeat.viewsRequireLifecycle);\r\n                updateViews = function () {\r\n                    for (var index = 0; index < itemsLength; index++) {\r\n                        var item = items[index];\r\n                        var indexOfView = indexOf(itemsPreviouslyInViews_1, item, matcher_1, index);\r\n                        var view = void 0;\r\n                        if (indexOfView === -1) {\r\n                            var overrideContext = createFullOverrideContext($repeat, items[index], index, itemsLength);\r\n                            $repeat.insertView(index, overrideContext.bindingContext, overrideContext);\r\n                            itemsPreviouslyInViews_1.splice(index, 0, undefined);\r\n                        }\r\n                        else if (indexOfView === index) {\r\n                            view = children[indexOfView];\r\n                            itemsPreviouslyInViews_1[indexOfView] = undefined;\r\n                        }\r\n                        else {\r\n                            view = children[indexOfView];\r\n                            $repeat.moveView(indexOfView, index);\r\n                            itemsPreviouslyInViews_1.splice(indexOfView, 1);\r\n                            itemsPreviouslyInViews_1.splice(index, 0, undefined);\r\n                        }\r\n                        if (view) {\r\n                            updateOverrideContext(view.overrideContext, index, itemsLength);\r\n                        }\r\n                    }\r\n                    _this._inPlaceProcessItems($repeat, items);\r\n                };\r\n            }\r\n            else {\r\n                removePromise = $repeat.removeAllViews(true, !$repeat.viewsRequireLifecycle);\r\n                updateViews = function () { return _this._standardProcessInstanceChanged($repeat, items); };\r\n            }\r\n            if (removePromise instanceof Promise) {\r\n                removePromise.then(updateViews);\r\n            }\r\n            else {\r\n                updateViews();\r\n            }\r\n        }\r\n        else {\r\n            this._inPlaceProcessItems($repeat, items);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._standardProcessInstanceChanged = function (repeat, items) {\r\n        for (var i = 0, ii = items.length; i < ii; i++) {\r\n            var overrideContext = createFullOverrideContext(repeat, items[i], i, ii);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._inPlaceProcessItems = function (repeat, items) {\r\n        var itemsLength = items.length;\r\n        var viewsLength = repeat.viewCount();\r\n        while (viewsLength > itemsLength) {\r\n            viewsLength--;\r\n            repeat.removeView(viewsLength, true, !repeat.viewsRequireLifecycle);\r\n        }\r\n        var local = repeat.local;\r\n        for (var i = 0; i < viewsLength; i++) {\r\n            var view = repeat.view(i);\r\n            var last = i === itemsLength - 1;\r\n            var middle = i !== 0 && !last;\r\n            var bindingContext = view.bindingContext;\r\n            var overrideContext = view.overrideContext;\r\n            if (bindingContext[local] === items[i]\r\n                && overrideContext.$middle === middle\r\n                && overrideContext.$last === last) {\r\n                continue;\r\n            }\r\n            bindingContext[local] = items[i];\r\n            overrideContext.$middle = middle;\r\n            overrideContext.$last = last;\r\n            repeat.updateBindings(view);\r\n        }\r\n        for (var i = viewsLength; i < itemsLength; i++) {\r\n            var overrideContext = createFullOverrideContext(repeat, items[i], i, itemsLength);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype.instanceMutated = function (repeat, array, splices) {\r\n        var _this = this;\r\n        if (repeat.__queuedSplices) {\r\n            for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n                var _a = splices[i], index = _a.index, removed = _a.removed, addedCount = _a.addedCount;\r\n                mergeSplice(repeat.__queuedSplices, index, removed, addedCount);\r\n            }\r\n            repeat.__array = array.slice(0);\r\n            return;\r\n        }\r\n        var maybePromise = this._runSplices(repeat, array.slice(0), splices);\r\n        if (maybePromise instanceof Promise) {\r\n            var queuedSplices_1 = repeat.__queuedSplices = [];\r\n            var runQueuedSplices_1 = function () {\r\n                if (!queuedSplices_1.length) {\r\n                    repeat.__queuedSplices = undefined;\r\n                    repeat.__array = undefined;\r\n                    return;\r\n                }\r\n                var nextPromise = _this._runSplices(repeat, repeat.__array, queuedSplices_1) || Promise.resolve();\r\n                queuedSplices_1 = repeat.__queuedSplices = [];\r\n                nextPromise.then(runQueuedSplices_1);\r\n            };\r\n            maybePromise.then(runQueuedSplices_1);\r\n        }\r\n    };\r\n    ArrayRepeatStrategy.prototype._runSplices = function (repeat, array, splices) {\r\n        var _this = this;\r\n        var removeDelta = 0;\r\n        var rmPromises = [];\r\n        for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n            var splice = splices[i];\r\n            var removed = splice.removed;\r\n            for (var j = 0, jj = removed.length; j < jj; ++j) {\r\n                var viewOrPromise = repeat.removeView(splice.index + removeDelta + rmPromises.length, true);\r\n                if (viewOrPromise instanceof Promise) {\r\n                    rmPromises.push(viewOrPromise);\r\n                }\r\n            }\r\n            removeDelta -= splice.addedCount;\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () {\r\n                var spliceIndexLow = _this._handleAddedSplices(repeat, array, splices);\r\n                updateOverrideContexts(repeat.views(), spliceIndexLow);\r\n            });\r\n        }\r\n        var spliceIndexLow = this._handleAddedSplices(repeat, array, splices);\r\n        updateOverrideContexts(repeat.views(), spliceIndexLow);\r\n        return undefined;\r\n    };\r\n    ArrayRepeatStrategy.prototype._handleAddedSplices = function (repeat, array, splices) {\r\n        var spliceIndex;\r\n        var spliceIndexLow;\r\n        var arrayLength = array.length;\r\n        for (var i = 0, ii = splices.length; i < ii; ++i) {\r\n            var splice = splices[i];\r\n            var addIndex = spliceIndex = splice.index;\r\n            var end = splice.index + splice.addedCount;\r\n            if (typeof spliceIndexLow === 'undefined' || spliceIndexLow === null || spliceIndexLow > splice.index) {\r\n                spliceIndexLow = spliceIndex;\r\n            }\r\n            for (; addIndex < end; ++addIndex) {\r\n                var overrideContext = createFullOverrideContext(repeat, array[addIndex], addIndex, arrayLength);\r\n                repeat.insertView(addIndex, overrideContext.bindingContext, overrideContext);\r\n            }\r\n        }\r\n        return spliceIndexLow;\r\n    };\r\n    return ArrayRepeatStrategy;\r\n}());\n\nvar MapRepeatStrategy = (function () {\r\n    function MapRepeatStrategy() {\r\n    }\r\n    MapRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getMapObserver(items);\r\n    };\r\n    MapRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, items); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, items);\r\n    };\r\n    MapRepeatStrategy.prototype._standardProcessItems = function (repeat, items) {\r\n        var index = 0;\r\n        var overrideContext;\r\n        items.forEach(function (value, key) {\r\n            overrideContext = createFullOverrideContext(repeat, value, index, items.size, key);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n            ++index;\r\n        });\r\n    };\r\n    MapRepeatStrategy.prototype.instanceMutated = function (repeat, map, records) {\r\n        var key;\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var removeIndex;\r\n        var addIndex;\r\n        var record;\r\n        var rmPromises = [];\r\n        var viewOrPromise;\r\n        for (i = 0, ii = records.length; i < ii; ++i) {\r\n            record = records[i];\r\n            key = record.key;\r\n            switch (record.type) {\r\n                case 'update':\r\n                    removeIndex = this._getViewIndexByKey(repeat, key);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    overrideContext = createFullOverrideContext(repeat, map.get(key), removeIndex, map.size, key);\r\n                    repeat.insertView(removeIndex, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'add':\r\n                    addIndex = repeat.viewCount() <= map.size - 1 ? repeat.viewCount() : map.size - 1;\r\n                    overrideContext = createFullOverrideContext(repeat, map.get(key), addIndex, map.size, key);\r\n                    repeat.insertView(map.size - 1, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'delete':\r\n                    if (record.oldValue === undefined) {\r\n                        return;\r\n                    }\r\n                    removeIndex = this._getViewIndexByKey(repeat, key);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    break;\r\n                case 'clear':\r\n                    repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n                    break;\r\n                default:\r\n                    continue;\r\n            }\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            Promise.all(rmPromises).then(function () {\r\n                updateOverrideContexts(repeat.views(), 0);\r\n            });\r\n        }\r\n        else {\r\n            updateOverrideContexts(repeat.views(), 0);\r\n        }\r\n    };\r\n    MapRepeatStrategy.prototype._getViewIndexByKey = function (repeat, key) {\r\n        var i;\r\n        var ii;\r\n        var child;\r\n        for (i = 0, ii = repeat.viewCount(); i < ii; ++i) {\r\n            child = repeat.view(i);\r\n            if (child.bindingContext[repeat.key] === key) {\r\n                return i;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return MapRepeatStrategy;\r\n}());\n\nvar NullRepeatStrategy = (function () {\r\n    function NullRepeatStrategy() {\r\n    }\r\n    NullRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        repeat.removeAllViews(true);\r\n    };\r\n    NullRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n    };\r\n    return NullRepeatStrategy;\r\n}());\n\nvar NumberRepeatStrategy = (function () {\r\n    function NumberRepeatStrategy() {\r\n    }\r\n    NumberRepeatStrategy.prototype.getCollectionObserver = function () {\r\n        return null;\r\n    };\r\n    NumberRepeatStrategy.prototype.instanceChanged = function (repeat, value) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, value); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, value);\r\n    };\r\n    NumberRepeatStrategy.prototype._standardProcessItems = function (repeat, value) {\r\n        var childrenLength = repeat.viewCount();\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var viewsToRemove;\r\n        value = Math.floor(value);\r\n        viewsToRemove = childrenLength - value;\r\n        if (viewsToRemove > 0) {\r\n            if (viewsToRemove > childrenLength) {\r\n                viewsToRemove = childrenLength;\r\n            }\r\n            for (i = 0, ii = viewsToRemove; i < ii; ++i) {\r\n                repeat.removeView(childrenLength - (i + 1), true, !repeat.viewsRequireLifecycle);\r\n            }\r\n            return;\r\n        }\r\n        for (i = childrenLength, ii = value; i < ii; ++i) {\r\n            overrideContext = createFullOverrideContext(repeat, i, i, ii);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n        }\r\n        updateOverrideContexts(repeat.views(), 0);\r\n    };\r\n    return NumberRepeatStrategy;\r\n}());\n\nvar SetRepeatStrategy = (function () {\r\n    function SetRepeatStrategy() {\r\n    }\r\n    SetRepeatStrategy.prototype.getCollectionObserver = function (observerLocator, items) {\r\n        return observerLocator.getSetObserver(items);\r\n    };\r\n    SetRepeatStrategy.prototype.instanceChanged = function (repeat, items) {\r\n        var _this = this;\r\n        var removePromise = repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n        if (removePromise instanceof Promise) {\r\n            removePromise.then(function () { return _this._standardProcessItems(repeat, items); });\r\n            return;\r\n        }\r\n        this._standardProcessItems(repeat, items);\r\n    };\r\n    SetRepeatStrategy.prototype._standardProcessItems = function (repeat, items) {\r\n        var index = 0;\r\n        var overrideContext;\r\n        items.forEach(function (value) {\r\n            overrideContext = createFullOverrideContext(repeat, value, index, items.size);\r\n            repeat.addView(overrideContext.bindingContext, overrideContext);\r\n            ++index;\r\n        });\r\n    };\r\n    SetRepeatStrategy.prototype.instanceMutated = function (repeat, set, records) {\r\n        var value;\r\n        var i;\r\n        var ii;\r\n        var overrideContext;\r\n        var removeIndex;\r\n        var record;\r\n        var rmPromises = [];\r\n        var viewOrPromise;\r\n        for (i = 0, ii = records.length; i < ii; ++i) {\r\n            record = records[i];\r\n            value = record.value;\r\n            switch (record.type) {\r\n                case 'add':\r\n                    var size = Math.max(set.size - 1, 0);\r\n                    overrideContext = createFullOverrideContext(repeat, value, size, set.size);\r\n                    repeat.insertView(size, overrideContext.bindingContext, overrideContext);\r\n                    break;\r\n                case 'delete':\r\n                    removeIndex = this._getViewIndexByValue(repeat, value);\r\n                    viewOrPromise = repeat.removeView(removeIndex, true, !repeat.viewsRequireLifecycle);\r\n                    if (viewOrPromise instanceof Promise) {\r\n                        rmPromises.push(viewOrPromise);\r\n                    }\r\n                    break;\r\n                case 'clear':\r\n                    repeat.removeAllViews(true, !repeat.viewsRequireLifecycle);\r\n                    break;\r\n                default:\r\n                    continue;\r\n            }\r\n        }\r\n        if (rmPromises.length > 0) {\r\n            Promise.all(rmPromises).then(function () {\r\n                updateOverrideContexts(repeat.views(), 0);\r\n            });\r\n        }\r\n        else {\r\n            updateOverrideContexts(repeat.views(), 0);\r\n        }\r\n    };\r\n    SetRepeatStrategy.prototype._getViewIndexByValue = function (repeat, value) {\r\n        var i;\r\n        var ii;\r\n        var child;\r\n        for (i = 0, ii = repeat.viewCount(); i < ii; ++i) {\r\n            child = repeat.view(i);\r\n            if (child.bindingContext[repeat.local] === value) {\r\n                return i;\r\n            }\r\n        }\r\n        return undefined;\r\n    };\r\n    return SetRepeatStrategy;\r\n}());\n\nvar RepeatStrategyLocator = (function () {\r\n    function RepeatStrategyLocator() {\r\n        this.matchers = [];\r\n        this.strategies = [];\r\n        this.addStrategy(function (items) { return items === null || items === undefined; }, new NullRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Array; }, new ArrayRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Map; }, new MapRepeatStrategy());\r\n        this.addStrategy(function (items) { return items instanceof Set; }, new SetRepeatStrategy());\r\n        this.addStrategy(function (items) { return typeof items === 'number'; }, new NumberRepeatStrategy());\r\n    }\r\n    RepeatStrategyLocator.prototype.addStrategy = function (matcher, strategy) {\r\n        this.matchers.push(matcher);\r\n        this.strategies.push(strategy);\r\n    };\r\n    RepeatStrategyLocator.prototype.getStrategy = function (items) {\r\n        var matchers = this.matchers;\r\n        for (var i = 0, ii = matchers.length; i < ii; ++i) {\r\n            if (matchers[i](items)) {\r\n                return this.strategies[i];\r\n            }\r\n        }\r\n        return null;\r\n    };\r\n    return RepeatStrategyLocator;\r\n}());\n\nvar lifecycleOptionalBehaviors = ['focus', 'if', 'else', 'repeat', 'show', 'hide', 'with'];\r\nfunction behaviorRequiresLifecycle(instruction) {\r\n    var t = instruction.type;\r\n    var name = t.elementName !== null ? t.elementName : t.attributeName;\r\n    return lifecycleOptionalBehaviors.indexOf(name) === -1 && (t.handlesAttached || t.handlesBind || t.handlesCreated || t.handlesDetached || t.handlesUnbind)\r\n        || t.viewFactory && viewsRequireLifecycle(t.viewFactory)\r\n        || instruction.viewFactory && viewsRequireLifecycle(instruction.viewFactory);\r\n}\r\nfunction targetRequiresLifecycle(instruction) {\r\n    var behaviors = instruction.behaviorInstructions;\r\n    if (behaviors) {\r\n        var i = behaviors.length;\r\n        while (i--) {\r\n            if (behaviorRequiresLifecycle(behaviors[i])) {\r\n                return true;\r\n            }\r\n        }\r\n    }\r\n    return instruction.viewFactory && viewsRequireLifecycle(instruction.viewFactory);\r\n}\r\nfunction viewsRequireLifecycle(viewFactory) {\r\n    if ('_viewsRequireLifecycle' in viewFactory) {\r\n        return viewFactory._viewsRequireLifecycle;\r\n    }\r\n    viewFactory._viewsRequireLifecycle = false;\r\n    if (viewFactory.viewFactory) {\r\n        viewFactory._viewsRequireLifecycle = viewsRequireLifecycle(viewFactory.viewFactory);\r\n        return viewFactory._viewsRequireLifecycle;\r\n    }\r\n    if (viewFactory.template.querySelector('.au-animate')) {\r\n        viewFactory._viewsRequireLifecycle = true;\r\n        return true;\r\n    }\r\n    for (var id in viewFactory.instructions) {\r\n        if (targetRequiresLifecycle(viewFactory.instructions[id])) {\r\n            viewFactory._viewsRequireLifecycle = true;\r\n            return true;\r\n        }\r\n    }\r\n    viewFactory._viewsRequireLifecycle = false;\r\n    return false;\r\n}\n\nvar AbstractRepeater = (function () {\r\n    function AbstractRepeater(options) {\r\n        Object.assign(this, {\r\n            local: 'items',\r\n            viewsRequireLifecycle: true\r\n        }, options);\r\n    }\r\n    AbstractRepeater.prototype.viewCount = function () {\r\n        throw new Error('subclass must implement `viewCount`');\r\n    };\r\n    AbstractRepeater.prototype.views = function () {\r\n        throw new Error('subclass must implement `views`');\r\n    };\r\n    AbstractRepeater.prototype.view = function (index) {\r\n        throw new Error('subclass must implement `view`');\r\n    };\r\n    AbstractRepeater.prototype.matcher = function () {\r\n        throw new Error('subclass must implement `matcher`');\r\n    };\r\n    AbstractRepeater.prototype.addView = function (bindingContext, overrideContext) {\r\n        throw new Error('subclass must implement `addView`');\r\n    };\r\n    AbstractRepeater.prototype.insertView = function (index, bindingContext, overrideContext) {\r\n        throw new Error('subclass must implement `insertView`');\r\n    };\r\n    AbstractRepeater.prototype.moveView = function (sourceIndex, targetIndex) {\r\n        throw new Error('subclass must implement `moveView`');\r\n    };\r\n    AbstractRepeater.prototype.removeAllViews = function (returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeAllViews`');\r\n    };\r\n    AbstractRepeater.prototype.removeViews = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeView`');\r\n    };\r\n    AbstractRepeater.prototype.removeView = function (index, returnToCache, skipAnimation) {\r\n        throw new Error('subclass must implement `removeView`');\r\n    };\r\n    AbstractRepeater.prototype.updateBindings = function (view) {\r\n        throw new Error('subclass must implement `updateBindings`');\r\n    };\r\n    return AbstractRepeater;\r\n}());\n\nvar matcherExtractionMarker = '__marker_extracted__';\r\nvar Repeat = (function (_super) {\r\n    __extends(Repeat, _super);\r\n    function Repeat(viewFactory, instruction, viewSlot, viewResources, observerLocator, strategyLocator) {\r\n        var _this = _super.call(this, {\r\n            local: 'item',\r\n            viewsRequireLifecycle: viewsRequireLifecycle(viewFactory)\r\n        }) || this;\r\n        _this.viewFactory = viewFactory;\r\n        _this.instruction = instruction;\r\n        _this.viewSlot = viewSlot;\r\n        _this.lookupFunctions = viewResources.lookupFunctions;\r\n        _this.observerLocator = observerLocator;\r\n        _this.key = 'key';\r\n        _this.value = 'value';\r\n        _this.strategyLocator = strategyLocator;\r\n        _this.ignoreMutation = false;\r\n        _this.sourceExpression = getItemsSourceExpression(_this.instruction, 'repeat.for');\r\n        _this.isOneTime = isOneTime(_this.sourceExpression);\r\n        _this.viewsRequireLifecycle = viewsRequireLifecycle(viewFactory);\r\n        return _this;\r\n    }\r\n    Repeat_1 = Repeat;\r\n    Repeat.prototype.call = function (context, changes) {\r\n        this[context](this.items, changes);\r\n    };\r\n    Repeat.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.scope = { bindingContext: bindingContext, overrideContext: overrideContext };\r\n        var instruction = this.instruction;\r\n        if (!(matcherExtractionMarker in instruction)) {\r\n            instruction[matcherExtractionMarker] = this._captureAndRemoveMatcherBinding();\r\n        }\r\n        this.matcherBinding = instruction[matcherExtractionMarker];\r\n        this.itemsChanged();\r\n    };\r\n    Repeat.prototype.unbind = function () {\r\n        this.scope = null;\r\n        this.items = null;\r\n        this.matcherBinding = null;\r\n        this.viewSlot.removeAll(true, true);\r\n        this._unsubscribeCollection();\r\n    };\r\n    Repeat.prototype._unsubscribeCollection = function () {\r\n        if (this.collectionObserver) {\r\n            this.collectionObserver.unsubscribe(this.callContext, this);\r\n            this.collectionObserver = null;\r\n            this.callContext = null;\r\n        }\r\n    };\r\n    Repeat.prototype.itemsChanged = function () {\r\n        var _this = this;\r\n        this._unsubscribeCollection();\r\n        if (!this.scope) {\r\n            return;\r\n        }\r\n        var items = this.items;\r\n        this.strategy = this.strategyLocator.getStrategy(items);\r\n        if (!this.strategy) {\r\n            throw new Error(\"Value for '\".concat(this.sourceExpression, \"' is non-repeatable\"));\r\n        }\r\n        if (!this.isOneTime && !this._observeInnerCollection()) {\r\n            this._observeCollection();\r\n        }\r\n        this.ignoreMutation = true;\r\n        this.strategy.instanceChanged(this, items);\r\n        this.observerLocator.taskQueue.queueMicroTask(function () {\r\n            _this.ignoreMutation = false;\r\n        });\r\n    };\r\n    Repeat.prototype._getInnerCollection = function () {\r\n        var expression = unwrapExpression(this.sourceExpression);\r\n        if (!expression) {\r\n            return null;\r\n        }\r\n        return expression.evaluate(this.scope, null);\r\n    };\r\n    Repeat.prototype.handleCollectionMutated = function (collection, changes) {\r\n        if (!this.collectionObserver) {\r\n            return;\r\n        }\r\n        if (this.ignoreMutation) {\r\n            return;\r\n        }\r\n        this.strategy.instanceMutated(this, collection, changes);\r\n    };\r\n    Repeat.prototype.handleInnerCollectionMutated = function (collection, changes) {\r\n        var _this = this;\r\n        if (!this.collectionObserver) {\r\n            return;\r\n        }\r\n        if (this.ignoreMutation) {\r\n            return;\r\n        }\r\n        this.ignoreMutation = true;\r\n        var newItems = this.sourceExpression.evaluate(this.scope, this.lookupFunctions);\r\n        this.observerLocator.taskQueue.queueMicroTask(function () { return _this.ignoreMutation = false; });\r\n        if (newItems === this.items) {\r\n            this.itemsChanged();\r\n        }\r\n        else {\r\n            this.items = newItems;\r\n        }\r\n    };\r\n    Repeat.prototype._observeInnerCollection = function () {\r\n        var items = this._getInnerCollection();\r\n        var strategy = this.strategyLocator.getStrategy(items);\r\n        if (!strategy) {\r\n            return false;\r\n        }\r\n        this.collectionObserver = strategy.getCollectionObserver(this.observerLocator, items);\r\n        if (!this.collectionObserver) {\r\n            return false;\r\n        }\r\n        this.callContext = 'handleInnerCollectionMutated';\r\n        this.collectionObserver.subscribe(this.callContext, this);\r\n        return true;\r\n    };\r\n    Repeat.prototype._observeCollection = function () {\r\n        var items = this.items;\r\n        this.collectionObserver = this.strategy.getCollectionObserver(this.observerLocator, items);\r\n        if (this.collectionObserver) {\r\n            this.callContext = 'handleCollectionMutated';\r\n            this.collectionObserver.subscribe(this.callContext, this);\r\n        }\r\n    };\r\n    Repeat.prototype._captureAndRemoveMatcherBinding = function () {\r\n        var viewFactory = this.viewFactory.viewFactory;\r\n        if (viewFactory) {\r\n            var template = viewFactory.template;\r\n            var instructions = viewFactory.instructions;\r\n            if (Repeat_1.useInnerMatcher) {\r\n                return extractMatcherBindingExpression(instructions);\r\n            }\r\n            if (getChildrenCount(template) > 1) {\r\n                return undefined;\r\n            }\r\n            var repeatedElement = getFirstElementChild(template);\r\n            if (!repeatedElement.hasAttribute('au-target-id')) {\r\n                return undefined;\r\n            }\r\n            var repeatedElementTargetId = repeatedElement.getAttribute('au-target-id');\r\n            return extractMatcherBindingExpression(instructions, repeatedElementTargetId);\r\n        }\r\n        return undefined;\r\n    };\r\n    Repeat.prototype.viewCount = function () { return this.viewSlot.children.length; };\r\n    Repeat.prototype.views = function () { return this.viewSlot.children; };\r\n    Repeat.prototype.view = function (index) { return this.viewSlot.children[index]; };\r\n    Repeat.prototype.matcher = function () {\r\n        var matcherBinding = this.matcherBinding;\r\n        return matcherBinding\r\n            ? matcherBinding.sourceExpression.evaluate(this.scope, matcherBinding.lookupFunctions)\r\n            : null;\r\n    };\r\n    Repeat.prototype.addView = function (bindingContext, overrideContext) {\r\n        var view = this.viewFactory.create();\r\n        view.bind(bindingContext, overrideContext);\r\n        this.viewSlot.add(view);\r\n    };\r\n    Repeat.prototype.insertView = function (index, bindingContext, overrideContext) {\r\n        var view = this.viewFactory.create();\r\n        view.bind(bindingContext, overrideContext);\r\n        this.viewSlot.insert(index, view);\r\n    };\r\n    Repeat.prototype.moveView = function (sourceIndex, targetIndex) {\r\n        this.viewSlot.move(sourceIndex, targetIndex);\r\n    };\r\n    Repeat.prototype.removeAllViews = function (returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeAll(returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.removeViews = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeMany(viewsToRemove, returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.removeView = function (index, returnToCache, skipAnimation) {\r\n        return this.viewSlot.removeAt(index, returnToCache, skipAnimation);\r\n    };\r\n    Repeat.prototype.updateBindings = function (view) {\r\n        var $view = view;\r\n        var j = $view.bindings.length;\r\n        while (j--) {\r\n            updateOneTimeBinding($view.bindings[j]);\r\n        }\r\n        j = $view.controllers.length;\r\n        while (j--) {\r\n            var k = $view.controllers[j].boundProperties.length;\r\n            while (k--) {\r\n                var binding = $view.controllers[j].boundProperties[k].binding;\r\n                updateOneTimeBinding(binding);\r\n            }\r\n        }\r\n    };\r\n    var Repeat_1;\r\n    Repeat.useInnerMatcher = true;\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"items\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"local\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"key\", void 0);\r\n    __decorate([\r\n        bindable\r\n    ], Repeat.prototype, \"value\", void 0);\r\n    Repeat = Repeat_1 = __decorate([\r\n        customAttribute('repeat'),\r\n        templateController,\r\n        inject(BoundViewFactory, TargetInstruction, ViewSlot, ViewResources, ObserverLocator, RepeatStrategyLocator)\r\n    ], Repeat);\r\n    return Repeat;\r\n}(AbstractRepeater));\r\nvar extractMatcherBindingExpression = function (instructions, targetedElementId) {\r\n    var instructionIds = Object.keys(instructions);\r\n    for (var i = 0; i < instructionIds.length; i++) {\r\n        var instructionId = instructionIds[i];\r\n        if (targetedElementId !== undefined && instructionId !== targetedElementId) {\r\n            continue;\r\n        }\r\n        var expressions = instructions[instructionId].expressions;\r\n        if (expressions) {\r\n            for (var ii = 0; ii < expressions.length; ii++) {\r\n                if (expressions[ii].targetProperty === 'matcher') {\r\n                    var matcherBindingExpression = expressions[ii];\r\n                    expressions.splice(ii, 1);\r\n                    return matcherBindingExpression;\r\n                }\r\n            }\r\n        }\r\n    }\r\n};\r\nvar getChildrenCount = function (el) {\r\n    var childNodes = el.childNodes;\r\n    var count = 0;\r\n    for (var i = 0, ii = childNodes.length; ii > i; ++i) {\r\n        if (childNodes[i].nodeType === 1) {\r\n            ++count;\r\n        }\r\n    }\r\n    return count;\r\n};\r\nvar getFirstElementChild = function (el) {\r\n    var firstChild = el.firstChild;\r\n    while (firstChild !== null) {\r\n        if (firstChild.nodeType === 1) {\r\n            return firstChild;\r\n        }\r\n        firstChild = firstChild.nextSibling;\r\n    }\r\n    return null;\r\n};\n\nvar aureliaHideClassName = 'aurelia-hide';\r\nvar aureliaHideClass = \".\".concat(aureliaHideClassName, \" { display:none !important; }\");\r\nfunction injectAureliaHideStyleAtHead() {\r\n    DOM.injectStyles(aureliaHideClass);\r\n}\r\nfunction injectAureliaHideStyleAtBoundary(domBoundary) {\r\n    if (FEATURE.shadowDOM && domBoundary && !domBoundary.hasAureliaHideStyle) {\r\n        domBoundary.hasAureliaHideStyle = true;\r\n        DOM.injectStyles(aureliaHideClass, domBoundary);\r\n    }\r\n}\n\nvar Show = (function () {\r\n    function Show(element, animator, domBoundary) {\r\n        this.element = element;\r\n        this.animator = animator;\r\n        this.domBoundary = domBoundary;\r\n    }\r\n    Show.inject = function () {\r\n        return [DOM.Element, Animator, Optional.of(DOM.boundary, true)];\r\n    };\r\n    Show.prototype.created = function () {\r\n        injectAureliaHideStyleAtBoundary(this.domBoundary);\r\n    };\r\n    Show.prototype.valueChanged = function (newValue) {\r\n        var element = this.element;\r\n        var animator = this.animator;\r\n        if (newValue) {\r\n            animator.removeClass(element, aureliaHideClassName);\r\n        }\r\n        else {\r\n            animator.addClass(element, aureliaHideClassName);\r\n        }\r\n    };\r\n    Show.prototype.bind = function (bindingContext) {\r\n        this.valueChanged(this.value);\r\n    };\r\n    Show = __decorate([\r\n        customAttribute('show')\r\n    ], Show);\r\n    return Show;\r\n}());\n\nvar Hide = (function () {\r\n    function Hide(element, animator, domBoundary) {\r\n        this.element = element;\r\n        this.animator = animator;\r\n        this.domBoundary = domBoundary;\r\n    }\r\n    Hide.inject = function () {\r\n        return [DOM.Element, Animator, Optional.of(DOM.boundary, true)];\r\n    };\r\n    Hide.prototype.created = function () {\r\n        injectAureliaHideStyleAtBoundary(this.domBoundary);\r\n    };\r\n    Hide.prototype.valueChanged = function (newValue) {\r\n        if (newValue) {\r\n            this.animator.addClass(this.element, aureliaHideClassName);\r\n        }\r\n        else {\r\n            this.animator.removeClass(this.element, aureliaHideClassName);\r\n        }\r\n    };\r\n    Hide.prototype.bind = function (bindingContext) {\r\n        this.valueChanged(this.value);\r\n    };\r\n    Hide.prototype.value = function (value) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    Hide = __decorate([\r\n        customAttribute('hide')\r\n    ], Hide);\r\n    return Hide;\r\n}());\n\nvar HTMLSanitizer = (function () {\r\n    function HTMLSanitizer() {\r\n    }\r\n    HTMLSanitizer.prototype.sanitize = function (input) {\r\n        throw new Error(\"To protect the application against a wide variety of sophisticated XSS attacks.\\nPlease see https://aurelia.io/docs/binding/basics#element-content for instructions on how to use a secure solution like DOMPurify or sanitize-html.\");\r\n    };\r\n    return HTMLSanitizer;\r\n}());\n\nvar SanitizeHTMLValueConverter = (function () {\r\n    function SanitizeHTMLValueConverter(sanitizer) {\r\n        this.sanitizer = sanitizer;\r\n    }\r\n    SanitizeHTMLValueConverter.prototype.toView = function (untrustedMarkup) {\r\n        if (untrustedMarkup === null || untrustedMarkup === undefined) {\r\n            return null;\r\n        }\r\n        return this.sanitizer.sanitize(untrustedMarkup);\r\n    };\r\n    SanitizeHTMLValueConverter = __decorate([\r\n        valueConverter('sanitizeHTML'),\r\n        inject(HTMLSanitizer)\r\n    ], SanitizeHTMLValueConverter);\r\n    return SanitizeHTMLValueConverter;\r\n}());\n\nvar Replaceable = (function () {\r\n    function Replaceable(viewFactory, viewSlot) {\r\n        this.viewFactory = viewFactory;\r\n        this.viewSlot = viewSlot;\r\n        this.view = null;\r\n    }\r\n    Replaceable.prototype.bind = function (bindingContext, overrideContext) {\r\n        if (this.view === null) {\r\n            this.view = this.viewFactory.create();\r\n            this.viewSlot.add(this.view);\r\n        }\r\n        this.view.bind(bindingContext, overrideContext);\r\n    };\r\n    Replaceable.prototype.unbind = function () {\r\n        this.view.unbind();\r\n    };\r\n    Replaceable = __decorate([\r\n        customAttribute('replaceable'),\r\n        templateController,\r\n        inject(BoundViewFactory, ViewSlot)\r\n    ], Replaceable);\r\n    return Replaceable;\r\n}());\n\nvar Focus = (function () {\r\n    function Focus(element, taskQueue) {\r\n        this.element = element;\r\n        this.taskQueue = taskQueue;\r\n        this.isAttached = false;\r\n        this.needsApply = false;\r\n    }\r\n    Focus.inject = function () {\r\n        return [DOM.Element, TaskQueue];\r\n    };\r\n    Focus.prototype.valueChanged = function () {\r\n        if (this.isAttached) {\r\n            this._apply();\r\n        }\r\n        else {\r\n            this.needsApply = true;\r\n        }\r\n    };\r\n    Focus.prototype._apply = function () {\r\n        var _this = this;\r\n        if (this.value) {\r\n            this.taskQueue.queueMicroTask(function () {\r\n                if (_this.value) {\r\n                    _this.element.focus();\r\n                }\r\n            });\r\n        }\r\n        else {\r\n            this.element.blur();\r\n        }\r\n    };\r\n    Focus.prototype.attached = function () {\r\n        this.isAttached = true;\r\n        if (this.needsApply) {\r\n            this.needsApply = false;\r\n            this._apply();\r\n        }\r\n        this.element.addEventListener('focus', this);\r\n        this.element.addEventListener('blur', this);\r\n    };\r\n    Focus.prototype.detached = function () {\r\n        this.isAttached = false;\r\n        this.element.removeEventListener('focus', this);\r\n        this.element.removeEventListener('blur', this);\r\n    };\r\n    Focus.prototype.handleEvent = function (e) {\r\n        if (e.type === 'focus') {\r\n            this.value = true;\r\n        }\r\n        else if (DOM.activeElement !== this.element) {\r\n            this.value = false;\r\n        }\r\n    };\r\n    Focus = __decorate([\r\n        customAttribute('focus', bindingMode.twoWay)\r\n    ], Focus);\r\n    return Focus;\r\n}());\n\nvar cssUrlMatcher = /url\\((?!['\"]data)([^)]+)\\)/gi;\r\nfunction fixupCSSUrls(address, css) {\r\n    if (typeof css !== 'string') {\r\n        throw new Error(\"Failed loading required CSS file: \".concat(address));\r\n    }\r\n    return css.replace(cssUrlMatcher, function (match, p1) {\r\n        var quote = p1.charAt(0);\r\n        if (quote === '\\'' || quote === '\"') {\r\n            p1 = p1.substr(1, p1.length - 2);\r\n        }\r\n        return 'url(\\'' + relativeToFile(p1, address) + '\\')';\r\n    });\r\n}\r\nvar CSSResource = (function () {\r\n    function CSSResource(address) {\r\n        this.address = address;\r\n        this._scoped = null;\r\n        this._global = false;\r\n        this._alreadyGloballyInjected = false;\r\n    }\r\n    CSSResource.prototype.initialize = function (container, Target) {\r\n        this._scoped = new Target(this);\r\n    };\r\n    CSSResource.prototype.register = function (registry, name) {\r\n        if (name === 'scoped') {\r\n            registry.registerViewEngineHooks(this._scoped);\r\n        }\r\n        else {\r\n            this._global = true;\r\n        }\r\n    };\r\n    CSSResource.prototype.load = function (container) {\r\n        var _this = this;\r\n        return container.get(Loader)\r\n            .loadText(this.address)\r\n            .catch(function () { return null; })\r\n            .then(function (text) {\r\n            text = fixupCSSUrls(_this.address, text);\r\n            _this._scoped.css = text;\r\n            if (_this._global) {\r\n                _this._alreadyGloballyInjected = true;\r\n                DOM.injectStyles(text);\r\n            }\r\n            return _this;\r\n        });\r\n    };\r\n    return CSSResource;\r\n}());\r\nvar CSSViewEngineHooks = (function () {\r\n    function CSSViewEngineHooks(owner) {\r\n        this.owner = owner;\r\n        this.css = null;\r\n    }\r\n    CSSViewEngineHooks.prototype.beforeCompile = function (content, resources, instruction) {\r\n        if (instruction.targetShadowDOM) {\r\n            DOM.injectStyles(this.css, content, true);\r\n        }\r\n        else if (FEATURE.scopedCSS) {\r\n            var styleNode = DOM.injectStyles(this.css, content, true);\r\n            styleNode.setAttribute('scoped', 'scoped');\r\n        }\r\n        else if (this._global && !this.owner._alreadyGloballyInjected) {\r\n            DOM.injectStyles(this.css);\r\n            this.owner._alreadyGloballyInjected = true;\r\n        }\r\n    };\r\n    return CSSViewEngineHooks;\r\n}());\r\nfunction _createCSSResource(address) {\r\n    var ViewCSS = (function (_super) {\r\n        __extends(ViewCSS, _super);\r\n        function ViewCSS() {\r\n            return _super !== null && _super.apply(this, arguments) || this;\r\n        }\r\n        ViewCSS = __decorate([\r\n            resource(new CSSResource(address))\r\n        ], ViewCSS);\r\n        return ViewCSS;\r\n    }(CSSViewEngineHooks));\r\n    return ViewCSS;\r\n}\n\nvar AttrBindingBehavior = (function () {\r\n    function AttrBindingBehavior() {\r\n    }\r\n    AttrBindingBehavior.prototype.bind = function (binding, source) {\r\n        binding.targetObserver = new DataAttributeObserver(binding.target, binding.targetProperty);\r\n    };\r\n    AttrBindingBehavior.prototype.unbind = function (binding, source) {\r\n    };\r\n    AttrBindingBehavior = __decorate([\r\n        bindingBehavior('attr')\r\n    ], AttrBindingBehavior);\r\n    return AttrBindingBehavior;\r\n}());\n\nvar modeBindingBehavior = {\r\n    bind: function (binding, source, lookupFunctions) {\r\n        binding.originalMode = binding.mode;\r\n        binding.mode = this.mode;\r\n    },\r\n    unbind: function (binding, source) {\r\n        binding.mode = binding.originalMode;\r\n        binding.originalMode = null;\r\n    }\r\n};\r\nvar OneTimeBindingBehavior = (function () {\r\n    function OneTimeBindingBehavior() {\r\n        this.mode = bindingMode.oneTime;\r\n    }\r\n    OneTimeBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('oneTime')\r\n    ], OneTimeBindingBehavior);\r\n    return OneTimeBindingBehavior;\r\n}());\r\nvar OneWayBindingBehavior = (function () {\r\n    function OneWayBindingBehavior() {\r\n        this.mode = bindingMode.toView;\r\n    }\r\n    OneWayBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('oneWay')\r\n    ], OneWayBindingBehavior);\r\n    return OneWayBindingBehavior;\r\n}());\r\nvar ToViewBindingBehavior = (function () {\r\n    function ToViewBindingBehavior() {\r\n        this.mode = bindingMode.toView;\r\n    }\r\n    ToViewBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('toView')\r\n    ], ToViewBindingBehavior);\r\n    return ToViewBindingBehavior;\r\n}());\r\nvar FromViewBindingBehavior = (function () {\r\n    function FromViewBindingBehavior() {\r\n        this.mode = bindingMode.fromView;\r\n    }\r\n    FromViewBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('fromView')\r\n    ], FromViewBindingBehavior);\r\n    return FromViewBindingBehavior;\r\n}());\r\nvar TwoWayBindingBehavior = (function () {\r\n    function TwoWayBindingBehavior() {\r\n        this.mode = bindingMode.twoWay;\r\n    }\r\n    TwoWayBindingBehavior = __decorate([\r\n        mixin(modeBindingBehavior),\r\n        bindingBehavior('twoWay')\r\n    ], TwoWayBindingBehavior);\r\n    return TwoWayBindingBehavior;\r\n}());\n\nfunction throttle(newValue) {\r\n    var _this = this;\r\n    var state = this.throttleState;\r\n    var elapsed = +new Date() - state.last;\r\n    if (elapsed >= state.delay) {\r\n        clearTimeout(state.timeoutId);\r\n        state.timeoutId = null;\r\n        state.last = +new Date();\r\n        this.throttledMethod(newValue);\r\n        return;\r\n    }\r\n    state.newValue = newValue;\r\n    if (state.timeoutId === null) {\r\n        state.timeoutId = setTimeout(function () {\r\n            state.timeoutId = null;\r\n            state.last = +new Date();\r\n            _this.throttledMethod(state.newValue);\r\n        }, state.delay - elapsed);\r\n    }\r\n}\r\nvar ThrottleBindingBehavior = (function () {\r\n    function ThrottleBindingBehavior() {\r\n    }\r\n    ThrottleBindingBehavior.prototype.bind = function (binding, source, delay) {\r\n        if (delay === void 0) { delay = 200; }\r\n        var methodToThrottle = 'updateTarget';\r\n        if (binding.callSource) {\r\n            methodToThrottle = 'callSource';\r\n        }\r\n        else if (binding.updateSource && binding.mode === bindingMode.twoWay) {\r\n            methodToThrottle = 'updateSource';\r\n        }\r\n        binding.throttledMethod = binding[methodToThrottle];\r\n        binding.throttledMethod.originalName = methodToThrottle;\r\n        binding[methodToThrottle] = throttle;\r\n        binding.throttleState = {\r\n            delay: delay,\r\n            last: 0,\r\n            timeoutId: null\r\n        };\r\n    };\r\n    ThrottleBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var methodToRestore = binding.throttledMethod.originalName;\r\n        binding[methodToRestore] = binding.throttledMethod;\r\n        binding.throttledMethod = null;\r\n        clearTimeout(binding.throttleState.timeoutId);\r\n        binding.throttleState = null;\r\n    };\r\n    ThrottleBindingBehavior = __decorate([\r\n        bindingBehavior('throttle')\r\n    ], ThrottleBindingBehavior);\r\n    return ThrottleBindingBehavior;\r\n}());\n\nvar unset = {};\r\nfunction debounceCallSource(event) {\r\n    var _this = this;\r\n    var state = this.debounceState;\r\n    clearTimeout(state.timeoutId);\r\n    state.timeoutId = setTimeout(function () { return _this.debouncedMethod(event); }, state.delay);\r\n}\r\nfunction debounceCall(context, newValue, oldValue) {\r\n    var _this = this;\r\n    var state = this.debounceState;\r\n    clearTimeout(state.timeoutId);\r\n    if (context !== state.callContextToDebounce) {\r\n        state.oldValue = unset;\r\n        this.debouncedMethod(context, newValue, oldValue);\r\n        return;\r\n    }\r\n    if (state.oldValue === unset) {\r\n        state.oldValue = oldValue;\r\n    }\r\n    state.timeoutId = setTimeout(function () {\r\n        var _oldValue = state.oldValue;\r\n        state.oldValue = unset;\r\n        _this.debouncedMethod(context, newValue, _oldValue);\r\n    }, state.delay);\r\n}\r\nvar DebounceBindingBehavior = (function () {\r\n    function DebounceBindingBehavior() {\r\n    }\r\n    DebounceBindingBehavior.prototype.bind = function (binding, source, delay) {\r\n        if (delay === void 0) { delay = 200; }\r\n        var isCallSource = binding.callSource !== undefined;\r\n        var methodToDebounce = isCallSource ? 'callSource' : 'call';\r\n        var debouncer = isCallSource ? debounceCallSource : debounceCall;\r\n        var mode = binding.mode;\r\n        var callContextToDebounce = mode === bindingMode.twoWay || mode === bindingMode.fromView ? targetContext : sourceContext;\r\n        binding.debouncedMethod = binding[methodToDebounce];\r\n        binding.debouncedMethod.originalName = methodToDebounce;\r\n        binding[methodToDebounce] = debouncer;\r\n        binding.debounceState = {\r\n            callContextToDebounce: callContextToDebounce,\r\n            delay: delay,\r\n            timeoutId: 0,\r\n            oldValue: unset\r\n        };\r\n    };\r\n    DebounceBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var methodToRestore = binding.debouncedMethod.originalName;\r\n        binding[methodToRestore] = binding.debouncedMethod;\r\n        binding.debouncedMethod = null;\r\n        clearTimeout(binding.debounceState.timeoutId);\r\n        binding.debounceState = null;\r\n    };\r\n    DebounceBindingBehavior = __decorate([\r\n        bindingBehavior('debounce')\r\n    ], DebounceBindingBehavior);\r\n    return DebounceBindingBehavior;\r\n}());\n\nfunction findOriginalEventTarget(event) {\r\n    return (event.path && event.path[0]) || (event.deepPath && event.deepPath[0]) || event.target;\r\n}\r\nfunction handleSelfEvent(event) {\r\n    var target = findOriginalEventTarget(event);\r\n    if (this.target !== target) {\r\n        return;\r\n    }\r\n    this.selfEventCallSource(event);\r\n}\r\nvar SelfBindingBehavior = (function () {\r\n    function SelfBindingBehavior() {\r\n    }\r\n    SelfBindingBehavior.prototype.bind = function (binding, source) {\r\n        if (!binding.callSource || !binding.targetEvent) {\r\n            throw new Error('Self binding behavior only supports event.');\r\n        }\r\n        binding.selfEventCallSource = binding.callSource;\r\n        binding.callSource = handleSelfEvent;\r\n    };\r\n    SelfBindingBehavior.prototype.unbind = function (binding, source) {\r\n        binding.callSource = binding.selfEventCallSource;\r\n        binding.selfEventCallSource = null;\r\n    };\r\n    SelfBindingBehavior = __decorate([\r\n        bindingBehavior('self')\r\n    ], SelfBindingBehavior);\r\n    return SelfBindingBehavior;\r\n}());\n\nvar BindingSignaler = (function () {\r\n    function BindingSignaler() {\r\n        this.signals = {};\r\n    }\r\n    BindingSignaler.prototype.signal = function (name) {\r\n        var bindings = this.signals[name];\r\n        if (!bindings) {\r\n            return;\r\n        }\r\n        var i = bindings.length;\r\n        while (i--) {\r\n            bindings[i].call(sourceContext);\r\n        }\r\n    };\r\n    return BindingSignaler;\r\n}());\n\nvar SignalBindingBehavior = (function () {\r\n    function SignalBindingBehavior(bindingSignaler) {\r\n        this.signals = bindingSignaler.signals;\r\n    }\r\n    SignalBindingBehavior.inject = function () { return [BindingSignaler]; };\r\n    SignalBindingBehavior.prototype.bind = function (binding, source) {\r\n        var names = [];\r\n        for (var _i = 2; _i < arguments.length; _i++) {\r\n            names[_i - 2] = arguments[_i];\r\n        }\r\n        if (!binding.updateTarget) {\r\n            throw new Error('Only property bindings and string interpolation bindings can be signaled.  Trigger, delegate and call bindings cannot be signaled.');\r\n        }\r\n        var signals = this.signals;\r\n        if (names.length === 1) {\r\n            var name_1 = names[0];\r\n            var bindings = signals[name_1] || (signals[name_1] = []);\r\n            bindings.push(binding);\r\n            binding.signalName = name_1;\r\n        }\r\n        else if (names.length > 1) {\r\n            var i = names.length;\r\n            while (i--) {\r\n                var name_2 = names[i];\r\n                var bindings = signals[name_2] || (signals[name_2] = []);\r\n                bindings.push(binding);\r\n            }\r\n            binding.signalName = names;\r\n        }\r\n        else {\r\n            throw new Error('Signal name is required.');\r\n        }\r\n    };\r\n    SignalBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var signals = this.signals;\r\n        var name = binding.signalName;\r\n        binding.signalName = null;\r\n        if (Array.isArray(name)) {\r\n            var names = name;\r\n            var i = names.length;\r\n            while (i--) {\r\n                var n = names[i];\r\n                var bindings = signals[n];\r\n                bindings.splice(bindings.indexOf(binding), 1);\r\n            }\r\n        }\r\n        else {\r\n            var bindings = signals[name];\r\n            bindings.splice(bindings.indexOf(binding), 1);\r\n        }\r\n    };\r\n    SignalBindingBehavior = __decorate([\r\n        bindingBehavior('signal')\r\n    ], SignalBindingBehavior);\r\n    return SignalBindingBehavior;\r\n}());\n\nvar eventNamesRequired = 'The updateTrigger binding behavior requires at least one event name argument: eg <input value.bind=\"firstName & updateTrigger:\\'blur\\'\">';\r\nvar notApplicableMessage = 'The updateTrigger binding behavior can only be applied to two-way/ from-view bindings on input/select elements.';\r\nvar UpdateTriggerBindingBehavior = (function () {\r\n    function UpdateTriggerBindingBehavior() {\r\n    }\r\n    UpdateTriggerBindingBehavior.prototype.bind = function (binding, source) {\r\n        var events = [];\r\n        for (var _i = 2; _i < arguments.length; _i++) {\r\n            events[_i - 2] = arguments[_i];\r\n        }\r\n        if (events.length === 0) {\r\n            throw new Error(eventNamesRequired);\r\n        }\r\n        if (binding.mode !== bindingMode.twoWay && binding.mode !== bindingMode.fromView) {\r\n            throw new Error(notApplicableMessage);\r\n        }\r\n        var targetObserver = binding.observerLocator.getObserver(binding.target, binding.targetProperty);\r\n        if (!targetObserver.handler) {\r\n            throw new Error(notApplicableMessage);\r\n        }\r\n        binding.targetObserver = targetObserver;\r\n        targetObserver.originalHandler = binding.targetObserver.handler;\r\n        var handler = new EventSubscriber(events);\r\n        targetObserver.handler = handler;\r\n    };\r\n    UpdateTriggerBindingBehavior.prototype.unbind = function (binding, source) {\r\n        var targetObserver = binding.targetObserver;\r\n        targetObserver.handler.dispose();\r\n        targetObserver.handler = targetObserver.originalHandler;\r\n        targetObserver.originalHandler = null;\r\n    };\r\n    UpdateTriggerBindingBehavior = __decorate([\r\n        bindingBehavior('updateTrigger')\r\n    ], UpdateTriggerBindingBehavior);\r\n    return UpdateTriggerBindingBehavior;\r\n}());\n\nfunction _createDynamicElement(_a) {\r\n    var name = _a.name, viewUrl = _a.viewUrl, bindableNames = _a.bindableNames, useShadowDOMmode = _a.useShadowDOMmode;\r\n    var DynamicElement = (function () {\r\n        function DynamicElement() {\r\n        }\r\n        DynamicElement.prototype.bind = function (bindingContext) {\r\n            this.$parent = bindingContext;\r\n        };\r\n        DynamicElement = __decorate([\r\n            customElement(name),\r\n            useView(viewUrl)\r\n        ], DynamicElement);\r\n        return DynamicElement;\r\n    }());\r\n    for (var i = 0, ii = bindableNames.length; i < ii; ++i) {\r\n        bindable(bindableNames[i])(DynamicElement);\r\n    }\r\n    switch (useShadowDOMmode) {\r\n        case 'open':\r\n            useShadowDOM({ mode: 'open' })(DynamicElement);\r\n            break;\r\n        case 'closed':\r\n            useShadowDOM({ mode: 'closed' })(DynamicElement);\r\n            break;\r\n        case '':\r\n            useShadowDOM(DynamicElement);\r\n            break;\r\n        case null:\r\n            break;\r\n        default:\r\n            getLogger('aurelia-html-only-element')\r\n                .warn(\"Expected 'use-shadow-dom' value to be \\\"close\\\", \\\"open\\\" or \\\"\\\", received \".concat(useShadowDOMmode));\r\n            break;\r\n    }\r\n    return DynamicElement;\r\n}\n\nfunction getElementName(address) {\r\n    return /([^\\/^\\?]+)\\.html/i.exec(address)[1].toLowerCase();\r\n}\r\nfunction configure$1(config) {\r\n    var viewEngine = config.container.get(ViewEngine);\r\n    var loader = config.aurelia.loader;\r\n    viewEngine.addResourcePlugin('.html', {\r\n        'fetch': function (viewUrl) {\r\n            return loader.loadTemplate(viewUrl).then(function (registryEntry) {\r\n                var _a;\r\n                var bindableNames = registryEntry.template.getAttribute('bindable');\r\n                var useShadowDOMmode = registryEntry.template.getAttribute('use-shadow-dom');\r\n                var name = getElementName(viewUrl);\r\n                if (bindableNames) {\r\n                    bindableNames = bindableNames.split(',').map(function (x) { return x.trim(); });\r\n                    registryEntry.template.removeAttribute('bindable');\r\n                }\r\n                else {\r\n                    bindableNames = [];\r\n                }\r\n                return _a = {}, _a[name] = _createDynamicElement({ name: name, viewUrl: viewUrl, bindableNames: bindableNames, useShadowDOMmode: useShadowDOMmode }), _a;\r\n            });\r\n        }\r\n    });\r\n}\n\nfunction configure(config) {\r\n    injectAureliaHideStyleAtHead();\r\n    config.globalResources(Compose, If, Else, With, Repeat, Show, Hide, Replaceable, Focus, SanitizeHTMLValueConverter, OneTimeBindingBehavior, OneWayBindingBehavior, ToViewBindingBehavior, FromViewBindingBehavior, TwoWayBindingBehavior, ThrottleBindingBehavior, DebounceBindingBehavior, SelfBindingBehavior, SignalBindingBehavior, UpdateTriggerBindingBehavior, AttrBindingBehavior);\r\n    configure$1(config);\r\n    var viewEngine = config.container.get(ViewEngine);\r\n    var styleResourcePlugin = {\r\n        fetch: function (address) {\r\n            var _a;\r\n            return _a = {}, _a[address] = _createCSSResource(address), _a;\r\n        }\r\n    };\r\n    ['.css', '.less', '.sass', '.scss', '.styl'].forEach(function (ext) { return viewEngine.addResourcePlugin(ext, styleResourcePlugin); });\r\n}\n\nexport { AbstractRepeater, ArrayRepeatStrategy, AttrBindingBehavior, BindingSignaler, Compose, DebounceBindingBehavior, Else, Focus, FromViewBindingBehavior, HTMLSanitizer, Hide, If, MapRepeatStrategy, NullRepeatStrategy, NumberRepeatStrategy, OneTimeBindingBehavior, OneWayBindingBehavior, Repeat, RepeatStrategyLocator, Replaceable, SanitizeHTMLValueConverter, SelfBindingBehavior, SetRepeatStrategy, Show, SignalBindingBehavior, ThrottleBindingBehavior, ToViewBindingBehavior, TwoWayBindingBehavior, UpdateTriggerBindingBehavior, With, configure, createFullOverrideContext, getItemsSourceExpression, isOneTime, unwrapExpression, updateOneTimeBinding, updateOverrideContext, viewsRequireLifecycle };\n//# sourceMappingURL=aurelia-templating-resources.js.map\n","import { Router, RouteLoader, AppRouter } from 'aurelia-router';\nimport { Origin } from 'aurelia-metadata';\nimport { relativeToFile } from 'aurelia-path';\nimport { BehaviorInstruction, ShadowDOM, ViewSlot, ViewLocator, CompositionTransaction, CompositionEngine, SwapStrategies, inlineView, customElement, useView } from 'aurelia-templating';\nimport { Container } from 'aurelia-dependency-injection';\nimport { createOverrideContext } from 'aurelia-binding';\nimport { DOM } from 'aurelia-pal';\nimport * as LogManager from 'aurelia-logging';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\nvar EmptyLayoutViewModel = (function () {\r\n    function EmptyLayoutViewModel() {\r\n    }\r\n    return EmptyLayoutViewModel;\r\n}());\r\nvar RouterView = (function () {\r\n    function RouterView(element, container, viewSlot, router, viewLocator, compositionTransaction, compositionEngine) {\r\n        this.element = element;\r\n        this.container = container;\r\n        this.viewSlot = viewSlot;\r\n        this.router = router;\r\n        this.viewLocator = viewLocator;\r\n        this.compositionTransaction = compositionTransaction;\r\n        this.compositionEngine = compositionEngine;\r\n        this.router.registerViewPort(this, this.element.getAttribute('name'));\r\n        if (!('initialComposition' in compositionTransaction)) {\r\n            compositionTransaction.initialComposition = true;\r\n            this.compositionTransactionNotifier = compositionTransaction.enlist();\r\n        }\r\n    }\r\n    RouterView.inject = function () {\r\n        return [DOM.Element, Container, ViewSlot, Router, ViewLocator, CompositionTransaction, CompositionEngine];\r\n    };\r\n    RouterView.prototype.created = function (owningView) {\r\n        this.owningView = owningView;\r\n    };\r\n    RouterView.prototype.bind = function (bindingContext, overrideContext) {\r\n        this.container.viewModel = bindingContext;\r\n        this.overrideContext = overrideContext;\r\n    };\r\n    RouterView.prototype.process = function ($viewPortInstruction, waitToSwap) {\r\n        var _this = this;\r\n        var viewPortInstruction = $viewPortInstruction;\r\n        var component = viewPortInstruction.component;\r\n        var childContainer = component.childContainer;\r\n        var viewModel = component.viewModel;\r\n        var viewModelResource = component.viewModelResource;\r\n        var metadata = viewModelResource.metadata;\r\n        var config = component.router.currentInstruction.config;\r\n        var viewPortConfig = config.viewPorts ? (config.viewPorts[viewPortInstruction.name] || {}) : {};\r\n        childContainer.get(RouterViewLocator)._notify(this);\r\n        var layoutInstruction = {\r\n            viewModel: viewPortConfig.layoutViewModel || config.layoutViewModel || this.layoutViewModel,\r\n            view: viewPortConfig.layoutView || config.layoutView || this.layoutView,\r\n            model: viewPortConfig.layoutModel || config.layoutModel || this.layoutModel,\r\n            router: viewPortInstruction.component.router,\r\n            childContainer: childContainer,\r\n            viewSlot: this.viewSlot\r\n        };\r\n        var viewStrategy = this.viewLocator.getViewStrategy(component.view || viewModel);\r\n        if (viewStrategy && component.view) {\r\n            viewStrategy.makeRelativeTo(Origin.get(component.router.container.viewModel.constructor).moduleId);\r\n        }\r\n        return metadata\r\n            .load(childContainer, viewModelResource.value, null, viewStrategy, true)\r\n            .then(function (viewFactory) {\r\n            if (!_this.compositionTransactionNotifier) {\r\n                _this.compositionTransactionOwnershipToken = _this.compositionTransaction.tryCapture();\r\n            }\r\n            if (layoutInstruction.viewModel || layoutInstruction.view) {\r\n                viewPortInstruction.layoutInstruction = layoutInstruction;\r\n            }\r\n            var viewPortComponentBehaviorInstruction = BehaviorInstruction.dynamic(_this.element, viewModel, viewFactory);\r\n            viewPortInstruction.controller = metadata.create(childContainer, viewPortComponentBehaviorInstruction);\r\n            if (waitToSwap) {\r\n                return null;\r\n            }\r\n            _this.swap(viewPortInstruction);\r\n        });\r\n    };\r\n    RouterView.prototype.swap = function ($viewPortInstruction) {\r\n        var _this = this;\r\n        var viewPortInstruction = $viewPortInstruction;\r\n        var viewPortController = viewPortInstruction.controller;\r\n        var layoutInstruction = viewPortInstruction.layoutInstruction;\r\n        var previousView = this.view;\r\n        var work = function () {\r\n            var swapStrategy = SwapStrategies[_this.swapOrder] || SwapStrategies.after;\r\n            var viewSlot = _this.viewSlot;\r\n            swapStrategy(viewSlot, previousView, function () { return Promise.resolve(viewSlot.add(_this.view)); }).then(function () {\r\n                _this._notify();\r\n            });\r\n        };\r\n        var ready = function (owningView_or_layoutView) {\r\n            viewPortController.automate(_this.overrideContext, owningView_or_layoutView);\r\n            var transactionOwnerShipToken = _this.compositionTransactionOwnershipToken;\r\n            if (transactionOwnerShipToken) {\r\n                return transactionOwnerShipToken\r\n                    .waitForCompositionComplete()\r\n                    .then(function () {\r\n                    _this.compositionTransactionOwnershipToken = null;\r\n                    return work();\r\n                });\r\n            }\r\n            return work();\r\n        };\r\n        if (layoutInstruction) {\r\n            if (!layoutInstruction.viewModel) {\r\n                layoutInstruction.viewModel = new EmptyLayoutViewModel();\r\n            }\r\n            return this.compositionEngine\r\n                .createController(layoutInstruction)\r\n                .then(function (layoutController) {\r\n                var layoutView = layoutController.view;\r\n                ShadowDOM.distributeView(viewPortController.view, layoutController.slots || layoutView.slots);\r\n                layoutController.automate(createOverrideContext(layoutInstruction.viewModel), _this.owningView);\r\n                layoutView.children.push(viewPortController.view);\r\n                return layoutView || layoutController;\r\n            })\r\n                .then(function (newView) {\r\n                _this.view = newView;\r\n                return ready(newView);\r\n            });\r\n        }\r\n        this.view = viewPortController.view;\r\n        return ready(this.owningView);\r\n    };\r\n    RouterView.prototype._notify = function () {\r\n        var notifier = this.compositionTransactionNotifier;\r\n        if (notifier) {\r\n            notifier.done();\r\n            this.compositionTransactionNotifier = null;\r\n        }\r\n    };\r\n    RouterView.$view = null;\r\n    RouterView.$resource = {\r\n        name: 'router-view',\r\n        bindables: ['swapOrder', 'layoutView', 'layoutViewModel', 'layoutModel', 'inherit-binding-context']\r\n    };\r\n    return RouterView;\r\n}());\r\nvar RouterViewLocator = (function () {\r\n    function RouterViewLocator() {\r\n        var _this = this;\r\n        this.promise = new Promise(function (resolve) { return _this.resolve = resolve; });\r\n    }\r\n    RouterViewLocator.prototype.findNearest = function () {\r\n        return this.promise;\r\n    };\r\n    RouterViewLocator.prototype._notify = function (routerView) {\r\n        this.resolve(routerView);\r\n    };\r\n    return RouterViewLocator;\r\n}());\n\nvar EmptyClass = (function () {\r\n    function EmptyClass() {\r\n    }\r\n    return EmptyClass;\r\n}());\r\ninlineView('<template></template>')(EmptyClass);\r\nvar TemplatingRouteLoader = (function (_super) {\r\n    __extends(TemplatingRouteLoader, _super);\r\n    function TemplatingRouteLoader(compositionEngine) {\r\n        var _this = _super.call(this) || this;\r\n        _this.compositionEngine = compositionEngine;\r\n        return _this;\r\n    }\r\n    TemplatingRouteLoader.prototype.resolveViewModel = function (router, config) {\r\n        return new Promise(function (resolve, reject) {\r\n            var viewModel;\r\n            if ('moduleId' in config) {\r\n                var moduleId = config.moduleId;\r\n                if (moduleId === null) {\r\n                    viewModel = EmptyClass;\r\n                }\r\n                else {\r\n                    moduleId = relativeToFile(moduleId, Origin.get(router.container.viewModel.constructor).moduleId);\r\n                    if (/\\.html/i.test(moduleId)) {\r\n                        viewModel = createDynamicClass(moduleId);\r\n                    }\r\n                    else {\r\n                        viewModel = moduleId;\r\n                    }\r\n                }\r\n                return resolve(viewModel);\r\n            }\r\n            reject(new Error('Invalid route config. No \"moduleId\" found.'));\r\n        });\r\n    };\r\n    TemplatingRouteLoader.prototype.createChildContainer = function (router) {\r\n        var childContainer = router.container.createChild();\r\n        childContainer.registerSingleton(RouterViewLocator);\r\n        childContainer.getChildRouter = function () {\r\n            var childRouter;\r\n            childContainer.registerHandler(Router, function () { return childRouter || (childRouter = router.createChild(childContainer)); });\r\n            return childContainer.get(Router);\r\n        };\r\n        return childContainer;\r\n    };\r\n    TemplatingRouteLoader.prototype.loadRoute = function (router, config, navInstruction) {\r\n        var _this = this;\r\n        return this\r\n            .resolveViewModel(router, config)\r\n            .then(function (viewModel) { return _this.compositionEngine.ensureViewModel({\r\n            viewModel: viewModel,\r\n            childContainer: _this.createChildContainer(router),\r\n            view: config.view || config.viewStrategy,\r\n            router: router\r\n        }); });\r\n    };\r\n    TemplatingRouteLoader.inject = [CompositionEngine];\r\n    return TemplatingRouteLoader;\r\n}(RouteLoader));\r\nfunction createDynamicClass(moduleId) {\r\n    var name = /([^\\/^\\?]+)\\.html/i.exec(moduleId)[1];\r\n    var DynamicClass = (function () {\r\n        function DynamicClass() {\r\n        }\r\n        DynamicClass.prototype.bind = function (bindingContext) {\r\n            this.$parent = bindingContext;\r\n        };\r\n        return DynamicClass;\r\n    }());\r\n    customElement(name)(DynamicClass);\r\n    useView(moduleId)(DynamicClass);\r\n    return DynamicClass;\r\n}\n\nvar logger = LogManager.getLogger('route-href');\r\nvar RouteHref = (function () {\r\n    function RouteHref(router, element) {\r\n        this.router = router;\r\n        this.element = element;\r\n        this.attribute = 'href';\r\n    }\r\n    RouteHref.inject = function () {\r\n        return [Router, DOM.Element];\r\n    };\r\n    RouteHref.prototype.bind = function () {\r\n        this.isActive = true;\r\n        this.processChange();\r\n    };\r\n    RouteHref.prototype.unbind = function () {\r\n        this.isActive = false;\r\n    };\r\n    RouteHref.prototype.attributeChanged = function (value, previous) {\r\n        if (previous) {\r\n            this.element.removeAttribute(previous);\r\n        }\r\n        return this.processChange();\r\n    };\r\n    RouteHref.prototype.processChange = function () {\r\n        var _this = this;\r\n        return this.router\r\n            .ensureConfigured()\r\n            .then(function () {\r\n            if (!_this.isActive) {\r\n                return null;\r\n            }\r\n            var element = _this.element;\r\n            var href = _this.router.generate(_this.route, _this.params);\r\n            if (element.au.controller) {\r\n                element.au.controller.viewModel[_this.attribute] = href;\r\n            }\r\n            else {\r\n                element.setAttribute(_this.attribute, href);\r\n            }\r\n            return null;\r\n        })\r\n            .catch(function (reason) {\r\n            logger.error(reason);\r\n        });\r\n    };\r\n    RouteHref.$resource = {\r\n        type: 'attribute',\r\n        name: 'route-href',\r\n        bindables: [\r\n            { name: 'route', changeHandler: 'processChange', primaryProperty: true },\r\n            { name: 'params', changeHandler: 'processChange' },\r\n            'attribute'\r\n        ]\r\n    };\r\n    return RouteHref;\r\n}());\n\nfunction configure(config) {\r\n    config\r\n        .singleton(RouteLoader, TemplatingRouteLoader)\r\n        .singleton(Router, AppRouter)\r\n        .globalResources(RouterView, RouteHref);\r\n    config.container.registerAlias(Router, AppRouter);\r\n}\n\nexport { RouteHref, RouterView, RouterViewLocator, TemplatingRouteLoader, configure };\n//# sourceMappingURL=aurelia-templating-router.js.map\n","import { DOM, FEATURE, PLATFORM } from 'aurelia-pal';\nimport { TemplateRegistryEntry, Loader } from 'aurelia-loader';\nimport { metadata, Origin, protocol } from 'aurelia-metadata';\nimport { relativeToFile } from 'aurelia-path';\nimport * as LogManager from 'aurelia-logging';\nimport { subscriberCollection, bindingMode, createOverrideContext, ValueConverterResource, BindingBehaviorResource, ObserverLocator, camelCase, EventManager } from 'aurelia-binding';\nimport { Container, resolver, inject } from 'aurelia-dependency-injection';\nimport { TaskQueue } from 'aurelia-task-queue';\n\nvar ElementEvents = (function () {\r\n    function ElementEvents(element) {\r\n        this.element = element;\r\n        this.subscriptions = {};\r\n    }\r\n    ElementEvents.prototype._enqueueHandler = function (handler) {\r\n        this.subscriptions[handler.eventName] = this.subscriptions[handler.eventName] || [];\r\n        this.subscriptions[handler.eventName].push(handler);\r\n    };\r\n    ElementEvents.prototype._dequeueHandler = function (handler) {\r\n        var index;\r\n        var subscriptions = this.subscriptions[handler.eventName];\r\n        if (subscriptions) {\r\n            index = subscriptions.indexOf(handler);\r\n            if (index > -1) {\r\n                subscriptions.splice(index, 1);\r\n            }\r\n        }\r\n        return handler;\r\n    };\r\n    ElementEvents.prototype.publish = function (eventName, detail, bubbles, cancelable) {\r\n        if (detail === void 0) { detail = {}; }\r\n        if (bubbles === void 0) { bubbles = true; }\r\n        if (cancelable === void 0) { cancelable = true; }\r\n        var event = DOM.createCustomEvent(eventName, { cancelable: cancelable, bubbles: bubbles, detail: detail });\r\n        this.element.dispatchEvent(event);\r\n    };\r\n    ElementEvents.prototype.subscribe = function (eventName, handler, captureOrOptions) {\r\n        if (typeof handler === 'function') {\r\n            if (captureOrOptions === undefined) {\r\n                captureOrOptions = ElementEvents.defaultListenerOptions;\r\n            }\r\n            var eventHandler = new EventHandlerImpl(this, eventName, handler, captureOrOptions, false);\r\n            return eventHandler;\r\n        }\r\n        return undefined;\r\n    };\r\n    ElementEvents.prototype.subscribeOnce = function (eventName, handler, captureOrOptions) {\r\n        if (typeof handler === 'function') {\r\n            if (captureOrOptions === undefined) {\r\n                captureOrOptions = ElementEvents.defaultListenerOptions;\r\n            }\r\n            var eventHandler = new EventHandlerImpl(this, eventName, handler, captureOrOptions, true);\r\n            return eventHandler;\r\n        }\r\n        return undefined;\r\n    };\r\n    ElementEvents.prototype.dispose = function (eventName) {\r\n        if (eventName && typeof eventName === 'string') {\r\n            var subscriptions = this.subscriptions[eventName];\r\n            if (subscriptions) {\r\n                while (subscriptions.length) {\r\n                    var subscription = subscriptions.pop();\r\n                    if (subscription) {\r\n                        subscription.dispose();\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        else {\r\n            this.disposeAll();\r\n        }\r\n    };\r\n    ElementEvents.prototype.disposeAll = function () {\r\n        for (var key in this.subscriptions) {\r\n            this.dispose(key);\r\n        }\r\n    };\r\n    ElementEvents.defaultListenerOptions = true;\r\n    return ElementEvents;\r\n}());\r\nvar EventHandlerImpl = (function () {\r\n    function EventHandlerImpl(owner, eventName, handler, captureOrOptions, once) {\r\n        this.owner = owner;\r\n        this.eventName = eventName;\r\n        this.handler = handler;\r\n        this.capture = typeof captureOrOptions === 'boolean' ? captureOrOptions : captureOrOptions.capture;\r\n        this.bubbles = !this.capture;\r\n        this.captureOrOptions = captureOrOptions;\r\n        this.once = once;\r\n        owner.element.addEventListener(eventName, this, captureOrOptions);\r\n        owner._enqueueHandler(this);\r\n    }\r\n    EventHandlerImpl.prototype.handleEvent = function (e) {\r\n        var fn = this.handler;\r\n        fn(e);\r\n        if (this.once) {\r\n            this.dispose();\r\n        }\r\n    };\r\n    EventHandlerImpl.prototype.dispose = function () {\r\n        this.owner.element.removeEventListener(this.eventName, this, this.captureOrOptions);\r\n        this.owner._dequeueHandler(this);\r\n        this.owner = this.handler = null;\r\n    };\r\n    return EventHandlerImpl;\r\n}());\n\nvar ResourceLoadContext = (function () {\r\n    function ResourceLoadContext() {\r\n        this.dependencies = {};\r\n    }\r\n    ResourceLoadContext.prototype.addDependency = function (url) {\r\n        this.dependencies[url] = true;\r\n    };\r\n    ResourceLoadContext.prototype.hasDependency = function (url) {\r\n        return url in this.dependencies;\r\n    };\r\n    return ResourceLoadContext;\r\n}());\r\nvar ViewCompileInstruction = (function () {\r\n    function ViewCompileInstruction(targetShadowDOM, compileSurrogate) {\r\n        if (targetShadowDOM === void 0) { targetShadowDOM = false; }\r\n        if (compileSurrogate === void 0) { compileSurrogate = false; }\r\n        this.targetShadowDOM = targetShadowDOM;\r\n        this.compileSurrogate = compileSurrogate;\r\n        this.associatedModuleId = null;\r\n    }\r\n    ViewCompileInstruction.normal = new ViewCompileInstruction();\r\n    return ViewCompileInstruction;\r\n}());\r\nvar BehaviorInstruction = (function () {\r\n    function BehaviorInstruction() {\r\n    }\r\n    BehaviorInstruction.enhance = function () {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.enhance = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.unitTest = function (type, attributes) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.type = type;\r\n        instruction.attributes = attributes || {};\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.element = function (node, type) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.type = type;\r\n        instruction.attributes = {};\r\n        instruction.anchorIsContainer = !(node.hasAttribute('containerless') || type.containerless);\r\n        instruction.initiatedByBehavior = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.attribute = function (attrName, type) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.attrName = attrName;\r\n        instruction.type = type || null;\r\n        instruction.attributes = {};\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.dynamic = function (host, viewModel, viewFactory) {\r\n        var instruction = new BehaviorInstruction();\r\n        instruction.host = host;\r\n        instruction.viewModel = viewModel;\r\n        instruction.viewFactory = viewFactory;\r\n        instruction.inheritBindingContext = true;\r\n        return instruction;\r\n    };\r\n    BehaviorInstruction.normal = new BehaviorInstruction();\r\n    return BehaviorInstruction;\r\n}());\r\nvar biProto = BehaviorInstruction.prototype;\r\nbiProto.initiatedByBehavior = false;\r\nbiProto.enhance = false;\r\nbiProto.partReplacements = null;\r\nbiProto.viewFactory = null;\r\nbiProto.originalAttrName = null;\r\nbiProto.skipContentProcessing = false;\r\nbiProto.contentFactory = null;\r\nbiProto.viewModel = null;\r\nbiProto.anchorIsContainer = false;\r\nbiProto.host = null;\r\nbiProto.attributes = null;\r\nbiProto.type = null;\r\nbiProto.attrName = null;\r\nbiProto.inheritBindingContext = false;\r\nvar TargetInstruction = (function () {\r\n    function TargetInstruction() {\r\n    }\r\n    TargetInstruction.shadowSlot = function (parentInjectorId) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.shadowSlot = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.contentExpression = function (expression) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.contentExpression = expression;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.letElement = function (expressions) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.expressions = expressions;\r\n        instruction.letElement = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.lifting = function (parentInjectorId, liftingInstruction) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.expressions = TargetInstruction.noExpressions;\r\n        instruction.behaviorInstructions = [liftingInstruction];\r\n        instruction.viewFactory = liftingInstruction.viewFactory;\r\n        instruction.providers = [liftingInstruction.type.target];\r\n        instruction.lifting = true;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.normal = function (injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.injectorId = injectorId;\r\n        instruction.parentInjectorId = parentInjectorId;\r\n        instruction.providers = providers;\r\n        instruction.behaviorInstructions = behaviorInstructions;\r\n        instruction.expressions = expressions;\r\n        instruction.anchorIsContainer = elementInstruction ? elementInstruction.anchorIsContainer : true;\r\n        instruction.elementInstruction = elementInstruction;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.surrogate = function (providers, behaviorInstructions, expressions, values) {\r\n        var instruction = new TargetInstruction();\r\n        instruction.expressions = expressions;\r\n        instruction.behaviorInstructions = behaviorInstructions;\r\n        instruction.providers = providers;\r\n        instruction.values = values;\r\n        return instruction;\r\n    };\r\n    TargetInstruction.noExpressions = Object.freeze([]);\r\n    return TargetInstruction;\r\n}());\r\nvar tiProto = TargetInstruction.prototype;\r\ntiProto.injectorId = null;\r\ntiProto.parentInjectorId = null;\r\ntiProto.shadowSlot = false;\r\ntiProto.slotName = null;\r\ntiProto.slotFallbackFactory = null;\r\ntiProto.contentExpression = null;\r\ntiProto.letElement = false;\r\ntiProto.expressions = null;\r\ntiProto.expressions = null;\r\ntiProto.providers = null;\r\ntiProto.viewFactory = null;\r\ntiProto.anchorIsContainer = false;\r\ntiProto.elementInstruction = null;\r\ntiProto.lifting = false;\r\ntiProto.values = null;\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\n\nvar capitalMatcher = /([A-Z])/g;\r\nfunction addHyphenAndLower(char) {\r\n    return '-' + char.toLowerCase();\r\n}\r\nfunction _hyphenate(name) {\r\n    return (name.charAt(0).toLowerCase() + name.slice(1)).replace(capitalMatcher, addHyphenAndLower);\r\n}\r\nfunction _isAllWhitespace(node) {\r\n    return !(node.auInterpolationTarget || (/[^\\t\\n\\r ]/.test(node.textContent)));\r\n}\n\nvar BehaviorPropertyObserver = (function () {\r\n    function BehaviorPropertyObserver(taskQueue, obj, propertyName, selfSubscriber, initialValue) {\r\n        this.taskQueue = taskQueue;\r\n        this.obj = obj;\r\n        this.propertyName = propertyName;\r\n        this.notqueued = true;\r\n        this.publishing = false;\r\n        this.selfSubscriber = selfSubscriber;\r\n        this.currentValue = this.oldValue = initialValue;\r\n    }\r\n    BehaviorPropertyObserver.prototype.getValue = function () {\r\n        return this.currentValue;\r\n    };\r\n    BehaviorPropertyObserver.prototype.setValue = function (newValue) {\r\n        var oldValue = this.currentValue;\r\n        if (!Object.is(newValue, oldValue)) {\r\n            this.oldValue = oldValue;\r\n            this.currentValue = newValue;\r\n            if (this.publishing && this.notqueued) {\r\n                if (this.taskQueue.flushing) {\r\n                    this.call();\r\n                }\r\n                else {\r\n                    this.notqueued = false;\r\n                    this.taskQueue.queueMicroTask(this);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    BehaviorPropertyObserver.prototype.call = function () {\r\n        var oldValue = this.oldValue;\r\n        var newValue = this.currentValue;\r\n        this.notqueued = true;\r\n        if (Object.is(newValue, oldValue)) {\r\n            return;\r\n        }\r\n        if (this.selfSubscriber) {\r\n            this.selfSubscriber(newValue, oldValue);\r\n        }\r\n        this.callSubscribers(newValue, oldValue);\r\n        this.oldValue = newValue;\r\n    };\r\n    BehaviorPropertyObserver.prototype.callSubscribers = function (newValue, oldValue) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver.prototype.subscribe = function (context, callable) {\r\n        this.addSubscriber(context, callable);\r\n    };\r\n    BehaviorPropertyObserver.prototype.addSubscriber = function (context, callable) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver.prototype.unsubscribe = function (context, callable) {\r\n        this.removeSubscriber(context, callable);\r\n    };\r\n    BehaviorPropertyObserver.prototype.removeSubscriber = function (context, callable) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    BehaviorPropertyObserver = __decorate([\r\n        subscriberCollection()\r\n    ], BehaviorPropertyObserver);\r\n    return BehaviorPropertyObserver;\r\n}());\n\nfunction getObserver(instance, name) {\r\n    var lookup = instance.__observers__;\r\n    if (lookup === undefined) {\r\n        var ctor = Object.getPrototypeOf(instance).constructor;\r\n        var behavior = metadata.get(metadata.resource, ctor);\r\n        if (!behavior.isInitialized) {\r\n            behavior.initialize(Container.instance || new Container(), instance.constructor);\r\n        }\r\n        lookup = behavior.observerLocator.getOrCreateObserversLookup(instance);\r\n        behavior._ensurePropertiesDefined(instance, lookup);\r\n    }\r\n    return lookup[name];\r\n}\r\nvar BindableProperty = (function () {\r\n    function BindableProperty(nameOrConfig) {\r\n        if (typeof nameOrConfig === 'string') {\r\n            this.name = nameOrConfig;\r\n        }\r\n        else {\r\n            Object.assign(this, nameOrConfig);\r\n        }\r\n        this.attribute = this.attribute || _hyphenate(this.name);\r\n        var defaultBindingMode = this.defaultBindingMode;\r\n        if (defaultBindingMode === null || defaultBindingMode === undefined) {\r\n            this.defaultBindingMode = bindingMode.oneWay;\r\n        }\r\n        else if (typeof defaultBindingMode === 'string') {\r\n            this.defaultBindingMode = bindingMode[defaultBindingMode] || bindingMode.oneWay;\r\n        }\r\n        this.changeHandler = this.changeHandler || null;\r\n        this.owner = null;\r\n        this.descriptor = null;\r\n    }\r\n    BindableProperty.prototype.registerWith = function (target, behavior, descriptor) {\r\n        behavior.properties.push(this);\r\n        behavior.attributes[this.attribute] = this;\r\n        this.owner = behavior;\r\n        if (descriptor) {\r\n            this.descriptor = descriptor;\r\n            return this._configureDescriptor(descriptor);\r\n        }\r\n        return undefined;\r\n    };\r\n    BindableProperty.prototype._configureDescriptor = function (descriptor) {\r\n        var name = this.name;\r\n        descriptor.configurable = true;\r\n        descriptor.enumerable = true;\r\n        if ('initializer' in descriptor) {\r\n            this.defaultValue = descriptor.initializer;\r\n            delete descriptor.initializer;\r\n            delete descriptor.writable;\r\n        }\r\n        if ('value' in descriptor) {\r\n            this.defaultValue = descriptor.value;\r\n            delete descriptor.value;\r\n            delete descriptor.writable;\r\n        }\r\n        descriptor.get = function () {\r\n            return getObserver(this, name).getValue();\r\n        };\r\n        descriptor.set = function (value) {\r\n            getObserver(this, name).setValue(value);\r\n        };\r\n        descriptor.get.getObserver = function (obj) {\r\n            return getObserver(obj, name);\r\n        };\r\n        return descriptor;\r\n    };\r\n    BindableProperty.prototype.defineOn = function (target, behavior) {\r\n        var name = this.name;\r\n        var handlerName;\r\n        if (this.changeHandler === null) {\r\n            handlerName = name + 'Changed';\r\n            if (handlerName in target.prototype) {\r\n                this.changeHandler = handlerName;\r\n            }\r\n        }\r\n        if (this.descriptor === null) {\r\n            Object.defineProperty(target.prototype, name, this._configureDescriptor({}));\r\n        }\r\n    };\r\n    BindableProperty.prototype.createObserver = function (viewModel) {\r\n        var selfSubscriber = null;\r\n        var defaultValue = this.defaultValue;\r\n        var changeHandlerName = this.changeHandler;\r\n        var name = this.name;\r\n        var initialValue;\r\n        if (this.hasOptions) {\r\n            return undefined;\r\n        }\r\n        if (changeHandlerName in viewModel) {\r\n            if ('propertyChanged' in viewModel) {\r\n                selfSubscriber = function (newValue, oldValue) {\r\n                    viewModel[changeHandlerName](newValue, oldValue);\r\n                    viewModel.propertyChanged(name, newValue, oldValue);\r\n                };\r\n            }\r\n            else {\r\n                selfSubscriber = function (newValue, oldValue) { return viewModel[changeHandlerName](newValue, oldValue); };\r\n            }\r\n        }\r\n        else if ('propertyChanged' in viewModel) {\r\n            selfSubscriber = function (newValue, oldValue) { return viewModel.propertyChanged(name, newValue, oldValue); };\r\n        }\r\n        else if (changeHandlerName !== null) {\r\n            throw new Error(\"Change handler \".concat(changeHandlerName, \" was specified but not declared on the class.\"));\r\n        }\r\n        if (defaultValue !== undefined) {\r\n            initialValue = typeof defaultValue === 'function' ? defaultValue.call(viewModel) : defaultValue;\r\n        }\r\n        return new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, this.name, selfSubscriber, initialValue);\r\n    };\r\n    BindableProperty.prototype._initialize = function (viewModel, observerLookup, attributes, behaviorHandlesBind, boundProperties) {\r\n        var selfSubscriber;\r\n        var observer;\r\n        var attribute;\r\n        var defaultValue = this.defaultValue;\r\n        if (this.isDynamic) {\r\n            for (var key in attributes) {\r\n                this._createDynamicProperty(viewModel, observerLookup, behaviorHandlesBind, key, attributes[key], boundProperties);\r\n            }\r\n        }\r\n        else if (!this.hasOptions) {\r\n            observer = observerLookup[this.name];\r\n            if (attributes !== null) {\r\n                selfSubscriber = observer.selfSubscriber;\r\n                attribute = attributes[this.attribute];\r\n                if (behaviorHandlesBind) {\r\n                    observer.selfSubscriber = null;\r\n                }\r\n                if (typeof attribute === 'string') {\r\n                    viewModel[this.name] = attribute;\r\n                    observer.call();\r\n                }\r\n                else if (attribute) {\r\n                    boundProperties.push({ observer: observer, binding: attribute.createBinding(viewModel) });\r\n                }\r\n                else if (defaultValue !== undefined) {\r\n                    observer.call();\r\n                }\r\n                observer.selfSubscriber = selfSubscriber;\r\n            }\r\n            observer.publishing = true;\r\n        }\r\n    };\r\n    BindableProperty.prototype._createDynamicProperty = function (viewModel, observerLookup, behaviorHandlesBind, name, attribute, boundProperties) {\r\n        var changeHandlerName = name + 'Changed';\r\n        var selfSubscriber = null;\r\n        var observer;\r\n        var info;\r\n        if (changeHandlerName in viewModel) {\r\n            if ('propertyChanged' in viewModel) {\r\n                selfSubscriber = function (newValue, oldValue) {\r\n                    viewModel[changeHandlerName](newValue, oldValue);\r\n                    viewModel.propertyChanged(name, newValue, oldValue);\r\n                };\r\n            }\r\n            else {\r\n                selfSubscriber = function (newValue, oldValue) { return viewModel[changeHandlerName](newValue, oldValue); };\r\n            }\r\n        }\r\n        else if ('propertyChanged' in viewModel) {\r\n            selfSubscriber = function (newValue, oldValue) { return viewModel.propertyChanged(name, newValue, oldValue); };\r\n        }\r\n        observer = observerLookup[name] = new BehaviorPropertyObserver(this.owner.taskQueue, viewModel, name, selfSubscriber);\r\n        Object.defineProperty(viewModel, name, {\r\n            configurable: true,\r\n            enumerable: true,\r\n            get: observer.getValue.bind(observer),\r\n            set: observer.setValue.bind(observer)\r\n        });\r\n        if (behaviorHandlesBind) {\r\n            observer.selfSubscriber = null;\r\n        }\r\n        if (typeof attribute === 'string') {\r\n            viewModel[name] = attribute;\r\n            observer.call();\r\n        }\r\n        else if (attribute) {\r\n            info = { observer: observer, binding: attribute.createBinding(viewModel) };\r\n            boundProperties.push(info);\r\n        }\r\n        observer.publishing = true;\r\n        observer.selfSubscriber = selfSubscriber;\r\n    };\r\n    return BindableProperty;\r\n}());\n\nvar ViewLocator = (function () {\r\n    function ViewLocator() {\r\n    }\r\n    ViewLocator.prototype.getViewStrategy = function (value) {\r\n        if (!value) {\r\n            return null;\r\n        }\r\n        if (typeof value === 'object' && 'getViewStrategy' in value) {\r\n            var origin_1 = Origin.get(value.constructor);\r\n            value = value.getViewStrategy();\r\n            if (typeof value === 'string') {\r\n                value = new RelativeViewStrategy(value);\r\n            }\r\n            viewStrategy.assert(value);\r\n            if (origin_1.moduleId) {\r\n                value.makeRelativeTo(origin_1.moduleId);\r\n            }\r\n            return value;\r\n        }\r\n        if (typeof value === 'string') {\r\n            value = new RelativeViewStrategy(value);\r\n        }\r\n        if (viewStrategy.validate(value)) {\r\n            return value;\r\n        }\r\n        if (typeof value !== 'function') {\r\n            value = value.constructor;\r\n        }\r\n        if ('$view' in value) {\r\n            var c = value.$view;\r\n            var view = void 0;\r\n            c = typeof c === 'function' ? c.call(value) : c;\r\n            if (c === null) {\r\n                view = new NoViewStrategy();\r\n            }\r\n            else {\r\n                view = c instanceof StaticViewStrategy ? c : new StaticViewStrategy(c);\r\n            }\r\n            metadata.define(ViewLocator.viewStrategyMetadataKey, view, value);\r\n            return view;\r\n        }\r\n        var origin = Origin.get(value);\r\n        var strategy = metadata.get(ViewLocator.viewStrategyMetadataKey, value);\r\n        if (!strategy) {\r\n            if (!origin.moduleId) {\r\n                throw new Error('Cannot determine default view strategy for object.\\n' + value);\r\n            }\r\n            strategy = this.createFallbackViewStrategy(origin);\r\n        }\r\n        else if (origin.moduleId) {\r\n            strategy.moduleId = origin.moduleId;\r\n        }\r\n        return strategy;\r\n    };\r\n    ViewLocator.prototype.createFallbackViewStrategy = function (origin) {\r\n        return new ConventionalViewStrategy(this, origin);\r\n    };\r\n    ViewLocator.prototype.convertOriginToViewUrl = function (origin) {\r\n        var moduleId = origin.moduleId;\r\n        var id = (moduleId.endsWith('.js') || moduleId.endsWith('.ts')) ? moduleId.substring(0, moduleId.length - 3) : moduleId;\r\n        return id + '.html';\r\n    };\r\n    ViewLocator.viewStrategyMetadataKey = 'aurelia:view-strategy';\r\n    return ViewLocator;\r\n}());\n\nfunction mi(name) {\r\n    throw new Error(\"BindingLanguage must implement \".concat(name, \"().\"));\r\n}\r\nvar BindingLanguage = (function () {\r\n    function BindingLanguage() {\r\n    }\r\n    BindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) {\r\n        mi('inspectAttribute');\r\n    };\r\n    BindingLanguage.prototype.createAttributeInstruction = function (resources, element, info, existingInstruction, context) {\r\n        mi('createAttributeInstruction');\r\n    };\r\n    BindingLanguage.prototype.createLetExpressions = function (resources, element) {\r\n        mi('createLetExpressions');\r\n    };\r\n    BindingLanguage.prototype.inspectTextContent = function (resources, value) {\r\n        mi('inspectTextContent');\r\n    };\r\n    return BindingLanguage;\r\n}());\n\nvar noNodes = Object.freeze([]);\r\nvar SlotCustomAttribute = (function () {\r\n    function SlotCustomAttribute(element) {\r\n        this.element = element;\r\n        this.element.auSlotAttribute = this;\r\n    }\r\n    SlotCustomAttribute.inject = function () {\r\n        return [DOM.Element];\r\n    };\r\n    SlotCustomAttribute.prototype.valueChanged = function (newValue, oldValue) { };\r\n    return SlotCustomAttribute;\r\n}());\r\nvar PassThroughSlot = (function () {\r\n    function PassThroughSlot(anchor, name, destinationName, fallbackFactory) {\r\n        this.anchor = anchor;\r\n        this.anchor.viewSlot = this;\r\n        this.name = name;\r\n        this.destinationName = destinationName;\r\n        this.fallbackFactory = fallbackFactory;\r\n        this.destinationSlot = null;\r\n        this.projections = 0;\r\n        this.contentView = null;\r\n        var attr = new SlotCustomAttribute(this.anchor);\r\n        attr.value = this.destinationName;\r\n    }\r\n    Object.defineProperty(PassThroughSlot.prototype, \"needsFallbackRendering\", {\r\n        get: function () {\r\n            return this.fallbackFactory && this.projections === 0;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    PassThroughSlot.prototype.renderFallbackContent = function (view, nodes, projectionSource, index) {\r\n        if (this.contentView === null) {\r\n            this.contentView = this.fallbackFactory.create(this.ownerView.container);\r\n            this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext);\r\n            var slots = Object.create(null);\r\n            slots[this.destinationSlot.name] = this.destinationSlot;\r\n            ShadowDOM.distributeView(this.contentView, slots, projectionSource, index, this.destinationSlot.name);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.passThroughTo = function (destinationSlot) {\r\n        this.destinationSlot = destinationSlot;\r\n    };\r\n    PassThroughSlot.prototype.addNode = function (view, node, projectionSource, index) {\r\n        if (this.contentView !== null) {\r\n            this.contentView.removeNodes();\r\n            this.contentView.detached();\r\n            this.contentView.unbind();\r\n            this.contentView = null;\r\n        }\r\n        if (node.viewSlot instanceof PassThroughSlot) {\r\n            node.viewSlot.passThroughTo(this);\r\n            return;\r\n        }\r\n        this.projections++;\r\n        this.destinationSlot.addNode(view, node, projectionSource, index);\r\n    };\r\n    PassThroughSlot.prototype.removeView = function (view, projectionSource) {\r\n        this.projections--;\r\n        this.destinationSlot.removeView(view, projectionSource);\r\n        if (this.needsFallbackRendering) {\r\n            this.renderFallbackContent(null, noNodes, projectionSource);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.removeAll = function (projectionSource) {\r\n        this.projections = 0;\r\n        this.destinationSlot.removeAll(projectionSource);\r\n        if (this.needsFallbackRendering) {\r\n            this.renderFallbackContent(null, noNodes, projectionSource);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.projectFrom = function (view, projectionSource) {\r\n        this.destinationSlot.projectFrom(view, projectionSource);\r\n    };\r\n    PassThroughSlot.prototype.created = function (ownerView) {\r\n        this.ownerView = ownerView;\r\n    };\r\n    PassThroughSlot.prototype.bind = function (view) {\r\n        if (this.contentView) {\r\n            this.contentView.bind(view.bindingContext, view.overrideContext);\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.attached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.attached();\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.detached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.detached();\r\n        }\r\n    };\r\n    PassThroughSlot.prototype.unbind = function () {\r\n        if (this.contentView) {\r\n            this.contentView.unbind();\r\n        }\r\n    };\r\n    return PassThroughSlot;\r\n}());\r\nvar ShadowSlot = (function () {\r\n    function ShadowSlot(anchor, name, fallbackFactory) {\r\n        this.anchor = anchor;\r\n        this.anchor.isContentProjectionSource = true;\r\n        this.anchor.viewSlot = this;\r\n        this.name = name;\r\n        this.fallbackFactory = fallbackFactory;\r\n        this.contentView = null;\r\n        this.projections = 0;\r\n        this.children = [];\r\n        this.projectFromAnchors = null;\r\n        this.destinationSlots = null;\r\n    }\r\n    Object.defineProperty(ShadowSlot.prototype, \"needsFallbackRendering\", {\r\n        get: function () {\r\n            return this.fallbackFactory && this.projections === 0;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    ShadowSlot.prototype.addNode = function (view, node, projectionSource, index, destination) {\r\n        var $node = node;\r\n        if (this.contentView !== null) {\r\n            this.contentView.removeNodes();\r\n            this.contentView.detached();\r\n            this.contentView.unbind();\r\n            this.contentView = null;\r\n        }\r\n        if ($node.viewSlot instanceof PassThroughSlot) {\r\n            $node.viewSlot.passThroughTo(this);\r\n            return;\r\n        }\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.distributeNodes(view, [$node], this.destinationSlots, this, index);\r\n        }\r\n        else {\r\n            $node.auOwnerView = view;\r\n            $node.auProjectionSource = projectionSource;\r\n            $node.auAssignedSlot = this;\r\n            var anchor = this._findAnchor(view, $node, projectionSource, index);\r\n            var parent_1 = anchor.parentNode;\r\n            parent_1.insertBefore($node, anchor);\r\n            this.children.push($node);\r\n            this.projections++;\r\n        }\r\n    };\r\n    ShadowSlot.prototype.removeView = function (view, projectionSource) {\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.undistributeView(view, this.destinationSlots, this);\r\n        }\r\n        else if (this.contentView && this.contentView.hasSlots) {\r\n            ShadowDOM.undistributeView(view, this.contentView.slots, projectionSource);\r\n        }\r\n        else {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                var children = found.auProjectionChildren;\r\n                var ownChildren = this.children;\r\n                for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    if (child.auOwnerView === view) {\r\n                        children.splice(i, 1);\r\n                        view.fragment.appendChild(child);\r\n                        i--;\r\n                        ii--;\r\n                        this.projections--;\r\n                        var idx = ownChildren.indexOf(child);\r\n                        if (idx > -1) {\r\n                            ownChildren.splice(idx, 1);\r\n                        }\r\n                    }\r\n                }\r\n                if (this.needsFallbackRendering) {\r\n                    this.renderFallbackContent(view, noNodes, projectionSource);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ShadowSlot.prototype.removeAll = function (projectionSource) {\r\n        if (this.destinationSlots !== null) {\r\n            ShadowDOM.undistributeAll(this.destinationSlots, this);\r\n        }\r\n        else if (this.contentView && this.contentView.hasSlots) {\r\n            ShadowDOM.undistributeAll(this.contentView.slots, projectionSource);\r\n        }\r\n        else {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                var children = found.auProjectionChildren;\r\n                var ownChildren = this.children;\r\n                for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    child.auOwnerView.fragment.appendChild(child);\r\n                    this.projections--;\r\n                    var idx = ownChildren.indexOf(child);\r\n                    if (idx > -1) {\r\n                        ownChildren.splice(idx, 1);\r\n                    }\r\n                }\r\n                found.auProjectionChildren = [];\r\n                if (this.needsFallbackRendering) {\r\n                    this.renderFallbackContent(null, noNodes, projectionSource);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ShadowSlot.prototype._findAnchor = function (view, node, projectionSource, index) {\r\n        if (projectionSource) {\r\n            var found = this.children.find(function (x) { return x.auSlotProjectFrom === projectionSource; });\r\n            if (found) {\r\n                if (index !== undefined) {\r\n                    var children = found.auProjectionChildren;\r\n                    var viewIndex = -1;\r\n                    var lastView = void 0;\r\n                    for (var i = 0, ii = children.length; i < ii; ++i) {\r\n                        var current = children[i];\r\n                        if (current.auOwnerView !== lastView) {\r\n                            viewIndex++;\r\n                            lastView = current.auOwnerView;\r\n                            if (viewIndex >= index && lastView !== view) {\r\n                                children.splice(i, 0, node);\r\n                                return current;\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                found.auProjectionChildren.push(node);\r\n                return found;\r\n            }\r\n        }\r\n        return this.anchor;\r\n    };\r\n    ShadowSlot.prototype.projectTo = function (slots) {\r\n        this.destinationSlots = slots;\r\n    };\r\n    ShadowSlot.prototype.projectFrom = function (view, projectionSource) {\r\n        var anchor = DOM.createComment('anchor');\r\n        var parent = this.anchor.parentNode;\r\n        anchor.auSlotProjectFrom = projectionSource;\r\n        anchor.auOwnerView = view;\r\n        anchor.auProjectionChildren = [];\r\n        parent.insertBefore(anchor, this.anchor);\r\n        this.children.push(anchor);\r\n        if (this.projectFromAnchors === null) {\r\n            this.projectFromAnchors = [];\r\n        }\r\n        this.projectFromAnchors.push(anchor);\r\n    };\r\n    ShadowSlot.prototype.renderFallbackContent = function (view, nodes, projectionSource, index) {\r\n        if (this.contentView === null) {\r\n            this.contentView = this.fallbackFactory.create(this.ownerView.container);\r\n            this.contentView.bind(this.ownerView.bindingContext, this.ownerView.overrideContext);\r\n            this.contentView.insertNodesBefore(this.anchor);\r\n        }\r\n        if (this.contentView.hasSlots) {\r\n            var slots = this.contentView.slots;\r\n            var projectFromAnchors = this.projectFromAnchors;\r\n            if (projectFromAnchors !== null) {\r\n                for (var slotName in slots) {\r\n                    var slot = slots[slotName];\r\n                    for (var i = 0, ii = projectFromAnchors.length; i < ii; ++i) {\r\n                        var anchor = projectFromAnchors[i];\r\n                        slot.projectFrom(anchor.auOwnerView, anchor.auSlotProjectFrom);\r\n                    }\r\n                }\r\n            }\r\n            this.fallbackSlots = slots;\r\n            ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index);\r\n        }\r\n    };\r\n    ShadowSlot.prototype.created = function (ownerView) {\r\n        this.ownerView = ownerView;\r\n    };\r\n    ShadowSlot.prototype.bind = function (view) {\r\n        if (this.contentView) {\r\n            this.contentView.bind(view.bindingContext, view.overrideContext);\r\n        }\r\n    };\r\n    ShadowSlot.prototype.attached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.attached();\r\n        }\r\n    };\r\n    ShadowSlot.prototype.detached = function () {\r\n        if (this.contentView) {\r\n            this.contentView.detached();\r\n        }\r\n    };\r\n    ShadowSlot.prototype.unbind = function () {\r\n        if (this.contentView) {\r\n            this.contentView.unbind();\r\n        }\r\n    };\r\n    return ShadowSlot;\r\n}());\r\nvar ShadowDOM = (function () {\r\n    function ShadowDOM() {\r\n    }\r\n    ShadowDOM.getSlotName = function (node) {\r\n        if (node.auSlotAttribute === undefined) {\r\n            return ShadowDOM.defaultSlotKey;\r\n        }\r\n        return node.auSlotAttribute.value;\r\n    };\r\n    ShadowDOM.distributeView = function (view, slots, projectionSource, index, destinationOverride) {\r\n        var nodes;\r\n        if (view === null) {\r\n            nodes = noNodes;\r\n        }\r\n        else {\r\n            var childNodes = view.fragment.childNodes;\r\n            var ii = childNodes.length;\r\n            nodes = new Array(ii);\r\n            for (var i = 0; i < ii; ++i) {\r\n                nodes[i] = childNodes[i];\r\n            }\r\n        }\r\n        ShadowDOM.distributeNodes(view, nodes, slots, projectionSource, index, destinationOverride);\r\n    };\r\n    ShadowDOM.undistributeView = function (view, slots, projectionSource) {\r\n        for (var slotName in slots) {\r\n            slots[slotName].removeView(view, projectionSource);\r\n        }\r\n    };\r\n    ShadowDOM.undistributeAll = function (slots, projectionSource) {\r\n        for (var slotName in slots) {\r\n            slots[slotName].removeAll(projectionSource);\r\n        }\r\n    };\r\n    ShadowDOM.distributeNodes = function (view, nodes, slots, projectionSource, index, destinationOverride) {\r\n        for (var i = 0, ii = nodes.length; i < ii; ++i) {\r\n            var currentNode = nodes[i];\r\n            var nodeType = currentNode.nodeType;\r\n            if (currentNode.isContentProjectionSource) {\r\n                currentNode.viewSlot.projectTo(slots);\r\n                for (var slotName in slots) {\r\n                    slots[slotName].projectFrom(view, currentNode.viewSlot);\r\n                }\r\n                nodes.splice(i, 1);\r\n                ii--;\r\n                i--;\r\n            }\r\n            else if (nodeType === 1 || nodeType === 3 || currentNode.viewSlot instanceof PassThroughSlot) {\r\n                if (nodeType === 3 && _isAllWhitespace(currentNode)) {\r\n                    nodes.splice(i, 1);\r\n                    ii--;\r\n                    i--;\r\n                }\r\n                else {\r\n                    var found = slots[destinationOverride || ShadowDOM.getSlotName(currentNode)];\r\n                    if (found) {\r\n                        found.addNode(view, currentNode, projectionSource, index);\r\n                        nodes.splice(i, 1);\r\n                        ii--;\r\n                        i--;\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                nodes.splice(i, 1);\r\n                ii--;\r\n                i--;\r\n            }\r\n        }\r\n        for (var slotName in slots) {\r\n            var slot = slots[slotName];\r\n            if (slot.needsFallbackRendering) {\r\n                slot.renderFallbackContent(view, nodes, projectionSource, index);\r\n            }\r\n        }\r\n    };\r\n    ShadowDOM.defaultSlotKey = '__au-default-slot-key__';\r\n    return ShadowDOM;\r\n}());\n\nvar CompositionTransactionNotifier = (function () {\r\n    function CompositionTransactionNotifier(owner) {\r\n        this.owner = owner;\r\n        this.owner._compositionCount++;\r\n    }\r\n    CompositionTransactionNotifier.prototype.done = function () {\r\n        this.owner._compositionCount--;\r\n        this.owner._tryCompleteTransaction();\r\n    };\r\n    return CompositionTransactionNotifier;\r\n}());\r\nvar CompositionTransactionOwnershipToken = (function () {\r\n    function CompositionTransactionOwnershipToken(owner) {\r\n        this.owner = owner;\r\n        this.owner._ownershipToken = this;\r\n        this.thenable = this._createThenable();\r\n    }\r\n    CompositionTransactionOwnershipToken.prototype.waitForCompositionComplete = function () {\r\n        this.owner._tryCompleteTransaction();\r\n        return this.thenable;\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype.resolve = function () {\r\n        this._resolveCallback();\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype._resolveCallback = function () {\r\n        throw new Error(\"Method not implemented.\");\r\n    };\r\n    CompositionTransactionOwnershipToken.prototype._createThenable = function () {\r\n        var _this = this;\r\n        return new Promise(function (resolve) {\r\n            _this._resolveCallback = resolve;\r\n        });\r\n    };\r\n    return CompositionTransactionOwnershipToken;\r\n}());\r\nvar CompositionTransaction = (function () {\r\n    function CompositionTransaction() {\r\n        this._ownershipToken = null;\r\n        this._compositionCount = 0;\r\n    }\r\n    CompositionTransaction.prototype.tryCapture = function () {\r\n        return this._ownershipToken === null\r\n            ? new CompositionTransactionOwnershipToken(this)\r\n            : null;\r\n    };\r\n    CompositionTransaction.prototype.enlist = function () {\r\n        return new CompositionTransactionNotifier(this);\r\n    };\r\n    CompositionTransaction.prototype._tryCompleteTransaction = function () {\r\n        if (this._compositionCount <= 0) {\r\n            this._compositionCount = 0;\r\n            if (this._ownershipToken !== null) {\r\n                var token = this._ownershipToken;\r\n                this._ownershipToken = null;\r\n                token.resolve();\r\n            }\r\n        }\r\n    };\r\n    return CompositionTransaction;\r\n}());\n\nvar View = (function () {\r\n    function View(container, viewFactory, fragment, controllers, bindings, children, slots) {\r\n        this.container = container;\r\n        this.viewFactory = viewFactory;\r\n        this.resources = viewFactory.resources;\r\n        this.fragment = fragment;\r\n        this.firstChild = fragment.firstChild;\r\n        this.lastChild = fragment.lastChild;\r\n        this.controllers = controllers;\r\n        this.bindings = bindings;\r\n        this.children = children;\r\n        this.slots = slots;\r\n        this.hasSlots = false;\r\n        this.fromCache = false;\r\n        this.isBound = false;\r\n        this.isAttached = false;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.controller = null;\r\n        this.viewModelScope = null;\r\n        this.animatableElement = undefined;\r\n        this._isUserControlled = false;\r\n        this.contentView = null;\r\n        for (var _ in slots) {\r\n            this.hasSlots = true;\r\n            break;\r\n        }\r\n    }\r\n    View.prototype.returnToCache = function () {\r\n        this.viewFactory.returnViewToCache(this);\r\n    };\r\n    View.prototype.created = function () {\r\n        var i;\r\n        var ii;\r\n        var controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].created(this);\r\n        }\r\n    };\r\n    View.prototype.bind = function (bindingContext, overrideContext, _systemUpdate) {\r\n        var controllers;\r\n        var bindings;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (_systemUpdate && this._isUserControlled) {\r\n            return;\r\n        }\r\n        if (this.isBound) {\r\n            if (this.bindingContext === bindingContext) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.bindingContext = bindingContext;\r\n        this.overrideContext = overrideContext || createOverrideContext(bindingContext);\r\n        this.resources._invokeHook('beforeBind', this);\r\n        bindings = this.bindings;\r\n        for (i = 0, ii = bindings.length; i < ii; ++i) {\r\n            bindings[i].bind(this);\r\n        }\r\n        if (this.viewModelScope !== null) {\r\n            bindingContext.bind(this.viewModelScope.bindingContext, this.viewModelScope.overrideContext);\r\n            this.viewModelScope = null;\r\n        }\r\n        controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].bind(this);\r\n        }\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].bind(bindingContext, overrideContext, true);\r\n        }\r\n        if (this.hasSlots) {\r\n            ShadowDOM.distributeView(this.contentView, this.slots);\r\n        }\r\n    };\r\n    View.prototype.addBinding = function (binding) {\r\n        this.bindings.push(binding);\r\n        if (this.isBound) {\r\n            binding.bind(this);\r\n        }\r\n    };\r\n    View.prototype.unbind = function () {\r\n        var controllers;\r\n        var bindings;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isBound) {\r\n            this.isBound = false;\r\n            this.resources._invokeHook('beforeUnbind', this);\r\n            if (this.controller !== null) {\r\n                this.controller.unbind();\r\n            }\r\n            bindings = this.bindings;\r\n            for (i = 0, ii = bindings.length; i < ii; ++i) {\r\n                bindings[i].unbind();\r\n            }\r\n            controllers = this.controllers;\r\n            for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n                controllers[i].unbind();\r\n            }\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].unbind();\r\n            }\r\n            this.bindingContext = null;\r\n            this.overrideContext = null;\r\n        }\r\n    };\r\n    View.prototype.insertNodesBefore = function (refNode) {\r\n        refNode.parentNode.insertBefore(this.fragment, refNode);\r\n    };\r\n    View.prototype.appendNodesTo = function (parent) {\r\n        parent.appendChild(this.fragment);\r\n    };\r\n    View.prototype.removeNodes = function () {\r\n        var fragment = this.fragment;\r\n        var current = this.firstChild;\r\n        var end = this.lastChild;\r\n        var next;\r\n        while (current) {\r\n            next = current.nextSibling;\r\n            fragment.appendChild(current);\r\n            if (current === end) {\r\n                break;\r\n            }\r\n            current = next;\r\n        }\r\n    };\r\n    View.prototype.attached = function () {\r\n        var controllers;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        if (this.controller !== null) {\r\n            this.controller.attached();\r\n        }\r\n        controllers = this.controllers;\r\n        for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n            controllers[i].attached();\r\n        }\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].attached();\r\n        }\r\n    };\r\n    View.prototype.detached = function () {\r\n        var controllers;\r\n        var children;\r\n        var i;\r\n        var ii;\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            if (this.controller !== null) {\r\n                this.controller.detached();\r\n            }\r\n            controllers = this.controllers;\r\n            for (i = 0, ii = controllers.length; i < ii; ++i) {\r\n                controllers[i].detached();\r\n            }\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n    };\r\n    return View;\r\n}());\n\nvar Animator = (function () {\r\n    function Animator() {\r\n    }\r\n    Animator.prototype.enter = function (element) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.leave = function (element) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.removeClass = function (element, className) {\r\n        element.classList.remove(className);\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.addClass = function (element, className) {\r\n        element.classList.add(className);\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.animate = function (element, className) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.runSequence = function (animations) {\r\n        return Promise.resolve(false);\r\n    };\r\n    Animator.prototype.registerEffect = function (effectName, properties) { };\r\n    Animator.prototype.unregisterEffect = function (effectName) { };\r\n    return Animator;\r\n}());\n\nfunction getAnimatableElement(view) {\r\n    if (view.animatableElement !== undefined) {\r\n        return view.animatableElement;\r\n    }\r\n    var current = view.firstChild;\r\n    while (current && current.nodeType !== 1) {\r\n        current = current.nextSibling;\r\n    }\r\n    if (current && current.nodeType === 1) {\r\n        return (view.animatableElement = current.classList.contains('au-animate') ? current : null);\r\n    }\r\n    return (view.animatableElement = null);\r\n}\r\nvar ViewSlot = (function () {\r\n    function ViewSlot(anchor, anchorIsContainer, animator) {\r\n        if (animator === void 0) { animator = Animator.instance; }\r\n        this.anchor = anchor;\r\n        this.anchorIsContainer = anchorIsContainer;\r\n        this.bindingContext = null;\r\n        this.overrideContext = null;\r\n        this.animator = animator;\r\n        this.children = [];\r\n        this.isBound = false;\r\n        this.isAttached = false;\r\n        this.contentSelectors = null;\r\n        anchor.viewSlot = this;\r\n        anchor.isContentProjectionSource = false;\r\n    }\r\n    ViewSlot.prototype.animateView = function (view, direction) {\r\n        if (direction === void 0) { direction = 'enter'; }\r\n        var animatableElement = getAnimatableElement(view);\r\n        if (animatableElement !== null) {\r\n            switch (direction) {\r\n                case 'enter':\r\n                    return this.animator.enter(animatableElement);\r\n                case 'leave':\r\n                    return this.animator.leave(animatableElement);\r\n                default:\r\n                    throw new Error('Invalid animation direction: ' + direction);\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.transformChildNodesIntoView = function () {\r\n        var parent = this.anchor;\r\n        this.children.push({\r\n            fragment: parent,\r\n            firstChild: parent.firstChild,\r\n            lastChild: parent.lastChild,\r\n            returnToCache: function () { },\r\n            removeNodes: function () {\r\n                var last;\r\n                while (last = parent.lastChild) {\r\n                    parent.removeChild(last);\r\n                }\r\n            },\r\n            created: function () { },\r\n            bind: function () { },\r\n            unbind: function () { },\r\n            attached: function () { },\r\n            detached: function () { }\r\n        });\r\n    };\r\n    ViewSlot.prototype.bind = function (bindingContext, overrideContext) {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        if (this.isBound) {\r\n            if (this.bindingContext === bindingContext) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.bindingContext = bindingContext = bindingContext || this.bindingContext;\r\n        this.overrideContext = overrideContext = overrideContext || this.overrideContext;\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            children[i].bind(bindingContext, overrideContext, true);\r\n        }\r\n    };\r\n    ViewSlot.prototype.unbind = function () {\r\n        if (this.isBound) {\r\n            var i = void 0;\r\n            var ii = void 0;\r\n            var children = this.children;\r\n            this.isBound = false;\r\n            this.bindingContext = null;\r\n            this.overrideContext = null;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].unbind();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.add = function (view) {\r\n        if (this.anchorIsContainer) {\r\n            view.appendNodesTo(this.anchor);\r\n        }\r\n        else {\r\n            view.insertNodesBefore(this.anchor);\r\n        }\r\n        this.children.push(view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n            return this.animateView(view, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.insert = function (index, view) {\r\n        var children = this.children;\r\n        var length = children.length;\r\n        if ((index === 0 && length === 0) || index >= length) {\r\n            return this.add(view);\r\n        }\r\n        view.insertNodesBefore(children[index].firstChild);\r\n        children.splice(index, 0, view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n            return this.animateView(view, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.move = function (sourceIndex, targetIndex) {\r\n        if (sourceIndex === targetIndex) {\r\n            return;\r\n        }\r\n        var children = this.children;\r\n        var view = children[sourceIndex];\r\n        view.removeNodes();\r\n        view.insertNodesBefore(children[targetIndex].firstChild);\r\n        children.splice(sourceIndex, 1);\r\n        children.splice(targetIndex, 0, view);\r\n    };\r\n    ViewSlot.prototype.remove = function (view, returnToCache, skipAnimation) {\r\n        return this.removeAt(this.children.indexOf(view), returnToCache, skipAnimation);\r\n    };\r\n    ViewSlot.prototype.removeMany = function (viewsToRemove, returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var children = this.children;\r\n        var ii = viewsToRemove.length;\r\n        var i;\r\n        var rmPromises = [];\r\n        viewsToRemove.forEach(function (child) {\r\n            if (skipAnimation) {\r\n                child.removeNodes();\r\n                return;\r\n            }\r\n            var animation = _this.animateView(child, 'leave');\r\n            if (animation) {\r\n                rmPromises.push(animation.then(function () { return child.removeNodes(); }));\r\n            }\r\n            else {\r\n                child.removeNodes();\r\n            }\r\n        });\r\n        var removeAction = function () {\r\n            if (_this.isAttached) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    viewsToRemove[i].detached();\r\n                }\r\n            }\r\n            if (returnToCache) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    viewsToRemove[i].returnToCache();\r\n                }\r\n            }\r\n            for (i = 0; i < ii; ++i) {\r\n                var index = children.indexOf(viewsToRemove[i]);\r\n                if (index >= 0) {\r\n                    children.splice(index, 1);\r\n                }\r\n            }\r\n        };\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () { return removeAction(); });\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.removeAt = function (index, returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var view = this.children[index];\r\n        var removeAction = function () {\r\n            index = _this.children.indexOf(view);\r\n            view.removeNodes();\r\n            _this.children.splice(index, 1);\r\n            if (_this.isAttached) {\r\n                view.detached();\r\n            }\r\n            if (returnToCache) {\r\n                view.returnToCache();\r\n            }\r\n            return view;\r\n        };\r\n        if (!skipAnimation) {\r\n            var animation = this.animateView(view, 'leave');\r\n            if (animation) {\r\n                return animation.then(function () { return removeAction(); });\r\n            }\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.removeAll = function (returnToCache, skipAnimation) {\r\n        var _this = this;\r\n        var children = this.children;\r\n        var ii = children.length;\r\n        var i;\r\n        var rmPromises = [];\r\n        children.forEach(function (child) {\r\n            if (skipAnimation) {\r\n                child.removeNodes();\r\n                return;\r\n            }\r\n            var animation = _this.animateView(child, 'leave');\r\n            if (animation) {\r\n                rmPromises.push(animation.then(function () { return child.removeNodes(); }));\r\n            }\r\n            else {\r\n                child.removeNodes();\r\n            }\r\n        });\r\n        var removeAction = function () {\r\n            if (_this.isAttached) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    children[i].detached();\r\n                }\r\n            }\r\n            if (returnToCache) {\r\n                for (i = 0; i < ii; ++i) {\r\n                    var child = children[i];\r\n                    if (child) {\r\n                        child.returnToCache();\r\n                    }\r\n                }\r\n            }\r\n            _this.children = [];\r\n        };\r\n        if (rmPromises.length > 0) {\r\n            return Promise.all(rmPromises).then(function () { return removeAction(); });\r\n        }\r\n        return removeAction();\r\n    };\r\n    ViewSlot.prototype.attached = function () {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        var child;\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        children = this.children;\r\n        for (i = 0, ii = children.length; i < ii; ++i) {\r\n            child = children[i];\r\n            child.attached();\r\n            this.animateView(child, 'enter');\r\n        }\r\n    };\r\n    ViewSlot.prototype.detached = function () {\r\n        var i;\r\n        var ii;\r\n        var children;\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            children = this.children;\r\n            for (i = 0, ii = children.length; i < ii; ++i) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype.projectTo = function (slots) {\r\n        var _this = this;\r\n        this.projectToSlots = slots;\r\n        this.add = this._projectionAdd;\r\n        this.insert = this._projectionInsert;\r\n        this.move = this._projectionMove;\r\n        this.remove = this._projectionRemove;\r\n        this.removeAt = this._projectionRemoveAt;\r\n        this.removeMany = this._projectionRemoveMany;\r\n        this.removeAll = this._projectionRemoveAll;\r\n        this.children.forEach(function (view) { return ShadowDOM.distributeView(view, slots, _this); });\r\n    };\r\n    ViewSlot.prototype._projectionAdd = function (view) {\r\n        ShadowDOM.distributeView(view, this.projectToSlots, this);\r\n        this.children.push(view);\r\n        if (this.isAttached) {\r\n            view.attached();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionInsert = function (index, view) {\r\n        if ((index === 0 && !this.children.length) || index >= this.children.length) {\r\n            this.add(view);\r\n        }\r\n        else {\r\n            ShadowDOM.distributeView(view, this.projectToSlots, this, index);\r\n            this.children.splice(index, 0, view);\r\n            if (this.isAttached) {\r\n                view.attached();\r\n            }\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionMove = function (sourceIndex, targetIndex) {\r\n        if (sourceIndex === targetIndex) {\r\n            return;\r\n        }\r\n        var children = this.children;\r\n        var view = children[sourceIndex];\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        ShadowDOM.distributeView(view, this.projectToSlots, this, targetIndex);\r\n        children.splice(sourceIndex, 1);\r\n        children.splice(targetIndex, 0, view);\r\n    };\r\n    ViewSlot.prototype._projectionRemove = function (view, returnToCache) {\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        this.children.splice(this.children.indexOf(view), 1);\r\n        if (this.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (returnToCache) {\r\n            view.returnToCache();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionRemoveAt = function (index, returnToCache) {\r\n        var view = this.children[index];\r\n        ShadowDOM.undistributeView(view, this.projectToSlots, this);\r\n        this.children.splice(index, 1);\r\n        if (this.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (returnToCache) {\r\n            view.returnToCache();\r\n        }\r\n    };\r\n    ViewSlot.prototype._projectionRemoveMany = function (viewsToRemove, returnToCache) {\r\n        var _this = this;\r\n        viewsToRemove.forEach(function (view) { return _this.remove(view, returnToCache); });\r\n    };\r\n    ViewSlot.prototype._projectionRemoveAll = function (returnToCache) {\r\n        ShadowDOM.undistributeAll(this.projectToSlots, this);\r\n        var children = this.children;\r\n        var ii = children.length;\r\n        for (var i = 0; i < ii; ++i) {\r\n            if (returnToCache) {\r\n                children[i].returnToCache();\r\n            }\r\n            else if (this.isAttached) {\r\n                children[i].detached();\r\n            }\r\n        }\r\n        this.children = [];\r\n    };\r\n    return ViewSlot;\r\n}());\n\nvar $resolver = resolver;\r\nvar ProviderResolver = (function () {\r\n    function ProviderResolver() {\r\n    }\r\n    ProviderResolver.prototype.get = function (container, key) {\r\n        var id = key.__providerId__;\r\n        return id in container ? container[id] : (container[id] = container.invoke(key));\r\n    };\r\n    ProviderResolver = __decorate([\r\n        $resolver\r\n    ], ProviderResolver);\r\n    return ProviderResolver;\r\n}());\r\nvar providerResolverInstance = new ProviderResolver();\r\nfunction elementContainerGet(key) {\r\n    if (key === DOM.Element) {\r\n        return this.element;\r\n    }\r\n    if (key === BoundViewFactory) {\r\n        if (this.boundViewFactory) {\r\n            return this.boundViewFactory;\r\n        }\r\n        var factory = this.instruction.viewFactory;\r\n        var partReplacements = this.partReplacements;\r\n        if (partReplacements) {\r\n            factory = partReplacements[factory.part] || factory;\r\n        }\r\n        this.boundViewFactory = new BoundViewFactory(this, factory, partReplacements);\r\n        return this.boundViewFactory;\r\n    }\r\n    if (key === ViewSlot) {\r\n        if (this.viewSlot === undefined) {\r\n            this.viewSlot = new ViewSlot(this.element, this.instruction.anchorIsContainer);\r\n            this.element.isContentProjectionSource = this.instruction.lifting;\r\n            this.children.push(this.viewSlot);\r\n        }\r\n        return this.viewSlot;\r\n    }\r\n    if (key === ElementEvents) {\r\n        return this.elementEvents || (this.elementEvents = new ElementEvents(this.element));\r\n    }\r\n    if (key === CompositionTransaction) {\r\n        return this.compositionTransaction || (this.compositionTransaction = this.parent.get(key));\r\n    }\r\n    if (key === ViewResources) {\r\n        return this.viewResources;\r\n    }\r\n    if (key === TargetInstruction) {\r\n        return this.instruction;\r\n    }\r\n    return this.superGet(key);\r\n}\r\nfunction createElementContainer(parent, element, instruction, children, partReplacements, resources) {\r\n    var container = parent.createChild();\r\n    var providers;\r\n    var i;\r\n    container.element = element;\r\n    container.instruction = instruction;\r\n    container.children = children;\r\n    container.viewResources = resources;\r\n    container.partReplacements = partReplacements;\r\n    providers = instruction.providers;\r\n    i = providers.length;\r\n    while (i--) {\r\n        container._resolvers.set(providers[i], providerResolverInstance);\r\n    }\r\n    container.superGet = container.get;\r\n    container.get = elementContainerGet;\r\n    return container;\r\n}\r\nfunction hasAttribute(name) {\r\n    return this._element.hasAttribute(name);\r\n}\r\nfunction getAttribute(name) {\r\n    return this._element.getAttribute(name);\r\n}\r\nfunction setAttribute(name, value) {\r\n    this._element.setAttribute(name, value);\r\n}\r\nfunction makeElementIntoAnchor(element, elementInstruction) {\r\n    var anchor = DOM.createComment('anchor');\r\n    if (elementInstruction) {\r\n        var firstChild = element.firstChild;\r\n        if (firstChild && firstChild.tagName === 'AU-CONTENT') {\r\n            anchor.contentElement = firstChild;\r\n        }\r\n        anchor._element = element;\r\n        anchor.hasAttribute = hasAttribute;\r\n        anchor.getAttribute = getAttribute;\r\n        anchor.setAttribute = setAttribute;\r\n    }\r\n    DOM.replaceNode(anchor, element);\r\n    return anchor;\r\n}\r\nfunction applyInstructions(containers, element, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources) {\r\n    var behaviorInstructions = instruction.behaviorInstructions;\r\n    var expressions = instruction.expressions;\r\n    var elementContainer;\r\n    var i;\r\n    var ii;\r\n    var current;\r\n    var instance;\r\n    if (instruction.contentExpression) {\r\n        bindings.push(instruction.contentExpression.createBinding(element.nextSibling));\r\n        element.nextSibling.auInterpolationTarget = true;\r\n        element.parentNode.removeChild(element);\r\n        return;\r\n    }\r\n    if (instruction.shadowSlot) {\r\n        var commentAnchor = DOM.createComment('slot');\r\n        var slot = void 0;\r\n        if (instruction.slotDestination) {\r\n            slot = new PassThroughSlot(commentAnchor, instruction.slotName, instruction.slotDestination, instruction.slotFallbackFactory);\r\n        }\r\n        else {\r\n            slot = new ShadowSlot(commentAnchor, instruction.slotName, instruction.slotFallbackFactory);\r\n        }\r\n        DOM.replaceNode(commentAnchor, element);\r\n        shadowSlots[instruction.slotName] = slot;\r\n        controllers.push(slot);\r\n        return;\r\n    }\r\n    if (instruction.letElement) {\r\n        for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n            bindings.push(expressions[i].createBinding());\r\n        }\r\n        element.parentNode.removeChild(element);\r\n        return;\r\n    }\r\n    if (behaviorInstructions.length) {\r\n        if (!instruction.anchorIsContainer) {\r\n            element = makeElementIntoAnchor(element, instruction.elementInstruction);\r\n        }\r\n        containers[instruction.injectorId] = elementContainer =\r\n            createElementContainer(containers[instruction.parentInjectorId], element, instruction, children, partReplacements, resources);\r\n        for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n            current = behaviorInstructions[i];\r\n            instance = current.type.create(elementContainer, current, element, bindings);\r\n            controllers.push(instance);\r\n        }\r\n    }\r\n    for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n        bindings.push(expressions[i].createBinding(element));\r\n    }\r\n}\r\nfunction styleStringToObject(style, target) {\r\n    var attributes = style.split(';');\r\n    var firstIndexOfColon;\r\n    var i;\r\n    var current;\r\n    var key;\r\n    var value;\r\n    target = target || {};\r\n    for (i = 0; i < attributes.length; i++) {\r\n        current = attributes[i];\r\n        firstIndexOfColon = current.indexOf(':');\r\n        key = current.substring(0, firstIndexOfColon).trim();\r\n        value = current.substring(firstIndexOfColon + 1).trim();\r\n        target[key] = value;\r\n    }\r\n    return target;\r\n}\r\nfunction styleObjectToString(obj) {\r\n    var result = '';\r\n    for (var key in obj) {\r\n        result += key + ':' + obj[key] + ';';\r\n    }\r\n    return result;\r\n}\r\nfunction applySurrogateInstruction(container, element, instruction, controllers, bindings, children) {\r\n    var behaviorInstructions = instruction.behaviorInstructions;\r\n    var expressions = instruction.expressions;\r\n    var providers = instruction.providers;\r\n    var values = instruction.values;\r\n    var i;\r\n    var ii;\r\n    var current;\r\n    var instance;\r\n    var currentAttributeValue;\r\n    i = providers.length;\r\n    while (i--) {\r\n        container._resolvers.set(providers[i], providerResolverInstance);\r\n    }\r\n    for (var key in values) {\r\n        currentAttributeValue = element.getAttribute(key);\r\n        if (currentAttributeValue) {\r\n            if (key === 'class') {\r\n                element.setAttribute('class', currentAttributeValue + ' ' + values[key]);\r\n            }\r\n            else if (key === 'style') {\r\n                var styleObject = styleStringToObject(values[key]);\r\n                styleStringToObject(currentAttributeValue, styleObject);\r\n                element.setAttribute('style', styleObjectToString(styleObject));\r\n            }\r\n        }\r\n        else {\r\n            element.setAttribute(key, values[key]);\r\n        }\r\n    }\r\n    if (behaviorInstructions.length) {\r\n        for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n            current = behaviorInstructions[i];\r\n            instance = current.type.create(container, current, element, bindings);\r\n            if (instance.contentView) {\r\n                children.push(instance.contentView);\r\n            }\r\n            controllers.push(instance);\r\n        }\r\n    }\r\n    for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n        bindings.push(expressions[i].createBinding(element));\r\n    }\r\n}\r\nvar BoundViewFactory = (function () {\r\n    function BoundViewFactory(parentContainer, viewFactory, partReplacements) {\r\n        this.parentContainer = parentContainer;\r\n        this.viewFactory = viewFactory;\r\n        this.factoryCreateInstruction = { partReplacements: partReplacements };\r\n    }\r\n    BoundViewFactory.prototype.create = function () {\r\n        var view = this.viewFactory.create(this.parentContainer.createChild(), this.factoryCreateInstruction);\r\n        view._isUserControlled = true;\r\n        return view;\r\n    };\r\n    Object.defineProperty(BoundViewFactory.prototype, \"isCaching\", {\r\n        get: function () {\r\n            return this.viewFactory.isCaching;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    BoundViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet);\r\n    };\r\n    BoundViewFactory.prototype.getCachedView = function () {\r\n        return this.viewFactory.getCachedView();\r\n    };\r\n    BoundViewFactory.prototype.returnViewToCache = function (view) {\r\n        this.viewFactory.returnViewToCache(view);\r\n    };\r\n    return BoundViewFactory;\r\n}());\r\nvar ViewFactory = (function () {\r\n    function ViewFactory(template, instructions, resources) {\r\n        this.isCaching = false;\r\n        this.template = template;\r\n        this.instructions = instructions;\r\n        this.resources = resources;\r\n        this.cacheSize = -1;\r\n        this.cache = null;\r\n    }\r\n    ViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        if (size) {\r\n            if (size === '*') {\r\n                size = Number.MAX_VALUE;\r\n            }\r\n            else if (typeof size === 'string') {\r\n                size = parseInt(size, 10);\r\n            }\r\n        }\r\n        if (this.cacheSize === -1 || !doNotOverrideIfAlreadySet) {\r\n            this.cacheSize = Number(size);\r\n        }\r\n        if (this.cacheSize > 0) {\r\n            this.cache = [];\r\n        }\r\n        else {\r\n            this.cache = null;\r\n        }\r\n        this.isCaching = this.cacheSize > 0;\r\n    };\r\n    ViewFactory.prototype.getCachedView = function () {\r\n        return this.cache !== null ? (this.cache.pop() || null) : null;\r\n    };\r\n    ViewFactory.prototype.returnViewToCache = function (view) {\r\n        if (view.isAttached) {\r\n            view.detached();\r\n        }\r\n        if (view.isBound) {\r\n            view.unbind();\r\n        }\r\n        if (this.cache !== null && this.cache.length < this.cacheSize) {\r\n            view.fromCache = true;\r\n            this.cache.push(view);\r\n        }\r\n    };\r\n    ViewFactory.prototype.create = function (container, createInstruction, element) {\r\n        createInstruction = createInstruction || BehaviorInstruction.normal;\r\n        var cachedView = this.getCachedView();\r\n        if (cachedView !== null) {\r\n            return cachedView;\r\n        }\r\n        var fragment = createInstruction.enhance ? this.template : this.template.cloneNode(true);\r\n        var instructables = fragment.querySelectorAll('.au-target');\r\n        var instructions = this.instructions;\r\n        var resources = this.resources;\r\n        var controllers = [];\r\n        var bindings = [];\r\n        var children = [];\r\n        var shadowSlots = Object.create(null);\r\n        var containers = { root: container };\r\n        var partReplacements = createInstruction.partReplacements;\r\n        var i;\r\n        var ii;\r\n        var view;\r\n        var instructable;\r\n        var instruction;\r\n        this.resources._invokeHook('beforeCreate', this, container, fragment, createInstruction);\r\n        if (element && this.surrogateInstruction !== null) {\r\n            applySurrogateInstruction(container, element, this.surrogateInstruction, controllers, bindings, children);\r\n        }\r\n        if (createInstruction.enhance && fragment.hasAttribute('au-target-id')) {\r\n            instructable = fragment;\r\n            instruction = instructions[instructable.getAttribute('au-target-id')];\r\n            applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources);\r\n        }\r\n        for (i = 0, ii = instructables.length; i < ii; ++i) {\r\n            instructable = instructables[i];\r\n            instruction = instructions[instructable.getAttribute('au-target-id')];\r\n            applyInstructions(containers, instructable, instruction, controllers, bindings, children, shadowSlots, partReplacements, resources);\r\n        }\r\n        view = new View(container, this, fragment, controllers, bindings, children, shadowSlots);\r\n        if (!createInstruction.initiatedByBehavior) {\r\n            view.created();\r\n        }\r\n        this.resources._invokeHook('afterCreate', view);\r\n        return view;\r\n    };\r\n    return ViewFactory;\r\n}());\n\nvar nextInjectorId = 0;\r\nfunction getNextInjectorId() {\r\n    return ++nextInjectorId;\r\n}\r\nvar lastAUTargetID = 0;\r\nfunction getNextAUTargetID() {\r\n    return (++lastAUTargetID).toString();\r\n}\r\nfunction makeIntoInstructionTarget(element) {\r\n    var value = element.getAttribute('class');\r\n    var auTargetID = getNextAUTargetID();\r\n    element.setAttribute('class', (value ? value + ' au-target' : 'au-target'));\r\n    element.setAttribute('au-target-id', auTargetID);\r\n    return auTargetID;\r\n}\r\nfunction makeShadowSlot(compiler, resources, node, instructions, parentInjectorId) {\r\n    var auShadowSlot = DOM.createElement('au-shadow-slot');\r\n    DOM.replaceNode(auShadowSlot, node);\r\n    var auTargetID = makeIntoInstructionTarget(auShadowSlot);\r\n    var instruction = TargetInstruction.shadowSlot(parentInjectorId);\r\n    instruction.slotName = node.getAttribute('name') || ShadowDOM.defaultSlotKey;\r\n    instruction.slotDestination = node.getAttribute('slot');\r\n    if (node.innerHTML.trim()) {\r\n        var fragment = DOM.createDocumentFragment();\r\n        var child = void 0;\r\n        while (child = node.firstChild) {\r\n            fragment.appendChild(child);\r\n        }\r\n        instruction.slotFallbackFactory = compiler.compile(fragment, resources);\r\n    }\r\n    instructions[auTargetID] = instruction;\r\n    return auShadowSlot;\r\n}\r\nvar defaultLetHandler = BindingLanguage.prototype.createLetExpressions;\r\nvar ViewCompiler = (function () {\r\n    function ViewCompiler(bindingLanguage, resources) {\r\n        this.bindingLanguage = bindingLanguage;\r\n        this.resources = resources;\r\n    }\r\n    ViewCompiler.inject = function () {\r\n        return [BindingLanguage, ViewResources];\r\n    };\r\n    ViewCompiler.prototype.compile = function (source, resources, compileInstruction) {\r\n        resources = resources || this.resources;\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        source = typeof source === 'string' ? DOM.createTemplateFromMarkup(source) : source;\r\n        var content;\r\n        var part;\r\n        var cacheSize;\r\n        if (source.content) {\r\n            part = source.getAttribute('part');\r\n            cacheSize = source.getAttribute('view-cache');\r\n            content = DOM.adoptNode(source.content);\r\n        }\r\n        else {\r\n            content = source;\r\n        }\r\n        compileInstruction.targetShadowDOM = compileInstruction.targetShadowDOM && FEATURE.shadowDOM;\r\n        resources._invokeHook('beforeCompile', content, resources, compileInstruction);\r\n        var instructions = {};\r\n        this._compileNode(content, resources, instructions, source, 'root', !compileInstruction.targetShadowDOM);\r\n        var firstChild = content.firstChild;\r\n        if (firstChild && firstChild.nodeType === 1) {\r\n            var targetId = firstChild.getAttribute('au-target-id');\r\n            if (targetId) {\r\n                var ins = instructions[targetId];\r\n                if (ins.shadowSlot || ins.lifting || (ins.elementInstruction && !ins.elementInstruction.anchorIsContainer)) {\r\n                    content.insertBefore(DOM.createComment('view'), firstChild);\r\n                }\r\n            }\r\n        }\r\n        var factory = new ViewFactory(content, instructions, resources);\r\n        factory.surrogateInstruction = compileInstruction.compileSurrogate ? this._compileSurrogate(source, resources) : null;\r\n        factory.part = part;\r\n        if (cacheSize) {\r\n            factory.setCacheSize(cacheSize);\r\n        }\r\n        resources._invokeHook('afterCompile', factory);\r\n        return factory;\r\n    };\r\n    ViewCompiler.prototype._compileNode = function (node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) {\r\n        switch (node.nodeType) {\r\n            case 1:\r\n                return this._compileElement(node, resources, instructions, parentNode, parentInjectorId, targetLightDOM);\r\n            case 3:\r\n                var expression = resources.getBindingLanguage(this.bindingLanguage).inspectTextContent(resources, node.wholeText);\r\n                if (expression) {\r\n                    var marker = DOM.createElement('au-marker');\r\n                    var auTargetID = makeIntoInstructionTarget(marker);\r\n                    (node.parentNode || parentNode).insertBefore(marker, node);\r\n                    node.textContent = ' ';\r\n                    instructions[auTargetID] = TargetInstruction.contentExpression(expression);\r\n                    while (node.nextSibling && node.nextSibling.nodeType === 3) {\r\n                        (node.parentNode || parentNode).removeChild(node.nextSibling);\r\n                    }\r\n                }\r\n                else {\r\n                    while (node.nextSibling && node.nextSibling.nodeType === 3) {\r\n                        node = node.nextSibling;\r\n                    }\r\n                }\r\n                return node.nextSibling;\r\n            case 11:\r\n                var currentChild = node.firstChild;\r\n                while (currentChild) {\r\n                    currentChild = this._compileNode(currentChild, resources, instructions, node, parentInjectorId, targetLightDOM);\r\n                }\r\n                break;\r\n        }\r\n        return node.nextSibling;\r\n    };\r\n    ViewCompiler.prototype._compileSurrogate = function (node, resources) {\r\n        var tagName = node.tagName.toLowerCase();\r\n        var attributes = node.attributes;\r\n        var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage);\r\n        var knownAttribute;\r\n        var property;\r\n        var instruction;\r\n        var i;\r\n        var ii;\r\n        var attr;\r\n        var attrName;\r\n        var attrValue;\r\n        var info;\r\n        var type;\r\n        var expressions = [];\r\n        var expression;\r\n        var behaviorInstructions = [];\r\n        var values = {};\r\n        var hasValues = false;\r\n        var providers = [];\r\n        for (i = 0, ii = attributes.length; i < ii; ++i) {\r\n            attr = attributes[i];\r\n            attrName = attr.name;\r\n            attrValue = attr.value;\r\n            info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue);\r\n            type = resources.getAttribute(info.attrName);\r\n            if (type) {\r\n                knownAttribute = resources.mapAttribute(info.attrName);\r\n                if (knownAttribute) {\r\n                    property = type.attributes[knownAttribute];\r\n                    if (property) {\r\n                        info.defaultBindingMode = property.defaultBindingMode;\r\n                        if (!info.command && !info.expression) {\r\n                            info.command = property.hasOptions ? 'options' : null;\r\n                        }\r\n                        if (info.command && (info.command !== 'options') && type.primaryProperty) {\r\n                            var primaryProperty = type.primaryProperty;\r\n                            attrName = info.attrName = primaryProperty.attribute;\r\n                            info.defaultBindingMode = primaryProperty.defaultBindingMode;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type);\r\n            if (instruction) {\r\n                if (instruction.alteredAttr) {\r\n                    type = resources.getAttribute(instruction.attrName);\r\n                }\r\n                if (instruction.discrete) {\r\n                    expressions.push(instruction);\r\n                }\r\n                else {\r\n                    if (type) {\r\n                        instruction.type = type;\r\n                        this._configureProperties(instruction, resources);\r\n                        if (type.liftsContent) {\r\n                            throw new Error('You cannot place a template controller on a surrogate element.');\r\n                        }\r\n                        else {\r\n                            behaviorInstructions.push(instruction);\r\n                        }\r\n                    }\r\n                    else {\r\n                        expressions.push(instruction.attributes[instruction.attrName]);\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                if (type) {\r\n                    instruction = BehaviorInstruction.attribute(attrName, type);\r\n                    instruction.attributes[resources.mapAttribute(attrName)] = attrValue;\r\n                    if (type.liftsContent) {\r\n                        throw new Error('You cannot place a template controller on a surrogate element.');\r\n                    }\r\n                    else {\r\n                        behaviorInstructions.push(instruction);\r\n                    }\r\n                }\r\n                else if (attrName !== 'id' && attrName !== 'part' && attrName !== 'replace-part') {\r\n                    hasValues = true;\r\n                    values[attrName] = attrValue;\r\n                }\r\n            }\r\n        }\r\n        if (expressions.length || behaviorInstructions.length || hasValues) {\r\n            for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n                instruction = behaviorInstructions[i];\r\n                instruction.type.compile(this, resources, node, instruction);\r\n                providers.push(instruction.type.target);\r\n            }\r\n            for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n                expression = expressions[i];\r\n                if (expression.attrToRemove !== undefined) {\r\n                    node.removeAttribute(expression.attrToRemove);\r\n                }\r\n            }\r\n            return TargetInstruction.surrogate(providers, behaviorInstructions, expressions, values);\r\n        }\r\n        return null;\r\n    };\r\n    ViewCompiler.prototype._compileElement = function (node, resources, instructions, parentNode, parentInjectorId, targetLightDOM) {\r\n        var tagName = node.tagName.toLowerCase();\r\n        var attributes = node.attributes;\r\n        var expressions = [];\r\n        var expression;\r\n        var behaviorInstructions = [];\r\n        var providers = [];\r\n        var bindingLanguage = resources.getBindingLanguage(this.bindingLanguage);\r\n        var liftingInstruction;\r\n        var viewFactory;\r\n        var type;\r\n        var elementInstruction;\r\n        var elementProperty;\r\n        var i;\r\n        var ii;\r\n        var attr;\r\n        var attrName;\r\n        var attrValue;\r\n        var originalAttrName;\r\n        var instruction;\r\n        var info;\r\n        var property;\r\n        var knownAttribute;\r\n        var auTargetID;\r\n        var injectorId;\r\n        if (tagName === 'slot') {\r\n            if (targetLightDOM) {\r\n                node = makeShadowSlot(this, resources, node, instructions, parentInjectorId);\r\n            }\r\n            return node.nextSibling;\r\n        }\r\n        else if (tagName === 'template') {\r\n            if (!('content' in node)) {\r\n                throw new Error('You cannot place a template element within ' + node.namespaceURI + ' namespace');\r\n            }\r\n            viewFactory = this.compile(node, resources);\r\n            viewFactory.part = node.getAttribute('part');\r\n        }\r\n        else {\r\n            type = resources.getElement(node.getAttribute('as-element') || tagName);\r\n            if (tagName === 'let' && !type && bindingLanguage.createLetExpressions !== defaultLetHandler) {\r\n                expressions = bindingLanguage.createLetExpressions(resources, node);\r\n                auTargetID = makeIntoInstructionTarget(node);\r\n                instructions[auTargetID] = TargetInstruction.letElement(expressions);\r\n                return node.nextSibling;\r\n            }\r\n            if (type) {\r\n                elementInstruction = BehaviorInstruction.element(node, type);\r\n                type.processAttributes(this, resources, node, attributes, elementInstruction);\r\n                behaviorInstructions.push(elementInstruction);\r\n            }\r\n        }\r\n        for (i = 0, ii = attributes.length; i < ii; ++i) {\r\n            attr = attributes[i];\r\n            originalAttrName = attrName = attr.name;\r\n            attrValue = attr.value;\r\n            info = bindingLanguage.inspectAttribute(resources, tagName, attrName, attrValue);\r\n            if (targetLightDOM && info.attrName === 'slot') {\r\n                info.attrName = attrName = 'au-slot';\r\n            }\r\n            type = resources.getAttribute(info.attrName);\r\n            elementProperty = null;\r\n            if (type) {\r\n                knownAttribute = resources.mapAttribute(info.attrName);\r\n                if (knownAttribute) {\r\n                    property = type.attributes[knownAttribute];\r\n                    if (property) {\r\n                        info.defaultBindingMode = property.defaultBindingMode;\r\n                        if (!info.command && !info.expression) {\r\n                            info.command = property.hasOptions ? 'options' : null;\r\n                        }\r\n                        if (info.command && (info.command !== 'options') && type.primaryProperty) {\r\n                            var primaryProperty = type.primaryProperty;\r\n                            attrName = info.attrName = primaryProperty.attribute;\r\n                            info.defaultBindingMode = primaryProperty.defaultBindingMode;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            else if (elementInstruction) {\r\n                elementProperty = elementInstruction.type.attributes[info.attrName];\r\n                if (elementProperty) {\r\n                    info.defaultBindingMode = elementProperty.defaultBindingMode;\r\n                }\r\n            }\r\n            if (elementProperty) {\r\n                instruction = bindingLanguage.createAttributeInstruction(resources, node, info, elementInstruction);\r\n            }\r\n            else {\r\n                instruction = bindingLanguage.createAttributeInstruction(resources, node, info, undefined, type);\r\n            }\r\n            if (instruction) {\r\n                if (instruction.alteredAttr) {\r\n                    type = resources.getAttribute(instruction.attrName);\r\n                }\r\n                if (instruction.discrete) {\r\n                    expressions.push(instruction);\r\n                }\r\n                else {\r\n                    if (type) {\r\n                        instruction.type = type;\r\n                        this._configureProperties(instruction, resources);\r\n                        if (type.liftsContent) {\r\n                            instruction.originalAttrName = originalAttrName;\r\n                            liftingInstruction = instruction;\r\n                            break;\r\n                        }\r\n                        else {\r\n                            behaviorInstructions.push(instruction);\r\n                        }\r\n                    }\r\n                    else if (elementProperty) {\r\n                        elementInstruction.attributes[info.attrName].targetProperty = elementProperty.name;\r\n                    }\r\n                    else {\r\n                        expressions.push(instruction.attributes[instruction.attrName]);\r\n                    }\r\n                }\r\n            }\r\n            else {\r\n                if (type) {\r\n                    instruction = BehaviorInstruction.attribute(attrName, type);\r\n                    instruction.attributes[resources.mapAttribute(attrName)] = attrValue;\r\n                    if (type.liftsContent) {\r\n                        instruction.originalAttrName = originalAttrName;\r\n                        liftingInstruction = instruction;\r\n                        break;\r\n                    }\r\n                    else {\r\n                        behaviorInstructions.push(instruction);\r\n                    }\r\n                }\r\n                else if (elementProperty) {\r\n                    elementInstruction.attributes[attrName] = attrValue;\r\n                }\r\n            }\r\n        }\r\n        if (liftingInstruction) {\r\n            liftingInstruction.viewFactory = viewFactory;\r\n            node = liftingInstruction.type.compile(this, resources, node, liftingInstruction, parentNode);\r\n            auTargetID = makeIntoInstructionTarget(node);\r\n            instructions[auTargetID] = TargetInstruction.lifting(parentInjectorId, liftingInstruction);\r\n        }\r\n        else {\r\n            var skipContentProcessing = false;\r\n            if (expressions.length || behaviorInstructions.length) {\r\n                injectorId = behaviorInstructions.length ? getNextInjectorId() : false;\r\n                for (i = 0, ii = behaviorInstructions.length; i < ii; ++i) {\r\n                    instruction = behaviorInstructions[i];\r\n                    instruction.type.compile(this, resources, node, instruction, parentNode);\r\n                    providers.push(instruction.type.target);\r\n                    skipContentProcessing = skipContentProcessing || instruction.skipContentProcessing;\r\n                }\r\n                for (i = 0, ii = expressions.length; i < ii; ++i) {\r\n                    expression = expressions[i];\r\n                    if (expression.attrToRemove !== undefined) {\r\n                        node.removeAttribute(expression.attrToRemove);\r\n                    }\r\n                }\r\n                auTargetID = makeIntoInstructionTarget(node);\r\n                instructions[auTargetID] = TargetInstruction.normal(injectorId, parentInjectorId, providers, behaviorInstructions, expressions, elementInstruction);\r\n            }\r\n            if (skipContentProcessing) {\r\n                return node.nextSibling;\r\n            }\r\n            var currentChild = node.firstChild;\r\n            while (currentChild) {\r\n                currentChild = this._compileNode(currentChild, resources, instructions, node, injectorId || parentInjectorId, targetLightDOM);\r\n            }\r\n        }\r\n        return node.nextSibling;\r\n    };\r\n    ViewCompiler.prototype._configureProperties = function (instruction, resources) {\r\n        var type = instruction.type;\r\n        var attrName = instruction.attrName;\r\n        var attributes = instruction.attributes;\r\n        var property;\r\n        var key;\r\n        var value;\r\n        var knownAttribute = resources.mapAttribute(attrName);\r\n        if (knownAttribute && attrName in attributes && knownAttribute !== attrName) {\r\n            attributes[knownAttribute] = attributes[attrName];\r\n            delete attributes[attrName];\r\n        }\r\n        for (key in attributes) {\r\n            value = attributes[key];\r\n            if (value !== null && typeof value === 'object') {\r\n                property = type.attributes[key];\r\n                if (property !== undefined) {\r\n                    value.targetProperty = property.name;\r\n                }\r\n                else {\r\n                    value.targetProperty = key;\r\n                }\r\n            }\r\n        }\r\n    };\r\n    return ViewCompiler;\r\n}());\n\nvar ViewEngineHooksResource = (function () {\r\n    function ViewEngineHooksResource() {\r\n    }\r\n    ViewEngineHooksResource.prototype.initialize = function (container, target) {\r\n        this.instance = container.get(target);\r\n    };\r\n    ViewEngineHooksResource.prototype.register = function (registry, name) {\r\n        registry.registerViewEngineHooks(this.instance);\r\n    };\r\n    ViewEngineHooksResource.prototype.load = function (container, target) { };\r\n    ViewEngineHooksResource.convention = function (name) {\r\n        if (name.endsWith('ViewEngineHooks')) {\r\n            return new ViewEngineHooksResource();\r\n        }\r\n    };\r\n    return ViewEngineHooksResource;\r\n}());\r\nfunction viewEngineHooks(target) {\r\n    var deco = function (t) {\r\n        metadata.define(metadata.resource, new ViewEngineHooksResource(), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\n\nvar ResourceModule = (function () {\r\n    function ResourceModule(moduleId) {\r\n        this.id = moduleId;\r\n        this.moduleInstance = null;\r\n        this.mainResource = null;\r\n        this.resources = null;\r\n        this.viewStrategy = null;\r\n        this.isInitialized = false;\r\n        this.onLoaded = null;\r\n        this.loadContext = null;\r\n    }\r\n    ResourceModule.prototype.initialize = function (container) {\r\n        var current = this.mainResource;\r\n        var resources = this.resources;\r\n        var vs = this.viewStrategy;\r\n        if (this.isInitialized) {\r\n            return;\r\n        }\r\n        this.isInitialized = true;\r\n        if (current !== undefined) {\r\n            current.metadata.viewStrategy = vs;\r\n            current.initialize(container);\r\n        }\r\n        for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n            current = resources[i];\r\n            current.metadata.viewStrategy = vs;\r\n            current.initialize(container);\r\n        }\r\n    };\r\n    ResourceModule.prototype.register = function (registry, name) {\r\n        var main = this.mainResource;\r\n        var resources = this.resources;\r\n        if (main !== undefined) {\r\n            main.register(registry, name);\r\n            name = null;\r\n        }\r\n        for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n            resources[i].register(registry, name);\r\n            name = null;\r\n        }\r\n    };\r\n    ResourceModule.prototype.load = function (container, loadContext) {\r\n        if (this.onLoaded !== null) {\r\n            return this.loadContext === loadContext ? Promise.resolve() : this.onLoaded;\r\n        }\r\n        var main = this.mainResource;\r\n        var resources = this.resources;\r\n        var loads;\r\n        if (main !== undefined) {\r\n            loads = new Array(resources.length + 1);\r\n            loads[0] = main.load(container, loadContext);\r\n            for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n                loads[i + 1] = resources[i].load(container, loadContext);\r\n            }\r\n        }\r\n        else {\r\n            loads = new Array(resources.length);\r\n            for (var i = 0, ii = resources.length; i < ii; ++i) {\r\n                loads[i] = resources[i].load(container, loadContext);\r\n            }\r\n        }\r\n        this.loadContext = loadContext;\r\n        this.onLoaded = Promise.all(loads);\r\n        return this.onLoaded;\r\n    };\r\n    return ResourceModule;\r\n}());\r\nvar ResourceDescription = (function () {\r\n    function ResourceDescription(key, exportedValue, resourceTypeMeta) {\r\n        if (!resourceTypeMeta) {\r\n            resourceTypeMeta = metadata.get(metadata.resource, exportedValue);\r\n            if (!resourceTypeMeta) {\r\n                resourceTypeMeta = new HtmlBehaviorResource();\r\n                resourceTypeMeta.elementName = _hyphenate(key);\r\n                metadata.define(metadata.resource, resourceTypeMeta, exportedValue);\r\n            }\r\n        }\r\n        if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n            if (resourceTypeMeta.elementName === undefined) {\r\n                resourceTypeMeta.elementName = _hyphenate(key);\r\n            }\r\n            else if (resourceTypeMeta.attributeName === undefined) {\r\n                resourceTypeMeta.attributeName = _hyphenate(key);\r\n            }\r\n            else if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                HtmlBehaviorResource.convention(key, resourceTypeMeta);\r\n            }\r\n        }\r\n        else if (!resourceTypeMeta.name) {\r\n            resourceTypeMeta.name = _hyphenate(key);\r\n        }\r\n        this.metadata = resourceTypeMeta;\r\n        this.value = exportedValue;\r\n    }\r\n    ResourceDescription.prototype.initialize = function (container) {\r\n        this.metadata.initialize(container, this.value);\r\n    };\r\n    ResourceDescription.prototype.register = function (registry, name) {\r\n        this.metadata.register(registry, name);\r\n    };\r\n    ResourceDescription.prototype.load = function (container, loadContext) {\r\n        return this.metadata.load(container, this.value, loadContext);\r\n    };\r\n    return ResourceDescription;\r\n}());\r\nvar ModuleAnalyzer = (function () {\r\n    function ModuleAnalyzer() {\r\n        this.cache = Object.create(null);\r\n    }\r\n    ModuleAnalyzer.prototype.getAnalysis = function (moduleId) {\r\n        return this.cache[moduleId];\r\n    };\r\n    ModuleAnalyzer.prototype.analyze = function (moduleId, moduleInstance, mainResourceKey) {\r\n        var mainResource;\r\n        var fallbackValue;\r\n        var fallbackKey;\r\n        var resourceTypeMeta;\r\n        var key;\r\n        var exportedValue;\r\n        var resources = [];\r\n        var conventional;\r\n        var vs;\r\n        var resourceModule;\r\n        resourceModule = this.cache[moduleId];\r\n        if (resourceModule) {\r\n            return resourceModule;\r\n        }\r\n        resourceModule = new ResourceModule(moduleId);\r\n        this.cache[moduleId] = resourceModule;\r\n        if (typeof moduleInstance === 'function') {\r\n            moduleInstance = { 'default': moduleInstance };\r\n        }\r\n        if (mainResourceKey) {\r\n            mainResource = new ResourceDescription(mainResourceKey, moduleInstance[mainResourceKey]);\r\n        }\r\n        for (key in moduleInstance) {\r\n            exportedValue = moduleInstance[key];\r\n            if (key === mainResourceKey || typeof exportedValue !== 'function') {\r\n                continue;\r\n            }\r\n            resourceTypeMeta = metadata.get(metadata.resource, exportedValue);\r\n            if (resourceTypeMeta) {\r\n                if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n                    ViewResources.convention(exportedValue, resourceTypeMeta);\r\n                    if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                        HtmlBehaviorResource.convention(key, resourceTypeMeta);\r\n                    }\r\n                    if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                        resourceTypeMeta.elementName = _hyphenate(key);\r\n                    }\r\n                }\r\n                if (!mainResource && resourceTypeMeta instanceof HtmlBehaviorResource && resourceTypeMeta.elementName !== null) {\r\n                    mainResource = new ResourceDescription(key, exportedValue, resourceTypeMeta);\r\n                }\r\n                else {\r\n                    resources.push(new ResourceDescription(key, exportedValue, resourceTypeMeta));\r\n                }\r\n            }\r\n            else if (viewStrategy.decorates(exportedValue)) {\r\n                vs = exportedValue;\r\n            }\r\n            else if (exportedValue instanceof TemplateRegistryEntry) {\r\n                vs = new TemplateRegistryViewStrategy(moduleId, exportedValue);\r\n            }\r\n            else {\r\n                if (conventional = ViewResources.convention(exportedValue)) {\r\n                    if (conventional.elementName !== null && !mainResource) {\r\n                        mainResource = new ResourceDescription(key, exportedValue, conventional);\r\n                    }\r\n                    else {\r\n                        resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    }\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (conventional = HtmlBehaviorResource.convention(key)) {\r\n                    if (conventional.elementName !== null && !mainResource) {\r\n                        mainResource = new ResourceDescription(key, exportedValue, conventional);\r\n                    }\r\n                    else {\r\n                        resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    }\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (conventional = ValueConverterResource.convention(key)\r\n                    || BindingBehaviorResource.convention(key)\r\n                    || ViewEngineHooksResource.convention(key)) {\r\n                    resources.push(new ResourceDescription(key, exportedValue, conventional));\r\n                    metadata.define(metadata.resource, conventional, exportedValue);\r\n                }\r\n                else if (!fallbackValue) {\r\n                    fallbackValue = exportedValue;\r\n                    fallbackKey = key;\r\n                }\r\n            }\r\n        }\r\n        if (!mainResource && fallbackValue) {\r\n            mainResource = new ResourceDescription(fallbackKey, fallbackValue);\r\n        }\r\n        resourceModule.moduleInstance = moduleInstance;\r\n        resourceModule.mainResource = mainResource;\r\n        resourceModule.resources = resources;\r\n        resourceModule.viewStrategy = vs;\r\n        return resourceModule;\r\n    };\r\n    return ModuleAnalyzer;\r\n}());\n\nvar logger = LogManager.getLogger('templating');\r\nfunction ensureRegistryEntry(loader, urlOrRegistryEntry) {\r\n    if (urlOrRegistryEntry instanceof TemplateRegistryEntry) {\r\n        return Promise.resolve(urlOrRegistryEntry);\r\n    }\r\n    return loader.loadTemplate(urlOrRegistryEntry);\r\n}\r\nvar ProxyViewFactory = (function () {\r\n    function ProxyViewFactory(promise) {\r\n        var _this = this;\r\n        promise.then(function (x) { return _this.viewFactory = x; });\r\n    }\r\n    ProxyViewFactory.prototype.create = function (container, bindingContext, createInstruction, element) {\r\n        return this.viewFactory.create(container, bindingContext, createInstruction, element);\r\n    };\r\n    Object.defineProperty(ProxyViewFactory.prototype, \"isCaching\", {\r\n        get: function () {\r\n            return this.viewFactory.isCaching;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    ProxyViewFactory.prototype.setCacheSize = function (size, doNotOverrideIfAlreadySet) {\r\n        this.viewFactory.setCacheSize(size, doNotOverrideIfAlreadySet);\r\n    };\r\n    ProxyViewFactory.prototype.getCachedView = function () {\r\n        return this.viewFactory.getCachedView();\r\n    };\r\n    ProxyViewFactory.prototype.returnViewToCache = function (view) {\r\n        this.viewFactory.returnViewToCache(view);\r\n    };\r\n    return ProxyViewFactory;\r\n}());\r\nvar auSlotBehavior = null;\r\nvar ViewEngine = (function () {\r\n    function ViewEngine(loader, container, viewCompiler, moduleAnalyzer, appResources) {\r\n        this.loader = loader;\r\n        this.container = container;\r\n        this.viewCompiler = viewCompiler;\r\n        this.moduleAnalyzer = moduleAnalyzer;\r\n        this.appResources = appResources;\r\n        this._pluginMap = {};\r\n        if (auSlotBehavior === null) {\r\n            auSlotBehavior = new HtmlBehaviorResource();\r\n            auSlotBehavior.attributeName = 'au-slot';\r\n            metadata.define(metadata.resource, auSlotBehavior, SlotCustomAttribute);\r\n        }\r\n        auSlotBehavior.initialize(container, SlotCustomAttribute);\r\n        auSlotBehavior.register(appResources);\r\n    }\r\n    ViewEngine.inject = function () {\r\n        return [Loader, Container, ViewCompiler, ModuleAnalyzer, ViewResources];\r\n    };\r\n    ViewEngine.prototype.addResourcePlugin = function (extension, implementation) {\r\n        var name = extension.replace('.', '') + '-resource-plugin';\r\n        this._pluginMap[extension] = name;\r\n        this.loader.addPlugin(name, implementation);\r\n    };\r\n    ViewEngine.prototype.loadViewFactory = function (urlOrRegistryEntry, compileInstruction, loadContext, target) {\r\n        var _this = this;\r\n        loadContext = loadContext || new ResourceLoadContext();\r\n        return ensureRegistryEntry(this.loader, urlOrRegistryEntry).then(function (registryEntry) {\r\n            var url = registryEntry.address;\r\n            if (registryEntry.onReady) {\r\n                if (!loadContext.hasDependency(url)) {\r\n                    loadContext.addDependency(url);\r\n                    return registryEntry.onReady;\r\n                }\r\n                if (registryEntry.template === null) {\r\n                    return registryEntry.onReady;\r\n                }\r\n                return Promise.resolve(new ProxyViewFactory(registryEntry.onReady));\r\n            }\r\n            loadContext.addDependency(url);\r\n            registryEntry.onReady = _this.loadTemplateResources(registryEntry, compileInstruction, loadContext, target).then(function (resources) {\r\n                registryEntry.resources = resources;\r\n                if (registryEntry.template === null) {\r\n                    return registryEntry.factory = null;\r\n                }\r\n                var viewFactory = _this.viewCompiler.compile(registryEntry.template, resources, compileInstruction);\r\n                return registryEntry.factory = viewFactory;\r\n            });\r\n            return registryEntry.onReady;\r\n        });\r\n    };\r\n    ViewEngine.prototype.loadTemplateResources = function (registryEntry, compileInstruction, loadContext, target) {\r\n        var resources = new ViewResources(this.appResources, registryEntry.address);\r\n        var dependencies = registryEntry.dependencies;\r\n        var importIds;\r\n        var names;\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        if (dependencies.length === 0 && !compileInstruction.associatedModuleId) {\r\n            return Promise.resolve(resources);\r\n        }\r\n        importIds = dependencies.map(function (x) { return x.src; });\r\n        names = dependencies.map(function (x) { return x.name; });\r\n        logger.debug(\"importing resources for \".concat(registryEntry.address), importIds);\r\n        if (target) {\r\n            var viewModelRequires = metadata.get(ViewEngine.viewModelRequireMetadataKey, target);\r\n            if (viewModelRequires) {\r\n                var templateImportCount = importIds.length;\r\n                for (var i = 0, ii = viewModelRequires.length; i < ii; ++i) {\r\n                    var req = viewModelRequires[i];\r\n                    var importId = typeof req === 'function'\r\n                        ? Origin.get(req).moduleId\r\n                        : relativeToFile(req.src || req, registryEntry.address);\r\n                    if (importIds.indexOf(importId) === -1) {\r\n                        importIds.push(importId);\r\n                        names.push(req.as);\r\n                    }\r\n                }\r\n                logger.debug(\"importing ViewModel resources for \".concat(compileInstruction.associatedModuleId), importIds.slice(templateImportCount));\r\n            }\r\n        }\r\n        return this.importViewResources(importIds, names, resources, compileInstruction, loadContext);\r\n    };\r\n    ViewEngine.prototype.importViewModelResource = function (moduleImport, moduleMember) {\r\n        var _this = this;\r\n        return this.loader.loadModule(moduleImport).then(function (viewModelModule) {\r\n            var normalizedId = Origin.get(viewModelModule).moduleId;\r\n            var resourceModule = _this.moduleAnalyzer.analyze(normalizedId, viewModelModule, moduleMember);\r\n            if (!resourceModule.mainResource) {\r\n                throw new Error(\"No view model found in module \\\"\".concat(moduleImport, \"\\\".\"));\r\n            }\r\n            resourceModule.initialize(_this.container);\r\n            return resourceModule.mainResource;\r\n        });\r\n    };\r\n    ViewEngine.prototype.importViewResources = function (moduleIds, names, resources, compileInstruction, loadContext) {\r\n        var _this = this;\r\n        loadContext = loadContext || new ResourceLoadContext();\r\n        compileInstruction = compileInstruction || ViewCompileInstruction.normal;\r\n        moduleIds = moduleIds.map(function (x) { return _this._applyLoaderPlugin(x); });\r\n        return this.loader.loadAllModules(moduleIds).then(function (imports) {\r\n            var i;\r\n            var ii;\r\n            var analysis;\r\n            var normalizedId;\r\n            var current;\r\n            var associatedModule;\r\n            var container = _this.container;\r\n            var moduleAnalyzer = _this.moduleAnalyzer;\r\n            var allAnalysis = new Array(imports.length);\r\n            for (i = 0, ii = imports.length; i < ii; ++i) {\r\n                current = imports[i];\r\n                normalizedId = Origin.get(current).moduleId;\r\n                analysis = moduleAnalyzer.analyze(normalizedId, current);\r\n                analysis.initialize(container);\r\n                analysis.register(resources, names[i]);\r\n                allAnalysis[i] = analysis;\r\n            }\r\n            if (compileInstruction.associatedModuleId) {\r\n                associatedModule = moduleAnalyzer.getAnalysis(compileInstruction.associatedModuleId);\r\n                if (associatedModule) {\r\n                    associatedModule.register(resources);\r\n                }\r\n            }\r\n            for (i = 0, ii = allAnalysis.length; i < ii; ++i) {\r\n                allAnalysis[i] = allAnalysis[i].load(container, loadContext);\r\n            }\r\n            return Promise.all(allAnalysis).then(function () { return resources; });\r\n        });\r\n    };\r\n    ViewEngine.prototype._applyLoaderPlugin = function (id) {\r\n        var index = id.lastIndexOf('.');\r\n        if (index !== -1) {\r\n            var ext = id.substring(index);\r\n            var pluginName = this._pluginMap[ext];\r\n            if (pluginName === undefined) {\r\n                return id;\r\n            }\r\n            return this.loader.applyPluginToUrl(id, pluginName);\r\n        }\r\n        return id;\r\n    };\r\n    ViewEngine.viewModelRequireMetadataKey = 'aurelia:view-model-require';\r\n    return ViewEngine;\r\n}());\n\nvar Controller = (function () {\r\n    function Controller(behavior, instruction, viewModel, container) {\r\n        this.behavior = behavior;\r\n        this.instruction = instruction;\r\n        this.viewModel = viewModel;\r\n        this.isAttached = false;\r\n        this.view = null;\r\n        this.isBound = false;\r\n        this.scope = null;\r\n        this.container = container;\r\n        this.elementEvents = container.elementEvents || null;\r\n        var observerLookup = behavior.observerLocator.getOrCreateObserversLookup(viewModel);\r\n        var handlesBind = behavior.handlesBind;\r\n        var attributes = instruction.attributes;\r\n        var boundProperties = this.boundProperties = [];\r\n        var properties = behavior.properties;\r\n        var i;\r\n        var ii;\r\n        behavior._ensurePropertiesDefined(viewModel, observerLookup);\r\n        for (i = 0, ii = properties.length; i < ii; ++i) {\r\n            properties[i]._initialize(viewModel, observerLookup, attributes, handlesBind, boundProperties);\r\n        }\r\n    }\r\n    Controller.prototype.created = function (owningView) {\r\n        if (this.behavior.handlesCreated) {\r\n            this.viewModel.created(owningView, this.view);\r\n        }\r\n    };\r\n    Controller.prototype.automate = function (overrideContext, owningView) {\r\n        this.view.bindingContext = this.viewModel;\r\n        this.view.overrideContext = overrideContext || createOverrideContext(this.viewModel);\r\n        this.view._isUserControlled = true;\r\n        if (this.behavior.handlesCreated) {\r\n            this.viewModel.created(owningView || null, this.view);\r\n        }\r\n        this.bind(this.view);\r\n    };\r\n    Controller.prototype.bind = function (scope) {\r\n        var skipSelfSubscriber = this.behavior.handlesBind;\r\n        var boundProperties = this.boundProperties;\r\n        var i;\r\n        var ii;\r\n        var x;\r\n        var observer;\r\n        var selfSubscriber;\r\n        if (this.isBound) {\r\n            if (this.scope === scope) {\r\n                return;\r\n            }\r\n            this.unbind();\r\n        }\r\n        this.isBound = true;\r\n        this.scope = scope;\r\n        for (i = 0, ii = boundProperties.length; i < ii; ++i) {\r\n            x = boundProperties[i];\r\n            observer = x.observer;\r\n            selfSubscriber = observer.selfSubscriber;\r\n            observer.publishing = false;\r\n            if (skipSelfSubscriber) {\r\n                observer.selfSubscriber = null;\r\n            }\r\n            x.binding.bind(scope);\r\n            observer.call();\r\n            observer.publishing = true;\r\n            observer.selfSubscriber = selfSubscriber;\r\n        }\r\n        var overrideContext;\r\n        if (this.view !== null) {\r\n            if (skipSelfSubscriber) {\r\n                this.view.viewModelScope = scope;\r\n            }\r\n            if (this.viewModel === scope.overrideContext.bindingContext) {\r\n                overrideContext = scope.overrideContext;\r\n            }\r\n            else if (this.instruction.inheritBindingContext) {\r\n                overrideContext = createOverrideContext(this.viewModel, scope.overrideContext);\r\n            }\r\n            else {\r\n                overrideContext = createOverrideContext(this.viewModel);\r\n                overrideContext.__parentOverrideContext = scope.overrideContext;\r\n            }\r\n            this.view.bind(this.viewModel, overrideContext);\r\n        }\r\n        else if (skipSelfSubscriber) {\r\n            overrideContext = scope.overrideContext;\r\n            if (scope.overrideContext.__parentOverrideContext !== undefined\r\n                && this.viewModel.viewFactory && this.viewModel.viewFactory.factoryCreateInstruction.partReplacements) {\r\n                overrideContext = Object.assign({}, scope.overrideContext);\r\n                overrideContext.parentOverrideContext = scope.overrideContext.__parentOverrideContext;\r\n            }\r\n            this.viewModel.bind(scope.bindingContext, overrideContext);\r\n        }\r\n    };\r\n    Controller.prototype.unbind = function () {\r\n        if (this.isBound) {\r\n            var boundProperties = this.boundProperties;\r\n            var i = void 0;\r\n            var ii = void 0;\r\n            this.isBound = false;\r\n            this.scope = null;\r\n            if (this.view !== null) {\r\n                this.view.unbind();\r\n            }\r\n            if (this.behavior.handlesUnbind) {\r\n                this.viewModel.unbind();\r\n            }\r\n            if (this.elementEvents !== null) {\r\n                this.elementEvents.disposeAll();\r\n            }\r\n            for (i = 0, ii = boundProperties.length; i < ii; ++i) {\r\n                boundProperties[i].binding.unbind();\r\n            }\r\n        }\r\n    };\r\n    Controller.prototype.attached = function () {\r\n        if (this.isAttached) {\r\n            return;\r\n        }\r\n        this.isAttached = true;\r\n        if (this.behavior.handlesAttached) {\r\n            this.viewModel.attached();\r\n        }\r\n        if (this.view !== null) {\r\n            this.view.attached();\r\n        }\r\n    };\r\n    Controller.prototype.detached = function () {\r\n        if (this.isAttached) {\r\n            this.isAttached = false;\r\n            if (this.view !== null) {\r\n                this.view.detached();\r\n            }\r\n            if (this.behavior.handlesDetached) {\r\n                this.viewModel.detached();\r\n            }\r\n        }\r\n    };\r\n    return Controller;\r\n}());\n\nvar lastProviderId = 0;\r\nfunction nextProviderId() {\r\n    return ++lastProviderId;\r\n}\r\nfunction doProcessContent() { return true; }\r\nfunction doProcessAttributes() { }\r\nvar HtmlBehaviorResource = (function () {\r\n    function HtmlBehaviorResource() {\r\n        this.elementName = null;\r\n        this.attributeName = null;\r\n        this.attributeDefaultBindingMode = undefined;\r\n        this.liftsContent = false;\r\n        this.targetShadowDOM = false;\r\n        this.shadowDOMOptions = null;\r\n        this.processAttributes = doProcessAttributes;\r\n        this.processContent = doProcessContent;\r\n        this.usesShadowDOM = false;\r\n        this.childBindings = null;\r\n        this.hasDynamicOptions = false;\r\n        this.containerless = false;\r\n        this.properties = [];\r\n        this.attributes = {};\r\n        this.isInitialized = false;\r\n        this.primaryProperty = null;\r\n    }\r\n    HtmlBehaviorResource.convention = function (name, existing) {\r\n        var behavior;\r\n        if (name.endsWith('CustomAttribute')) {\r\n            behavior = existing || new HtmlBehaviorResource();\r\n            behavior.attributeName = _hyphenate(name.substring(0, name.length - 15));\r\n        }\r\n        if (name.endsWith('CustomElement')) {\r\n            behavior = existing || new HtmlBehaviorResource();\r\n            behavior.elementName = _hyphenate(name.substring(0, name.length - 13));\r\n        }\r\n        return behavior;\r\n    };\r\n    HtmlBehaviorResource.prototype.addChildBinding = function (behavior) {\r\n        if (this.childBindings === null) {\r\n            this.childBindings = [];\r\n        }\r\n        this.childBindings.push(behavior);\r\n    };\r\n    HtmlBehaviorResource.prototype.initialize = function (container, target) {\r\n        var proto = target.prototype;\r\n        var properties = this.properties;\r\n        var attributeName = this.attributeName;\r\n        var attributeDefaultBindingMode = this.attributeDefaultBindingMode;\r\n        var i;\r\n        var ii;\r\n        var current;\r\n        if (this.isInitialized) {\r\n            return;\r\n        }\r\n        this.isInitialized = true;\r\n        target.__providerId__ = nextProviderId();\r\n        this.observerLocator = container.get(ObserverLocator);\r\n        this.taskQueue = container.get(TaskQueue);\r\n        this.target = target;\r\n        this.usesShadowDOM = this.targetShadowDOM && FEATURE.shadowDOM;\r\n        this.handlesCreated = ('created' in proto);\r\n        this.handlesBind = ('bind' in proto);\r\n        this.handlesUnbind = ('unbind' in proto);\r\n        this.handlesAttached = ('attached' in proto);\r\n        this.handlesDetached = ('detached' in proto);\r\n        this.htmlName = this.elementName || this.attributeName;\r\n        if (attributeName !== null) {\r\n            if (properties.length === 0) {\r\n                new BindableProperty({\r\n                    name: 'value',\r\n                    changeHandler: 'valueChanged' in proto ? 'valueChanged' : null,\r\n                    attribute: attributeName,\r\n                    defaultBindingMode: attributeDefaultBindingMode\r\n                }).registerWith(target, this);\r\n            }\r\n            current = properties[0];\r\n            if (properties.length === 1 && current.name === 'value') {\r\n                current.isDynamic = current.hasOptions = this.hasDynamicOptions;\r\n                current.defineOn(target, this);\r\n            }\r\n            else {\r\n                for (i = 0, ii = properties.length; i < ii; ++i) {\r\n                    properties[i].defineOn(target, this);\r\n                    if (properties[i].primaryProperty) {\r\n                        if (this.primaryProperty) {\r\n                            throw new Error('Only one bindable property on a custom element can be defined as the default');\r\n                        }\r\n                        this.primaryProperty = properties[i];\r\n                    }\r\n                }\r\n                current = new BindableProperty({\r\n                    name: 'value',\r\n                    changeHandler: 'valueChanged' in proto ? 'valueChanged' : null,\r\n                    attribute: attributeName,\r\n                    defaultBindingMode: attributeDefaultBindingMode\r\n                });\r\n                current.hasOptions = true;\r\n                current.registerWith(target, this);\r\n            }\r\n        }\r\n        else {\r\n            for (i = 0, ii = properties.length; i < ii; ++i) {\r\n                properties[i].defineOn(target, this);\r\n            }\r\n            this._copyInheritedProperties(container, target);\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype.register = function (registry, name) {\r\n        var _this = this;\r\n        if (this.attributeName !== null) {\r\n            registry.registerAttribute(name || this.attributeName, this, this.attributeName);\r\n            if (Array.isArray(this.aliases)) {\r\n                this.aliases\r\n                    .forEach(function (alias) {\r\n                    registry.registerAttribute(alias, _this, _this.attributeName);\r\n                });\r\n            }\r\n        }\r\n        if (this.elementName !== null) {\r\n            registry.registerElement(name || this.elementName, this);\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype.aliases = function (aliases) {\r\n        throw new Error('Method not implemented.');\r\n    };\r\n    HtmlBehaviorResource.prototype.load = function (container, target, loadContext, viewStrategy, transientView) {\r\n        var _this = this;\r\n        var options;\r\n        if (this.elementName !== null) {\r\n            viewStrategy = container.get(ViewLocator).getViewStrategy(viewStrategy || this.viewStrategy || target);\r\n            options = new ViewCompileInstruction(this.targetShadowDOM, true);\r\n            if (!viewStrategy.moduleId) {\r\n                viewStrategy.moduleId = Origin.get(target).moduleId;\r\n            }\r\n            return viewStrategy\r\n                .loadViewFactory(container.get(ViewEngine), options, loadContext, target)\r\n                .then(function (viewFactory) {\r\n                if (!transientView || !_this.viewFactory) {\r\n                    _this.viewFactory = viewFactory;\r\n                }\r\n                return viewFactory;\r\n            });\r\n        }\r\n        return Promise.resolve(this);\r\n    };\r\n    HtmlBehaviorResource.prototype.compile = function (compiler, resources, node, instruction, parentNode) {\r\n        if (this.liftsContent) {\r\n            if (!instruction.viewFactory) {\r\n                var template = DOM.createElement('template');\r\n                var fragment = DOM.createDocumentFragment();\r\n                var cacheSize = node.getAttribute('view-cache');\r\n                var part = node.getAttribute('part');\r\n                node.removeAttribute(instruction.originalAttrName);\r\n                DOM.replaceNode(template, node, parentNode);\r\n                fragment.appendChild(node);\r\n                instruction.viewFactory = compiler.compile(fragment, resources);\r\n                if (part) {\r\n                    instruction.viewFactory.part = part;\r\n                    node.removeAttribute('part');\r\n                }\r\n                if (cacheSize) {\r\n                    instruction.viewFactory.setCacheSize(cacheSize);\r\n                    node.removeAttribute('view-cache');\r\n                }\r\n                node = template;\r\n            }\r\n        }\r\n        else if (this.elementName !== null) {\r\n            var partReplacements = {};\r\n            if (this.processContent(compiler, resources, node, instruction) && node.hasChildNodes()) {\r\n                var currentChild = node.firstChild;\r\n                var contentElement = this.usesShadowDOM ? null : DOM.createElement('au-content');\r\n                var nextSibling = void 0;\r\n                var toReplace = void 0;\r\n                while (currentChild) {\r\n                    nextSibling = currentChild.nextSibling;\r\n                    if (currentChild.tagName === 'TEMPLATE' && (toReplace = currentChild.getAttribute('replace-part'))) {\r\n                        partReplacements[toReplace] = compiler.compile(currentChild, resources);\r\n                        DOM.removeNode(currentChild, parentNode);\r\n                        instruction.partReplacements = partReplacements;\r\n                    }\r\n                    else if (contentElement !== null) {\r\n                        if (currentChild.nodeType === 3 && _isAllWhitespace(currentChild)) {\r\n                            DOM.removeNode(currentChild, parentNode);\r\n                        }\r\n                        else {\r\n                            contentElement.appendChild(currentChild);\r\n                        }\r\n                    }\r\n                    currentChild = nextSibling;\r\n                }\r\n                if (contentElement !== null && contentElement.hasChildNodes()) {\r\n                    node.appendChild(contentElement);\r\n                }\r\n                instruction.skipContentProcessing = false;\r\n            }\r\n            else {\r\n                instruction.skipContentProcessing = true;\r\n            }\r\n        }\r\n        else if (!this.processContent(compiler, resources, node, instruction)) {\r\n            instruction.skipContentProcessing = true;\r\n        }\r\n        return node;\r\n    };\r\n    HtmlBehaviorResource.prototype.create = function (container, instruction, element, bindings) {\r\n        var viewHost;\r\n        var au = null;\r\n        instruction = instruction || BehaviorInstruction.normal;\r\n        element = element || null;\r\n        bindings = bindings || null;\r\n        if (this.elementName !== null && element) {\r\n            if (this.usesShadowDOM) {\r\n                viewHost = element.attachShadow(this.shadowDOMOptions);\r\n                container.registerInstance(DOM.boundary, viewHost);\r\n            }\r\n            else {\r\n                viewHost = element;\r\n                if (this.targetShadowDOM) {\r\n                    container.registerInstance(DOM.boundary, viewHost);\r\n                }\r\n            }\r\n        }\r\n        if (element !== null) {\r\n            element.au = au = element.au || {};\r\n        }\r\n        var viewModel = instruction.viewModel || container.get(this.target);\r\n        var controller = new Controller(this, instruction, viewModel, container);\r\n        var childBindings = this.childBindings;\r\n        var viewFactory;\r\n        if (this.liftsContent) {\r\n            au.controller = controller;\r\n        }\r\n        else if (this.elementName !== null) {\r\n            viewFactory = instruction.viewFactory || this.viewFactory;\r\n            container.viewModel = viewModel;\r\n            if (viewFactory) {\r\n                controller.view = viewFactory.create(container, instruction, element);\r\n            }\r\n            if (element !== null) {\r\n                au.controller = controller;\r\n                if (controller.view) {\r\n                    if (!this.usesShadowDOM && (element.childNodes.length === 1 || element.contentElement)) {\r\n                        var contentElement = element.childNodes[0] || element.contentElement;\r\n                        controller.view.contentView = { fragment: contentElement };\r\n                        contentElement.parentNode && DOM.removeNode(contentElement);\r\n                    }\r\n                    if (instruction.anchorIsContainer) {\r\n                        if (childBindings !== null) {\r\n                            for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                                controller.view.addBinding(childBindings[i].create(element, viewModel, controller));\r\n                            }\r\n                        }\r\n                        controller.view.appendNodesTo(viewHost);\r\n                    }\r\n                    else {\r\n                        controller.view.insertNodesBefore(viewHost);\r\n                    }\r\n                }\r\n                else if (childBindings !== null) {\r\n                    for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                        bindings.push(childBindings[i].create(element, viewModel, controller));\r\n                    }\r\n                }\r\n            }\r\n            else if (controller.view) {\r\n                controller.view.controller = controller;\r\n                if (childBindings !== null) {\r\n                    for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                        controller.view.addBinding(childBindings[i].create(instruction.host, viewModel, controller));\r\n                    }\r\n                }\r\n            }\r\n            else if (childBindings !== null) {\r\n                for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                    bindings.push(childBindings[i].create(instruction.host, viewModel, controller));\r\n                }\r\n            }\r\n        }\r\n        else if (childBindings !== null) {\r\n            for (var i = 0, ii = childBindings.length; i < ii; ++i) {\r\n                bindings.push(childBindings[i].create(element, viewModel, controller));\r\n            }\r\n        }\r\n        if (au !== null) {\r\n            au[this.htmlName] = controller;\r\n        }\r\n        if (instruction.initiatedByBehavior && viewFactory) {\r\n            controller.view.created();\r\n        }\r\n        return controller;\r\n    };\r\n    HtmlBehaviorResource.prototype._ensurePropertiesDefined = function (instance, lookup) {\r\n        var properties;\r\n        var i;\r\n        var ii;\r\n        var observer;\r\n        if ('__propertiesDefined__' in lookup) {\r\n            return;\r\n        }\r\n        lookup.__propertiesDefined__ = true;\r\n        properties = this.properties;\r\n        for (i = 0, ii = properties.length; i < ii; ++i) {\r\n            observer = properties[i].createObserver(instance);\r\n            if (observer !== undefined) {\r\n                lookup[observer.propertyName] = observer;\r\n            }\r\n        }\r\n    };\r\n    HtmlBehaviorResource.prototype._copyInheritedProperties = function (container, target) {\r\n        var behavior;\r\n        var derived = target;\r\n        while (true) {\r\n            var proto = Object.getPrototypeOf(target.prototype);\r\n            target = proto && proto.constructor;\r\n            if (!target) {\r\n                return;\r\n            }\r\n            behavior = metadata.getOwn(metadata.resource, target);\r\n            if (behavior) {\r\n                break;\r\n            }\r\n        }\r\n        behavior.initialize(container, target);\r\n        var _loop_1 = function (i, ii) {\r\n            var prop = behavior.properties[i];\r\n            if (this_1.properties.some(function (p) { return p.name === prop.name; })) {\r\n                return \"continue\";\r\n            }\r\n            new BindableProperty(prop).registerWith(derived, this_1);\r\n        };\r\n        var this_1 = this;\r\n        for (var i = 0, ii = behavior.properties.length; i < ii; ++i) {\r\n            _loop_1(i);\r\n        }\r\n    };\r\n    return HtmlBehaviorResource;\r\n}());\n\nfunction register(lookup, name, resource, type) {\r\n    if (!name) {\r\n        return;\r\n    }\r\n    var existing = lookup[name];\r\n    if (existing) {\r\n        if (existing !== resource) {\r\n            throw new Error(\"Attempted to register \".concat(type, \" when one with the same name already exists. Name: \").concat(name, \".\"));\r\n        }\r\n        return;\r\n    }\r\n    lookup[name] = resource;\r\n}\r\nfunction validateBehaviorName(name, type) {\r\n    if (/[A-Z]/.test(name)) {\r\n        var newName = _hyphenate(name);\r\n        LogManager\r\n            .getLogger('templating')\r\n            .warn(\"'\".concat(name, \"' is not a valid \").concat(type, \" name and has been converted to '\").concat(newName, \"'. Upper-case letters are not allowed because the DOM is not case-sensitive.\"));\r\n        return newName;\r\n    }\r\n    return name;\r\n}\r\nvar conventionMark = '__au_resource__';\r\nvar ViewResources = (function () {\r\n    function ViewResources(parent, viewUrl) {\r\n        this.bindingLanguage = null;\r\n        this.parent = parent || null;\r\n        this.hasParent = this.parent !== null;\r\n        this.viewUrl = viewUrl || '';\r\n        this.lookupFunctions = {\r\n            valueConverters: this.getValueConverter.bind(this),\r\n            bindingBehaviors: this.getBindingBehavior.bind(this)\r\n        };\r\n        this.attributes = Object.create(null);\r\n        this.elements = Object.create(null);\r\n        this.valueConverters = Object.create(null);\r\n        this.bindingBehaviors = Object.create(null);\r\n        this.attributeMap = Object.create(null);\r\n        this.values = Object.create(null);\r\n        this.beforeCompile = this.afterCompile = this.beforeCreate = this.afterCreate = this.beforeBind = this.beforeUnbind = false;\r\n    }\r\n    ViewResources.convention = function (target, existing) {\r\n        var resource;\r\n        if (existing && conventionMark in existing) {\r\n            return existing;\r\n        }\r\n        if ('$resource' in target) {\r\n            var config = target.$resource;\r\n            if (typeof config === 'string') {\r\n                resource = existing || new HtmlBehaviorResource();\r\n                resource[conventionMark] = true;\r\n                if (!resource.elementName) {\r\n                    resource.elementName = validateBehaviorName(config, 'custom element');\r\n                }\r\n            }\r\n            else {\r\n                if (typeof config === 'function') {\r\n                    config = config.call(target);\r\n                }\r\n                if (typeof config === 'string') {\r\n                    config = { name: config };\r\n                }\r\n                config = Object.assign({}, config);\r\n                var resourceType = config.type || 'element';\r\n                var name_1 = config.name;\r\n                switch (resourceType) {\r\n                    case 'element':\r\n                    case 'attribute':\r\n                        resource = existing || new HtmlBehaviorResource();\r\n                        resource[conventionMark] = true;\r\n                        if (resourceType === 'element') {\r\n                            if (!resource.elementName) {\r\n                                resource.elementName = name_1\r\n                                    ? validateBehaviorName(name_1, 'custom element')\r\n                                    : _hyphenate(target.name);\r\n                            }\r\n                        }\r\n                        else {\r\n                            if (!resource.attributeName) {\r\n                                resource.attributeName = name_1\r\n                                    ? validateBehaviorName(name_1, 'custom attribute')\r\n                                    : _hyphenate(target.name);\r\n                            }\r\n                        }\r\n                        if ('templateController' in config) {\r\n                            config.liftsContent = config.templateController;\r\n                            delete config.templateController;\r\n                        }\r\n                        if ('defaultBindingMode' in config && resource.attributeDefaultBindingMode !== undefined) {\r\n                            config.attributeDefaultBindingMode = config.defaultBindingMode;\r\n                            delete config.defaultBindingMode;\r\n                        }\r\n                        delete config.name;\r\n                        Object.assign(resource, config);\r\n                        break;\r\n                    case 'valueConverter':\r\n                        resource = new ValueConverterResource(camelCase(name_1 || target.name));\r\n                        break;\r\n                    case 'bindingBehavior':\r\n                        resource = new BindingBehaviorResource(camelCase(name_1 || target.name));\r\n                        break;\r\n                    case 'viewEngineHooks':\r\n                        resource = new ViewEngineHooksResource();\r\n                        break;\r\n                }\r\n            }\r\n            if (resource instanceof HtmlBehaviorResource) {\r\n                var bindables = typeof config === 'string' ? undefined : config.bindables;\r\n                var currentProps = resource.properties;\r\n                if (Array.isArray(bindables)) {\r\n                    for (var i = 0, ii = bindables.length; ii > i; ++i) {\r\n                        var prop = bindables[i];\r\n                        if (!prop || (typeof prop !== 'string' && !prop.name)) {\r\n                            throw new Error(\"Invalid bindable property at \\\"\".concat(i, \"\\\" for class \\\"\").concat(target.name, \"\\\". Expected either a string or an object with \\\"name\\\" property.\"));\r\n                        }\r\n                        var newProp = new BindableProperty(prop);\r\n                        var existed = false;\r\n                        for (var j = 0, jj = currentProps.length; jj > j; ++j) {\r\n                            if (currentProps[j].name === newProp.name) {\r\n                                existed = true;\r\n                                break;\r\n                            }\r\n                        }\r\n                        if (existed) {\r\n                            continue;\r\n                        }\r\n                        newProp.registerWith(target, resource);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        return resource;\r\n    };\r\n    ViewResources.prototype._tryAddHook = function (obj, name) {\r\n        if (typeof obj[name] === 'function') {\r\n            var func = obj[name].bind(obj);\r\n            var counter = 1;\r\n            var callbackName = void 0;\r\n            while (this[callbackName = name + counter.toString()] !== undefined) {\r\n                counter++;\r\n            }\r\n            this[name] = true;\r\n            this[callbackName] = func;\r\n        }\r\n    };\r\n    ViewResources.prototype._invokeHook = function (name, one, two, three, four) {\r\n        if (this.hasParent) {\r\n            this.parent._invokeHook(name, one, two, three, four);\r\n        }\r\n        if (this[name]) {\r\n            this[name + '1'](one, two, three, four);\r\n            var callbackName = name + '2';\r\n            if (this[callbackName]) {\r\n                this[callbackName](one, two, three, four);\r\n                callbackName = name + '3';\r\n                if (this[callbackName]) {\r\n                    this[callbackName](one, two, three, four);\r\n                    var counter = 4;\r\n                    while (this[callbackName = name + counter.toString()] !== undefined) {\r\n                        this[callbackName](one, two, three, four);\r\n                        counter++;\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ViewResources.prototype.registerViewEngineHooks = function (hooks) {\r\n        this._tryAddHook(hooks, 'beforeCompile');\r\n        this._tryAddHook(hooks, 'afterCompile');\r\n        this._tryAddHook(hooks, 'beforeCreate');\r\n        this._tryAddHook(hooks, 'afterCreate');\r\n        this._tryAddHook(hooks, 'beforeBind');\r\n        this._tryAddHook(hooks, 'beforeUnbind');\r\n    };\r\n    ViewResources.prototype.getBindingLanguage = function (bindingLanguageFallback) {\r\n        return this.bindingLanguage || (this.bindingLanguage = bindingLanguageFallback);\r\n    };\r\n    ViewResources.prototype.patchInParent = function (newParent) {\r\n        var originalParent = this.parent;\r\n        this.parent = newParent || null;\r\n        this.hasParent = this.parent !== null;\r\n        if (newParent.parent === null) {\r\n            newParent.parent = originalParent;\r\n            newParent.hasParent = originalParent !== null;\r\n        }\r\n    };\r\n    ViewResources.prototype.relativeToView = function (path) {\r\n        return relativeToFile(path, this.viewUrl);\r\n    };\r\n    ViewResources.prototype.registerElement = function (tagName, behavior) {\r\n        register(this.elements, tagName, behavior, 'an Element');\r\n    };\r\n    ViewResources.prototype.getElement = function (tagName) {\r\n        return this.elements[tagName] || (this.hasParent ? this.parent.getElement(tagName) : null);\r\n    };\r\n    ViewResources.prototype.mapAttribute = function (attribute) {\r\n        return this.attributeMap[attribute] || (this.hasParent ? this.parent.mapAttribute(attribute) : null);\r\n    };\r\n    ViewResources.prototype.registerAttribute = function (attribute, behavior, knownAttribute) {\r\n        this.attributeMap[attribute] = knownAttribute;\r\n        register(this.attributes, attribute, behavior, 'an Attribute');\r\n    };\r\n    ViewResources.prototype.getAttribute = function (attribute) {\r\n        return this.attributes[attribute] || (this.hasParent ? this.parent.getAttribute(attribute) : null);\r\n    };\r\n    ViewResources.prototype.registerValueConverter = function (name, valueConverter) {\r\n        register(this.valueConverters, name, valueConverter, 'a ValueConverter');\r\n    };\r\n    ViewResources.prototype.getValueConverter = function (name) {\r\n        return this.valueConverters[name] || (this.hasParent ? this.parent.getValueConverter(name) : null);\r\n    };\r\n    ViewResources.prototype.registerBindingBehavior = function (name, bindingBehavior) {\r\n        register(this.bindingBehaviors, name, bindingBehavior, 'a BindingBehavior');\r\n    };\r\n    ViewResources.prototype.getBindingBehavior = function (name) {\r\n        return this.bindingBehaviors[name] || (this.hasParent ? this.parent.getBindingBehavior(name) : null);\r\n    };\r\n    ViewResources.prototype.registerValue = function (name, value) {\r\n        register(this.values, name, value, 'a value');\r\n    };\r\n    ViewResources.prototype.getValue = function (name) {\r\n        return this.values[name] || (this.hasParent ? this.parent.getValue(name) : null);\r\n    };\r\n    ViewResources.prototype.autoRegister = function (container, impl) {\r\n        var resourceTypeMeta = metadata.getOwn(metadata.resource, impl);\r\n        if (resourceTypeMeta) {\r\n            if (resourceTypeMeta instanceof HtmlBehaviorResource) {\r\n                ViewResources.convention(impl, resourceTypeMeta);\r\n                if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                    HtmlBehaviorResource.convention(impl.name, resourceTypeMeta);\r\n                }\r\n                if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {\r\n                    resourceTypeMeta.elementName = _hyphenate(impl.name);\r\n                }\r\n            }\r\n        }\r\n        else {\r\n            resourceTypeMeta = ViewResources.convention(impl)\r\n                || HtmlBehaviorResource.convention(impl.name)\r\n                || ValueConverterResource.convention(impl.name)\r\n                || BindingBehaviorResource.convention(impl.name)\r\n                || ViewEngineHooksResource.convention(impl.name);\r\n            if (!resourceTypeMeta) {\r\n                resourceTypeMeta = new HtmlBehaviorResource();\r\n                resourceTypeMeta.elementName = _hyphenate(impl.name);\r\n            }\r\n            metadata.define(metadata.resource, resourceTypeMeta, impl);\r\n        }\r\n        resourceTypeMeta.initialize(container, impl);\r\n        resourceTypeMeta.register(this, undefined);\r\n        return resourceTypeMeta;\r\n    };\r\n    return ViewResources;\r\n}());\n\nvar viewStrategy = protocol.create('aurelia:view-strategy', {\r\n    validate: function (target) {\r\n        if (!(typeof target.loadViewFactory === 'function')) {\r\n            return 'View strategies must implement: loadViewFactory(viewEngine: ViewEngine, compileInstruction: ViewCompileInstruction, loadContext?: ResourceLoadContext): Promise<ViewFactory>';\r\n        }\r\n        return true;\r\n    },\r\n    compose: function (target) {\r\n        if (!(typeof target.makeRelativeTo === 'function')) {\r\n            target.makeRelativeTo = PLATFORM.noop;\r\n        }\r\n    }\r\n});\r\nvar RelativeViewStrategy = (function () {\r\n    function RelativeViewStrategy(path) {\r\n        this.path = path;\r\n        this.absolutePath = null;\r\n    }\r\n    RelativeViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        if (this.absolutePath === null && this.moduleId) {\r\n            this.absolutePath = relativeToFile(this.path, this.moduleId);\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(this.absolutePath || this.path, compileInstruction, loadContext, target);\r\n    };\r\n    RelativeViewStrategy.prototype.makeRelativeTo = function (file) {\r\n        if (this.absolutePath === null) {\r\n            this.absolutePath = relativeToFile(this.path, file);\r\n        }\r\n    };\r\n    RelativeViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], RelativeViewStrategy);\r\n    return RelativeViewStrategy;\r\n}());\r\nvar ConventionalViewStrategy = (function () {\r\n    function ConventionalViewStrategy(viewLocator, origin) {\r\n        this.moduleId = origin.moduleId;\r\n        this.viewUrl = viewLocator.convertOriginToViewUrl(origin);\r\n    }\r\n    ConventionalViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(this.viewUrl, compileInstruction, loadContext, target);\r\n    };\r\n    ConventionalViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], ConventionalViewStrategy);\r\n    return ConventionalViewStrategy;\r\n}());\r\nvar NoViewStrategy = (function () {\r\n    function NoViewStrategy(dependencies, dependencyBaseUrl) {\r\n        this.dependencies = dependencies || null;\r\n        this.dependencyBaseUrl = dependencyBaseUrl || '';\r\n    }\r\n    NoViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        var dependencies = this.dependencies;\r\n        if (entry && entry.factoryIsReady) {\r\n            return Promise.resolve(null);\r\n        }\r\n        this.entry = entry = new TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl);\r\n        entry.dependencies = [];\r\n        entry.templateIsLoaded = true;\r\n        if (dependencies !== null) {\r\n            for (var i = 0, ii = dependencies.length; i < ii; ++i) {\r\n                var current = dependencies[i];\r\n                if (typeof current === 'string' || typeof current === 'function') {\r\n                    entry.addDependency(current);\r\n                }\r\n                else {\r\n                    entry.addDependency(current.from, current.as);\r\n                }\r\n            }\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    NoViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], NoViewStrategy);\r\n    return NoViewStrategy;\r\n}());\r\nvar TemplateRegistryViewStrategy = (function () {\r\n    function TemplateRegistryViewStrategy(moduleId, entry) {\r\n        this.moduleId = moduleId;\r\n        this.entry = entry;\r\n    }\r\n    TemplateRegistryViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        if (entry.factoryIsReady) {\r\n            return Promise.resolve(entry.factory);\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    TemplateRegistryViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], TemplateRegistryViewStrategy);\r\n    return TemplateRegistryViewStrategy;\r\n}());\r\nvar InlineViewStrategy = (function () {\r\n    function InlineViewStrategy(markup, dependencies, dependencyBaseUrl) {\r\n        this.markup = markup;\r\n        this.dependencies = dependencies || null;\r\n        this.dependencyBaseUrl = dependencyBaseUrl || '';\r\n    }\r\n    InlineViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var entry = this.entry;\r\n        var dependencies = this.dependencies;\r\n        if (entry && entry.factoryIsReady) {\r\n            return Promise.resolve(entry.factory);\r\n        }\r\n        this.entry = entry = new TemplateRegistryEntry(this.moduleId || this.dependencyBaseUrl);\r\n        entry.template = DOM.createTemplateFromMarkup(this.markup);\r\n        if (dependencies !== null) {\r\n            for (var i = 0, ii = dependencies.length; i < ii; ++i) {\r\n                var current = dependencies[i];\r\n                if (typeof current === 'string' || typeof current === 'function') {\r\n                    entry.addDependency(current);\r\n                }\r\n                else {\r\n                    entry.addDependency(current.from, current.as);\r\n                }\r\n            }\r\n        }\r\n        compileInstruction.associatedModuleId = this.moduleId;\r\n        return viewEngine.loadViewFactory(entry, compileInstruction, loadContext, target);\r\n    };\r\n    InlineViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], InlineViewStrategy);\r\n    return InlineViewStrategy;\r\n}());\r\nvar StaticViewStrategy = (function () {\r\n    function StaticViewStrategy(config) {\r\n        if (typeof config === 'string' || (config instanceof DOM.Element && config.tagName === 'TEMPLATE')) {\r\n            config = {\r\n                template: config\r\n            };\r\n        }\r\n        this.template = config.template;\r\n        this.dependencies = config.dependencies || [];\r\n        this.factoryIsReady = false;\r\n        this.onReady = null;\r\n        this.moduleId = 'undefined';\r\n    }\r\n    StaticViewStrategy.prototype.loadViewFactory = function (viewEngine, compileInstruction, loadContext, target) {\r\n        var _this = this;\r\n        if (this.factoryIsReady) {\r\n            return Promise.resolve(this.factory);\r\n        }\r\n        var $deps = this.dependencies;\r\n        var deps = typeof $deps === 'function' ? $deps() : $deps;\r\n        deps = deps ? deps : [];\r\n        deps = Array.isArray(deps) ? deps : [deps];\r\n        return Promise.all(deps).then(function (dependencies) {\r\n            var container = viewEngine.container;\r\n            var appResources = viewEngine.appResources;\r\n            var viewCompiler = viewEngine.viewCompiler;\r\n            var viewResources = new ViewResources(appResources);\r\n            var resource;\r\n            var elDeps = [];\r\n            if (target) {\r\n                viewResources.autoRegister(container, target);\r\n            }\r\n            for (var _i = 0, dependencies_1 = dependencies; _i < dependencies_1.length; _i++) {\r\n                var dep = dependencies_1[_i];\r\n                if (typeof dep === 'function') {\r\n                    resource = viewResources.autoRegister(container, dep);\r\n                    if (resource.elementName !== null) {\r\n                        elDeps.push(resource);\r\n                    }\r\n                }\r\n                else if (dep && typeof dep === 'object') {\r\n                    for (var key in dep) {\r\n                        var exported = dep[key];\r\n                        if (typeof exported === 'function') {\r\n                            resource = viewResources.autoRegister(container, exported);\r\n                            if (resource.elementName !== null) {\r\n                                elDeps.push(resource);\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                else {\r\n                    throw new Error(\"dependency neither function nor object. Received: \\\"\".concat(typeof dep, \"\\\"\"));\r\n                }\r\n            }\r\n            return Promise.all(elDeps.map(function (el) { return el.load(container, el.target); })).then(function () {\r\n                var factory = _this.template !== null\r\n                    ? viewCompiler.compile(_this.template, viewResources, compileInstruction)\r\n                    : null;\r\n                _this.factoryIsReady = true;\r\n                _this.factory = factory;\r\n                return factory;\r\n            });\r\n        });\r\n    };\r\n    StaticViewStrategy = __decorate([\r\n        viewStrategy()\r\n    ], StaticViewStrategy);\r\n    return StaticViewStrategy;\r\n}());\n\nfunction remove(viewSlot, previous) {\r\n    return Array.isArray(previous)\r\n        ? viewSlot.removeMany(previous, true)\r\n        : viewSlot.remove(previous, true);\r\n}\r\nvar SwapStrategies = {\r\n    before: function (viewSlot, previous, callback) {\r\n        return (previous === undefined)\r\n            ? callback()\r\n            : callback().then(function () { return remove(viewSlot, previous); });\r\n    },\r\n    with: function (viewSlot, previous, callback) {\r\n        return (previous === undefined)\r\n            ? callback()\r\n            : Promise.all([remove(viewSlot, previous), callback()]);\r\n    },\r\n    after: function (viewSlot, previous, callback) {\r\n        return Promise.resolve(viewSlot.removeAll(true)).then(callback);\r\n    }\r\n};\n\nfunction tryActivateViewModel(context) {\r\n    if (context.skipActivation || typeof context.viewModel.activate !== 'function') {\r\n        return Promise.resolve();\r\n    }\r\n    return context.viewModel.activate(context.model) || Promise.resolve();\r\n}\r\nvar CompositionEngine = (function () {\r\n    function CompositionEngine(viewEngine, viewLocator) {\r\n        this.viewEngine = viewEngine;\r\n        this.viewLocator = viewLocator;\r\n    }\r\n    CompositionEngine.prototype._swap = function (context, view) {\r\n        var swapStrategy = SwapStrategies[context.swapOrder] || SwapStrategies.after;\r\n        var previousViews = context.viewSlot.children.slice();\r\n        return swapStrategy(context.viewSlot, previousViews, function () {\r\n            return Promise.resolve(context.viewSlot.add(view)).then(function () {\r\n                if (context.currentController) {\r\n                    context.currentController.unbind();\r\n                }\r\n            });\r\n        }).then(function () {\r\n            if (context.compositionTransactionNotifier) {\r\n                context.compositionTransactionNotifier.done();\r\n            }\r\n        });\r\n    };\r\n    CompositionEngine.prototype._createControllerAndSwap = function (context) {\r\n        var _this = this;\r\n        return this.createController(context).then(function (controller) {\r\n            if (context.compositionTransactionOwnershipToken) {\r\n                return context.compositionTransactionOwnershipToken\r\n                    .waitForCompositionComplete()\r\n                    .then(function () {\r\n                    controller.automate(context.overrideContext, context.owningView);\r\n                    return _this._swap(context, controller.view);\r\n                })\r\n                    .then(function () { return controller; });\r\n            }\r\n            controller.automate(context.overrideContext, context.owningView);\r\n            return _this._swap(context, controller.view).then(function () { return controller; });\r\n        });\r\n    };\r\n    CompositionEngine.prototype.createController = function (context) {\r\n        var _this = this;\r\n        var childContainer;\r\n        var viewModel;\r\n        var viewModelResource;\r\n        var m;\r\n        return this\r\n            .ensureViewModel(context)\r\n            .then(tryActivateViewModel)\r\n            .then(function () {\r\n            childContainer = context.childContainer;\r\n            viewModel = context.viewModel;\r\n            viewModelResource = context.viewModelResource;\r\n            m = viewModelResource.metadata;\r\n            var viewStrategy = _this.viewLocator.getViewStrategy(context.view || viewModel);\r\n            if (context.viewResources) {\r\n                viewStrategy.makeRelativeTo(context.viewResources.viewUrl);\r\n            }\r\n            return m.load(childContainer, viewModelResource.value, null, viewStrategy, true);\r\n        }).then(function (viewFactory) { return m.create(childContainer, BehaviorInstruction.dynamic(context.host, viewModel, viewFactory)); });\r\n    };\r\n    CompositionEngine.prototype.ensureViewModel = function (context) {\r\n        var childContainer = context.childContainer = (context.childContainer || context.container.createChild());\r\n        if (typeof context.viewModel === 'string') {\r\n            context.viewModel = context.viewResources\r\n                ? context.viewResources.relativeToView(context.viewModel)\r\n                : context.viewModel;\r\n            return this.viewEngine.importViewModelResource(context.viewModel).then(function (viewModelResource) {\r\n                childContainer.autoRegister(viewModelResource.value);\r\n                if (context.host) {\r\n                    childContainer.registerInstance(DOM.Element, context.host);\r\n                }\r\n                context.viewModel = childContainer.viewModel = childContainer.get(viewModelResource.value);\r\n                context.viewModelResource = viewModelResource;\r\n                return context;\r\n            });\r\n        }\r\n        var ctor = context.viewModel.constructor;\r\n        var isClass = typeof context.viewModel === 'function';\r\n        if (isClass) {\r\n            ctor = context.viewModel;\r\n            childContainer.autoRegister(ctor);\r\n        }\r\n        var m = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, ctor);\r\n        m.elementName = m.elementName || 'dynamic-element';\r\n        m.initialize(isClass ? childContainer : (context.container || childContainer), ctor);\r\n        context.viewModelResource = { metadata: m, value: ctor };\r\n        if (context.host) {\r\n            childContainer.registerInstance(DOM.Element, context.host);\r\n        }\r\n        childContainer.viewModel = context.viewModel = isClass ? childContainer.get(ctor) : context.viewModel;\r\n        return Promise.resolve(context);\r\n    };\r\n    CompositionEngine.prototype.compose = function (context) {\r\n        var _this = this;\r\n        context.childContainer = context.childContainer || context.container.createChild();\r\n        context.view = this.viewLocator.getViewStrategy(context.view);\r\n        var transaction = context.childContainer.get(CompositionTransaction);\r\n        var compositionTransactionOwnershipToken = transaction.tryCapture();\r\n        if (compositionTransactionOwnershipToken) {\r\n            context.compositionTransactionOwnershipToken = compositionTransactionOwnershipToken;\r\n        }\r\n        else {\r\n            context.compositionTransactionNotifier = transaction.enlist();\r\n        }\r\n        if (context.viewModel) {\r\n            return this._createControllerAndSwap(context);\r\n        }\r\n        else if (context.view) {\r\n            if (context.viewResources) {\r\n                context.view.makeRelativeTo(context.viewResources.viewUrl);\r\n            }\r\n            return context.view.loadViewFactory(this.viewEngine, new ViewCompileInstruction()).then(function (viewFactory) {\r\n                var result = viewFactory.create(context.childContainer);\r\n                result.bind(context.bindingContext, context.overrideContext);\r\n                if (context.compositionTransactionOwnershipToken) {\r\n                    return context.compositionTransactionOwnershipToken.waitForCompositionComplete()\r\n                        .then(function () { return _this._swap(context, result); })\r\n                        .then(function () { return result; });\r\n                }\r\n                return _this._swap(context, result).then(function () { return result; });\r\n            });\r\n        }\r\n        else if (context.viewSlot) {\r\n            context.viewSlot.removeAll();\r\n            if (context.compositionTransactionNotifier) {\r\n                context.compositionTransactionNotifier.done();\r\n            }\r\n            return Promise.resolve(null);\r\n        }\r\n        return Promise.resolve(null);\r\n    };\r\n    CompositionEngine = __decorate([\r\n        inject(ViewEngine, ViewLocator)\r\n    ], CompositionEngine);\r\n    return CompositionEngine;\r\n}());\n\nvar animationEvent = {\r\n    enterBegin: 'animation:enter:begin',\r\n    enterActive: 'animation:enter:active',\r\n    enterDone: 'animation:enter:done',\r\n    enterTimeout: 'animation:enter:timeout',\r\n    leaveBegin: 'animation:leave:begin',\r\n    leaveActive: 'animation:leave:active',\r\n    leaveDone: 'animation:leave:done',\r\n    leaveTimeout: 'animation:leave:timeout',\r\n    staggerNext: 'animation:stagger:next',\r\n    removeClassBegin: 'animation:remove-class:begin',\r\n    removeClassActive: 'animation:remove-class:active',\r\n    removeClassDone: 'animation:remove-class:done',\r\n    removeClassTimeout: 'animation:remove-class:timeout',\r\n    addClassBegin: 'animation:add-class:begin',\r\n    addClassActive: 'animation:add-class:active',\r\n    addClassDone: 'animation:add-class:done',\r\n    addClassTimeout: 'animation:add-class:timeout',\r\n    animateBegin: 'animation:animate:begin',\r\n    animateActive: 'animation:animate:active',\r\n    animateDone: 'animation:animate:done',\r\n    animateTimeout: 'animation:animate:timeout',\r\n    sequenceBegin: 'animation:sequence:begin',\r\n    sequenceDone: 'animation:sequence:done'\r\n};\n\nfunction createChildObserverDecorator(selectorOrConfig, all) {\r\n    return function (target, key, descriptor) {\r\n        var actualTarget = typeof key === 'string' ? target.constructor : target;\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, actualTarget);\r\n        if (typeof selectorOrConfig === 'string') {\r\n            selectorOrConfig = {\r\n                selector: selectorOrConfig,\r\n                name: key\r\n            };\r\n        }\r\n        if (descriptor) {\r\n            descriptor.writable = true;\r\n            descriptor.configurable = true;\r\n        }\r\n        selectorOrConfig.all = all;\r\n        r.addChildBinding(new ChildObserver(selectorOrConfig));\r\n    };\r\n}\r\nfunction children(selectorOrConfig) {\r\n    return createChildObserverDecorator(selectorOrConfig, true);\r\n}\r\nfunction child(selectorOrConfig) {\r\n    return createChildObserverDecorator(selectorOrConfig, false);\r\n}\r\nvar ChildObserver = (function () {\r\n    function ChildObserver(config) {\r\n        this.name = config.name;\r\n        this.changeHandler = config.changeHandler || this.name + 'Changed';\r\n        this.selector = config.selector;\r\n        this.all = config.all;\r\n    }\r\n    ChildObserver.prototype.create = function (viewHost, viewModel, controller) {\r\n        return new ChildObserverBinder(this.selector, viewHost, this.name, viewModel, controller, this.changeHandler, this.all);\r\n    };\r\n    return ChildObserver;\r\n}());\r\nvar noMutations = [];\r\nfunction trackMutation(groupedMutations, binder, record) {\r\n    var mutations = groupedMutations.get(binder);\r\n    if (!mutations) {\r\n        mutations = [];\r\n        groupedMutations.set(binder, mutations);\r\n    }\r\n    mutations.push(record);\r\n}\r\nfunction onChildChange(mutations, observer) {\r\n    var binders = observer.binders;\r\n    var bindersLength = binders.length;\r\n    var groupedMutations = new Map();\r\n    for (var i = 0, ii = mutations.length; i < ii; ++i) {\r\n        var record = mutations[i];\r\n        var added = record.addedNodes;\r\n        var removed = record.removedNodes;\r\n        for (var j = 0, jj = removed.length; j < jj; ++j) {\r\n            var node = removed[j];\r\n            if (node.nodeType === 1) {\r\n                for (var k = 0; k < bindersLength; ++k) {\r\n                    var binder = binders[k];\r\n                    if (binder.onRemove(node)) {\r\n                        trackMutation(groupedMutations, binder, record);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        for (var j = 0, jj = added.length; j < jj; ++j) {\r\n            var node = added[j];\r\n            if (node.nodeType === 1) {\r\n                for (var k = 0; k < bindersLength; ++k) {\r\n                    var binder = binders[k];\r\n                    if (binder.onAdd(node)) {\r\n                        trackMutation(groupedMutations, binder, record);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n    groupedMutations.forEach(function (mutationRecords, binder) {\r\n        if (binder.isBound && binder.changeHandler !== null) {\r\n            binder.viewModel[binder.changeHandler](mutationRecords);\r\n        }\r\n    });\r\n}\r\nvar ChildObserverBinder = (function () {\r\n    function ChildObserverBinder(selector, viewHost, property, viewModel, controller, changeHandler, all) {\r\n        this.selector = selector;\r\n        this.viewHost = viewHost;\r\n        this.property = property;\r\n        this.viewModel = viewModel;\r\n        this.controller = controller;\r\n        this.changeHandler = changeHandler in viewModel ? changeHandler : null;\r\n        this.usesShadowDOM = controller.behavior.usesShadowDOM;\r\n        this.all = all;\r\n        if (!this.usesShadowDOM && controller.view && controller.view.contentView) {\r\n            this.contentView = controller.view.contentView;\r\n        }\r\n        else {\r\n            this.contentView = null;\r\n        }\r\n        this.source = null;\r\n        this.isBound = false;\r\n    }\r\n    ChildObserverBinder.prototype.matches = function (element) {\r\n        if (element.matches(this.selector)) {\r\n            if (this.contentView === null) {\r\n                return true;\r\n            }\r\n            var contentView = this.contentView;\r\n            var assignedSlot = element.auAssignedSlot;\r\n            if (assignedSlot && assignedSlot.projectFromAnchors) {\r\n                var anchors = assignedSlot.projectFromAnchors;\r\n                for (var i = 0, ii = anchors.length; i < ii; ++i) {\r\n                    if (anchors[i].auOwnerView === contentView) {\r\n                        return true;\r\n                    }\r\n                }\r\n                return false;\r\n            }\r\n            return element.auOwnerView === contentView;\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.bind = function (source) {\r\n        if (this.isBound) {\r\n            if (this.source === source) {\r\n                return;\r\n            }\r\n            this.source = source;\r\n        }\r\n        this.isBound = true;\r\n        var viewHost = this.viewHost;\r\n        var viewModel = this.viewModel;\r\n        var observer = viewHost.__childObserver__;\r\n        if (!observer) {\r\n            observer = viewHost.__childObserver__ = DOM.createMutationObserver(onChildChange);\r\n            var options = {\r\n                childList: true,\r\n                subtree: !this.usesShadowDOM\r\n            };\r\n            observer.observe(viewHost, options);\r\n            observer.binders = [];\r\n        }\r\n        observer.binders.push(this);\r\n        if (this.usesShadowDOM) {\r\n            var current = viewHost.firstElementChild;\r\n            if (this.all) {\r\n                var items = viewModel[this.property];\r\n                if (!items) {\r\n                    items = viewModel[this.property] = [];\r\n                }\r\n                else {\r\n                    items.splice(0);\r\n                }\r\n                while (current) {\r\n                    if (this.matches(current)) {\r\n                        items.push(current.au && current.au.controller ? current.au.controller.viewModel : current);\r\n                    }\r\n                    current = current.nextElementSibling;\r\n                }\r\n                if (this.changeHandler !== null) {\r\n                    this.viewModel[this.changeHandler](noMutations);\r\n                }\r\n            }\r\n            else {\r\n                while (current) {\r\n                    if (this.matches(current)) {\r\n                        var value = current.au && current.au.controller ? current.au.controller.viewModel : current;\r\n                        this.viewModel[this.property] = value;\r\n                        if (this.changeHandler !== null) {\r\n                            this.viewModel[this.changeHandler](value);\r\n                        }\r\n                        break;\r\n                    }\r\n                    current = current.nextElementSibling;\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ChildObserverBinder.prototype.onRemove = function (element) {\r\n        if (this.matches(element)) {\r\n            var value = element.au && element.au.controller ? element.au.controller.viewModel : element;\r\n            if (this.all) {\r\n                var items = (this.viewModel[this.property] || (this.viewModel[this.property] = []));\r\n                var index = items.indexOf(value);\r\n                if (index !== -1) {\r\n                    items.splice(index, 1);\r\n                }\r\n                return true;\r\n            }\r\n            var currentValue = this.viewModel[this.property];\r\n            if (currentValue === value) {\r\n                this.viewModel[this.property] = null;\r\n                if (this.isBound && this.changeHandler !== null) {\r\n                    this.viewModel[this.changeHandler](value);\r\n                }\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.onAdd = function (element) {\r\n        if (this.matches(element)) {\r\n            var value = element.au && element.au.controller ? element.au.controller.viewModel : element;\r\n            if (this.all) {\r\n                var items = (this.viewModel[this.property] || (this.viewModel[this.property] = []));\r\n                if (this.selector === '*') {\r\n                    items.push(value);\r\n                    return true;\r\n                }\r\n                var index = 0;\r\n                var prev = element.previousElementSibling;\r\n                while (prev) {\r\n                    if (this.matches(prev)) {\r\n                        index++;\r\n                    }\r\n                    prev = prev.previousElementSibling;\r\n                }\r\n                items.splice(index, 0, value);\r\n                return true;\r\n            }\r\n            this.viewModel[this.property] = value;\r\n            if (this.isBound && this.changeHandler !== null) {\r\n                this.viewModel[this.changeHandler](value);\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    ChildObserverBinder.prototype.unbind = function () {\r\n        if (!this.isBound) {\r\n            return;\r\n        }\r\n        this.isBound = false;\r\n        this.source = null;\r\n        var childObserver = this.viewHost.__childObserver__;\r\n        if (childObserver) {\r\n            var binders = childObserver.binders;\r\n            if (binders && binders.length) {\r\n                var idx = binders.indexOf(this);\r\n                if (idx !== -1) {\r\n                    binders.splice(idx, 1);\r\n                }\r\n                if (binders.length === 0) {\r\n                    childObserver.disconnect();\r\n                    this.viewHost.__childObserver__ = null;\r\n                }\r\n            }\r\n            if (this.usesShadowDOM) {\r\n                this.viewModel[this.property] = null;\r\n            }\r\n        }\r\n    };\r\n    return ChildObserverBinder;\r\n}());\n\nvar ElementConfigResource = (function () {\r\n    function ElementConfigResource() {\r\n    }\r\n    ElementConfigResource.prototype.initialize = function (container, target) { };\r\n    ElementConfigResource.prototype.register = function (registry, name) { };\r\n    ElementConfigResource.prototype.load = function (container, target) {\r\n        var config = new target();\r\n        var eventManager = container.get(EventManager);\r\n        eventManager.registerElementConfig(config);\r\n    };\r\n    return ElementConfigResource;\r\n}());\n\nfunction resource(instanceOrConfig) {\r\n    return function (target) {\r\n        var isConfig = typeof instanceOrConfig === 'string' || Object.getPrototypeOf(instanceOrConfig) === Object.prototype;\r\n        if (isConfig) {\r\n            target.$resource = instanceOrConfig;\r\n        }\r\n        else {\r\n            metadata.define(metadata.resource, instanceOrConfig, target);\r\n        }\r\n    };\r\n}\r\nfunction behavior(override) {\r\n    return function (target) {\r\n        if (override instanceof HtmlBehaviorResource) {\r\n            metadata.define(metadata.resource, override, target);\r\n        }\r\n        else {\r\n            var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n            Object.assign(r, override);\r\n        }\r\n    };\r\n}\r\nfunction customElement(name) {\r\n    return function (target) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n        r.elementName = validateBehaviorName(name, 'custom element');\r\n    };\r\n}\r\nfunction customAttribute(name, defaultBindingMode, aliases) {\r\n    return function (target) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, target);\r\n        r.attributeName = validateBehaviorName(name, 'custom attribute');\r\n        r.attributeDefaultBindingMode = defaultBindingMode;\r\n        r.aliases = aliases;\r\n    };\r\n}\r\nfunction templateController(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.liftsContent = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction bindable(nameOrConfigOrTarget, key, descriptor) {\r\n    var deco = function (target, key2, descriptor2) {\r\n        var actualTarget = key2 ? target.constructor : target;\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, actualTarget);\r\n        var prop;\r\n        if (key2) {\r\n            nameOrConfigOrTarget = nameOrConfigOrTarget || {};\r\n            nameOrConfigOrTarget.name = key2;\r\n        }\r\n        prop = new BindableProperty(nameOrConfigOrTarget);\r\n        return prop.registerWith(actualTarget, r, descriptor2);\r\n    };\r\n    if (!nameOrConfigOrTarget) {\r\n        return deco;\r\n    }\r\n    if (key) {\r\n        var target = nameOrConfigOrTarget;\r\n        nameOrConfigOrTarget = null;\r\n        return deco(target, key, descriptor);\r\n    }\r\n    return deco;\r\n}\r\nfunction dynamicOptions(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.hasDynamicOptions = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nvar defaultShadowDOMOptions = { mode: 'open' };\r\nfunction useShadowDOM(targetOrOptions) {\r\n    var options = typeof targetOrOptions === 'function' || !targetOrOptions\r\n        ? defaultShadowDOMOptions\r\n        : targetOrOptions;\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.targetShadowDOM = true;\r\n        r.shadowDOMOptions = options;\r\n    };\r\n    return typeof targetOrOptions === 'function' ? deco(targetOrOptions) : deco;\r\n}\r\nfunction processAttributes(processor) {\r\n    return function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.processAttributes = function (compiler, resources, node, attributes, elementInstruction) {\r\n            try {\r\n                processor(compiler, resources, node, attributes, elementInstruction);\r\n            }\r\n            catch (error) {\r\n                LogManager.getLogger('templating').error(error);\r\n            }\r\n        };\r\n    };\r\n}\r\nfunction doNotProcessContent() { return false; }\r\nfunction processContent(processor) {\r\n    return function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.processContent = processor ? function (compiler, resources, node, instruction) {\r\n            try {\r\n                return processor(compiler, resources, node, instruction);\r\n            }\r\n            catch (error) {\r\n                LogManager.getLogger('templating').error(error);\r\n                return false;\r\n            }\r\n        } : doNotProcessContent;\r\n    };\r\n}\r\nfunction containerless(target) {\r\n    var deco = function (t) {\r\n        var r = metadata.getOrCreateOwn(metadata.resource, HtmlBehaviorResource, t);\r\n        r.containerless = true;\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction useViewStrategy(strategy) {\r\n    return function (target) {\r\n        metadata.define(ViewLocator.viewStrategyMetadataKey, strategy, target);\r\n    };\r\n}\r\nfunction useView(path) {\r\n    return useViewStrategy(new RelativeViewStrategy(path));\r\n}\r\nfunction inlineView(markup, dependencies, dependencyBaseUrl) {\r\n    return useViewStrategy(new InlineViewStrategy(markup, dependencies, dependencyBaseUrl));\r\n}\r\nfunction noView(targetOrDependencies, dependencyBaseUrl) {\r\n    var target;\r\n    var dependencies;\r\n    if (typeof targetOrDependencies === 'function') {\r\n        target = targetOrDependencies;\r\n    }\r\n    else {\r\n        dependencies = targetOrDependencies;\r\n        target = undefined;\r\n    }\r\n    var deco = function (t) {\r\n        metadata.define(ViewLocator.viewStrategyMetadataKey, new NoViewStrategy(dependencies, dependencyBaseUrl), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction view(templateOrConfig) {\r\n    return function (target) {\r\n        target.$view = templateOrConfig;\r\n    };\r\n}\r\nfunction elementConfig(target) {\r\n    var deco = function (t) {\r\n        metadata.define(metadata.resource, new ElementConfigResource(), t);\r\n    };\r\n    return target ? deco(target) : deco;\r\n}\r\nfunction viewResources() {\r\n    var resources = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        resources[_i] = arguments[_i];\r\n    }\r\n    return function (target) {\r\n        metadata.define(ViewEngine.viewModelRequireMetadataKey, resources, target);\r\n    };\r\n}\n\nvar TemplatingEngine = (function () {\r\n    function TemplatingEngine(container, moduleAnalyzer, viewCompiler, compositionEngine) {\r\n        this._container = container;\r\n        this._moduleAnalyzer = moduleAnalyzer;\r\n        this._viewCompiler = viewCompiler;\r\n        this._compositionEngine = compositionEngine;\r\n        container.registerInstance(Animator, Animator.instance = new Animator());\r\n    }\r\n    TemplatingEngine.prototype.configureAnimator = function (animator) {\r\n        this._container.unregister(Animator);\r\n        this._container.registerInstance(Animator, Animator.instance = animator);\r\n    };\r\n    TemplatingEngine.prototype.compose = function (context) {\r\n        return this._compositionEngine.compose(context);\r\n    };\r\n    TemplatingEngine.prototype.enhance = function (instruction) {\r\n        if (instruction instanceof DOM.Element) {\r\n            instruction = { element: instruction };\r\n        }\r\n        var compilerInstructions = { letExpressions: [] };\r\n        var resources = instruction.resources || this._container.get(ViewResources);\r\n        this._viewCompiler._compileNode(instruction.element, resources, compilerInstructions, instruction.element.parentNode, 'root', true);\r\n        var factory = new ViewFactory(instruction.element, compilerInstructions, resources);\r\n        var container = instruction.container || this._container.createChild();\r\n        var view = factory.create(container, BehaviorInstruction.enhance());\r\n        view.bind(instruction.bindingContext || {}, instruction.overrideContext);\r\n        view.firstChild = view.lastChild = view.fragment;\r\n        view.fragment = DOM.createDocumentFragment();\r\n        view.attached();\r\n        return view;\r\n    };\r\n    TemplatingEngine.inject = [Container, ModuleAnalyzer, ViewCompiler, CompositionEngine];\r\n    return TemplatingEngine;\r\n}());\n\nexport { Animator, BehaviorInstruction, BehaviorPropertyObserver, BindableProperty, BindingLanguage, BoundViewFactory, CompositionEngine, CompositionTransaction, CompositionTransactionNotifier, CompositionTransactionOwnershipToken, Controller, ConventionalViewStrategy, ElementConfigResource, ElementEvents, HtmlBehaviorResource, InlineViewStrategy, ModuleAnalyzer, NoViewStrategy, PassThroughSlot, RelativeViewStrategy, ResourceDescription, ResourceLoadContext, ResourceModule, ShadowDOM, ShadowSlot, SlotCustomAttribute, StaticViewStrategy, SwapStrategies, TargetInstruction, TemplateRegistryViewStrategy, TemplatingEngine, View, ViewCompileInstruction, ViewCompiler, ViewEngine, ViewEngineHooksResource, ViewFactory, ViewLocator, ViewResources, ViewSlot, _hyphenate, _isAllWhitespace, animationEvent, behavior, bindable, child, children, containerless, customAttribute, customElement, dynamicOptions, elementConfig, inlineView, noView, processAttributes, processContent, resource, templateController, useShadowDOM, useView, useViewStrategy, validateBehaviorName, view, viewEngineHooks, viewResources, viewStrategy };\n//# sourceMappingURL=aurelia-templating.js.map\n","import { LiteralString, Binary, Conditional, LiteralPrimitive, CallMember, AccessMember, AccessScope, AccessKeyed, BindingBehavior, ValueConverter, getContextFor, Parser, bindingBehavior, bindingMode } from 'aurelia-binding';\nimport { BindingLanguage, ViewResources, customAttribute, bindable } from 'aurelia-templating';\nimport { getLogger } from 'aurelia-logging';\nimport { DOM } from 'aurelia-pal';\nimport { Optional, Lazy } from 'aurelia-dependency-injection';\nimport { TaskQueue } from 'aurelia-task-queue';\n\n/**\r\n * Validates objects and properties.\r\n */\r\nvar Validator = /** @class */ (function () {\r\n    function Validator() {\r\n    }\r\n    return Validator;\r\n}());\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\n\n/**\r\n * The result of validating an individual validation rule.\r\n */\r\nvar ValidateResult = /** @class */ (function () {\r\n    /**\r\n     * @param rule The rule associated with the result. Validator implementation specific.\r\n     * @param object The object that was validated.\r\n     * @param propertyName The name of the property that was validated.\r\n     * @param error The error, if the result is a validation error.\r\n     */\r\n    function ValidateResult(rule, object, propertyName, valid, message) {\r\n        if (message === void 0) { message = null; }\r\n        this.rule = rule;\r\n        this.object = object;\r\n        this.propertyName = propertyName;\r\n        this.valid = valid;\r\n        this.message = message;\r\n        this.id = ValidateResult.nextId++;\r\n    }\r\n    ValidateResult.prototype.toString = function () {\r\n        return this.valid ? 'Valid.' : this.message;\r\n    };\r\n    ValidateResult.nextId = 0;\r\n    return ValidateResult;\r\n}());\n\n/**\r\n * Sets, unsets and retrieves rules on an object or constructor function.\r\n */\r\nvar Rules = /** @class */ (function () {\r\n    function Rules() {\r\n    }\r\n    /**\r\n     * Applies the rules to a target.\r\n     */\r\n    Rules.set = function (target, rules) {\r\n        if (target instanceof Function) {\r\n            target = target.prototype;\r\n        }\r\n        Object.defineProperty(target, Rules.key, { enumerable: false, configurable: false, writable: true, value: rules });\r\n    };\r\n    /**\r\n     * Removes rules from a target.\r\n     */\r\n    Rules.unset = function (target) {\r\n        if (target instanceof Function) {\r\n            target = target.prototype;\r\n        }\r\n        target[Rules.key] = null;\r\n    };\r\n    /**\r\n     * Retrieves the target's rules.\r\n     */\r\n    Rules.get = function (target) {\r\n        return target[Rules.key] || null;\r\n    };\r\n    /**\r\n     * The name of the property that stores the rules.\r\n     */\r\n    Rules.key = '__rules__';\r\n    return Rules;\r\n}());\n\n// tslint:disable:no-empty\r\nvar ExpressionVisitor = /** @class */ (function () {\r\n    function ExpressionVisitor() {\r\n    }\r\n    ExpressionVisitor.prototype.visitChain = function (chain) {\r\n        this.visitArgs(chain.expressions);\r\n    };\r\n    ExpressionVisitor.prototype.visitBindingBehavior = function (behavior) {\r\n        behavior.expression.accept(this);\r\n        this.visitArgs(behavior.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitValueConverter = function (converter) {\r\n        converter.expression.accept(this);\r\n        this.visitArgs(converter.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitAssign = function (assign) {\r\n        assign.target.accept(this);\r\n        assign.value.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitConditional = function (conditional) {\r\n        conditional.condition.accept(this);\r\n        conditional.yes.accept(this);\r\n        conditional.no.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessThis = function (access) {\r\n        access.ancestor = access.ancestor;\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessScope = function (access) {\r\n        access.name = access.name;\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessMember = function (access) {\r\n        access.object.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitAccessKeyed = function (access) {\r\n        access.object.accept(this);\r\n        access.key.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallScope = function (call) {\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallFunction = function (call) {\r\n        call.func.accept(this);\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitCallMember = function (call) {\r\n        call.object.accept(this);\r\n        this.visitArgs(call.args);\r\n    };\r\n    ExpressionVisitor.prototype.visitPrefix = function (prefix) {\r\n        prefix.expression.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitBinary = function (binary) {\r\n        binary.left.accept(this);\r\n        binary.right.accept(this);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralPrimitive = function (literal) {\r\n        literal.value = literal.value;\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralArray = function (literal) {\r\n        this.visitArgs(literal.elements);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralObject = function (literal) {\r\n        this.visitArgs(literal.values);\r\n    };\r\n    ExpressionVisitor.prototype.visitLiteralString = function (literal) {\r\n        literal.value = literal.value;\r\n    };\r\n    ExpressionVisitor.prototype.visitArgs = function (args) {\r\n        for (var i = 0; i < args.length; i++) {\r\n            args[i].accept(this);\r\n        }\r\n    };\r\n    return ExpressionVisitor;\r\n}());\n\nvar ValidationMessageParser = /** @class */ (function () {\r\n    function ValidationMessageParser(bindinqLanguage) {\r\n        this.bindinqLanguage = bindinqLanguage;\r\n        this.emptyStringExpression = new LiteralString('');\r\n        this.nullExpression = new LiteralPrimitive(null);\r\n        this.undefinedExpression = new LiteralPrimitive(undefined);\r\n        this.cache = {};\r\n    }\r\n    ValidationMessageParser.prototype.parse = function (message) {\r\n        if (this.cache[message] !== undefined) {\r\n            return this.cache[message];\r\n        }\r\n        var parts = this.bindinqLanguage.parseInterpolation(null, message);\r\n        if (parts === null) {\r\n            return new LiteralString(message);\r\n        }\r\n        var expression = new LiteralString(parts[0]);\r\n        for (var i = 1; i < parts.length; i += 2) {\r\n            expression = new Binary('+', expression, new Binary('+', this.coalesce(parts[i]), new LiteralString(parts[i + 1])));\r\n        }\r\n        MessageExpressionValidator.validate(expression, message);\r\n        this.cache[message] = expression;\r\n        return expression;\r\n    };\r\n    ValidationMessageParser.prototype.coalesce = function (part) {\r\n        // part === null || part === undefined ? '' : part\r\n        return new Conditional(new Binary('||', new Binary('===', part, this.nullExpression), new Binary('===', part, this.undefinedExpression)), this.emptyStringExpression, new CallMember(part, 'toString', []));\r\n    };\r\n    ValidationMessageParser.inject = [BindingLanguage];\r\n    return ValidationMessageParser;\r\n}());\r\nvar MessageExpressionValidator = /** @class */ (function (_super) {\r\n    __extends(MessageExpressionValidator, _super);\r\n    function MessageExpressionValidator(originalMessage) {\r\n        var _this = _super.call(this) || this;\r\n        _this.originalMessage = originalMessage;\r\n        return _this;\r\n    }\r\n    MessageExpressionValidator.validate = function (expression, originalMessage) {\r\n        var visitor = new MessageExpressionValidator(originalMessage);\r\n        expression.accept(visitor);\r\n    };\r\n    MessageExpressionValidator.prototype.visitAccessScope = function (access) {\r\n        if (access.ancestor !== 0) {\r\n            throw new Error('$parent is not permitted in validation message expressions.');\r\n        }\r\n        if (['displayName', 'propertyName', 'value', 'object', 'config', 'getDisplayName'].indexOf(access.name) !== -1) {\r\n            getLogger('aurelia-validation')\r\n                // tslint:disable-next-line:max-line-length\r\n                .warn(\"Did you mean to use \\\"$\" + access.name + \"\\\" instead of \\\"\" + access.name + \"\\\" in this validation message template: \\\"\" + this.originalMessage + \"\\\"?\");\r\n        }\r\n    };\r\n    return MessageExpressionValidator;\r\n}(ExpressionVisitor));\n\n/**\r\n * Dictionary of validation messages. [messageKey]: messageExpression\r\n */\r\nvar validationMessages = {\r\n    /**\r\n     * The default validation message. Used with rules that have no standard message.\r\n     */\r\n    default: \"${$displayName} is invalid.\",\r\n    required: \"${$displayName} is required.\",\r\n    matches: \"${$displayName} is not correctly formatted.\",\r\n    email: \"${$displayName} is not a valid email.\",\r\n    minLength: \"${$displayName} must be at least ${$config.length} character${$config.length === 1 ? '' : 's'}.\",\r\n    maxLength: \"${$displayName} cannot be longer than ${$config.length} character${$config.length === 1 ? '' : 's'}.\",\r\n    minItems: \"${$displayName} must contain at least ${$config.count} item${$config.count === 1 ? '' : 's'}.\",\r\n    maxItems: \"${$displayName} cannot contain more than ${$config.count} item${$config.count === 1 ? '' : 's'}.\",\r\n    min: \"${$displayName} must be at least ${$config.constraint}.\",\r\n    max: \"${$displayName} must be at most ${$config.constraint}.\",\r\n    range: \"${$displayName} must be between or equal to ${$config.min} and ${$config.max}.\",\r\n    between: \"${$displayName} must be between but not equal to ${$config.min} and ${$config.max}.\",\r\n    equals: \"${$displayName} must be ${$config.expectedValue}.\",\r\n};\r\n/**\r\n * Retrieves validation messages and property display names.\r\n */\r\nvar ValidationMessageProvider = /** @class */ (function () {\r\n    function ValidationMessageProvider(parser) {\r\n        this.parser = parser;\r\n    }\r\n    /**\r\n     * Returns a message binding expression that corresponds to the key.\r\n     * @param key The message key.\r\n     */\r\n    ValidationMessageProvider.prototype.getMessage = function (key) {\r\n        var message;\r\n        if (key in validationMessages) {\r\n            message = validationMessages[key];\r\n        }\r\n        else {\r\n            message = validationMessages['default'];\r\n        }\r\n        return this.parser.parse(message);\r\n    };\r\n    /**\r\n     * Formulates a property display name using the property name and the configured\r\n     * displayName (if provided).\r\n     * Override this with your own custom logic.\r\n     * @param propertyName The property name.\r\n     */\r\n    ValidationMessageProvider.prototype.getDisplayName = function (propertyName, displayName) {\r\n        if (displayName !== null && displayName !== undefined) {\r\n            return (displayName instanceof Function) ? displayName() : displayName;\r\n        }\r\n        // split on upper-case letters.\r\n        var words = propertyName.toString().split(/(?=[A-Z])/).join(' ');\r\n        // capitalize first letter.\r\n        return words.charAt(0).toUpperCase() + words.slice(1);\r\n    };\r\n    ValidationMessageProvider.inject = [ValidationMessageParser];\r\n    return ValidationMessageProvider;\r\n}());\n\n/**\r\n * Validates.\r\n * Responsible for validating objects and properties.\r\n */\r\nvar StandardValidator = /** @class */ (function (_super) {\r\n    __extends(StandardValidator, _super);\r\n    function StandardValidator(messageProvider, resources) {\r\n        var _this = _super.call(this) || this;\r\n        _this.messageProvider = messageProvider;\r\n        _this.lookupFunctions = resources.lookupFunctions;\r\n        _this.getDisplayName = messageProvider.getDisplayName.bind(messageProvider);\r\n        return _this;\r\n    }\r\n    /**\r\n     * Validates the specified property.\r\n     * @param object The object to validate.\r\n     * @param propertyName The name of the property to validate.\r\n     * @param rules Optional. If unspecified, the rules will be looked up using the metadata\r\n     * for the object created by ValidationRules....on(class/object)\r\n     */\r\n    StandardValidator.prototype.validateProperty = function (object, propertyName, rules) {\r\n        return this.validate(object, propertyName, rules || null);\r\n    };\r\n    /**\r\n     * Validates all rules for specified object and it's properties.\r\n     * @param object The object to validate.\r\n     * @param rules Optional. If unspecified, the rules will be looked up using the metadata\r\n     * for the object created by ValidationRules....on(class/object)\r\n     */\r\n    StandardValidator.prototype.validateObject = function (object, rules) {\r\n        return this.validate(object, null, rules || null);\r\n    };\r\n    /**\r\n     * Determines whether a rule exists in a set of rules.\r\n     * @param rules The rules to search.\r\n     * @parem rule The rule to find.\r\n     */\r\n    StandardValidator.prototype.ruleExists = function (rules, rule) {\r\n        var i = rules.length;\r\n        while (i--) {\r\n            if (rules[i].indexOf(rule) !== -1) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    StandardValidator.prototype.getMessage = function (rule, object, value) {\r\n        var expression = rule.message || this.messageProvider.getMessage(rule.messageKey);\r\n        // tslint:disable-next-line:prefer-const\r\n        var _a = rule.property, propertyName = _a.name, displayName = _a.displayName;\r\n        if (propertyName !== null) {\r\n            displayName = this.messageProvider.getDisplayName(propertyName, displayName);\r\n        }\r\n        var overrideContext = {\r\n            $displayName: displayName,\r\n            $propertyName: propertyName,\r\n            $value: value,\r\n            $object: object,\r\n            $config: rule.config,\r\n            // returns the name of a given property, given just the property name (irrespective of the property's displayName)\r\n            // split on capital letters, first letter ensured to be capitalized\r\n            $getDisplayName: this.getDisplayName\r\n        };\r\n        return expression.evaluate({ bindingContext: object, overrideContext: overrideContext }, this.lookupFunctions);\r\n    };\r\n    StandardValidator.prototype.validateRuleSequence = function (object, propertyName, ruleSequence, sequence, results) {\r\n        var _this = this;\r\n        // are we validating all properties or a single property?\r\n        var validateAllProperties = propertyName === null || propertyName === undefined;\r\n        var rules = ruleSequence[sequence];\r\n        var allValid = true;\r\n        // validate each rule.\r\n        var promises = [];\r\n        var _loop_1 = function (i) {\r\n            var rule = rules[i];\r\n            // is the rule related to the property we're validating.\r\n            // tslint:disable-next-line:triple-equals | Use loose equality for property keys\r\n            if (!validateAllProperties && rule.property.name != propertyName) {\r\n                return \"continue\";\r\n            }\r\n            // is this a conditional rule? is the condition met?\r\n            if (rule.when && !rule.when(object)) {\r\n                return \"continue\";\r\n            }\r\n            // validate.\r\n            var value = rule.property.name === null ? object : object[rule.property.name];\r\n            var promiseOrBoolean = rule.condition(value, object);\r\n            if (!(promiseOrBoolean instanceof Promise)) {\r\n                promiseOrBoolean = Promise.resolve(promiseOrBoolean);\r\n            }\r\n            promises.push(promiseOrBoolean.then(function (valid) {\r\n                var message = valid ? null : _this.getMessage(rule, object, value);\r\n                results.push(new ValidateResult(rule, object, rule.property.name, valid, message));\r\n                allValid = allValid && valid;\r\n                return valid;\r\n            }));\r\n        };\r\n        for (var i = 0; i < rules.length; i++) {\r\n            _loop_1(i);\r\n        }\r\n        return Promise.all(promises)\r\n            .then(function () {\r\n            sequence++;\r\n            if (allValid && sequence < ruleSequence.length) {\r\n                return _this.validateRuleSequence(object, propertyName, ruleSequence, sequence, results);\r\n            }\r\n            return results;\r\n        });\r\n    };\r\n    StandardValidator.prototype.validate = function (object, propertyName, rules) {\r\n        // rules specified?\r\n        if (!rules) {\r\n            // no. attempt to locate the rules.\r\n            rules = Rules.get(object);\r\n        }\r\n        // any rules?\r\n        if (!rules || rules.length === 0) {\r\n            return Promise.resolve([]);\r\n        }\r\n        return this.validateRuleSequence(object, propertyName, rules, 0, []);\r\n    };\r\n    StandardValidator.inject = [ValidationMessageProvider, ViewResources];\r\n    return StandardValidator;\r\n}(Validator));\n\n/**\r\n * Validation triggers.\r\n */\r\nvar validateTrigger;\r\n(function (validateTrigger) {\r\n    /**\r\n     * Manual validation.  Use the controller's `validate()` and  `reset()` methods\r\n     * to validate all bindings.\r\n     */\r\n    validateTrigger[validateTrigger[\"manual\"] = 0] = \"manual\";\r\n    /**\r\n     * Validate the binding when the binding's target element fires a DOM \"blur\" event.\r\n     */\r\n    validateTrigger[validateTrigger[\"blur\"] = 1] = \"blur\";\r\n    /**\r\n     * Validate the binding when it updates the model due to a change in the view.\r\n     */\r\n    validateTrigger[validateTrigger[\"change\"] = 2] = \"change\";\r\n    /**\r\n     * Validate the binding when the binding's target element fires a DOM \"blur\" event and\r\n     * when it updates the model due to a change in the view.\r\n     */\r\n    validateTrigger[validateTrigger[\"changeOrBlur\"] = 3] = \"changeOrBlur\";\r\n})(validateTrigger || (validateTrigger = {}));\n\n/**\r\n * Aurelia Validation Configuration API\r\n */\r\nvar GlobalValidationConfiguration = /** @class */ (function () {\r\n    function GlobalValidationConfiguration() {\r\n        this.validatorType = StandardValidator;\r\n        this.validationTrigger = GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER;\r\n    }\r\n    /**\r\n     * Use a custom Validator implementation.\r\n     */\r\n    GlobalValidationConfiguration.prototype.customValidator = function (type) {\r\n        this.validatorType = type;\r\n        return this;\r\n    };\r\n    GlobalValidationConfiguration.prototype.defaultValidationTrigger = function (trigger) {\r\n        this.validationTrigger = trigger;\r\n        return this;\r\n    };\r\n    GlobalValidationConfiguration.prototype.getDefaultValidationTrigger = function () {\r\n        return this.validationTrigger;\r\n    };\r\n    /**\r\n     * Applies the configuration.\r\n     */\r\n    GlobalValidationConfiguration.prototype.apply = function (container) {\r\n        var validator = container.get(this.validatorType);\r\n        container.registerInstance(Validator, validator);\r\n        container.registerInstance(GlobalValidationConfiguration, this);\r\n    };\r\n    GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER = validateTrigger.blur;\r\n    return GlobalValidationConfiguration;\r\n}());\n\n/**\r\n * Gets the DOM element associated with the data-binding. Most of the time it's\r\n * the binding.target but sometimes binding.target is an aurelia custom element,\r\n * or custom attribute which is a javascript \"class\" instance, so we need to use\r\n * the controller's container to retrieve the actual DOM element.\r\n */\r\nfunction getTargetDOMElement(binding, view) {\r\n    var target = binding.target;\r\n    // DOM element\r\n    if (target instanceof Element) {\r\n        return target;\r\n    }\r\n    // custom element or custom attribute\r\n    // tslint:disable-next-line:prefer-const\r\n    for (var i = 0, ii = view.controllers.length; i < ii; i++) {\r\n        var controller = view.controllers[i];\r\n        if (controller.viewModel === target) {\r\n            var element = controller.container.get(DOM.Element);\r\n            if (element) {\r\n                return element;\r\n            }\r\n            throw new Error(\"Unable to locate target element for \\\"\" + binding.sourceExpression + \"\\\".\");\r\n        }\r\n    }\r\n    throw new Error(\"Unable to locate target element for \\\"\" + binding.sourceExpression + \"\\\".\");\r\n}\n\nfunction getObject(expression, objectExpression, source) {\r\n    var value = objectExpression.evaluate(source, null);\r\n    if (value === null || value === undefined || value instanceof Object) {\r\n        return value;\r\n    }\r\n    // tslint:disable-next-line:max-line-length\r\n    throw new Error(\"The '\" + objectExpression + \"' part of '\" + expression + \"' evaluates to \" + value + \" instead of an object, null or undefined.\");\r\n}\r\n/**\r\n * Retrieves the object and property name for the specified expression.\r\n * @param expression The expression\r\n * @param source The scope\r\n */\r\nfunction getPropertyInfo(expression, source) {\r\n    var originalExpression = expression;\r\n    while (expression instanceof BindingBehavior || expression instanceof ValueConverter) {\r\n        expression = expression.expression;\r\n    }\r\n    var object;\r\n    var propertyName;\r\n    if (expression instanceof AccessScope) {\r\n        object = getContextFor(expression.name, source, expression.ancestor);\r\n        propertyName = expression.name;\r\n    }\r\n    else if (expression instanceof AccessMember) {\r\n        object = getObject(originalExpression, expression.object, source);\r\n        propertyName = expression.name;\r\n    }\r\n    else if (expression instanceof AccessKeyed) {\r\n        object = getObject(originalExpression, expression.object, source);\r\n        propertyName = expression.key.evaluate(source);\r\n    }\r\n    else {\r\n        throw new Error(\"Expression '\" + originalExpression + \"' is not compatible with the validate binding-behavior.\");\r\n    }\r\n    if (object === null || object === undefined) {\r\n        return null;\r\n    }\r\n    return { object: object, propertyName: propertyName };\r\n}\n\nfunction isString(value) {\r\n    return Object.prototype.toString.call(value) === '[object String]';\r\n}\r\nfunction isNumber(value) {\r\n    return Object.prototype.toString.call(value) === '[object Number]';\r\n}\n\nvar PropertyAccessorParser = /** @class */ (function () {\r\n    function PropertyAccessorParser(parser) {\r\n        this.parser = parser;\r\n    }\r\n    PropertyAccessorParser.prototype.parse = function (property) {\r\n        if (isString(property) || isNumber(property)) {\r\n            return property;\r\n        }\r\n        var accessorText = getAccessorExpression(property.toString());\r\n        var accessor = this.parser.parse(accessorText);\r\n        if (accessor instanceof AccessScope\r\n            || accessor instanceof AccessMember && accessor.object instanceof AccessScope) {\r\n            return accessor.name;\r\n        }\r\n        throw new Error(\"Invalid property expression: \\\"\" + accessor + \"\\\"\");\r\n    };\r\n    PropertyAccessorParser.inject = [Parser];\r\n    return PropertyAccessorParser;\r\n}());\r\nfunction getAccessorExpression(fn) {\r\n    /* tslint:disable:max-line-length */\r\n    var classic = /^function\\s*\\([$_\\w\\d]+\\)\\s*\\{(?:\\s*\"use strict\";)?\\s*(?:[$_\\w\\d.['\"\\]+;]+)?\\s*return\\s+[$_\\w\\d]+\\.([$_\\w\\d]+)\\s*;?\\s*\\}$/;\r\n    /* tslint:enable:max-line-length */\r\n    var arrow = /^\\(?[$_\\w\\d]+\\)?\\s*=>\\s*[$_\\w\\d]+\\.([$_\\w\\d]+)$/;\r\n    var match = classic.exec(fn) || arrow.exec(fn);\r\n    if (match === null) {\r\n        throw new Error(\"Unable to parse accessor function:\\n\" + fn);\r\n    }\r\n    return match[1];\r\n}\n\nvar ValidateEvent = /** @class */ (function () {\r\n    function ValidateEvent(\r\n    /**\r\n     * The type of validate event. Either \"validate\" or \"reset\".\r\n     */\r\n    type, \r\n    /**\r\n     * The controller's current array of errors. For an array containing both\r\n     * failed rules and passed rules, use the \"results\" property.\r\n     */\r\n    errors, \r\n    /**\r\n     * The controller's current array of validate results. This\r\n     * includes both passed rules and failed rules. For an array of only failed rules,\r\n     * use the \"errors\" property.\r\n     */\r\n    results, \r\n    /**\r\n     * The instruction passed to the \"validate\" or \"reset\" event. Will be null when\r\n     * the controller's validate/reset method was called with no instruction argument.\r\n     */\r\n    instruction, \r\n    /**\r\n     * In events with type === \"validate\", this property will contain the result\r\n     * of validating the instruction (see \"instruction\" property). Use the controllerValidateResult\r\n     * to access the validate results specific to the call to \"validate\"\r\n     * (as opposed to using the \"results\" and \"errors\" properties to access the controller's entire\r\n     * set of results/errors).\r\n     */\r\n    controllerValidateResult) {\r\n        this.type = type;\r\n        this.errors = errors;\r\n        this.results = results;\r\n        this.instruction = instruction;\r\n        this.controllerValidateResult = controllerValidateResult;\r\n    }\r\n    return ValidateEvent;\r\n}());\n\n/**\r\n * Orchestrates validation.\r\n * Manages a set of bindings, renderers and objects.\r\n * Exposes the current list of validation results for binding purposes.\r\n */\r\nvar ValidationController = /** @class */ (function () {\r\n    function ValidationController(validator, propertyParser, config) {\r\n        this.validator = validator;\r\n        this.propertyParser = propertyParser;\r\n        // Registered bindings (via the validate binding behavior)\r\n        this.bindings = new Map();\r\n        // Renderers that have been added to the controller instance.\r\n        this.renderers = [];\r\n        /**\r\n         * Validation results that have been rendered by the controller.\r\n         */\r\n        this.results = [];\r\n        /**\r\n         * Validation errors that have been rendered by the controller.\r\n         */\r\n        this.errors = [];\r\n        /**\r\n         *  Whether the controller is currently validating.\r\n         */\r\n        this.validating = false;\r\n        // Elements related to validation results that have been rendered.\r\n        this.elements = new Map();\r\n        // Objects that have been added to the controller instance (entity-style validation).\r\n        this.objects = new Map();\r\n        // Promise that resolves when validation has completed.\r\n        this.finishValidating = Promise.resolve();\r\n        this.eventCallbacks = [];\r\n        this.validateTrigger = config instanceof GlobalValidationConfiguration\r\n            ? config.getDefaultValidationTrigger()\r\n            : GlobalValidationConfiguration.DEFAULT_VALIDATION_TRIGGER;\r\n    }\r\n    /**\r\n     * Subscribe to controller validate and reset events. These events occur when the\r\n     * controller's \"validate\"\" and \"reset\" methods are called.\r\n     * @param callback The callback to be invoked when the controller validates or resets.\r\n     */\r\n    ValidationController.prototype.subscribe = function (callback) {\r\n        var _this = this;\r\n        this.eventCallbacks.push(callback);\r\n        return {\r\n            dispose: function () {\r\n                var index = _this.eventCallbacks.indexOf(callback);\r\n                if (index === -1) {\r\n                    return;\r\n                }\r\n                _this.eventCallbacks.splice(index, 1);\r\n            }\r\n        };\r\n    };\r\n    /**\r\n     * Adds an object to the set of objects that should be validated when validate is called.\r\n     * @param object The object.\r\n     * @param rules Optional. The rules. If rules aren't supplied the Validator implementation will lookup the rules.\r\n     */\r\n    ValidationController.prototype.addObject = function (object, rules) {\r\n        this.objects.set(object, rules);\r\n    };\r\n    /**\r\n     * Removes an object from the set of objects that should be validated when validate is called.\r\n     * @param object The object.\r\n     */\r\n    ValidationController.prototype.removeObject = function (object) {\r\n        this.objects.delete(object);\r\n        this.processResultDelta('reset', this.results.filter(function (result) { return result.object === object; }), []);\r\n    };\r\n    /**\r\n     * Adds and renders an error.\r\n     */\r\n    ValidationController.prototype.addError = function (message, object, propertyName) {\r\n        if (propertyName === void 0) { propertyName = null; }\r\n        var resolvedPropertyName;\r\n        if (propertyName === null) {\r\n            resolvedPropertyName = propertyName;\r\n        }\r\n        else {\r\n            resolvedPropertyName = this.propertyParser.parse(propertyName);\r\n        }\r\n        var result = new ValidateResult({ __manuallyAdded__: true }, object, resolvedPropertyName, false, message);\r\n        this.processResultDelta('validate', [], [result]);\r\n        return result;\r\n    };\r\n    /**\r\n     * Removes and unrenders an error.\r\n     */\r\n    ValidationController.prototype.removeError = function (result) {\r\n        if (this.results.indexOf(result) !== -1) {\r\n            this.processResultDelta('reset', [result], []);\r\n        }\r\n    };\r\n    /**\r\n     * Adds a renderer.\r\n     * @param renderer The renderer.\r\n     */\r\n    ValidationController.prototype.addRenderer = function (renderer) {\r\n        var _this = this;\r\n        this.renderers.push(renderer);\r\n        renderer.render({\r\n            kind: 'validate',\r\n            render: this.results.map(function (result) { return ({ result: result, elements: _this.elements.get(result) }); }),\r\n            unrender: []\r\n        });\r\n    };\r\n    /**\r\n     * Removes a renderer.\r\n     * @param renderer The renderer.\r\n     */\r\n    ValidationController.prototype.removeRenderer = function (renderer) {\r\n        var _this = this;\r\n        this.renderers.splice(this.renderers.indexOf(renderer), 1);\r\n        renderer.render({\r\n            kind: 'reset',\r\n            render: [],\r\n            unrender: this.results.map(function (result) { return ({ result: result, elements: _this.elements.get(result) }); })\r\n        });\r\n    };\r\n    /**\r\n     * Registers a binding with the controller.\r\n     * @param binding The binding instance.\r\n     * @param target The DOM element.\r\n     * @param rules (optional) rules associated with the binding. Validator implementation specific.\r\n     */\r\n    ValidationController.prototype.registerBinding = function (binding, target, rules) {\r\n        this.bindings.set(binding, { target: target, rules: rules, propertyInfo: null });\r\n    };\r\n    /**\r\n     * Unregisters a binding with the controller.\r\n     * @param binding The binding instance.\r\n     */\r\n    ValidationController.prototype.unregisterBinding = function (binding) {\r\n        this.resetBinding(binding);\r\n        this.bindings.delete(binding);\r\n    };\r\n    /**\r\n     * Interprets the instruction and returns a predicate that will identify\r\n     * relevant results in the list of rendered validation results.\r\n     */\r\n    ValidationController.prototype.getInstructionPredicate = function (instruction) {\r\n        var _this = this;\r\n        if (instruction) {\r\n            var object_1 = instruction.object, propertyName_1 = instruction.propertyName, rules_1 = instruction.rules;\r\n            var predicate_1;\r\n            if (instruction.propertyName) {\r\n                predicate_1 = function (x) { return x.object === object_1 && x.propertyName === propertyName_1; };\r\n            }\r\n            else {\r\n                predicate_1 = function (x) { return x.object === object_1; };\r\n            }\r\n            if (rules_1) {\r\n                return function (x) { return predicate_1(x) && _this.validator.ruleExists(rules_1, x.rule); };\r\n            }\r\n            return predicate_1;\r\n        }\r\n        else {\r\n            return function () { return true; };\r\n        }\r\n    };\r\n    /**\r\n     * Validates and renders results.\r\n     * @param instruction Optional. Instructions on what to validate. If undefined, all\r\n     * objects and bindings will be validated.\r\n     */\r\n    ValidationController.prototype.validate = function (instruction) {\r\n        var _this = this;\r\n        // Get a function that will process the validation instruction.\r\n        var execute;\r\n        if (instruction) {\r\n            // tslint:disable-next-line:prefer-const\r\n            var object_2 = instruction.object, propertyName_2 = instruction.propertyName, rules_2 = instruction.rules;\r\n            // if rules were not specified, check the object map.\r\n            rules_2 = rules_2 || this.objects.get(object_2);\r\n            // property specified?\r\n            if (instruction.propertyName === undefined) {\r\n                // validate the specified object.\r\n                execute = function () { return _this.validator.validateObject(object_2, rules_2); };\r\n            }\r\n            else {\r\n                // validate the specified property.\r\n                execute = function () { return _this.validator.validateProperty(object_2, propertyName_2, rules_2); };\r\n            }\r\n        }\r\n        else {\r\n            // validate all objects and bindings.\r\n            execute = function () {\r\n                var promises = [];\r\n                for (var _i = 0, _a = Array.from(_this.objects); _i < _a.length; _i++) {\r\n                    var _b = _a[_i], object = _b[0], rules = _b[1];\r\n                    promises.push(_this.validator.validateObject(object, rules));\r\n                }\r\n                for (var _c = 0, _d = Array.from(_this.bindings); _c < _d.length; _c++) {\r\n                    var _e = _d[_c], binding = _e[0], rules = _e[1].rules;\r\n                    var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n                    if (!propertyInfo || _this.objects.has(propertyInfo.object)) {\r\n                        continue;\r\n                    }\r\n                    promises.push(_this.validator.validateProperty(propertyInfo.object, propertyInfo.propertyName, rules));\r\n                }\r\n                return Promise.all(promises).then(function (resultSets) { return resultSets.reduce(function (a, b) { return a.concat(b); }, []); });\r\n            };\r\n        }\r\n        // Wait for any existing validation to finish, execute the instruction, render the results.\r\n        this.validating = true;\r\n        var returnPromise = this.finishValidating\r\n            .then(execute)\r\n            .then(function (newResults) {\r\n            var predicate = _this.getInstructionPredicate(instruction);\r\n            var oldResults = _this.results.filter(predicate);\r\n            _this.processResultDelta('validate', oldResults, newResults);\r\n            if (returnPromise === _this.finishValidating) {\r\n                _this.validating = false;\r\n            }\r\n            var result = {\r\n                instruction: instruction,\r\n                valid: newResults.find(function (x) { return !x.valid; }) === undefined,\r\n                results: newResults\r\n            };\r\n            _this.invokeCallbacks(instruction, result);\r\n            return result;\r\n        })\r\n            .catch(function (exception) {\r\n            // recover, to enable subsequent calls to validate()\r\n            _this.validating = false;\r\n            _this.finishValidating = Promise.resolve();\r\n            return Promise.reject(exception);\r\n        });\r\n        this.finishValidating = returnPromise;\r\n        return returnPromise;\r\n    };\r\n    /**\r\n     * Resets any rendered validation results (unrenders).\r\n     * @param instruction Optional. Instructions on what to reset. If unspecified all rendered results\r\n     * will be unrendered.\r\n     */\r\n    ValidationController.prototype.reset = function (instruction) {\r\n        var predicate = this.getInstructionPredicate(instruction);\r\n        var oldResults = this.results.filter(predicate);\r\n        this.processResultDelta('reset', oldResults, []);\r\n        this.invokeCallbacks(instruction, null);\r\n    };\r\n    /**\r\n     * Gets the elements associated with an object and propertyName (if any).\r\n     */\r\n    ValidationController.prototype.getAssociatedElements = function (_a) {\r\n        var object = _a.object, propertyName = _a.propertyName;\r\n        var elements = [];\r\n        for (var _i = 0, _b = Array.from(this.bindings); _i < _b.length; _i++) {\r\n            var _c = _b[_i], binding = _c[0], target = _c[1].target;\r\n            var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n            if (propertyInfo && propertyInfo.object === object && propertyInfo.propertyName === propertyName) {\r\n                elements.push(target);\r\n            }\r\n        }\r\n        return elements;\r\n    };\r\n    ValidationController.prototype.processResultDelta = function (kind, oldResults, newResults) {\r\n        // prepare the instruction.\r\n        var instruction = {\r\n            kind: kind,\r\n            render: [],\r\n            unrender: []\r\n        };\r\n        // create a shallow copy of newResults so we can mutate it without causing side-effects.\r\n        newResults = newResults.slice(0);\r\n        var _loop_1 = function (oldResult) {\r\n            // get the elements associated with the old result.\r\n            var elements = this_1.elements.get(oldResult);\r\n            // remove the old result from the element map.\r\n            this_1.elements.delete(oldResult);\r\n            // create the unrender instruction.\r\n            instruction.unrender.push({ result: oldResult, elements: elements });\r\n            // determine if there's a corresponding new result for the old result we are unrendering.\r\n            var newResultIndex = newResults.findIndex(function (x) { return x.rule === oldResult.rule && x.object === oldResult.object && x.propertyName === oldResult.propertyName; });\r\n            if (newResultIndex === -1) {\r\n                // no corresponding new result... simple remove.\r\n                this_1.results.splice(this_1.results.indexOf(oldResult), 1);\r\n                if (!oldResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1);\r\n                }\r\n            }\r\n            else {\r\n                // there is a corresponding new result...\r\n                var newResult = newResults.splice(newResultIndex, 1)[0];\r\n                // get the elements that are associated with the new result.\r\n                var elements_1 = this_1.getAssociatedElements(newResult);\r\n                this_1.elements.set(newResult, elements_1);\r\n                // create a render instruction for the new result.\r\n                instruction.render.push({ result: newResult, elements: elements_1 });\r\n                // do an in-place replacement of the old result with the new result.\r\n                // this ensures any repeats bound to this.results will not thrash.\r\n                this_1.results.splice(this_1.results.indexOf(oldResult), 1, newResult);\r\n                if (!oldResult.valid && newResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1);\r\n                }\r\n                else if (!oldResult.valid && !newResult.valid) {\r\n                    this_1.errors.splice(this_1.errors.indexOf(oldResult), 1, newResult);\r\n                }\r\n                else if (!newResult.valid) {\r\n                    this_1.errors.push(newResult);\r\n                }\r\n            }\r\n        };\r\n        var this_1 = this;\r\n        // create unrender instructions from the old results.\r\n        for (var _i = 0, oldResults_1 = oldResults; _i < oldResults_1.length; _i++) {\r\n            var oldResult = oldResults_1[_i];\r\n            _loop_1(oldResult);\r\n        }\r\n        // create render instructions from the remaining new results.\r\n        for (var _a = 0, newResults_1 = newResults; _a < newResults_1.length; _a++) {\r\n            var result = newResults_1[_a];\r\n            var elements = this.getAssociatedElements(result);\r\n            instruction.render.push({ result: result, elements: elements });\r\n            this.elements.set(result, elements);\r\n            this.results.push(result);\r\n            if (!result.valid) {\r\n                this.errors.push(result);\r\n            }\r\n        }\r\n        // render.\r\n        for (var _b = 0, _c = this.renderers; _b < _c.length; _b++) {\r\n            var renderer = _c[_b];\r\n            renderer.render(instruction);\r\n        }\r\n    };\r\n    /**\r\n     * Validates the property associated with a binding.\r\n     */\r\n    ValidationController.prototype.validateBinding = function (binding) {\r\n        if (!binding.isBound) {\r\n            return;\r\n        }\r\n        var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n        var rules;\r\n        var registeredBinding = this.bindings.get(binding);\r\n        if (registeredBinding) {\r\n            rules = registeredBinding.rules;\r\n            registeredBinding.propertyInfo = propertyInfo;\r\n        }\r\n        if (!propertyInfo) {\r\n            return;\r\n        }\r\n        var object = propertyInfo.object, propertyName = propertyInfo.propertyName;\r\n        this.validate({ object: object, propertyName: propertyName, rules: rules });\r\n    };\r\n    /**\r\n     * Resets the results for a property associated with a binding.\r\n     */\r\n    ValidationController.prototype.resetBinding = function (binding) {\r\n        var registeredBinding = this.bindings.get(binding);\r\n        var propertyInfo = getPropertyInfo(binding.sourceExpression, binding.source);\r\n        if (!propertyInfo && registeredBinding) {\r\n            propertyInfo = registeredBinding.propertyInfo;\r\n        }\r\n        if (registeredBinding) {\r\n            registeredBinding.propertyInfo = null;\r\n        }\r\n        if (!propertyInfo) {\r\n            return;\r\n        }\r\n        var object = propertyInfo.object, propertyName = propertyInfo.propertyName;\r\n        this.reset({ object: object, propertyName: propertyName });\r\n    };\r\n    /**\r\n     * Changes the controller's validateTrigger.\r\n     * @param newTrigger The new validateTrigger\r\n     */\r\n    ValidationController.prototype.changeTrigger = function (newTrigger) {\r\n        this.validateTrigger = newTrigger;\r\n        var bindings = Array.from(this.bindings.keys());\r\n        for (var _i = 0, bindings_1 = bindings; _i < bindings_1.length; _i++) {\r\n            var binding = bindings_1[_i];\r\n            var source = binding.source;\r\n            binding.unbind();\r\n            binding.bind(source);\r\n        }\r\n    };\r\n    /**\r\n     * Revalidates the controller's current set of errors.\r\n     */\r\n    ValidationController.prototype.revalidateErrors = function () {\r\n        for (var _i = 0, _a = this.errors; _i < _a.length; _i++) {\r\n            var _b = _a[_i], object = _b.object, propertyName = _b.propertyName, rule = _b.rule;\r\n            if (rule.__manuallyAdded__) {\r\n                continue;\r\n            }\r\n            var rules = [[rule]];\r\n            this.validate({ object: object, propertyName: propertyName, rules: rules });\r\n        }\r\n    };\r\n    ValidationController.prototype.invokeCallbacks = function (instruction, result) {\r\n        if (this.eventCallbacks.length === 0) {\r\n            return;\r\n        }\r\n        var event = new ValidateEvent(result ? 'validate' : 'reset', this.errors, this.results, instruction || null, result);\r\n        for (var i = 0; i < this.eventCallbacks.length; i++) {\r\n            this.eventCallbacks[i](event);\r\n        }\r\n    };\r\n    ValidationController.inject = [Validator, PropertyAccessorParser, GlobalValidationConfiguration];\r\n    return ValidationController;\r\n}());\n\n/**\r\n * Binding behavior. Indicates the bound property should be validated.\r\n */\r\nvar ValidateBindingBehaviorBase = /** @class */ (function () {\r\n    function ValidateBindingBehaviorBase(taskQueue) {\r\n        this.taskQueue = taskQueue;\r\n    }\r\n    ValidateBindingBehaviorBase.prototype.bind = function (binding, source, rulesOrController, rules) {\r\n        var _this = this;\r\n        // identify the target element.\r\n        var target = getTargetDOMElement(binding, source);\r\n        // locate the controller.\r\n        var controller;\r\n        if (rulesOrController instanceof ValidationController) {\r\n            controller = rulesOrController;\r\n        }\r\n        else {\r\n            controller = source.container.get(Optional.of(ValidationController));\r\n            rules = rulesOrController;\r\n        }\r\n        if (controller === null) {\r\n            throw new Error(\"A ValidationController has not been registered.\");\r\n        }\r\n        controller.registerBinding(binding, target, rules);\r\n        binding.validationController = controller;\r\n        var trigger = this.getValidateTrigger(controller);\r\n        // tslint:disable-next-line:no-bitwise\r\n        if (trigger & validateTrigger.change) {\r\n            binding.vbbUpdateSource = binding.updateSource;\r\n            // tslint:disable-next-line:only-arrow-functions\r\n            // tslint:disable-next-line:space-before-function-paren\r\n            binding.updateSource = function (value) {\r\n                this.vbbUpdateSource(value);\r\n                this.validationController.validateBinding(this);\r\n            };\r\n        }\r\n        // tslint:disable-next-line:no-bitwise\r\n        if (trigger & validateTrigger.blur) {\r\n            binding.validateBlurHandler = function () {\r\n                _this.taskQueue.queueMicroTask(function () { return controller.validateBinding(binding); });\r\n            };\r\n            binding.validateTarget = target;\r\n            target.addEventListener('blur', binding.validateBlurHandler);\r\n        }\r\n        if (trigger !== validateTrigger.manual) {\r\n            binding.standardUpdateTarget = binding.updateTarget;\r\n            // tslint:disable-next-line:only-arrow-functions\r\n            // tslint:disable-next-line:space-before-function-paren\r\n            binding.updateTarget = function (value) {\r\n                this.standardUpdateTarget(value);\r\n                this.validationController.resetBinding(this);\r\n            };\r\n        }\r\n    };\r\n    ValidateBindingBehaviorBase.prototype.unbind = function (binding) {\r\n        // reset the binding to it's original state.\r\n        if (binding.vbbUpdateSource) {\r\n            binding.updateSource = binding.vbbUpdateSource;\r\n            binding.vbbUpdateSource = null;\r\n        }\r\n        if (binding.standardUpdateTarget) {\r\n            binding.updateTarget = binding.standardUpdateTarget;\r\n            binding.standardUpdateTarget = null;\r\n        }\r\n        if (binding.validateBlurHandler) {\r\n            binding.validateTarget.removeEventListener('blur', binding.validateBlurHandler);\r\n            binding.validateBlurHandler = null;\r\n            binding.validateTarget = null;\r\n        }\r\n        binding.validationController.unregisterBinding(binding);\r\n        binding.validationController = null;\r\n    };\r\n    return ValidateBindingBehaviorBase;\r\n}());\n\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the validate trigger specified by the associated controller's\r\n * validateTrigger property occurs.\r\n */\r\nvar ValidateBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateBindingBehavior, _super);\r\n    function ValidateBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateBindingBehavior.prototype.getValidateTrigger = function (controller) {\r\n        return controller.validateTrigger;\r\n    };\r\n    ValidateBindingBehavior.inject = [TaskQueue];\r\n    ValidateBindingBehavior = __decorate([\r\n        bindingBehavior('validate')\r\n    ], ValidateBindingBehavior);\r\n    return ValidateBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property will be validated\r\n * manually, by calling controller.validate(). No automatic validation\r\n * triggered by data-entry or blur will occur.\r\n */\r\nvar ValidateManuallyBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateManuallyBindingBehavior, _super);\r\n    function ValidateManuallyBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateManuallyBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.manual;\r\n    };\r\n    ValidateManuallyBindingBehavior.inject = [TaskQueue];\r\n    ValidateManuallyBindingBehavior = __decorate([\r\n        bindingBehavior('validateManually')\r\n    ], ValidateManuallyBindingBehavior);\r\n    return ValidateManuallyBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element blurs.\r\n */\r\nvar ValidateOnBlurBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnBlurBindingBehavior, _super);\r\n    function ValidateOnBlurBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnBlurBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.blur;\r\n    };\r\n    ValidateOnBlurBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnBlurBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnBlur')\r\n    ], ValidateOnBlurBindingBehavior);\r\n    return ValidateOnBlurBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element is changed by the user, causing a change\r\n * to the model.\r\n */\r\nvar ValidateOnChangeBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnChangeBindingBehavior, _super);\r\n    function ValidateOnChangeBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnChangeBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.change;\r\n    };\r\n    ValidateOnChangeBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnChangeBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnChange')\r\n    ], ValidateOnChangeBindingBehavior);\r\n    return ValidateOnChangeBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\r\n/**\r\n * Binding behavior. Indicates the bound property should be validated\r\n * when the associated element blurs or is changed by the user, causing\r\n * a change to the model.\r\n */\r\nvar ValidateOnChangeOrBlurBindingBehavior = /** @class */ (function (_super) {\r\n    __extends(ValidateOnChangeOrBlurBindingBehavior, _super);\r\n    function ValidateOnChangeOrBlurBindingBehavior() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    ValidateOnChangeOrBlurBindingBehavior.prototype.getValidateTrigger = function () {\r\n        return validateTrigger.changeOrBlur;\r\n    };\r\n    ValidateOnChangeOrBlurBindingBehavior.inject = [TaskQueue];\r\n    ValidateOnChangeOrBlurBindingBehavior = __decorate([\r\n        bindingBehavior('validateOnChangeOrBlur')\r\n    ], ValidateOnChangeOrBlurBindingBehavior);\r\n    return ValidateOnChangeOrBlurBindingBehavior;\r\n}(ValidateBindingBehaviorBase));\n\n/**\r\n * Creates ValidationController instances.\r\n */\r\nvar ValidationControllerFactory = /** @class */ (function () {\r\n    function ValidationControllerFactory(container) {\r\n        this.container = container;\r\n    }\r\n    ValidationControllerFactory.get = function (container) {\r\n        return new ValidationControllerFactory(container);\r\n    };\r\n    /**\r\n     * Creates a new controller instance.\r\n     */\r\n    ValidationControllerFactory.prototype.create = function (validator) {\r\n        if (!validator) {\r\n            validator = this.container.get(Validator);\r\n        }\r\n        var propertyParser = this.container.get(PropertyAccessorParser);\r\n        var config = this.container.get(GlobalValidationConfiguration);\r\n        return new ValidationController(validator, propertyParser, config);\r\n    };\r\n    /**\r\n     * Creates a new controller and registers it in the current element's container so that it's\r\n     * available to the validate binding behavior and renderers.\r\n     */\r\n    ValidationControllerFactory.prototype.createForCurrentScope = function (validator) {\r\n        var controller = this.create(validator);\r\n        this.container.registerInstance(ValidationController, controller);\r\n        return controller;\r\n    };\r\n    return ValidationControllerFactory;\r\n}());\r\nValidationControllerFactory['protocol:aurelia:resolver'] = true;\n\nvar ValidationErrorsCustomAttribute = /** @class */ (function () {\r\n    function ValidationErrorsCustomAttribute(boundaryElement, controllerAccessor) {\r\n        this.boundaryElement = boundaryElement;\r\n        this.controllerAccessor = controllerAccessor;\r\n        this.controller = null;\r\n        this.errors = [];\r\n        this.errorsInternal = [];\r\n    }\r\n    ValidationErrorsCustomAttribute.inject = function () {\r\n        return [DOM.Element, Lazy.of(ValidationController)];\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.sort = function () {\r\n        this.errorsInternal.sort(function (a, b) {\r\n            if (a.targets[0] === b.targets[0]) {\r\n                return 0;\r\n            }\r\n            // tslint:disable-next-line:no-bitwise\r\n            return a.targets[0].compareDocumentPosition(b.targets[0]) & 2 ? 1 : -1;\r\n        });\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.interestingElements = function (elements) {\r\n        var _this = this;\r\n        return elements.filter(function (e) { return _this.boundaryElement.contains(e); });\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.render = function (instruction) {\r\n        var _loop_1 = function (result) {\r\n            var index = this_1.errorsInternal.findIndex(function (x) { return x.error === result; });\r\n            if (index !== -1) {\r\n                this_1.errorsInternal.splice(index, 1);\r\n            }\r\n        };\r\n        var this_1 = this;\r\n        for (var _i = 0, _a = instruction.unrender; _i < _a.length; _i++) {\r\n            var result = _a[_i].result;\r\n            _loop_1(result);\r\n        }\r\n        for (var _b = 0, _c = instruction.render; _b < _c.length; _b++) {\r\n            var _d = _c[_b], result = _d.result, elements = _d.elements;\r\n            if (result.valid) {\r\n                continue;\r\n            }\r\n            var targets = this.interestingElements(elements);\r\n            if (targets.length) {\r\n                this.errorsInternal.push({ error: result, targets: targets });\r\n            }\r\n        }\r\n        this.sort();\r\n        this.errors = this.errorsInternal;\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.bind = function () {\r\n        if (!this.controller) {\r\n            this.controller = this.controllerAccessor();\r\n        }\r\n        // this will call render() with the side-effect of updating this.errors\r\n        this.controller.addRenderer(this);\r\n    };\r\n    ValidationErrorsCustomAttribute.prototype.unbind = function () {\r\n        if (this.controller) {\r\n            this.controller.removeRenderer(this);\r\n        }\r\n    };\r\n    __decorate([\r\n        bindable({ defaultBindingMode: bindingMode.oneWay })\r\n    ], ValidationErrorsCustomAttribute.prototype, \"controller\", void 0);\r\n    __decorate([\r\n        bindable({ primaryProperty: true, defaultBindingMode: bindingMode.twoWay })\r\n    ], ValidationErrorsCustomAttribute.prototype, \"errors\", void 0);\r\n    ValidationErrorsCustomAttribute = __decorate([\r\n        customAttribute('validation-errors')\r\n    ], ValidationErrorsCustomAttribute);\r\n    return ValidationErrorsCustomAttribute;\r\n}());\n\nvar ValidationRendererCustomAttribute = /** @class */ (function () {\r\n    function ValidationRendererCustomAttribute() {\r\n    }\r\n    ValidationRendererCustomAttribute.prototype.created = function (view) {\r\n        this.container = view.container;\r\n    };\r\n    ValidationRendererCustomAttribute.prototype.bind = function () {\r\n        this.controller = this.container.get(ValidationController);\r\n        this.renderer = this.container.get(this.value);\r\n        this.controller.addRenderer(this.renderer);\r\n    };\r\n    ValidationRendererCustomAttribute.prototype.unbind = function () {\r\n        this.controller.removeRenderer(this.renderer);\r\n        this.controller = null;\r\n        this.renderer = null;\r\n    };\r\n    ValidationRendererCustomAttribute = __decorate([\r\n        customAttribute('validation-renderer')\r\n    ], ValidationRendererCustomAttribute);\r\n    return ValidationRendererCustomAttribute;\r\n}());\n\n/**\r\n * Part of the fluent rule API. Enables customizing property rules.\r\n */\r\nvar FluentRuleCustomizer = /** @class */ (function () {\r\n    function FluentRuleCustomizer(property, condition, config, fluentEnsure, fluentRules, parsers) {\r\n        if (config === void 0) { config = {}; }\r\n        this.fluentEnsure = fluentEnsure;\r\n        this.fluentRules = fluentRules;\r\n        this.parsers = parsers;\r\n        this.rule = {\r\n            property: property,\r\n            condition: condition,\r\n            config: config,\r\n            when: null,\r\n            messageKey: 'default',\r\n            message: null,\r\n            sequence: fluentRules.sequence\r\n        };\r\n        this.fluentEnsure._addRule(this.rule);\r\n    }\r\n    /**\r\n     * Validate subsequent rules after previously declared rules have\r\n     * been validated successfully. Use to postpone validation of costly\r\n     * rules until less expensive rules pass validation.\r\n     */\r\n    FluentRuleCustomizer.prototype.then = function () {\r\n        this.fluentRules.sequence++;\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies the key to use when looking up the rule's validation message.\r\n     */\r\n    FluentRuleCustomizer.prototype.withMessageKey = function (key) {\r\n        this.rule.messageKey = key;\r\n        this.rule.message = null;\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies rule's validation message.\r\n     */\r\n    FluentRuleCustomizer.prototype.withMessage = function (message) {\r\n        this.rule.messageKey = 'custom';\r\n        this.rule.message = this.parsers.message.parse(message);\r\n        return this;\r\n    };\r\n    /**\r\n     * Specifies a condition that must be met before attempting to validate the rule.\r\n     * @param condition A function that accepts the object as a parameter and returns true\r\n     * or false whether the rule should be evaluated.\r\n     */\r\n    FluentRuleCustomizer.prototype.when = function (condition) {\r\n        this.rule.when = condition;\r\n        return this;\r\n    };\r\n    /**\r\n     * Tags the rule instance, enabling the rule to be found easily\r\n     * using ValidationRules.taggedRules(rules, tag)\r\n     */\r\n    FluentRuleCustomizer.prototype.tag = function (tag) {\r\n        this.rule.tag = tag;\r\n        return this;\r\n    };\r\n    ///// FluentEnsure APIs /////\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor function.\r\n     */\r\n    FluentRuleCustomizer.prototype.ensure = function (subject) {\r\n        return this.fluentEnsure.ensure(subject);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    FluentRuleCustomizer.prototype.ensureObject = function () {\r\n        return this.fluentEnsure.ensureObject();\r\n    };\r\n    Object.defineProperty(FluentRuleCustomizer.prototype, \"rules\", {\r\n        /**\r\n         * Rules that have been defined using the fluent API.\r\n         */\r\n        get: function () {\r\n            return this.fluentEnsure.rules;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /**\r\n     * Applies the rules to a class or object, making them discoverable by the StandardValidator.\r\n     * @param target A class or object.\r\n     */\r\n    FluentRuleCustomizer.prototype.on = function (target) {\r\n        return this.fluentEnsure.on(target);\r\n    };\r\n    ///////// FluentRules APIs /////////\r\n    /**\r\n     * Applies an ad-hoc rule function to the ensured property or object.\r\n     * @param condition The function to validate the rule.\r\n     * Will be called with two arguments, the property value and the object.\r\n     * Should return a boolean or a Promise that resolves to a boolean.\r\n     */\r\n    FluentRuleCustomizer.prototype.satisfies = function (condition, config) {\r\n        return this.fluentRules.satisfies(condition, config);\r\n    };\r\n    /**\r\n     * Applies a rule by name.\r\n     * @param name The name of the custom or standard rule.\r\n     * @param args The rule's arguments.\r\n     */\r\n    FluentRuleCustomizer.prototype.satisfiesRule = function (name) {\r\n        var _a;\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        return (_a = this.fluentRules).satisfiesRule.apply(_a, __spreadArrays([name], args));\r\n    };\r\n    /**\r\n     * Applies the \"required\" rule to the property.\r\n     * The value cannot be null, undefined or whitespace.\r\n     */\r\n    FluentRuleCustomizer.prototype.required = function () {\r\n        return this.fluentRules.required();\r\n    };\r\n    /**\r\n     * Applies the \"matches\" rule to the property.\r\n     * Value must match the specified regular expression.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.matches = function (regex) {\r\n        return this.fluentRules.matches(regex);\r\n    };\r\n    /**\r\n     * Applies the \"email\" rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.email = function () {\r\n        return this.fluentRules.email();\r\n    };\r\n    /**\r\n     * Applies the \"minLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.minLength = function (length) {\r\n        return this.fluentRules.minLength(length);\r\n    };\r\n    /**\r\n     * Applies the \"maxLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.maxLength = function (length) {\r\n        return this.fluentRules.maxLength(length);\r\n    };\r\n    /**\r\n     * Applies the \"minItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.minItems = function (count) {\r\n        return this.fluentRules.minItems(count);\r\n    };\r\n    /**\r\n     * Applies the \"maxItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.maxItems = function (count) {\r\n        return this.fluentRules.maxItems(count);\r\n    };\r\n    /**\r\n     * Applies the \"min\" NUMBER validation rule to the property.\r\n     * Value must be greater than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.min = function (value) {\r\n        return this.fluentRules.min(value);\r\n    };\r\n    /**\r\n     * Applies the \"max\" NUMBER validation rule to the property.\r\n     * Value must be less than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.max = function (value) {\r\n        return this.fluentRules.max(value);\r\n    };\r\n    /**\r\n     * Applies the \"range\" NUMBER validation rule to the property.\r\n     * Value must be between or equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.range = function (min, max) {\r\n        return this.fluentRules.range(min, max);\r\n    };\r\n    /**\r\n     * Applies the \"between\" NUMBER validation rule to the property.\r\n     * Value must be between but not equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.between = function (min, max) {\r\n        return this.fluentRules.between(min, max);\r\n    };\r\n    /**\r\n     * Applies the \"equals\" validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRuleCustomizer.prototype.equals = function (expectedValue) {\r\n        return this.fluentRules.equals(expectedValue);\r\n    };\r\n    return FluentRuleCustomizer;\r\n}());\r\n/**\r\n * Part of the fluent rule API. Enables applying rules to properties and objects.\r\n */\r\nvar FluentRules = /** @class */ (function () {\r\n    function FluentRules(fluentEnsure, parsers, property) {\r\n        this.fluentEnsure = fluentEnsure;\r\n        this.parsers = parsers;\r\n        this.property = property;\r\n        /**\r\n         * Current rule sequence number. Used to postpone evaluation of rules until rules\r\n         * with lower sequence number have successfully validated. The \"then\" fluent API method\r\n         * manages this property, there's usually no need to set it directly.\r\n         */\r\n        this.sequence = 0;\r\n    }\r\n    /**\r\n     * Sets the display name of the ensured property.\r\n     */\r\n    FluentRules.prototype.displayName = function (name) {\r\n        this.property.displayName = name;\r\n        return this;\r\n    };\r\n    /**\r\n     * Applies an ad-hoc rule function to the ensured property or object.\r\n     * @param condition The function to validate the rule.\r\n     * Will be called with two arguments, the property value and the object.\r\n     * Should return a boolean or a Promise that resolves to a boolean.\r\n     */\r\n    FluentRules.prototype.satisfies = function (condition, config) {\r\n        return new FluentRuleCustomizer(this.property, condition, config, this.fluentEnsure, this, this.parsers);\r\n    };\r\n    /**\r\n     * Applies a rule by name.\r\n     * @param name The name of the custom or standard rule.\r\n     * @param args The rule's arguments.\r\n     */\r\n    FluentRules.prototype.satisfiesRule = function (name) {\r\n        var _this = this;\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        var rule = FluentRules.customRules[name];\r\n        if (!rule) {\r\n            // standard rule?\r\n            rule = this[name];\r\n            if (rule instanceof Function) {\r\n                return rule.call.apply(rule, __spreadArrays([this], args));\r\n            }\r\n            throw new Error(\"Rule with name \\\"\" + name + \"\\\" does not exist.\");\r\n        }\r\n        var config = rule.argsToConfig ? rule.argsToConfig.apply(rule, args) : undefined;\r\n        return this.satisfies(function (value, obj) {\r\n            var _a;\r\n            return (_a = rule.condition).call.apply(_a, __spreadArrays([_this, value, obj], args));\r\n        }, config)\r\n            .withMessageKey(name);\r\n    };\r\n    /**\r\n     * Applies the \"required\" rule to the property.\r\n     * The value cannot be null, undefined or whitespace.\r\n     */\r\n    FluentRules.prototype.required = function () {\r\n        return this.satisfies(function (value) {\r\n            return value !== null\r\n                && value !== undefined\r\n                && !(isString(value) && !/\\S/.test(value));\r\n        }).withMessageKey('required');\r\n    };\r\n    /**\r\n     * Applies the \"matches\" rule to the property.\r\n     * Value must match the specified regular expression.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.matches = function (regex) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || regex.test(value); })\r\n            .withMessageKey('matches');\r\n    };\r\n    /**\r\n     * Applies the \"email\" rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.email = function () {\r\n        // regex from https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\r\n        /* tslint:disable:max-line-length */\r\n        return this.matches(/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/)\r\n            /* tslint:enable:max-line-length */\r\n            .withMessageKey('email');\r\n    };\r\n    /**\r\n     * Applies the \"minLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.minLength = function (length) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || value.length >= length; }, { length: length })\r\n            .withMessageKey('minLength');\r\n    };\r\n    /**\r\n     * Applies the \"maxLength\" STRING validation rule to the property.\r\n     * null, undefined and empty-string values are considered valid.\r\n     */\r\n    FluentRules.prototype.maxLength = function (length) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length === 0 || value.length <= length; }, { length: length })\r\n            .withMessageKey('maxLength');\r\n    };\r\n    /**\r\n     * Applies the \"minItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.minItems = function (count) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length >= count; }, { count: count })\r\n            .withMessageKey('minItems');\r\n    };\r\n    /**\r\n     * Applies the \"maxItems\" ARRAY validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.maxItems = function (count) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value.length <= count; }, { count: count })\r\n            .withMessageKey('maxItems');\r\n    };\r\n    /**\r\n     * Applies the \"min\" NUMBER validation rule to the property.\r\n     * Value must be greater than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.min = function (constraint) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value >= constraint; }, { constraint: constraint })\r\n            .withMessageKey('min');\r\n    };\r\n    /**\r\n     * Applies the \"max\" NUMBER validation rule to the property.\r\n     * Value must be less than or equal to the specified constraint.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.max = function (constraint) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value <= constraint; }, { constraint: constraint })\r\n            .withMessageKey('max');\r\n    };\r\n    /**\r\n     * Applies the \"range\" NUMBER validation rule to the property.\r\n     * Value must be between or equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.range = function (min, max) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || (value >= min && value <= max); }, { min: min, max: max })\r\n            .withMessageKey('range');\r\n    };\r\n    /**\r\n     * Applies the \"between\" NUMBER validation rule to the property.\r\n     * Value must be between but not equal to the specified min and max.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.between = function (min, max) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || (value > min && value < max); }, { min: min, max: max })\r\n            .withMessageKey('between');\r\n    };\r\n    /**\r\n     * Applies the \"equals\" validation rule to the property.\r\n     * null and undefined values are considered valid.\r\n     */\r\n    FluentRules.prototype.equals = function (expectedValue) {\r\n        return this.satisfies(function (value) { return value === null || value === undefined || value === '' || value === expectedValue; }, { expectedValue: expectedValue })\r\n            .withMessageKey('equals');\r\n    };\r\n    FluentRules.customRules = {};\r\n    return FluentRules;\r\n}());\r\n/**\r\n * Part of the fluent rule API. Enables targeting properties and objects with rules.\r\n */\r\nvar FluentEnsure = /** @class */ (function () {\r\n    function FluentEnsure(parsers) {\r\n        this.parsers = parsers;\r\n        /**\r\n         * Rules that have been defined using the fluent API.\r\n         */\r\n        this.rules = [];\r\n    }\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor\r\n     * function.\r\n     */\r\n    FluentEnsure.prototype.ensure = function (property) {\r\n        this.assertInitialized();\r\n        var name = this.parsers.property.parse(property);\r\n        var fluentRules = new FluentRules(this, this.parsers, { name: name, displayName: null });\r\n        return this.mergeRules(fluentRules, name);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    FluentEnsure.prototype.ensureObject = function () {\r\n        this.assertInitialized();\r\n        var fluentRules = new FluentRules(this, this.parsers, { name: null, displayName: null });\r\n        return this.mergeRules(fluentRules, null);\r\n    };\r\n    /**\r\n     * Applies the rules to a class or object, making them discoverable by the StandardValidator.\r\n     * @param target A class or object.\r\n     */\r\n    FluentEnsure.prototype.on = function (target) {\r\n        Rules.set(target, this.rules);\r\n        return this;\r\n    };\r\n    /**\r\n     * Adds a rule definition to the sequenced ruleset.\r\n     * @internal\r\n     */\r\n    FluentEnsure.prototype._addRule = function (rule) {\r\n        while (this.rules.length < rule.sequence + 1) {\r\n            this.rules.push([]);\r\n        }\r\n        this.rules[rule.sequence].push(rule);\r\n    };\r\n    FluentEnsure.prototype.assertInitialized = function () {\r\n        if (this.parsers) {\r\n            return;\r\n        }\r\n        throw new Error(\"Did you forget to add \\\".plugin('aurelia-validation')\\\" to your main.js?\");\r\n    };\r\n    FluentEnsure.prototype.mergeRules = function (fluentRules, propertyName) {\r\n        // tslint:disable-next-line:triple-equals | Use loose equality for property keys\r\n        var existingRules = this.rules.find(function (r) { return r.length > 0 && r[0].property.name == propertyName; });\r\n        if (existingRules) {\r\n            var rule = existingRules[existingRules.length - 1];\r\n            fluentRules.sequence = rule.sequence;\r\n            if (rule.property.displayName !== null) {\r\n                fluentRules = fluentRules.displayName(rule.property.displayName);\r\n            }\r\n        }\r\n        return fluentRules;\r\n    };\r\n    return FluentEnsure;\r\n}());\r\n/**\r\n * Fluent rule definition API.\r\n */\r\nvar ValidationRules = /** @class */ (function () {\r\n    function ValidationRules() {\r\n    }\r\n    ValidationRules.initialize = function (messageParser, propertyParser) {\r\n        this.parsers = {\r\n            message: messageParser,\r\n            property: propertyParser\r\n        };\r\n    };\r\n    /**\r\n     * Target a property with validation rules.\r\n     * @param property The property to target. Can be the property name or a property accessor function.\r\n     */\r\n    ValidationRules.ensure = function (property) {\r\n        return new FluentEnsure(ValidationRules.parsers).ensure(property);\r\n    };\r\n    /**\r\n     * Targets an object with validation rules.\r\n     */\r\n    ValidationRules.ensureObject = function () {\r\n        return new FluentEnsure(ValidationRules.parsers).ensureObject();\r\n    };\r\n    /**\r\n     * Defines a custom rule.\r\n     * @param name The name of the custom rule. Also serves as the message key.\r\n     * @param condition The rule function.\r\n     * @param message The message expression\r\n     * @param argsToConfig A function that maps the rule's arguments to a \"config\"\r\n     * object that can be used when evaluating the message expression.\r\n     */\r\n    ValidationRules.customRule = function (name, condition, message, argsToConfig) {\r\n        validationMessages[name] = message;\r\n        FluentRules.customRules[name] = { condition: condition, argsToConfig: argsToConfig };\r\n    };\r\n    /**\r\n     * Returns rules with the matching tag.\r\n     * @param rules The rules to search.\r\n     * @param tag The tag to search for.\r\n     */\r\n    ValidationRules.taggedRules = function (rules, tag) {\r\n        return rules.map(function (x) { return x.filter(function (r) { return r.tag === tag; }); });\r\n    };\r\n    /**\r\n     * Returns rules that have no tag.\r\n     * @param rules The rules to search.\r\n     */\r\n    ValidationRules.untaggedRules = function (rules) {\r\n        return rules.map(function (x) { return x.filter(function (r) { return r.tag === undefined; }); });\r\n    };\r\n    /**\r\n     * Removes the rules from a class or object.\r\n     * @param target A class or object.\r\n     */\r\n    ValidationRules.off = function (target) {\r\n        Rules.unset(target);\r\n    };\r\n    return ValidationRules;\r\n}());\n\n// Exports\r\n/**\r\n * Configures the plugin.\r\n */\r\nfunction configure(\r\n// tslint:disable-next-line:ban-types\r\nframeworkConfig, callback) {\r\n    // the fluent rule definition API needs the parser to translate messages\r\n    // to interpolation expressions.\r\n    var messageParser = frameworkConfig.container.get(ValidationMessageParser);\r\n    var propertyParser = frameworkConfig.container.get(PropertyAccessorParser);\r\n    ValidationRules.initialize(messageParser, propertyParser);\r\n    // configure...\r\n    var config = new GlobalValidationConfiguration();\r\n    if (callback instanceof Function) {\r\n        callback(config);\r\n    }\r\n    config.apply(frameworkConfig.container);\r\n    // globalize the behaviors.\r\n    if (frameworkConfig.globalResources) {\r\n        frameworkConfig.globalResources(ValidateBindingBehavior, ValidateManuallyBindingBehavior, ValidateOnBlurBindingBehavior, ValidateOnChangeBindingBehavior, ValidateOnChangeOrBlurBindingBehavior, ValidationErrorsCustomAttribute, ValidationRendererCustomAttribute);\r\n    }\r\n}\n\nexport { configure, GlobalValidationConfiguration, getTargetDOMElement, getPropertyInfo, PropertyAccessorParser, getAccessorExpression, ValidateBindingBehavior, ValidateManuallyBindingBehavior, ValidateOnBlurBindingBehavior, ValidateOnChangeBindingBehavior, ValidateOnChangeOrBlurBindingBehavior, ValidateEvent, ValidateResult, validateTrigger, ValidationController, ValidationControllerFactory, ValidationErrorsCustomAttribute, ValidationRendererCustomAttribute, Validator, Rules, StandardValidator, validationMessages, ValidationMessageProvider, ValidationMessageParser, MessageExpressionValidator, FluentRuleCustomizer, FluentRules, FluentEnsure, ValidationRules };\n","import { Api } from \"../services/api\";\nimport { inject } from \"aurelia-framework\";\n\n\n@inject(Api)\nexport class Advices {\n  constructor(api) {\n    this.api = api;\n    this.startUpdateInterval = false;\n    this.updateIntervalDuration = 30 * 60 * 1000;\n    this.targetRoutes = [\n      {\n        code: 'DASHBOARD',\n        href: 'dashboard',\n        text: \"Dashboard\",\n      },\n      {\n        code: 'CASHBACK',\n        href: \"cashback/contracts\",\n        text: 'Sezione contratti cashback'\n      },\n      {\n        code: 'FLAT-SERVICE-SUBSCRIPTIONS',\n        href: 'servizi/abbonamenti',\n        text: 'Sezione attivazione servizi'\n      },\n      {\n        code: 'QUEUE-REPORTS',\n        href: 'spedizioni/reportistica',\n        text: 'Sezione spedizioni reportistica'\n      },\n      {\n        code : \"SUBUSERS-PROFILES\",\n        href : \"anagrafiche/utenti\",\n        text : \"Sezione anagrafiche utenti\"\n      }\n    ]\n  }\n\n  get activeAdvices() {\n    return JSON.parse(localStorage.getItem('wall-advices')) || [];\n  }\n\n  set activeAdvices(value) {\n    return localStorage.setItem('wall-advices', JSON.stringify(value));\n  }\n\n  async initialize() {\n    if (this.updateInterval) return;\n    this.updateInterval = setInterval(() => {\n      this.updateAdvices();\n    }, this.updateIntervalDuration);\n    return await this.updateAdvices();\n  }\n\n  async updateAdvices() {\n    return await this.api.get(\"users/me/wall-advices\").then((xhr) => {\n      const newAdvices = [];\n      xhr.response.forEach(advice => {\n        if (!this.activeAdvices.some(x => x.id === advice.id)) {\n          advice.hasBeenSeen = false;\n          newAdvices.push(advice);\n        };\n      })\n      return this.activeAdvices = [...this.activeAdvices, ...newAdvices];\n    }).catch((error) => {\n      console.error(\"Error updating user advices list\", error);\n    })\n  }\n  \n  get(fragment) {\n    const route = this.targetRoutes.find(route => route.href === fragment);\n    if (!route) return;\n    const targetAdvices = this.activeAdvices.filter(advice => advice.targetCodes.includes(route.code) && !advice.hasBeenSeen);\n    return targetAdvices.length ? targetAdvices : null;\n  }\n\n  remove(advice) {\n    this.activeAdvices = this.activeAdvices.filter(x => x.id !== advice.id);\n  }\n  setAsSeen(advice) {\n    this.activeAdvices = this.activeAdvices.map(x => {\n      if (x.id === advice.id) x.hasBeenSeen = true;\n      return x;\n    });\n  }\n}","import moment from 'moment';\n\nexport async function checkAgreements(scope, fragment) {\n  const storagePrefix = `u${scope.data.id}-eula`;\n  const currentTimestamp = moment().utc();\n  const expiryTimestamp = localStorage.getItem(`${storagePrefix}-exp`);\n  \n  if (expiryTimestamp&& expiryTimestamp > currentTimestamp.format()) return checkResult(true);\n  if (['/impostazioni/agreements'].includes(fragment)) return checkResult(false);\n  const response = await scope.rest.get('users/me/user-agreements/current');\n  console.log(JSON.stringify(response));\n  if (response.status === 401) return checkResult(true);\n  if (response.status >= 404 && response.status <= 410) {\n    localStorage.setItem(`${storagePrefix}-exp`, currentTimestamp.add(24, 'hours').format());\n    return checkResult(true);\n  }\n  if (response.status === 200) {\n    await new Promise((resolve) => {\n      scope.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'alert',\n        body: 'È necessario accettare i termini e le clausole di utilizzo obbligatorie'\n      }).whenClosed(() => {\n        resolve();\n      });\n    });\n    localStorage.removeItem(`${storagePrefix}-href`);\n    if (!['/', '/login', '/logout'].includes(location.pathname)) {\n      localStorage.setItem(`${storagePrefix}-href`, sanitizeUrl(location.href));\n    }\n    return checkResult(false, '/impostazioni/agreements');\n  }\n  console.warn('[checkAgreements] Unhandled response status code!');\n  return checkResult(false);\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n\nexport function sanitizeUrl(url) {\n  url = new URL(url);\n  const params = new URLSearchParams(url.search);\n  params.delete('st'); // Eventually remove service token passed from legacy frontend\n  url.search = params.toString();\n  return url.href;\n}\n","export async function checkPlatformMessages(scope, fragment) {\n  const platformMessages = await scope.rest.get(`users/me/user-platform-messages`);\n  platformMessages?.data?.data?.forEach?.((platformMessage, index) => {\n    const content = {\n      uuid: platformMessage.id,\n      ...platformMessage.attributes\n    };\n    setTimeout(() => {\n      toastPlatformMessage(scope, content);\n    }, 0);\n  });\n  return checkResult(true);\n}\n\nexport function toastPlatformMessage(scope, platformMessage) {\n  const styleMessageText = '';\n  const styleMessageLink = 'display: block; color: #ffa150; text-decoration-color: rgba(#ffa150, .5)';\n  const message = `<p><span style=\"${styleMessageText}\">${platformMessage?.text}</span><a data-action=\"closure\" href=\"${platformMessage?.link}\" style=\"${styleMessageLink}\">${platformMessage?.linkText}</a></p>`;\n  return scope.mdToast.init({\n    message,\n    hold: true,\n    uuid: platformMessage.uuid,\n    elementClass: 'platform-messages',  \n    icon: '<i style=\"color: #FFAA00; animation: pulse .4s linear infinite\" class=\"far fa-alarm-exclamation\"></i>'\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkSettingsLinkedSoftware(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/.+/.test(fragment)) return checkResult(false, fragment);\n  const response = await scope.rest.get('users/me/advanced-preferences');\n  if (response.status !== 200) return checkResult();\n  if (!!response.data?.data?.attributes?.multifatture?.accountingClientSoftwareUuid) {\n    return checkResult(true);\n  } \n  await dialogMissingBillingProfile(scope);\n  return checkResult(false, '/anagrafiche/utenti/me/impostazioni');\n}\n\nexport function dialogMissingBillingProfile(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      class: 'small',\n      title: 'Attenzione!',\n      body: 'È necessario impostare il software gestionale utilizzato per la gestione della contabilità'\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserBillingProfile(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/.+/.test(fragment)) return checkResult(false, fragment);\n  const response = await scope.rest.get('users/me/billing-profiles');\n  if (response.status !== 200) return checkResult();\n  if (response.data?.data?.length) return checkResult(true);\n  await dialogMissingBillingProfile(scope);\n  return checkResult(false, '/anagrafiche/utenti/me/fatturazione');\n}\n\nexport function dialogMissingBillingProfile(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      class: 'small',\n      title: 'Attenzione!',\n      body: 'È necessario impostare un profilo di fatturazione'\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserProfileData(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/anagrafica/.test(fragment)) return checkResult(false, fragment);\n  const profile = scope.data.profile;\n  const missingProperties = [];\n  const requiredProperties = ['businessType', 'companyLegalFormCode', 'countryCode'];\n  if (profile.location?.countryCode === 'IT') {\n    requiredProperties.push('admLvl1', 'admLvl2', 'admLvl3', 'streetAddress', 'zipCode');\n  }\n  requiredProperties.forEach((property) => {\n    const profileProperty = profile[property] || profile.location?.[property];\n    if (!(profileProperty || '').trim().length) missingProperties.push(property);\n  });\n  if (missingProperties.length) {\n    await dialogMissingProperties(scope, missingProperties);\n    return checkResult(false, '/gestione/profilo/me/anagrafica');\n  }\n  return checkResult(true);\n}\n\nexport function dialogMissingProperties(scope, missingProperties) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      title: `Dati profilo utente incompleti`,\n      class: 'small',\n      viewModelParams: missingProperties,\n      viewModel: PLATFORM.moduleName('views/accesso/dialog-missing-properties')\n    }).whenClosed(() => {\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export async function checkUserProfilePec(scope, fragment) {\n  if (/\\/(anagrafiche|gestione)\\/(utenti|profilo)\\/me\\/anagrafica/.test(fragment)) return checkResult(true, fragment);\n\n  if (!/(\\/dashboard|\\/reportistica)/.test(fragment)) return checkResult(true);\n\n  const profile = scope.data.profile;\n  const hasPecCheckPassed = sessionStorage.getItem('hasPecCheckPassed') === 'true';\n\n  if (!profile.pec && !hasPecCheckPassed) {\n    await dialogMissingPec(scope);\n    return checkResult(false, '/gestione/profilo/me/anagrafica');\n  }\n\n  return checkResult(true);\n}\n\nexport function dialogMissingPec(scope) {\n  return new Promise((resolve) => {\n    scope.dialog.open({\n      type: 'alert',\n      title: `Aggiornamento anagrafica`,\n      class: 'small',\n      body: 'Per migliorare la comunicazione e rendere più chiari gli accordi, vi chiediamo di compilare il <strong>campo PEC.</strong>'\n    }).whenClosed(() => {\n      sessionStorage.setItem('hasPecCheckPassed', 'true');\n      resolve();\n    });\n  });\n}\n\nexport function checkResult(hasPassed, redirect) {\n  const result = {};\n  if (hasPassed !== undefined) result.hasPassed = hasPassed;\n  if (redirect !== undefined) result.redirect = redirect;\n  return result;\n}\n","export { checkAgreements } from './check-agreements';\nexport { checkUserProfilePec } from './check-user-profile-pec';\nexport { checkUserProfileData } from './check-user-profile-data';\nexport { checkPlatformMessages } from './check-platform-messages';\nexport { checkUserBillingProfile } from './check-user-billing-profile';\nexport { checkSettingsLinkedSoftware } from './check-settings-linked-software';\n\nexport class CheckFlow {\n  constructor() {\n    this.checks = [];\n  }\n\n  addCheck(check) {\n    if (typeof check.function !== 'function') throw new Error(\"Check function must be a function!\");\n    check.id = check.function.name;\n    const matched = this.checks.find((x) => x.id === check.id);\n    if (matched) return matched;\n    this.checks.push(check);\n    return check;\n  }\n\n  getCheck(functionName) {\n    return this.checks.find((check) => check.function.name === functionName);\n  }\n  \n  async run(scope, fragment) {\n    for (const check of this.checks) {\n      console.debug(`[checkflow-run] Run check ${check.id}`, {...check});\n\n      if (['checkUserBillingProfile', 'checkSettingsLinkedSoftware'].includes(check.id)) {\n        const isBuildingAdministrator = scope.data?.profile?.businessType === 'BUILDING-ADMINISTRATOR';\n        check.isMandatory = isBuildingAdministrator;\n      }\n\n      if (check.hasPassed || (check.hasPassed === false && !check.isMandatory && (!check.redirect || check.redirect !== fragment))) {\n        console.debug(`[checkflow-run] Skip check ${check.id}`, {...check});\n        continue;\n      }\n      const result = await check.function(scope, fragment);\n      Object.assign(check, result);\n      console.debug(`[checkflow-run] Executed check ${check.id}`, {...check});\n      if (!check.hasPassed && (check.isMandatory || !!check.redirect)) return check;\n    }\n    return { hasPassed: true };\n  }\n}\n","import { DateFormatValueConverter } from \"../resources/value-converters/date-format\";\n\nexport class MavRequest {\n  dateFormat;\n  isOperator;\n  statuses = {\n    'PENDING-DOCUMENT-INTERNAL-APPROVAL': {\n      class: 'pending',\n      shortText: '',\n      text: 'Attesa approvazione interna'\n    },\n    'PENDING-DOCUMENT-DOWNLOAD': {\n      class: 'pending',\n      text: 'Attesa approvazione bancaria'\n    },  \n    'PENDING-APPROVAL': {\n      class: 'pending',\n      text: 'Attesa approvazione bancaria'\n    },\n    'PENDING-ACTIVATION': {\n      class: 'pending',\n      text: 'Attesa attivazione'\n    },\n    'ACTIVE': {\n      class: 'success',\n      text: 'Richiesta attivata'\n    },\n    'REFUSED': {\n      class: 'error',\n      text: 'Richiesta rifiutata'\n    },\n    'DELETED': {\n      class: 'deleted',\n      text: 'Richiesta dismessa'\n    }\n  }\n\n  constructor(isOperator) {\n    this.isPrivilegedUser = isOperator;\n    this.dateFormat = new DateFormatValueConverter();\n  }\n  \n  displayText(record) {\n    const statuses = {\n      ...this.statuses,\n      'NONE': {\n        class: 'deleted',\n        text: 'Richiesta dismessa'\n      }\n    };\n    const status = record.status || record.payments?.banking?.mavSelfPrintingAuthorizationStatus;\n    if (status && Object.keys(statuses).includes(status)) {\n      if (this.isPrivilegedUser) {\n        if (status === 'PENDING-ACTIVATION') {\n          const approvalDate = record.approvedAt || record.payments?.banking?.mavApprovedAt || '(N.D)';\n          if (approvalDate) return `${this.statuses['PENDING-ACTIVATION'].text} (approvata il ${this.dateFormat.toView(approvalDate, 'DD/MM/YYYY')})`;\n        } else if (status === 'ACTIVE') {\n          const activationDate = record.activatedAt || record.payments?.banking?.mavActivatedAt || '(N.D)';\n          if (activationDate) return `${this.statuses['ACTIVE'].text} il ${this.dateFormat.toView(activationDate, 'DD/MM/YYYY')}`;\n        } else if (['NONE','DELETED'].includes(status)) {\n          const deletionDate = record.deletedAt || record.payments?.banking?.mavDeletedAt || '(N.D)';\n          return `${this.statuses['DELETED'].text} il ${this.dateFormat.toView(deletionDate, 'DD/MM/YYYY')}`;\n        } else if (status === 'REFUSED') {\n          const rejectionDate = record.refusedAt || record.payments?.banking?.mavRefusedAt || '(N.D)';\n          return `${this.statuses['REFUSED'].text} il ${this.dateFormat.toView(rejectionDate, 'DD/MM/YYYY')}`;\n        }\n      }\n      return this.statuses[status].text;\n    }\n  }\n\n  setDatasourceMavAuthorizationStatus(datasource = [], statusesRemoved = []) {\n    datasource.unshift({ status: 'null', text: 'Qualsiasi' });\n    Object.entries(this.statuses).forEach((status) => {\n      const [key, value] = status;\n      if (!statusesRemoved.includes(key)) {\n        if (['PENDING-APPROVAL', 'PENDING-DOCUMENT-DOWNLOAD'].includes(key)) {\n          if (!datasource.some((obj) => 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD' === obj.status)) {\n            datasource.push({ status: 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD', text: value.text });\n          }\n        } else {\n          datasource.push({ status: key, text: value.text });\n        } \n      }\n    });\n    return datasource;\n  }\n}\n","import { inject, CompositionEngine, Container, ViewSlot } from 'aurelia-framework';\nimport { KaDialog } from 'ka-components';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\nexport class TableInterface {\n  inizialized = false;\n  configurables = ['name', 'client', 'endpoint', 'query', 'data', 'limit'];\n  endpoint = null;\n  query = null;\n  limit = 10;\n  offset = 0;\n  total = 0;\n  sort = null;\n  data = null;\n  isLoading = false;\n\n  constructor(config) {\n    // Thisify config\n    for (let attribute of this.configurables) {\n      if (typeof config[attribute] !== 'undefined') {\n        this[attribute] = config[attribute];\n      } else if (typeof this[attribute] === 'undefined') throw new Error(`TableInterface construct fail! Missing required configuration attribute \"${attribute}\"`);\n    }\n    // Get session stored data\n    Object.assign(this, JSON.parse(sessionStorage.getItem(btoa(`${this.name}-data`))) || {});\n\n    // Custom events\n    this.events = document.createTextNode(null);\n    this.events.dataLoad = new CustomEvent('dataLoad', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n\n  }\n\n  initialize() {\n    let promises = []; // promises.push(this.api.get());\n    return Promise.all(promises).then(xhrs => {\n      this.initialized = true;\n      console.log('TableInterface initialized');\n    }).catch(error => {\n      console.error('TableInterface initialization failed', error);\n    });\n  }\n\n  load(params = null, sort = null) {\n    if (!this.initialized) return Promise.reject('TableInterface was not yet initialized when the load() function was called!');\n    this.isLoading = true;\n    \n    // Handle query params\n    let query = new URLSearchParams('');\n    if (params) {\n      query = new URLSearchParams(this.query || '');\n      for (const [key, value] of Object.entries(params)) {\n        query.set(key, value);\n      }\n    } else if (this._query) {\n      query = new URLSearchParams(this._query);\n    } else if (this.query) {\n      query = new URLSearchParams(this.query);\n    }\n    this._query = query.toString();\n    \n    // Handle sort\n    this.sort = sort || this.sort || [];\n    let sorts = [];\n    this.sort.forEach(item => {\n      sorts.push(`${item.order === 'desc' ? '-' : ''}${item.name}`);\n    });\n    if (sorts.length) {\n      sorts = sorts.join(',');\n      query.set('sort', sorts);\n    }\n\n    // Handle limit and offset\n    if (this.limit) query.set('limit', this.limit);\n    if (this.offset) query.set('offset', this.offset);\n\n    if (this.loadRequest && this.loadRequest.cancel) {\n      this.loadRequest.cancel();\n    }\n\n    // Finally make the api call\n    this.events.dispatchEvent(this.events.dataLoad);\n    this.loadRequest = this.client.get(`${this.endpoint}?${this.parseQuery(query)}`);\n    return this.loadRequest.then(xhr => {\n      this.data = this.parseResponse(xhr.response);\n      this.total = (xhr.headers && xhr.headers.headers && xhr.headers.headers['x-total-count']) ? xhr.headers.headers['x-total-count'].value : this.data.length;\n      sessionStorage.setItem(btoa(`${this.name}-data`), JSON.stringify({ limit: this.limit, offset: this.offset, sort: this.sort }));\n      this.events.dataLoaded.xhr = xhr;\n      this.events.dispatchEvent(this.events.dataLoaded);\n      this.isLoading = false;\n      return xhr;\n    }, xhr => {\n      this.client?.dialogError?.(xhr, this.searchInterface?.controls || {});\n    }).catch(error => {\n      console.error(error);\n      this.data = null;\n      this.isLoading = false;\n    });\n  }\n\n  reset() {\n    this.data = null;\n    this.total = 0;\n  }\n\n  parseQuery(query) {\n    return query;\n  }\n\n  parseResponse(response) {\n    return response;\n  }\n}\n\nexport class SearchInterface {\n  active = false; // Used for highlighting search icon on table\n  inizialized = false;\n  configurables = ['name', 'table', 'schema', 'data'];\n  controls = {}; // Contains auto-referenced controls\n  last = { params: {} } // Reference to last search query\n\n  constructor(config) {\n    // Thisify config\n    for (let attribute of this.configurables) {\n      if (typeof config[attribute] !== 'undefined') {\n        this[attribute] = config[attribute];\n      } else if (typeof this[attribute] === 'undefined') throw new Error(`SearchInterface construct fail! Missing required configuration attribute \"${attribute}\"`);\n    }\n    // Get session stored data\n    this.data = JSON.parse(sessionStorage.getItem(btoa(`${this.name}-data`))) || this.data || {};\n    // Self reference inside TableInterface\n    if (this.table) this.table.searchInterface = this;\n  }\n\n  initialize() {\n    let promises = []; // promises.push(this.api.get());\n    return Promise.all(promises).then(xhrs => {\n      this.initialized = true;\n    }).catch(error => {\n      console.error('SearchInterface initialization failed', error);\n    });\n  }\n\n  validate(controls = null) {\n    let promises = [];\n    controls = controls || Object.values(this.controls);\n    controls.forEach(control => {\n      if (control && control.value !== undefined) { // Control can be null if in the meantime view removes it (eg: with an if.bind)\n        if (control.setError) control.setError(); // Reset in case control is a ka-control (not ka-input) and there is already an error manually attached to the control\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }).catch(error => reject(error)); }));\n      }\n    });\n    return Promise.all(promises);\n  }\n\n  search(data) {\n    if (!this.initialized) return Promise.reject('SearchInterface was not yet initialized when the search() function was called!');\n    let params = {};\n    return new Promise((resolve, reject) => {\n      this.validate().then(() => {\n        for (let [k,v] of Object.entries(data || this.data)) {\n          if (v && v !== 'null' && this.schema[k]?.query) {\n            if (this.schema[k].control === 'date' && this.schema[k].query.includes('-gte')) {\n              v = moment.utc(v).local().startOf('day').utc().format();\n            } else if (this.schema[k].control === 'date' && this.schema[k].query.includes('-lte')) {\n              v = moment.utc(v).local().endOf('day').utc().format();\n            }\n            params[this.schema[k].query] = encodeURIComponent(v);\n          }\n        }\n        if (sessionStorage.getItem(btoa(`${this.name}-data`)) !== JSON.stringify(this.data)) {\n          sessionStorage.setItem(btoa(`${this.name}-data`), JSON.stringify(this.data));\n          this.table.offset = 0; // Reset offset only if search data has changed\n        }\n        if (Object.keys(params).length) {\n          this.active = true;\n          this.last.params = params;\n          this.table.load(params).then(xhr => resolve(xhr)).catch(error => reject(error));\n        } else {\n          this.active = false;\n          this.last.params = {};\n          this.table.load({}).then(xhr => resolve(xhr)).catch(error => reject(error)); //return this.reset(); // Not sure what it is for...\n        }\n      }).catch(error => reject(error));\n    });\n  }\n\n  reset(soft = false, load = true) {\n    for (let key of Object.keys(this.data)) { this.data[key] = null; }\n    if (!soft) {\n      sessionStorage.removeItem(btoa(`${this.name}-data`));\n      this.table.offset = 0;\n      this.active = false;\n      this.last.params = {};\n      if (load) return this.table.load({});\n    }\n    return Promise.resolve();\n  }\n}\n\n@inject(CompositionEngine, Container)\nexport class TableSidebar {\n  constructor(compositionEngine, container) {\n    this.compositionEngine = compositionEngine;\n    this.container = container;\n  }\n  open(params) {\n    if (this.isOpen) return this.close();\n\n    // Add backdrop\n    this.backdrop = document.createElement('div');\n    this.backdrop.classList.add('md-table-backdrop');\n    this.backdrop.addEventListener('click', event => { if (event.target === this.backdrop) this.close(); });\n    document.getElementsByTagName('body')[0].insertBefore(this.backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    // Add sidebar\n    this.sidebar = document.createElement('div');\n    this.sidebar.classList.add('md-table-sidebar', 'off');\n    this.backdrop.appendChild(this.sidebar);\n\n    // Compose\n    this.context = {\n      container: this.container.createChild(),\n      viewModel: params.viewModel,\n      model: params.viewModelParams,\n      host: this.sidebar,\n      bindingContext: null,\n      viewResources: null,\n      viewSlot: new ViewSlot(this.sidebar, true)\n    };\n    this.compositionEngine.compose(this.context).then(composition => {\n      this.composition = composition;\n      this.composition.viewModel.close = () => { this.close(); };\n      this.context.viewSlot.attached();\n      // Timeout used for css transition\n      setTimeout(() => { this.sidebar.classList.remove('off'); }, 100);\n      this.isOpen = true;\n    });\n  }\n  close() {\n    // Timeout used for css transition\n    this.sidebar.classList.add('off');\n    setTimeout(() => {\n      document.getElementsByTagName('body')[0].removeChild(this.backdrop);\n      this.context.viewSlot.detached();\n      this.isOpen = false;\n    }, 500);\n  }\n}\n\nexport class TableSelectionInterface {\n  selectedRecords;\n  selectedCount = 0;\n  recordsByUuid = {};\n  selectEveryVisibleRecordSelected = false;\n\n  constructor(config) {\n    this.table = config.table;\n    this.addLoadSuccessListener();\n  }\n  addLoadSuccessListener() {\n    return this.table.events.addEventListener('dataLoaded', () => {\n      this.table.data.forEach((record) => {\n        record._selection = Object.assign({ isDisabled: false, isSelected: false }, this.recordsByUuid[record.id]?._selection || {});\n        this.recordsByUuid[record.id] = record;\n      });\n      this.selectEveryVisibleRecordSelected = this.isEveryVisibleRecordSelected();\n    });\n  }\n  changeSelectedRecords() {\n    this.setSelectedRecords();\n    this.setSelectedCount();\n    this.selectEveryVisibleRecordSelected = this.isEveryVisibleRecordSelected();\n  }\n  changeSelectEveryVisibleRecordSelected() {\n    this.table?.data.forEach((record) => {\n      if (!record._selection.isDisabled) record._selection.isSelected = this.selectEveryVisibleRecordSelected;\n    });\n    this.setSelectedRecords();\n    this.setSelectedCount();\n  }\n  setSelectedCount() {\n    this.selectedCount = this.selectedRecords?.length;\n  }\n  setSelectedRecords() {\n    this.selectedRecords = Object.values(this.recordsByUuid).filter((record) => record._selection.isSelected);\n  }\n  isEveryVisibleRecordDisabled() {\n    return this.table.data?.every((record) => record._selection.isDisabled);\n  }\n  isEveryVisibleRecordSelected() {\n    return this.table.data?.filter((record) => !record._selection.isDisabled).every((record) => record._selection.isSelected);\n  }\n  reset(hard) {\n    return Object.values(this.recordsByUuid).forEach((record) => {\n      if (hard) {\n        record._selection.isDisabled = false;\n        record._selection.isSelected = false;\n      }\n      this.selectEveryVisibleRecordSelected = false;\n      Object.keys(record._selection).filter((key) => !['isDisabled'].includes(key)).forEach((key) => {\n        record._selection[key] = null;\n      });\n    });\n  }\n}\n","import { v4 as uuidv4 } from 'uuid';\n\nexport class MdToast {\n  uuid;\n  stack = [];\n  holdedElement;\n  duration = 15000;\n  transition = 800;\n\n  init(config = { message: '', elementClass: '' }) {\n    this.uuid = config.uuid || uuidv4();\n    this.stack.push(config);\n    this.duration = config.duration || this.duration;\n    if (!this.holdedElement) {\n      this.create(config);\n    }\n  }\n  platformMessages(currentStack, element) {\n    const html = `<div class=\"icon-box\">${currentStack.icon}</div><div class=\"content-box\">${currentStack.message}</div><div class=\"closure-box\"></div>`;\n    element.innerHTML = html;\n    if (element && element instanceof HTMLElement) {\n      const closureTag = element?.querySelector('.closure-box');\n      const dataActionClosure = element?.querySelector('a[data-action=\"closure\"]');\n      closureTag?.addEventListener?.('click', (event) => {\n        this.consume(currentStack);\n        closureTag.removeEventListener('click', closureTag);\n      });\n      dataActionClosure?.addEventListener?.('click', (event) => {\n        this.consume(currentStack);\n        dataActionClosure.removeEventListener('click', dataActionClosure);\n      });\n    }\n  }\n  create(currentStack) {\n    if (currentStack) {\n      const routerView = document.querySelector('body > router-view');\n\n      let element = document.createElement('div');\n      element.id = this.uuid;\n      element.classList.add('md-toast');\n      element.classList.add(currentStack?.elementClass);\n      element.setAttribute('data-hold', currentStack?.hold, this.uuid);\n  \n      if (currentStack?.elementClass === 'platform-messages') this.platformMessages(currentStack, element);\n      else element.innerHTML = currentStack?.message;\n      this.holdedElement = element;\n      routerView?.append(element);\n  \n      setTimeout(() => {\n        element.classList.add('visible');\n        setTimeout(() => {\n          if (this.holdedElement?.getAttribute?.('data-hold') === 'false') {\n            this.consume(currentStack);\n          }\n        }, this.duration);\n      }, this.transition);\n    }\n  }\n  consume(currentStack) {\n    if (this.holdedElement?.id === currentStack?.uuid) {\n      this.holdedElement?.classList?.remove?.('visible');\n      setTimeout(() => {\n        this.holdedElement?.remove();\n        if (this.stack?.length) {\n          this.stack.shift();\n          this.create(this.stack[0]);\n        }\n      }, this.transition);\n    }\n  }\n}\n","export class FidelityCardsModel {\n  statuses = {\n    'ACTIVE': {\n      label: 'Attiva',\n      class: 'success',\n    },\n    'EXPIRED': {\n      class: 'error',\n      label: 'Scaduta',\n    },\n    'RESCINDED': {\n      class: 'error',\n      label: 'Scaduta',\n    },\n    'TERMINATED': {\n      class: 'error',\n      label: 'Terminata',\n    },\n    'GRACE-PERIOD': {\n      class: 'pending',\n      label: 'Periodo di tolleranza',\n    }\n  };\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  // Http functions\n  activation(card) {\n    const path = 'users/me/fidelity-card-activations';\n    const fidelityCardPriceListUuid = card.priceListUuid;\n    return this.api.post(path, { fidelityCardPriceListUuid }).then(() => {\n      this.toast.show('Attivazione avvenuta con successo', 'success');\n    }).catch((error) => {\n      console.log('fidelityCardActivations', error);\n      this.api.dialogError(error);\n    });\n  }\n  renew(card) {\n    const path = `users/me/fidelity-card-activations/${card.activationUuid}/renewals`;\n    return this.api.post(path, {}).then(() => {\n      this.toast.show('Rinnovo avvenuto con successo', 'success');\n    }).catch((error) => {\n      console.log('fidelityCardRenewals', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n","export class QueueMessages {\n  queueMessageStatusCodes;\n\n  setQueueMessageStatusCodes(client) {\n    return client?.get(`queue-message-status-codes`).then((xhr) => {\n      this.queueMessageStatusCodes = this.parseQueueMessageStatusCodes(xhr.response);\n    });\n  }\n  parseQueueMessageStatusCodes(response = []) {\n    response.forEach((record, index) => {\n      response[index] = {\n        ...record,\n        statusGroupValue: record.statusGroup.value,\n        statusGroupLabel: record.statusGroup.label,\n      };\n      delete response[index].statusGroup;\n    });\n    return response;\n  }\n\n  getQueueMessageStatusCodeGroupValue(statusCode = null) {\n    const statusGroupValue = this.queueMessageStatusCodes.find((record) => record.code === statusCode)?.statusGroupValue;\n    return statusGroupValue.toLowerCase();\n  }\n  getQueueMessageStatusCodeGroupLabel(statusCode = null) {\n    const statusGroupLabel = this.queueMessageStatusCodes.find((record) => record.code === statusCode)?.statusGroupLabel;\n    return statusGroupLabel;\n  }\n  getQueueMessageStatusCodeLabel(statusCode = null) {\n    const statusLabel = this.queueMessageStatusCodes.find((record) => record.code === statusCode)?.label;\n    return statusLabel;\n  }\n}\n","export class QueueProperties {\n  statuses = [\n    {\n      key: 'COMPLETED',\n      text: 'Completata',\n      group: 'Completata',\n      value: 'COMPLETED',\n      class: 'success'\n    },\n    {\n      key: 'PENDING',\n      text: 'In elaborazione',\n      value: 'PENDING',\n      class: 'pending'\n    },\n    {\n      key: 'ABANDONED',\n      text: 'Scaduta',\n      group: 'Annullata',\n      value: 'ABANDONED',\n      class: 'abandoned' \n    },\n    {\n      key: 'ABORTED-BY-USER',\n      text: 'Rifiutata',\n      group: 'Annullata',\n      value: 'ABORTED-BY-USER',\n      class: 'refused'   \n    },\n    {\n      key: 'DISPATCH-ERROR',\n      text: 'Errore di elaborazione',\n      group: 'Annullata',\n      value: 'DISPATCH-ERROR',\n      class: 'error'\n    },\n    {\n      key: 'DISCONTINUED',\n      text: 'Consegna interrotta',\n      value: 'DISCONTINUED',\n      class: 'discontinued'\n    }\n  ];\n  channels = [\n    {\n      value: 'SENDPOSTA',\n      text: 'Posta',\n      icon: 'fa-mail-bulk'\n    },\n    {\n      value: 'SENDEMAIL',\n      text: 'Email',\n      icon: 'fa-at'\n    },\n    {\n      value: 'PEC',\n      text: 'Pec',\n      icon: 'fa-file-certificate'\n    },\n    {\n      value: 'MULTICERTA',\n      text: 'Multicerta',\n      icon: 'fa-shield-check'\n    },\n    {\n      value: 'MULTIBOX',\n      text: 'Multibox',\n      icon: 'fa-box-alt'\n    }\n  ];\n  uuidQueueToUpdate;\n  update(client, record) {\n    return client.createRequest(`users/${record.owner.id}/queue-outlines/${record.uuid}`).asGet().withHeader('Prefer', 'Refresh').send();\n  }\n}\n","//import environment from '../config/environment.json';\nexport default ENVIRONMENT;","import '@babel/polyfill';\nimport { PLATFORM } from 'aurelia-pal';\nimport ENVIRONMENT from './environment';\n\nexport function configure(aurelia) {\n  aurelia.use\n    .standardConfiguration()\n    .globalResources([\n      PLATFORM.moduleName('resources/elements/md-input/md-input'),\n      PLATFORM.moduleName('resources/value-converters/striphtml'),\n      PLATFORM.moduleName('resources/value-converters/stringify'),\n      PLATFORM.moduleName('resources/elements/md-loader/md-loader'),\n      PLATFORM.moduleName('resources/value-converters/date-format'),\n      PLATFORM.moduleName('resources/elements/km-layout/km-layout'),\n      PLATFORM.moduleName('resources/value-converters/combo-format'),\n      PLATFORM.moduleName('resources/value-converters/append-comma'),\n      PLATFORM.moduleName('resources/elements/md-counter/md-counter'),\n      PLATFORM.moduleName('resources/elements/md-control/md-control'),\n      PLATFORM.moduleName('resources/value-converters/object-format'),\n      PLATFORM.moduleName('resources/elements/md-prefsel/md-prefsel'),\n      PLATFORM.moduleName('resources/elements/md-resource/md-resource'),\n      PLATFORM.moduleName('resources/value-converters/filesize-format'),\n      PLATFORM.moduleName('resources/attributes/md-tooltip/md-tooltip'),\n      PLATFORM.moduleName('resources/elements/md-nav-utenti/md-nav-utenti'),\n      PLATFORM.moduleName('resources/elements/md-table-sort/md-table-sort'),\n      PLATFORM.moduleName('resources/value-converters/queue-status-format'),\n      PLATFORM.moduleName('resources/value-converters/queue-channel-format'),\n      PLATFORM.moduleName('resources/elements/md-input-array/md-input-array'),\n      PLATFORM.moduleName('resources/attributes/static-tooltip/static-tooltip'),\n      PLATFORM.moduleName('resources/elements/md-table-toolbar/md-table-toolbar'),\n      PLATFORM.moduleName('resources/elements/md-table-wrapper/md-table-wrapper'),\n      PLATFORM.moduleName('resources/elements/md-table-pagination/md-table-pagination'),\n      PLATFORM.moduleName('resources/elements/md-accordion-button/md-accordion-button'),\n      PLATFORM.moduleName('resources/elements/md-table-progressbar/md-table-progressbar')\n    ])\n    .plugin(PLATFORM.moduleName('ka-components'))\n    .plugin(PLATFORM.moduleName('aurelia-dialog'))\n    .plugin(PLATFORM.moduleName('aurelia-validation'))\n    .plugin(PLATFORM.moduleName('aurelia-http-client'))\n\n  aurelia.use.developmentLogging(ENVIRONMENT.APP_DEBUG === 'true' ? 'debug' : 'warn');\n  aurelia.start().then(() => {\n    aurelia.setRoot(PLATFORM.moduleName('views/app/app'), document.body);\n  });\n}\n","import {inject, customAttribute} from 'aurelia-framework';\n\n@customAttribute('md-tooltip')\n@inject(Element)\nexport class MdTooltipCustomAttribute {\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  attached() {\n    if (!this.element.tagName) return;\n    let target = this.element;\n    let icon = document.createElement('i');\n    icon.classList.add('tooltip-icon', 'material-icons');\n    icon.textContent = 'help';\n    setTimeout(() => {\n      if (['md-input', 'ka-input'].includes(this.element.tagName.toLowerCase())) {\n        target = icon;\n        let container = this.element.querySelector('label') || this.element.querySelector('.ka-input-checkbox-description');\n        container.append(icon);\n      } else if (['md-control', 'ka-control'].includes(this.element.tagName.toLowerCase())) {\n        target = icon;\n        let container = this.element.querySelector('label') || this.element.querySelector('ka-control-check .description');\n        container.append(icon);\n      } else if (this.element.innerHTML === '') {\n        this.element.append(icon);\n      }\n      target.addEventListener('mouseover', (e) => {\n        if (this.tooltip) return;\n        let bounds = e.target.getBoundingClientRect();\n        this.tooltip = document.createElement('div');\n        this.tooltip.classList.add('md-tooltip');\n        this.tooltip.style.top = (bounds.top + bounds.height) + 'px';\n        this.tooltip.style.left = (bounds.left + (bounds.width / 2)) + 'px';\n        this.tooltip.innerHTML = this.value;\n        document.getElementsByTagName('body')[0].insertBefore(this.tooltip, document.getElementsByTagName('body')[0].children[0]);\n        setTimeout(()=>{ if (!this.tooltip) return; this.tooltip.classList.add('visible'); }, 300);\n      });\n      target.addEventListener('mouseout', (e) => {\n        if (!this.tooltip) return;\n        document.getElementsByTagName('body')[0].removeChild(this.tooltip);\n        this.tooltip = null;\n      });\n    }, 100);\n  }\n  detached() {\n    if (!this.tooltip) return;\n    document.getElementsByTagName('body')[0].removeChild(this.tooltip);\n    this.tooltip = null;\n  }\n}\n","import { v4 as uuidv4 } from 'uuid';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { bindable, customAttribute } from 'aurelia-framework';\nimport { computePosition, flip, shift, offset, arrow } from '@floating-ui/dom';\n\n@customAttribute('static-tooltip')\nexport class StaticTooltipCustomAttribute {\n  element;\n  tooltipId;\n  elementId;\n  navigationEvent;\n  @bindable() value;\n  @bindable() style = 'static-tooltip';\n\n  static inject = [Element, EventAggregator];\n  constructor(element, eventAggregator) {\n    this.element = element;\n    this.tooltipId = uuidv4();\n    this.elementId = uuidv4();\n    this.eventAggregator = eventAggregator;\n  }\n  attached() {\n    const elementIcon = this.element?.querySelector('i');\n    this.navigationEvent = this.eventAggregator.subscribe('router:navigation:success', this.clear);\n\n    this.clear();\n    this.value = this.setValue();\n    this.element.id = this.elementId;\n    this.element.classList.add('has-custom-icon');\n    if (!elementIcon) this.element.prepend(this.generateIcon(this.value));\n    this.element.addEventListener('click', this.handleClick.bind(this, structuredClone(this.value)));\n    this.element.addEventListener('mouseenter', this.handleMouseEnter.bind(this, structuredClone(this.value)));\n    this.element.addEventListener('mouseleave', this.handleMouseLeave);\n  }\n  detached() {\n    this.close.bind(this);\n    this.element.removeEventListener('click', this.handleClick);\n    this.element.removeEventListener('mouseenter', this.handleMouseEnter);\n    this.element.removeEventListener('mouseleave', this.handleMouseLeave);\n  }\n  clear() {\n    let tooltipList = document.body?.querySelectorAll?.('div[role=\"tooltip\"].static-tooltip');\n    tooltipList?.forEach?.((tooltip) => {\n      tooltip.remove();\n    });\n  }\n\n  // Set functions\n  setValue() {\n    return {\n      ...this.value,\n      delay: 800,\n      icon: this.setIcon(),\n      ...(!this.value?.target && { target: '_blank' }),\n      ...(!this.value?.title && { title: 'Assistenza' }),\n      ...(!this.value?.placement && { placement: 'top' }),\n      ...(!this.value?.subtitle && { subtitle: 'Hai bisogno di aiuto?' }),\n      ...(!this.value?.message && { message: 'Visita il nostro portale di assistenza!' }),\n    };\n  }\n  setIcon() {\n    const icon = structuredClone(this.value?.icon || {});\n    const defaultConfig = {\n      order: 0,\n      width: 1.5,\n      height: 1.5,\n      type: 'icon',\n      margin: [0.3],\n      color: '#fff',\n      fontSize: 1.4,\n      weight: 'fal',\n      class: 'fa-question-circle',\n    };\n    const defaultIconSvg = `<svg viewBox=\"0 0 1171.42 1191.96\"><g><path d=\"M16.84,531.39h537.86c9.29,0,16.81-7.53,16.81-16.81V174.5c0-13.23,14.58-21.28,25.77-14.23l566.29,356.67c10.55,6.65,10.45,22.07-.19,28.57l-579.76,354.3c-5.36,3.27-12.09,3.29-17.46.04L8.15,562.59c-14.57-8.81-8.33-31.2,8.7-31.2h0Z\" style=\"fill:#ea560d;\"/><path d=\"M1037.01,675.97v241.18c0,2.59-1.38,4.99-3.61,6.3l-458.14,267.52c-2.31,1.35-5.17,1.32-7.45-.06L109.53,913.28c-2.18-1.32-3.51-3.69-3.51-6.24v-231.07c0-5.66,6.18-9.16,11.04-6.26l450.71,269.77c2.31,1.38,5.18,1.38,7.49,0l450.71-269.77c4.86-2.91,11.04.59,11.04,6.26Z\" style=\"fill:#ea560d;\"/><path d=\"M36.82,495.48h498.82V0L36.82,495.48ZM444.56,412.6h-203.66l203.66-202.29v202.29Z\" fill=\"#001b3f\"/> <path d=\"M444.56,412.6h-203.66l203.66-202.29Z\" fill=\"transparent\"/></g></svg>`;\n    const svgMarkup = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>${icon.svg || defaultIconSvg}`;  \n    return {\n      ...icon,\n      ...(icon.type === undefined && { type: defaultConfig.type }),\n      ...(icon.class === undefined && icon.type === 'icon' && { class: defaultConfig.class }),\n      ...(icon.type === 'svg' && { svg: svgMarkup }),\n      ...((icon.type === 'icon' && !icon.weight) && { weight: defaultConfig.weight }),\n      ...((icon.type === 'icon' && !icon.color) && { color: defaultConfig.color }),\n      ...(!icon.width && { width: defaultConfig.width }),\n      ...(!icon.height && { height: defaultConfig.height }),\n      ...(!icon.margin === undefined && { margin: defaultConfig.margin }),\n      ...(!icon.fontSize && { fontSize: defaultConfig.fontSize }),\n      ...(icon.order === undefined && { order: defaultConfig.order })\n    }\n  }\n  generateIcon(value) {\n    value = structuredClone(value);\n    const icon = value?.icon;\n    const wrapper = document.createElement('i');\n    const marginStyle = this.parseMargin(icon.margin);\n\n    wrapper.style.margin = marginStyle;\n    if (icon.order) wrapper.style.order = icon.order;\n\n    switch (icon.type) {\n      case 'svg':\n        wrapper.innerHTML = icon.svg;\n        const svg = wrapper.querySelector('svg');\n        if (svg) {\n          Object.assign(svg.style, {\n            width: `${icon.width}rem`,\n            height: `${icon.height}rem`,\n            margin: marginStyle,\n            display: 'inline-block',\n            verticalAlign: 'middle'\n          });\n        }\n        break;\n      case 'icon':\n        wrapper.classList.add(value.icon.weight, icon.class);\n        wrapper.style.fontSize = `${icon.width}rem`;\n        wrapper.style.color = value.icon.color;\n        break;\n    }\n    return wrapper;\n  }\n\n  // Parse functions\n  parseMargin(input) {\n    if (!Array.isArray(input) || input.length === 0) return '0.3rem';\n    return input.slice(0, 4).map((value) => `${Number(value) || 0}rem`).join(\" \");\n  }\n\n  // Handle functions\n  handleMouseLeave() {\n    if (this.showTimeout) {\n      clearTimeout(this.showTimeout);\n      this.showTimeout = null;\n    }\n  }\n  handleMouseEnter(value, event) {\n    if (!this.showTimeout) {\n      this.tooltip = null;\n      this.showTimeout = setTimeout(() => {\n        if (this.element?.parentElement?.querySelector?.(':hover') === this.element) {\n          document.querySelectorAll('div[role=\"tooltip\"]').forEach((tooltip) => tooltip.remove());\n          this.open(value, event);\n        }\n        this.showTimeout = null;\n      }, this.value.delay);\n    }\n  }\n  handleClick(value, event) {\n    if (this.showTimeout) {\n      clearTimeout(this.showTimeout);\n      this.showTimeout = null;\n    }\n    if (!this.tooltip && !document.body.contains(this.tooltip)) {\n      this.clear();\n      this.open(value, event);\n    }\n  }\n\n  // Opening/closing functions\n  open(value, event) {\n    value = structuredClone(value);\n    this.tooltip = document.createElement('div');\n    this.tooltip.role = 'tooltip';\n    this.tooltip.id = this.tooltipId;\n    this.tooltip.classList.add('ka-tooltip', 'static-tooltip');\n    if (this.style) this.tooltip.classList.add(this.style);\n\n    const iconNode = this.generateIcon(value);\n    const iconHtml = iconNode?.outerHTML || '';\n\n    this.tooltip.innerHTML = `\n      <div class=\"header\">\n        <div class=\"header-title\">\n          ${iconHtml}\n          <h3>${value.title}</h3>\n        </div>\n        <div class=\"closure\"></div>\n      </div>\n      <div class=\"value\">\n        <p>\n          <strong>${value.subtitle}</strong><br>\n          <a href=\"${value.href}\" target=\"${value.target}\">${value.message}</a>\n        </p>\n      </div>\n      <div class=\"arrow\"></div>\n    `;\n\n    document.body.insertBefore(this.tooltip, document.body.firstChild);\n\n    setTimeout(() => {\n      if (!this.tooltip) return;\n      this.tooltip.classList.add(\"visible\");\n      const closure = this.tooltip.querySelector('.closure');\n      const arrowElement = this.tooltip.querySelector('.arrow');\n\n      computePosition(event.target, this.tooltip, {\n        placement: this.value.placement,\n        middleware: [\n          offset(5),\n          flip(),\n          shift({ padding: 5 }),\n          arrow({ element: arrowElement, padding: 10 })\n        ],\n      }).then(({ x, y, placement, middlewareData }) => {\n        Object.assign(this.tooltip.style, { left: `${x}px`, top: `${y}px` });\n\n        const { x: arrowX, y: arrowY } = middlewareData.arrow;\n        const staticSide = {\n          top: 'bottom', right: 'left', bottom: 'top', left: 'right'\n        }[placement.split('-')[0]];\n\n        Object.assign(arrowElement.style, {\n          left: arrowX != null ? `${arrowX}px` : '',\n          top: arrowY != null ? `${arrowY}px` : '',\n          right: '', bottom: '',\n          [staticSide]: '-4px',\n        });\n      });\n      closure.addEventListener(\"click\", this.close.bind(this));\n    }, 0);\n  }\n  close(event) {\n    this.clear();\n    this.tooltip = null;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(DialogController)\nexport class DialogIntents {\n  vms = {\n    \"PROVIDE-CERTIFIED-DOCUMENTS\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-certified-documents'),\n    \"PROVIDE-LEGAL-FORM\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-legal-form'),\n    \"PROVIDE-IBAN\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-iban'),\n    \"LOGIN\": PLATFORM.moduleName('resources/dialogs/intents/vms/login'),\n    \"CONFIRM-TRANSMISSION-DELAY\": PLATFORM.moduleName('resources/dialogs/intents/vms/confirm-transmission-delay'),\n    \"SDD-ENABLED-REQUIRED\": PLATFORM.moduleName('resources/dialogs/intents/vms/provide-sdd'),\n    \"PAY-ORDERS\": PLATFORM.moduleName('resources/dialogs/intents/vms/pay-orders'),\n    \"ACCEPT-CASHBACK-CONTRACT\": PLATFORM.moduleName('resources/dialogs/intents/vms/accept-cashback-contract')\n  };\n\n  constructor(dialogController) {\n    this.controller = dialogController;\n  }\n  \n  activate(xhr) {\n    this.response = xhr.response;\n\n    // Check for a single intent\n    this.intent = this.response.source.intents.find((intent) => ['LOGIN', 'CONFIRM-TRANSMISSION-DELAY', 'EMAIL-CONFIRMATION-REQUIRED'].includes(intent.code));\n    if (this.intent) {\n      this.intent.vm = this.vms[this.intent.code];\n    } else {\n      // Loop intents\n      this.intents = [];\n      for (let intent of this.response.source.intents) {\n        if (intent.vm = this.vms[intent.code]) this.intents.push(intent);\n      }\n    }\n  }\n\n  includesCode(code) {\n    const intents = this.intents.map((intent) => intent.code);\n    return intents.includes(code);\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\n\n@inject(Router)\nexport class DialogIntentsAcceptCashbackContract {\n  constructor(router) {\n    this.router = router;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.controller = this.params.controller;\n  }\n\n  goToCashbackContracts() {\n    this.router.navigateToRoute('cashback/contracts');\n    this.controller.cancel();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsConfirmTransmissionDelay {\n  mdt = mdt;\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  created(view) {\n    this.parent = view.bindingContext;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  send() {\n    const data = { attributes: { statusCode: 'TRANSMITTED', nonWorkingDaysDisclaimerAccepted: 'YES' } };\n    this.api.patch(`users/me/tax-withholding-transmission-sessions/${this.params.sessionUuid}`, { data }).then(x => {\n      this.parent.controller.cancel();\n      this.toast.show('Invio effettuato con successo!', 'success');\n    }).catch(error => {\n      console.log('Error Patch', error);\n      this.toast.show('Errore durante l\\'invio!', 'error');\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class DialogIntentsLogin {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  login($event) {\n    // add reroute query to url\n    if ('URLSearchParams' in window) {\n      var searchParams = new URLSearchParams(window.location.search)\n      searchParams.set(\"reroute\", encodeURIComponent(this.router.currentInstruction.fragment));\n      var newRelativePathQuery = window.location.pathname + '?' + searchParams.toString();\n      history.pushState(null, '', newRelativePathQuery);\n    }\n    // login and return to the offer page\n    if ($event && $event.model) $event.model.busy = true;\n    this.api.login(this.username, this.password).then(() => {\n      sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: true }));\n    }).catch(error => {\n      console.warn('Login failed', error);\n      this.toast.show('Autenticazione utente fallita!', 'error');\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}","export class DialogIntentsPayOrders{\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideCertifiedDocuments {\n  mdt = mdt;\n  uploadSessionUuid = null;\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.documents = this.parseDocuments(this.params.documents);\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  parseDocuments(documents) {\n    let _documents = [];\n    documents.forEach(document => {\n      // Translate label\n      document.label = codesTranslator.tr(document.code);\n\n      // Create an array with no duplicates\n      for (let i = 0; i < document.errors.MISSING ; i++) {\n        this.hasMissingDocuments = true;\n        let missingDocument = Object.assign({ _errors: { MISSING: true, PENDING: false }}, document);\n        _documents.push(missingDocument);\n      }\n      for (let i = 0; i < document.errors.PENDING ; i++) {\n        this.hasPendingDocuments = true;\n        let pendingDocument = Object.assign({ _errors: { MISSING: false, PENDING: true }}, document);\n        _documents.push(pendingDocument);\n      }\n    });\n    return _documents;\n  }\n\n  edit(document) {\n    document.resource = new DocumentResource(this.api, this.dialog);\n    document.resource.schema.file.label = document.label;\n    document.edit = true;\n  }\n\n  save(document, $event) {\n    document.resource.validate().then(() => {\n      $event.model.busy = true;\n      this.uploadSession().then(() => {\n        this.upload(document.resource.data.file[0]).then(file => {\n          let data = { uploadedFileUuid: file.id, documentType: document.code.match(/\\[(.*)\\]/)[1] }\n          if (document.placeholder) data.placeholder = document.placeholder;\n          this.api.post(`users/${this.params.userId}/certifiable-document-buckets/current/certifiable-documents`, data).then(() => {\n            document.saved = true;\n            document.edit = false;\n            sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n            this.toast.show(`Documento caricato con successo!`, 'success');\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - POST', error);\n            document.resource.error(error);\n          }).finally(() => {\n            $event.model.busy = false;\n          });\n        });\n      });\n    });\n  }\n\n  uploadSession() {\n    return this.api.get(`users/${this.params.userId}/certifiable-document-buckets/current`).then(xhr => {\n      this.uploadSessionUuid = xhr.response.uploadSessionUuid;\n    }).catch(error => {\n      console.log('ERROR - certifiable-document-buckets/current GET', error);\n      this.toast.show(`Errore durante il caricamento!`, 'error');\n    });\n  }\n\n  upload(file) {\n    let endpoint = `users/${this.params.userId}/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        let reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = error => { reject(error); };\n      }).then(() => {\n        this.api.post(endpoint, attachment).then(xhr => {\n          // Build object attachment\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch(error => {\n          console.log('ERROR - uploaded-files POST', error);\n          this.toast.show(`Errore durante il caricamento!`, 'error');\n          reject()\n        });\n      }).catch(error => {\n        console.log('ERROR - uploaded files PROMISE', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        reject()\n      });\n    });\n  }\n\n  downloadStaticResource(record) {\n    const filename = record.templateFileName;\n    const anchor = document.createElement('a');\n    anchor.download = `${record.templateFileName}`;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n}\n\nexport class DocumentResource {\n  controls = {};\n  schema = {\n    file: {\n      label: null,\n      control: 'file',\n      required: true\n    }\n  };\n  data = {};\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  validate() {\n    let promises = [];\n    Object.values(this.controls).forEach(control => {\n      console.log(control);\n      promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n    });\n    return Promise.all(promises);\n  }\n  \n  error(error) {\n    this.api.dialogError(error, this.controls, ['documentType']);\n  }\n}\nexport const codesTranslator = {\n  codes: {\n    'BANK-ACCOUNT-OWNERSHIP-CERT' : {\n      'IT' : 'Attestazione titolarità del conto corrente',\n      'EN' : 'Bank account ownership certification'\n    },\n    'COMPANY-REPORT' : {\n      'IT' : 'Visura camerale',\n      'EN' : 'Company report'\n    },\n    'FISCAL-CODE-CERTIFICATION' : {\n      'IT' : 'Certificato attribuzione codice fiscale',\n      'EN' : 'Fiscal code certification'\n    },\n    'ID-CARD' : {\n      'IT' : 'Carta d\\'identità',\n      'EN' : 'Identity card'\n    },\n    'SN-CARD' : {\n      'IT' : 'Codice fiscale o tessera sanitaria',\n      'EN' : 'Security number card'\n    },\n    'SUBUSER-MANDATE' : {\n      'IT' : 'Certificazione attribuzione mandato',\n      'EN' : 'Subuser mandate'\n    },\n    'VAT-CODE-CERTIFICATION' : {\n      'IT' : 'Certificazione attribuzione partita iva',\n      'EN' : 'Vat code attribution certificate'\n    },\n    'MAV-VECTOR-CONTRACT' : {\n      'IT' : 'Accordo tra MultiDialogo e Banca Popolare di Sondrio',\n      'EN' : 'Agreement between MultiDialogo and Banca Popolare di Sondrio'\n    }\n  },\n  tr: (string) => {\n    let lang = string.match(/\\.(.*)\\./)[1];\n    let code = string.match(/\\[(.*)\\]/)[1];\n    if (lang && code && codesTranslator.codes[code] && codesTranslator.codes[code][lang]) return codesTranslator.codes[code][lang];\n    else return string;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideIban {\n  mdt = mdt;\n  pending = false;\n  resource = {\n    controls: {},\n    schema: {\n      iban: {\n        label: 'IBAN',\n        control: 'text',\n        required: true,\n        min: 6,\n        max: 27\n      }\n    }, \n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = { payments: { banking: { iban: this.resource.data.iban } } };\n      if (this.params.legalFormCode) data.legalFormCode = this.params.legalFormCode;\n      this.api.patch(`users/${this.params.billingProfileOwnerId || this.params.userId}/billing-profiles/${this.params.billingProfileUuid}`, data).then(() => {\n        this.params.saved = true;\n        this.params.edit = false;\n        this.toast.show(`Codice IBAN salvato con successo!`, 'success');\n        sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  } \n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideLegalForm {\n  mdt = mdt;\n  pending = true;\n  legalForms = null;\n  legalFormTypes = null;\n  data = {};\n  schema = {\n    companyLegalFormCode: {\n      label: 'Forma legale',\n      control: 'combo',\n      datatext: 'label',\n      datavalue: 'code', \n      datamultiple: false,\n      datapreload: true,\n      datasource: null\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n\n    // Build ka-componet datasource before opening the dialog\n    let companyLegalFormCodeDatasource = null;\n    let promises = [\n      this.api.get('legal-form-types').then(xhr => { this.legalFormTypes = xhr.response; }),\n      this.api.get('legal-forms').then(xhr => { this.legalForms = xhr.response; })\n    ];\n\n    // User display name\n    if (this.params.userId !== this.api.user.id) promises.push(this.getUser());\n\n    Promise.all(promises).then(() => {\n      if (this.legalFormTypes?.length && this.legalForms?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          optgroup = { code: type.code, label: type.label, optgroup: true };\n          companyLegalFormCodeDatasource.push(optgroup);\n          let formsForThisType = this.legalForms.filter(x => x.type === type.code);\n\n          if (formsForThisType.length) {\n            formsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n        this.schema.companyLegalFormCode.datasource = companyLegalFormCodeDatasource;\n      }\n    }).catch(errors => {\n      console.log(`ERRORS - promises GET`, errors);\n      this.api.dialogError(errors);\n    }).finally(() => {\n      setTimeout(() => { this.pending = false; }, 500);\n    });\n  }\n\n  getUser() {\n    return new Promise((resolve, reject) => {\n      this.api.get(`users/${user.legacyOwnerId}?include=user-profiles`).then(xhr => {\n        this.data.userDisplayName = xhr.response.profile[0].displayName;\n        return resolve();\n      }).catch(() => {\n        console.log('ERROR user-profile GET', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        return reject();\n      });\n    }); \n  }\n\n  save($event) {\n    $event.model.busy = true;\n    let data = { profile: this.data };\n    let endpoint = this.params.parentId ? `users/me/users/${this.params.userId}` : `users/${this.params.userId}`;\n    this.api.patch(endpoint, data).then(() => {\n      this.params.saved = true;\n      this.params.edit = false;\n      sessionStorage.setItem(btoa(`intents-reload`), JSON.stringify({ reload: false }));\n      this.toast.show(`Forma legale salvata con successo!`, 'success');\n    }).catch(error => {\n      console.log('ERROR users/me/users - PATCH', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogIntentsProvideSdd {\n  mdt = mdt;\n  edit = true;\n  saved = false;\n  data = {};\n  schema = {\n    sdd: {\n      label: '',\n      control: 'check',\n      description: 'Abilita domiciliazione bancaria',\n      required: true\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    let data = { payments: { banking: { sepaDirectDebitEnabled: true } } }\n    if (this.params.legalFormCode) data.legalFormCode = this.params.legalFormCode;\n    this.api.patch(`users/${this.params.userId}/billing-profiles/${this.params.billingProfileUuid}`, data).then(() => {\n      this.saved = true;\n      this.edit = false;\n      this.toast.show(`Domiciliazione bancaria attivata con successo!`, 'success');\n    }).catch(error => {\n      console.log(`ERROR billing-profiles - PATCH`, error);\n      this.resource.error(error);\n    });\n  }\n}\n","import { inject, customElement, bindable } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\n\n@customElement('km-layout')\n@inject(Element, Router)\nexport class KmLayout {\n  @bindable() config = null;\n  // Internal bindings\n  _collapsed = false;\n  _styles = { aside: null };\n  _intervals = [];\n\n  // Nav proxies to bypass binding\n  _navigation = { items: [] };\n  _toolbar = { items: [] };\n\n  constructor(element, router) {\n    this.element = element;\n    this.router = router;\n    document.addEventListener('click', e => {\n      if (e.target.classList.contains('expand') || e.target.classList.contains('collapse')) return;\n      for (let st of this.element.querySelectorAll('[data-subtool]')) {\n        st.classList.remove('visible');\n      }\n      let isBurger = e.target === this.burgerAside || e.target === this.burgerHeader || (e.target.parentElement && (e.target.parentElement === this.burgerAside || e.target.parentElement === this.burgerHeader));\n      if (!isBurger && !this._collapsed && window.innerWidth < 860) this.toggle();\n    });\n  }\n\n  attached() {\n    this.init();\n  }\n  detached() {\n    for (let interval of this._intervals) clearInterval(interval);\n  }\n\n  init() {\n    if (!this.config) console.warn('[km-layout] Missing configuration');\n    let config = {\n      infoBox: {},\n      brand: null,\n      user: { groups: [], roles: [] },\n      profile: null,\n      navigation: { items: [] },\n      toolbar: { items: [] },\n      isDevelopmentEnvironment: false\n    };\n    config = Object.assign({}, config, this.config);\n\n    const authorized = (item) => {\n      let userGroups = this.config.user ? (this.config.user.group || this.config.user.groups || []) : [];\n      if (!Array.isArray(userGroups)) userGroups = [userGroups];\n      let userGroupsPassed =  !item.authGroups || (item.authGroups && userGroups.some(e => item.authGroups.includes(e)));\n      let userRoles = this.config.user ? (this.config.user.role || this.config.user.roles || []) : [];\n      if (!Array.isArray(userRoles)) userGroups = [userRoles];\n      let userRolesPassed =  !item.authRoles || (item.authRoles && userRoles.some(e => item.authRoles.includes(e.id)));\n      return userGroupsPassed && userRolesPassed;\n    };\n    const setHiddens = (items) => {\n      let hiddens = true;\n      for (let item of items) {\n        if (authorized(item) && !item.hidden && (item.href || item.call)) {\n          item.hidden = false;\n        } else if (authorized(item) && !item.hidden && item.nav) {\n          item.hidden = setHiddens(item.nav);\n        } else {\n          item.hidden = true;\n        }\n        if (item.hidden === false) {\n          hiddens = false;\n        }\n      }\n      return hiddens;\n    };\n    const activateBadges = (items) => {\n      for (let item of items) {\n        if (item.nav && item.nav.length > 0 && !item.hidden) activateBadges(item.nav);\n        if (!item.badge || !item.badge.promise || item.hidden) continue;\n        let callback = () => {\n          new Promise((resolve, reject) => { return item.badge.promise(resolve, reject); }).then(x => {\n            item.badge.value = x;\n          }).catch(() => { item.badge.value = null; });\n        };\n        this._intervals.push(setInterval(callback, item.badge.interval || 5000));\n        callback();\n      }\n    };\n    setHiddens(config.navigation.items);\n    setHiddens(config.toolbar.items);\n    activateBadges(config.navigation.items);\n    activateBadges(config.toolbar.items);\n\n    this.config = config;\n\n    // Set nav proxies to bypass binding\n    this._navigation.items = config.navigation.items;\n    this._toolbar.items = config.toolbar.items;\n\n    if (window.innerWidth < 860) this.toggle();\n  }\n\n  toggle() {\n    this._collapsed = !this._collapsed;\n    if (this._collapsed) this.element.classList.add('collapsed'); else this.element.classList.remove('collapsed');\n  }\n  toggleNavigation(item) {\n    if (!item.call && !item.href && item.nav) item.collapsed = !item.collapsed;\n  }\n  subtool(index, $event) {\n    $event.stopPropagation();\n    let subtool = this.element.querySelector(`[data-subtool=\"${index}\"]`);\n    if (!subtool) return;\n    subtool.style.right = (window.innerWidth - ($event.currentTarget.getBoundingClientRect().left + $event.currentTarget.getBoundingClientRect().width)) + 'px';\n    subtool.classList.toggle('visible');\n  }\n}\n","import { inject, customElement, bindable } from 'aurelia-framework';\n\n@customElement('md-accordion-button')\n@inject(Element)\nexport class MdAccordionButton {\n  @bindable() expandText;\n  @bindable() collapseText;\n  @bindable() target;\n  @bindable() state;\n  @bindable() initDelay = 1000;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  get isCollapsed() {\n    return this.element.classList.contains('collapsed');\n  }\n\n  attached() {\n    this.targetElement = document.getElementById(this.target);\n    this.targetElement.classList.add('md_accordion_target');\n    if (this.state === 'collapsed') {\n      this.targetElement.style.height = '0';\n      this.toggle(); \n    } else {\n      setTimeout(() => {\n        this.resetHeight(this.targetElement);\n      }, this.initDelay)\n    }\n  }\n\n  toggle() {\n    const routerView = document.querySelector('router-view');\n    routerView.style.overflow = 'visible';\n    this.resetHeight(this.targetElement);\n    this.targetElement.classList.toggle('collapsed');\n    this.element.classList.toggle('collapsed');\n    setTimeout(() => {\n      window.dispatchEvent(new Event('resize'));\n      routerView.style.removeProperty('overflow');\n    }, 1000);\n    if (this.isCollapsed) {\n      this.targetElement.style.height = 0;\n    }\n  }\n\n  resetHeight(element) {\n    element.style.height = element.scrollHeight + 'px';\n  }\n}\n","import {inject, customElement, containerless, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-control')\n@containerless()\n@inject(Element)\nexport class MdControl {\n  // Basic input control properties\n  @bindable() schema = null;\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Other input control bindable properties\n  @bindable() name = null;\n  @bindable() alias = null; // Utilizzato per impostare un alias da aggiungere in resource.controls per la gestione errori\n  @bindable() readonly = null;\n  @bindable() required = null;\n  @bindable() label = null;\n  @bindable() description = null;\n  @bindable() autocomplete = null;\n  @bindable() placeholder = '';\n  @bindable() client = null;\n  @bindable() error = null;\n\n  // Input control specific params property\n  @bindable() params = null;\n  // Other control input properties\n  errors = null;\n  // Bindable callbacks\n  @bindable() change = (value) => {};\n  @bindable() submit = (value) => {};\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    let bindValueToParentData = !(this.name && (this.element.hasAttribute('value') || this.element.hasAttribute('value.bind')));\n    let mdTooltip = this.element.hasAttribute('md-tooltip') ? `md-tooltip=\"${this.element.getAttribute('md-tooltip')}\"` : ( this.element.hasAttribute('md-tooltip.bind') ? `md-tooltip.bind=\"${this.element.getAttribute('md-tooltip.bind')}\"` : \"\" );\n    this.viewStrategy = new InlineViewStrategy(`<template><ka-control view-model.ref=\"parent.controls['${this.name}']\" schema.bind=\"parent.schema.${this.name}\" value.bind=\"${bindValueToParentData ? `parent.data.${this.name}` : 'value'}\" readonly.bind=\"readonly||parent.schema.${this.name}.readonly||parent.readonly\" placeholder.bind=\"placeholder\" ${mdTooltip} autocomplete.bind=\"autocomplete\" client.bind=\"client||parent.client\" ${ this.element.hasAttribute('buttons') ? `buttons=\"${this.element.getAttribute('buttons')}\"` : ''} params.bind=\"params\" ka-enter.call=\"enterPressed()\" change.trigger=\"change()\"></ka-control></template>`);\n    setTimeout(() => {\n      if (this.parent && this.parent.controls && this.name && this.alias) {\n        this.parent.controls[this.alias] = this.parent.controls[this.name];\n      }\n    }, 500);\n  }\n\n  enterPressed() {\n    if (this.submit && typeof this.submit === 'function') this.submit();\n  }\n}\n\n","import { inject, customElement, bindable } from 'aurelia-framework';\n\n@customElement('md-counter')\n@inject(Element)\nexport class MdCounter {\n  @bindable() end;\n  @bindable() label;\n  @bindable() suffix;\n  @bindable() prefix;\n  @bindable() start = 0;\n  @bindable() decimals = 2;\n  @bindable() timeout = 1000;\n  @bindable() duration = 3000;\n  inOutAnimationDuration = 800;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind() {\n    this.end = Number(this.end);\n    this.start = Number(this.start);\n    this.timeout = Number(this.timeout);\n    this.decimals = Number(this.decimals);\n    this.duration = Number(this.duration);\n    this.onEntryStart = this.start.toFixed(this.decimals);\n    this.init();\n  }\n  async init() {\n    await this.initElement();\n    this.animateCounter();\n    this.mdCounter.animate([{ opacity: 1 }], { duration: this.inOutAnimationDuration }).onfinish = () => { \n      this.mdCounter.style.opacity = 1;\n      this.animateCounter();\n    }\n  }\n  initElement() {\n    return new Promise((resolve) => {\n      setTimeout(() => {\n        this.mdCounter = document.getElementById('mdCounter');\n        this.mdCounterBody = document.getElementById('mdCounterBody');\n        this.mdCounterElement = document.getElementById('mdCounterElement');\n        resolve();\n      }, 0);\n    });\n  }\n  animateCounter() {\n    let startTimestamp;\n    const step = (timestamp) => {\n      if (!startTimestamp) startTimestamp = timestamp;\n      const progress = Math.min((timestamp - startTimestamp) / this.duration, 1);\n      const digits = progress * (this.end - this.start) + this.start;\n      this.mdCounterElement.innerHTML = digits.toFixed(this.decimals);\n      if (progress < 1) window.requestAnimationFrame(step);\n      else {\n        setTimeout(() => {\n          this.mdCounter.animate([{ opacity: 0 }], { duration: this.inOutAnimationDuration }).onfinish = () => {\n            this.mdCounter.style.opacity = 0;\n            this.element.style.display = 'none';\n          }\n        }, this.timeout);\n      }\n    };\n    window.requestAnimationFrame(step);\n  }\n\n  close() {\n    this.mdCounter.style.opacity = 0;\n    this.element.style.display = 'none';\n  }\n}\n","import {inject, customElement, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-input-array')\n@inject(Element)\nexport class MdInputArray {\n\n  // Field configuration overrides\n  @bindable() name = null;\n  @bindable() label = null;\n  @bindable() default = null;\n  @bindable() required = null;\n  @bindable() readonly = null;\n  @bindable() description = null;\n  @bindable() validation = true;\n  \n  items = null;\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    setTimeout(() => {\n      let parent = this.parent;\n      this.value = eval(`parent.data.${this.name}`);\n      this.schema = eval(`parent.schema.${this.name}`);\n    }, 500);\n  }\n\n  set value(items) {\n    this.items = [];\n    if (!items) return;\n    if (!items.length) {\n      this.items.push({ value: null });\n    } else {\n      for (let item of items) {\n        this.items.push({ value: item });\n      }\n    }\n  }\n\n  get value() {\n    let value = [];\n    for (let item of this.items) {\n      if (item.value) value.push(item.value);\n    }\n    return value;\n  }\n\n  update() {\n    eval(`this.parent.data.${this.name} = this.value`);\n  }\n\n  add() {\n    this.items.push({ value: null });\n    this.update();\n  }\n  remove(index) {\n    for (let i = 0; i < this.items.length; i++) delete this.parent.controls[`${this.name}[${i}]`];\n    let value = this.value;\n    value.splice(index, 1);\n    this.value = value;\n    this.update();\n  }\n}\n","import {inject, customElement, bindable, bindingMode, InlineViewStrategy} from 'aurelia-framework';\n\n@customElement('md-input')\n@inject(Element)\nexport class MdInput {\n\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  // Reference to record id\n  @bindable() record = null;\n  // Field configuration overrides\n  @bindable() name = null;\n  @bindable() alias = null; // Utilizzato per impostare un alias da aggiungere in resource.controls per la gestione errori\n  @bindable() label = null;\n  @bindable() default = null;\n  @bindable() required = null;\n  @bindable() readonly = null;\n  @bindable() client = null;\n  @bindable() description = null;\n  @bindable() autocomplete = null;\n  @bindable() change = null;\n  @bindable() ready = null;\n  @bindable() dialogClosed = null;\n  @bindable() validation = true;\n  @bindable() queryOperator = null;\n  @bindable() change = () => {};\n  @bindable() submit = () => {};\n\n\n  constructor(element) {\n    this.element = element;\n  }\n\n  bind(bindingContext) {\n    this.parent = bindingContext;\n  }\n\n  attached() {\n    let bindValueToParentData = !(this.name && (this.element.hasAttribute('value') || this.element.hasAttribute('value.bind')));\n    this.viewStrategy = new InlineViewStrategy(`<template><ka-input-controls record.bind=\"parent.data.id\" config.bind=\"parent.schema.${this.name}\" value.bind=\"${bindValueToParentData ? `parent.data.${this.name}` : 'value'}\" label.bind=\"label\" default.bind=\"default\" description.bind=\"description\" placeholder.bind=\"placeholder\" autocomplete.bind=\"autocomplete\" readonly.bind=\"readonly||parent.schema.${this.name}.readonly||parent.readonly\" required.bind=\"required||parent.schema.${this.name}.required\" view-model.ref=\"parent.controls['${this.name}']\" client.bind=\"client||parent.client\" change.bind=\"change\" ready.bind=\"ready\" dialog-closed.bind=\"dialogClosed\" validation.bind=\"validation\" query-operator.bind=\"queryOperator\" ka-enter.call=\"enterPressed()\"></ka-input-controls></template>`);\n    setTimeout(() => {\n      if (this.parent && this.parent.controls && this.name && this.alias) {\n        this.parent.controls[this.alias] = this.parent.controls[this.name];\n      }\n    }, 500);\n  }\n\n  enterPressed() {\n    if (this.submit && typeof this.submit === 'function') this.submit();\n  }\n}\n\n","import {\n  inject,\n  bindable, \n  customElement \n} from 'aurelia-framework';\n\n@customElement('md-loader')\n@inject(Element)\nexport class MdLoader {\n  @bindable() pending;\n\n  constructor(element) {\n    this.element = element;\n  }\n  bind() {\n    this.setParentPositionRelative('loader-show');\n  }\n  destroy() {\n    this.setParentPositionRelative('loader-hide');\n    this.element?.remove();\n  }\n  pendingChanged(value) {\n    if (value === false) {\n      this.setFadeOut();\n      setTimeout(() => {\n        this.destroy();\n      }, 500);\n    }\n  }\n\n  // Set methods\n  setParentPositionRelative(context) {\n    const parent = this.element?.parentElement;\n    switch (context) {\n      case 'loader-show':\n        if (parent?.style?.position === '') {\n          parent.classList.add('position-relative');\n        }\n        break;\n      case 'loader-hide':\n        if (parent?.classList?.contains('position-relative')) {\n          parent.classList.remove('position-relative');\n        }\n        break;\n    }\n  }\n  setFadeOut() {\n    const wrapper = this.element.querySelector('#loader-wrapper');\n    wrapper?.classList?.add('fade-out');\n  }\n}\n","import {customElement, bindable, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\n\n@customElement('md-nav-utenti')\n@inject(Element, Api, Router)\nexport class MdNavUtenti {\n  @bindable() userId = null;\n  \n  constructor(element, api, router) {\n    this.element = element;\n    this.api = api;\n    this.router = router;\n\n    let stored = JSON.parse(sessionStorage.getItem('md-nav-utenti') || '{ \"links\": [], \"title\": null}');\n    this.links = stored.links;\n    this.title = stored.title;\n  }\n  userIdChanged() {\n    this.init();\n  }\n  init() {\n    let links = [], title = null;\n    if (!this.userId) {\n      links = [\n        { view: undefined, label: 'Utenti'},\n        { view: 'fatturazione' , label: 'Profili di fatturazione'}\n      ];\n      if (this.api.hasRole('LIST_ANY_USER')) {\n        links.push({ view: 'documenti_approvazione' , label: 'Approvazione documenti'});\n      } else {\n        links.push({ view: 'documenti' , label: 'Documenti'});\n      }\n      return this.apply(links, title);\n    }\n    if (this.userId && this.userId === 'new') {\n      links = [{ view: 'anagrafica' , label: 'Anagrafica'}];\n      title = `Stai creando un nuovo ${mdt.parsers.contextualize(this.api.user, 'utente')}`;\n      return this.apply(links, title);\n    }\n    this.api.get(`users/${this.userId}?include=user-profiles,user-roles`).then(xhr => {\n      const userData = xhr.response;\n      title = `Stai modificando ${userData.profile[0].displayName}`;\n\n      // Add link: Anagrafica\n      links.push({ view: 'anagrafica' , label: 'Anagrafica'});\n      // Add link: Documenti\n      if (this.api.hasRole('LIST_USER_CERTIFIABLE_DOCUMENTS')) {\n        links.push({ view: 'documenti' , label: 'Documenti'});\n      }\n      // Add link: Fatturazione\n      if (this.userId !== 'new') {\n        links.push({ view: 'fatturazione' , label: 'Fatturazione'});\n      }\n      // Add link: Segnalatori\n      if (this.userId !== 'me' && !userData.parentUuid && this.api.hasRole(['CREATE_ANY_ACCOUNT_RESELLER_ASSOCIATION', 'LIST_ANY_ACCOUNT_RESELLER_ASSOCIATION'])) {\n        links.push({ view: 'segnalatori' , label: 'Segnalatori'});\n      }\n      // Add link: Compensi\n      if ( (this.userId !== 'me' && !userData.parentUuid && this.api.hasRole('LIST_ANY_RESELLER_COMMISSIONS')) || (this.userId === 'me' && this.api.hasRole('LIST_RESELLER_COMMISSIONS')) ) {\n        links.push({ view: 'compensi' , label: 'Compensi'});\n      }\n      // Add link: Cashback\n      if (['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(userData.group)) {\n        links.push({ view: 'cashback' , label: 'Cashback'});\n      }\n      // Add link: Impostazioni\n      if (!userData.parentUuid && this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'LIST_USER_ADVANCED_PREFERENCES'])) {\n        links.push({ view: 'impostazioni' , label: 'Impostazioni avanzate'});\n      }\n      // Add link: Pagamenti\n      if (!userData.parentUuid && this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'MODIFY_USERS_PRIVILEDGED_PREFERENCES'])) {\n        links.push({ view: 'pagamenti', label: 'Pagamenti' });\n      }\n      this.apply(links, title);\n    });\n  }\n  apply(links, title) {\n    // Store links configuration\n    sessionStorage.setItem('md-nav-utenti', JSON.stringify({links, title}));\n    // Apply links and title\n    this.links = links;\n    this.title = title;\n    // Set active link\n    this.links.map((link) => { link.class = link.view === this.router.currentInstruction.params.view ? 'active' : null; });\n  }\n  navigate(view) {\n    if (this.userId) this.router.navigateToRoute('anagrafiche/utenti', { id: this.userId, view: view });\n    else if (view) this.router.navigate(`anagrafiche/utenti/${view}`);\n    else  this.router.navigate('anagrafiche/utenti');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport datasets from 'md-datasets.json';\n\n@inject(Api)\nexport class MdPrefselDialog {\n  value = null;\n  users = [];\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.tableUsers) {\n      this.tableUsers.parse_query = (query) => {\n        // Ok, concordo che quanto segue sia indubbiamente penosa come soluzione, ma funziona\n        // D'altronde è penoso il funzionamento rest per risolvere la #FEATURE/guxg84byh\n        let original = query;\n        query = query.replace(/statusCode~~__NONE__&/, '&');\n        query = query.replace(/(%2C)?__NONE__(%2C)?/, '');\n        if (original !== query) {\n          query = query + '&hasNoPostalOrder=true';\n        }\n        return query;\n      }\n    }\n  }\n\n  select(record) {\n    this.params.dialog.ok(record);\n  }\n}\n","import {inject, customElement, bindable, bindingMode} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\n\n@customElement('md-prefsel')\n@inject(Element, Api, KaToast, KaDialog)\nexport class MdPrefsel {\n  @bindable() label = 'preferenze';\n  @bindable({defaultBindingMode: bindingMode.twoWay}) value = null;\n  @bindable() isOverride = null;\n  @bindable() toggleOverride = () => {};\n  data = null;\n  context = null;\n\n  constructor(element, api, toast, dialog) {\n    this.element = element;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.context = this.api.user.profile?.businessType === 'BUILDING-ADMINISTRATOR' ? 'condominio' : 'account';\n  }\n  \n  attached() {\n    if (!this.value) {\n      this.value = parseInt(localStorage.getItem('prefsel_id') ?? this.api.user.id ?? null, 10);\n    } else {\n      this.valueChanged(this.value, null);\n    }\n    console.log(`prefsel ${this.label} attached value`, this.value);\n    if (this.api.user.profile?.businessType === 'BUILDING') this.element.style.display = 'none';\n  }\n\n  valueChanged(value, old) {\n    if (value === old) return;\n    console.log(`prefsel ${this.label} valueChanged from ${old} to ${value}`);\n    if (value) {\n      localStorage.setItem('prefsel_id', value);\n      if (value !== this.api.user.id && localStorage.getItem('prefsel_data')) {\n        this.data = JSON.parse(localStorage.getItem('prefsel_data'));\n      } else if (value !== this.api.user.id) {\n        this.api.get(`users/${value}?include=user-profiles`).then(x => {\n          this.data = remapUserData(x.response);\n          localStorage.setItem('prefsel_data', JSON.stringify(this.data));\n        });\n      } else if (value === this.api.user.id) {\n        this.data = null;\n        localStorage.removeItem('prefsel_data');\n      }\n    } else {\n      this.value = this.api.user.id;\n    }\n  }\n  isOverrideChanged(value) {\n    if (value === undefined) {\n      this.isOverride = false;\n    }\n  }\n\n  reset() {\n    this.value = this.api.user.id;\n  }\n\n  open() {\n    this.dialog.open({\n      type: 'alert',\n      title: 'Seleziona un ' + this.context,\n      class: 'md-prefsel-dialog medium',\n      viewModel: PLATFORM.moduleName('resources/elements/md-prefsel/md-prefsel-dialog'),\n      viewModelParams: { }\n    }, true).whenClosed(response => {\n      console.log(response);\n      if (response.output) {\n        let data = response.output;\n        if (data.id && data.profile) {\n          localStorage.setItem('prefsel_data', JSON.stringify(this.remapUserData(data)));\n          this.value = data.id;\n        }\n      }\n    });\n  }\n\n  remapUserData(data) {\n    return {\n      id: data.id,\n      active: data.isActive,\n      displayName: data.profile[0].displayName\n    };\n  }\n}\n","import {inject, customElement, bindable} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\n@customElement('md-resource')\n@inject(Element, Api, KaToast, KaDialog)\nexport class MdResource {\n  @bindable() data = {};\n  @bindable() schema = {};\n  @bindable() controls = {};\n  @bindable() endpoint = {};\n\n  constructor(element, api, toast, dialog) {\n    this.element = element;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    // CUSTOM EVENTS\n    this.events = document.createTextNode(null);\n    this.events.schemaLoaded = new CustomEvent('schemaLoaded', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n    this.events.dataSaved = new CustomEvent('dataSaved', { resource: this });\n    this.events.dataSaveError = new CustomEvent('dataSaveError', { resource: this });\n  }\n\n  bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    konsole.debug('MdResource controls', this.controls);\n  }\n\n  validate() {\n    let promises = [];\n    for (let [field, item] of Object.entries(this.controls)) {\n      if (!item) {\n        konsole.warn(`Field ${field} was not found!`);\n        continue;\n      }\n      if (!item.validator) {\n        konsole.warn(`Field ${field} validator was not found!`);\n        continue;\n      }\n      item.validator.errors = [];\n      item.element.classList.remove('error');\n      promises.push(new Promise((resolve, reject) => {\n        item.validate().then(result => {\n          if (!result.valid) {\n            reject(item.validator.errors);\n          } else {\n            resolve(result);\n          }\n        }).catch(error => {\n          konsole.error(`Resource validation error on field ${field}`, error);\n          reject(error);\n        });\n      }));\n    }\n    return Promise.all(promises);\n  }\n\n  load(endpoint = this.endpoint) {\n    return this.api['get'](endpoint).then(xhr => {\n      let response = xhr.response;\n      if (response && !Array.isArray(response)) {\n        for (let [field, item] of Object.entries(response)) {\n          if (this.controls[field] && this.controls[field].constructor?.name !== 'KaControl' && (this.controls[field].control === 'date' || (this.controls[field].schema && this.controls[field].schema.control === 'date') ) && item) {\n            response[field] = moment.utc(item).local().format('YYYY-MM-DD');\n          } else {\n            if (typeof item === 'undefined') console.error(`Input ${field} has undefined value. Skipping...`);\n            else response[field] = JSON.parse(JSON.stringify(item));\n          }\n        }\n      }\n      this.data = response;\n      this.events.dispatchEvent(this.events.dataLoaded);\n    });\n  }\n\n  save(data = this.data, endpoint = this.endpoint, method = 'post') {\n    return new Promise((resolve, reject) => {\n      this.validate().then(() => {\n        let promises = [];\n        data = Object.assign({}, data);\n        if (method !== 'patch') data = mdt.helpers.removeEmptyAttributes(data);\n        else data = mdt.helpers.nullifyEmptyStringAttributes(data);\n        if (!data) throw 'Nessun dato da inviare!';\n        for (let [field, item] of Object.entries(data)) {\n          if (typeof item === 'undefined') {\n            console.error(`Data ${field} has undefined value. Skipping...`);\n            delete data[field];\n          } else if (typeof this.schema[field] === 'undefined') {\n            console.error(`Data ${field} has undefined schema. Skipping...`);\n            delete data[field];\n          } else {\n            promises.push(new Promise((resolve, reject) => {\n              // Parse file\n              if (this.controls[field] && (this.controls[field].control === 'file' || (this.controls[field].schema && this.controls[field].schema.control === 'file') ) && item && item.length && item[0] && item[0].name) {\n                let reader = new FileReader();\n                reader.readAsDataURL(item[0]);\n                reader.onload = () => {\n                  data[field] = reader.result;\n                  resolve(true);\n                };\n                reader.onerror = (error) => {\n                  console.error(`Input ${field} cannot read file. Skipping...`);\n                };\n              }\n              // Parse date\n              /* else if (this.controls[field] && (this.controls[field].control === 'date' || (this.controls[field].schema && this.controls[field].schema.control === 'date') ) && item) {\n                data[field] = moment(item, 'YYYY-MM-DD').hour(moment().hour()).minute(moment().minute()).utc().format();\n                resolve(true);\n              }  */\n              else if (this.schema[field] && this.schema[field].control === 'list') {\n                data[field] = Array.isArray(item) ? item : JSON.parse(item);\n                resolve(true);\n              } else {\n                data[field] = JSON.parse(JSON.stringify(item));\n                resolve(true);\n              }\n            }));\n          }\n        }\n        Promise.all(promises).then(() => {\n          this.api[method](endpoint, data).then(x => {\n            this.events.dispatchEvent(this.events.dataSaved);\n            resolve(x);\n          }).catch(error => {\n            this.events.dispatchEvent(this.events.dataSaveError);\n            let errorPayload = mdt.parsers.apiError(error, this.controls);\n            if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n            reject(error);\n          });\n        });\n      }).catch((error) => {\n        reject(error);\n      });\n    });\n  }\n}\n","import {customElement, bindable, observable} from 'aurelia-framework';\n@customElement('md-table-pagination')\nexport class MdTablePagination {\n  @bindable() table = {};\n  @bindable() limits = null;\n\n  schema = {\n    limit: { \n      control: 'combo',\n      datasource: [{ text: '10', value: 10 }, { text: '25', value: 25 }, { text: '50', value: 50 }, { text: '100', value: 100 }],\n      datatext: 'text',\n      datavalue: 'value',\n      datapreload: true,\n      datamultiple: false\n    },\n    page: {\n      control: 'combo',\n      datasource: [],\n      datatext: 'text',\n      datavalue: 'value',\n      datapreload: true,\n      datamultiple: false\n    }\n  };\n\n  @observable() limit;\n  @observable() page;\n\n  bind() {\n    if (this.limits && this.limits.length > 0) {\n      if (typeof this.limits === 'string') {\n        this.limits = this.limits.split(',');\n      }\n      let datasource = [];\n      this.limits.forEach((limit, index) => {\n        this.limits[index] = Number(limit);\n        datasource.push({ text: String(limit), value: parseInt(limit, 10) });\n      });\n      this.schema.limit.datasource = datasource;\n    }\n    this.update();\n    this.table.events.addEventListener('dataLoaded', () => { this.update(); });\n  }\n\n  areLimitsValid() {\n    return Array.isArray(this.limits) && !this.limits.some(value => isNaN(Number(value)));\n  }\n\n  update() {\n    if (this.areLimitsValid() && !this.limits.includes(this.table.limit)) this.table.limit = this.limits[0];\n    this.limit = this.table.limit;\n    this.page = (this.table.offset / this.table.limit) + 1;\n  }\n\n  limitChanged(value, old) {\n    if (!value && old) value = old;\n    else if (!value) return;\n    this.table.limit = value;\n    if (old !== undefined) this.table.offset = 0; // Keep original offset if limit is being set insted of replaced\n    if (typeof old !== 'undefined') this.applyOptions();\n  }\n  \n  pageChanged(value, old) {\n    if (!value && old) value = old;\n    else if (!value) return;\n    this.table.offset = this.table.limit * (value - 1);\n    if (typeof old !== 'undefined') this.applyOptions();\n  }\n\n  paginate(direction) {\n    let page = this.page;\n    let pages = Math.ceil(this.table.total / this.table.limit);\n    if (direction === 'forward' && page + 1 <= pages) this.page = page + 1;\n    else if (direction === 'back' && page - 1 > 0) this.page = page - 1;\n    else if (direction === 'start' && page !== 1) this.page = 1;\n    else if (direction === 'end' && pages && page !== pages) this.page = pages;\n  }\n\n  showOptions($event) {\n    if (!$event.target.classList.contains('count')) return;\n    let pages = Math.ceil(this.table.total / this.table.limit);\n    let pagesDatasource = [];\n    for (let i = 1; i <= pages; i++) pagesDatasource.push({ value: i, text: String(i)});\n    this.schema.page.datasource = pagesDatasource;\n    this.optionsShown = true; \n  }\n\n  hideOptions() {\n    this.optionsShown = false;\n  }\n\n  applyOptions() {\n    this.hideOptions();\n    this.table.load();\n  }\n}\nexport class integerCastValueConverter {\n  fromView(value) {\n    let parsed = value ? parseInt(value, 10) : value;\n    return parsed;\n  }\n}\n","import {customElement} from 'aurelia-framework';\n\n@customElement('md-table-progressbar')\nexport class MdTableProgressbar {\n}\n","import {inject, bindable, customElement} from 'aurelia-framework';\n\n@customElement('md-table-sort')\n@inject(Element)\nexport class MdTableSort {\n  @bindable() table = {};\n  @bindable() attribute = null;\n  order = null;\n\n  constructor (element) {\n    this.element = element;\n  }\n\n  bind() {\n    this.update();\n    this.table.events.addEventListener('dataLoaded', () => {\n      this.update();\n    });\n  }\n\n  sort() {\n    if (!this.order) this.order = 'asc';\n    else if (this.order === 'asc') this.order = 'desc';\n    else if (this.order === 'desc') this.order = null;\n    this.table.load(null, this.order ? [{ name: this.attribute, order: this.order}] : []).then(() => {\n      this.update();\n    });\n  }\n\n  update() {\n    let item = this.table.sort?.find(x => x.name === this.attribute);\n    this.order = item?.order || null;\n  }\n}\n","import {inject, customElement, bindable, observable} from 'aurelia-framework';\nimport {TableSidebar} from '../../../classes/md-table';\n@customElement('md-table-toolbar')\n@inject(TableSidebar)\nexport class MdTableToolbar {\n  @bindable() table = {};\n  @bindable() search = {};\n  @bindable() paginationLimits = {};\n  @bindable() buttons = null;\n  @bindable() download = () => {};\n\n  constructor(sidebar) {\n    this.sidebar = sidebar;\n  }\n\n  bind() {\n    if (this.buttons && typeof this.buttons === 'string') this.buttons = this.buttons.split(',');\n  }\n  \n  // Search\n  openSearch() {\n    this.sidebar.open({\n      viewModel: PLATFORM.moduleName('resources/elements/md-table-toolbar/sidebars/search'),\n      viewModelParams: { table: this.table, search: this.search }\n    });\n  }\n\n  reset($event = null) {\n    $event.stopPropagation();\n    this.search.reset();\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\n\nexport class SidebarSearch {\n  inputs = [];\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.inputs = Object.keys(params.search.schema);\n  }\n\n  search() {\n    this.params.search.search().then(() => { this.close(); });\n  }\n\n  reset() {\n    this.params.search.reset();\n  }\n}\n","import {inject, customElement, bindable} from 'aurelia-framework';\nimport { v4 as uuidv4 } from 'uuid';\n\n@customElement('md-table-wrapper')\n@inject(Element)\nexport class MdTableWrapper {\n  @bindable() decrease = 0;\n  @bindable() height = 'full';\n  constructor (element) {\n    this.element = element;\n    this.uuid = 'mdtw-' + uuidv4();\n    this.element.id = this.uuid;\n  }\n  attached() {\n    // Create evaled resize linstener function\n    const resizeHandler = () => {\n      console.log(this.uuid);\n      let element = eval(`document.querySelector('#${this.uuid}');`);\n      if (!element) return;\n      if (this.height === 'full') {\n        element.style.height = '0px';\n        element.style.height = (window.innerHeight - element.getBoundingClientRect().top - parseInt(this.decrease, 10)) + 'px';\n      }\n    }\n    eval(`window['resize-handler-${this.uuid}'] = resizeHandler;`);\n    window.addEventListener('resize', window[`resize-handler-${this.uuid}`]);\n    setTimeout(() => { resizeHandler(); }, 1000);\n  }\n\n  detached() {\n    window.removeEventListener('resize', window[`resize-handler-${this.uuid}`]);\n    delete(window[`resize-handler-${this.uuid}`]);\n  }\n}\n\n","export class AppendCommaValueConverter {\n  toView(value, index, arrayLength) {\n    if (typeof value !== 'string') return '';\n    return index < arrayLength - 1 ? value + ',' : value;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {MdDatasources} from 'services/md-datasources';\n@inject(MdDatasources)\nexport class ComboFormatValueConverter {\n  constructor(mdDatasources) {\n    this.mdDatasources = mdDatasources;\n  }\n  toView(value, control, mdDatasourceReference) {\n    if (!value) return;\n    let datasource;\n    if (mdDatasourceReference && this.mdDatasources[mdDatasourceReference]) {\n      datasource = this.mdDatasources[mdDatasourceReference];\n    } else {\n      datasource = control.datasource;\n    }\n    if (!Array.isArray(datasource)) return value;\n    return (datasource.find(x => x[control.datavalue] === value) || {})[control.datatext] || value;\n  }\n}\n","import moment from 'moment';\n\nexport class DateFormatValueConverter {\n  toView(value, format = 'DD/MM/YYYY HH:mm') {\n    if (!value) return;\n    if (moment.utc(value).isValid()) {\n      konsole.debug('Valid UTC datetime conversion', moment.utc(value));\n      return moment.utc(value).local().format(format);\n    }\n    else if (moment.utc(value, 'YYYY-MM-DD HH:mm:ss a').isValid()) {\n      konsole.debug('Valid \"YYYY-MM-DD HH:mm:ss a\" datetime conversion', moment.utc(value, 'YYYY-MM-DD HH:mm:ss a'));\n      return moment.utc(value, 'YYYY-MM-DD HH:mm:ss a').local().format(format);\n    }\n    else if (moment.utc(value, 'HH:mm:ss a').isValid()) {\n      konsole.debug('Valid \"HH:mm:ss a\" datetime conversion', moment.utc(value, 'HH:mm:ss a'));\n      return moment.utc(value, 'HH:mm:ss a').local().format(format);\n    }\n    konsole.debug('No datetime conversion', value);\n    return value;\n  }\n}\n","export class FilesizeFormatValueConverter {\n  // the value is expressed in kB\n  // If the value exceeds 100 kB it will be converted to MB\n  toView(value) {\n    const units = { 'kB' :  1, 'MB' : 1000 }\n    value = Number(value);\n    if (value > 100) {\n      value = parseFloat(value / units['MB']).toFixed(2)\n      return `${value} ${Object.keys(units)[1]}`;\n    } else {\n      return `${value} ${Object.keys(units)[0]}`;\n    }\n  }\n}\n","export class ObjectFormatValueConverter {\n  toView(value, format) {\n    if (Array.isArray(value)) {\n      var new_value = [];\n      for (let obj of value) {\n        if (obj[format]) new_value.push(obj[format]);\n      }\n      return new_value.join(', ');\n    }\n    else if (value === Object(value) && value[format])\n      return value[format];\n    else return value;\n  }\n}\n","import { QueueProperties } from '../../classes/queueProperties';\n\nexport class QueueChannelFormatValueConverter {\n  channels = new QueueProperties().channels;\n  toView(value, property = 'text') {\n    return this.channels.find((channel) => channel.value === value)[property];\n  }\n}\n","import { QueueProperties } from '../../classes/queueProperties';\n\nexport class QueueStatusFormatValueConverter {\n  statuses = new QueueProperties().statuses;\n  toView(value, property = 'text') {\n    return this.statuses.find((status) => status.key === value)?.[property];\n  }\n}\n","export class StringifyValueConverter {\n  toView(value) {\n    return JSON.stringify(value);\n  }\n}\n","export class StriphtmlValueConverter {\n  toView(value) {\n    if (!value || typeof value !== \"string\")\n      return value;\n    return value.replace(/<(?:.|\\n)*?>/gm, '');\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { HttpClient, HttpResponseMessage } from 'aurelia-http-client';\nimport { Router } from 'aurelia-router';\nimport { KaDialog, KaToast } from 'ka-components';\nimport datasets from '../md-datasets.json';\nimport mdt from './md-tools';\nimport ENVIRONMENT from '../environment';\n\n@inject(Router, KaDialog, KaToast)\nexport class Api {\n  _accessToken = '';\n  _refreshToken = '';\n  _refreshPromise = null;\n  _autologinPromise = null;\n  _user = null;\n  _baseUrl = ENVIRONMENT.APP_API_BASE_URL;\n\n  constructor(router, dialog, toast) {\n    this._accessToken = localStorage.getItem('access_token') || '';\n    this._refreshToken = localStorage.getItem('refresh_token') || '';\n    this._boAccessToken = localStorage.getItem('bo_access_token') || '';\n    this._boRefreshToken = localStorage.getItem('bo_refresh_token') || '';\n    this._user = localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user')) : null;\n    this._refreshUrl = 'users/login/refresh';\n    this.client = new HttpClient();\n    this.client._baseUrl = this._baseUrl; // Keep reference of baseUrl into HttpClient object\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      window['destorageTokens'] = () => {\n        this._accessToken = localStorage.getItem('access_token') || '';\n        this._refreshToken = localStorage.getItem('refresh_token') || '';\n      };\n    }\n\n    this.client.configure(x => {\n      x.withBaseUrl(this.baseUrl);\n      x.withHeader('Accept-Language', 'it');\n      x.withHeader('Accept', 'application/vnd.api+json');\n      x.withHeader('X-api-key', ENVIRONMENT.APP_API_KEY);\n      x.withHeader('X-api-client-name', ENVIRONMENT.APP_API_CLIENT_NAME);\n      x.withHeader('X-api-client-version', ENVIRONMENT.APP_API_CLIENT_VERSION);\n      if (ENVIRONMENT.APP_DEBUG === 'true') {\n        x.withHeader('X-ignore-test-agreements', 'ignore');\n      }\n      x.withInterceptor({\n        request: (msg) => {\n          if (this.accessToken.length && (!this._refreshUrl.length || (msg.url !== this._refreshUrl))) {\n            msg.headers.add('Authorization', 'Bearer ' + this.accessToken);\n          }\n          let fingerprint = window.localStorage.getItem('xhr-fingerprint');\n          if (fingerprint) {\n            msg.headers.add('X-Device-Fingerprint', fingerprint);\n          }\n          if ((msg.method === 'POST' || msg.method === 'PUT' || msg.method === 'PATCH') && msg.content) {\n            if (Array.isArray(msg.content) && msg.content.length) {\n              let content = [];\n              msg.content.forEach(item => {\n                content.push({ attributes: item });\n              });\n              msg.content = JSON.stringify({ data: content });\n            } else if (typeof msg.content === 'string' && msg.content.startsWith('{\"data\":{\"attributes\"')) { // Già serializzato\n              msg.content = msg.content;\n            } else if (typeof msg.content === 'object' && (!msg.content.data || (msg.content.data && !msg.content.data.attributes))) {\n              msg.content = JSON.stringify({ data: { attributes: msg.content } });\n            }\n          }\n          if (/^datasets\\//.test(msg.url)) {\n            // Intercetto chiamata kamaji /datasets e simulo risposta\n            throw new Error(msg.url);\n          }\n          // // Sanitize della query K2->MD\n          // msg.url = this.sanitizeUrl(msg.url);\n          // Convert url K2->MD\n          let queryMap = {\n            meta: null,\n            depth: null,\n            fields: null,\n            filters: (expr) => {\n              let filters = [];\n              expr = expr.split(/\\&|\\|/);\n              expr.forEach((element, index) => {\n                let operators = {\n                  gte: '>=',\n                  lte: '<=',\n                  gt: '>',\n                  lt: '<',\n                  eq: '=',\n                  in: '~~',\n                  like: '~'\n                };\n                element = element.replace(/^\\(|\\)$/g, ''); // Remove k2 brackets from filters\n                let regexp = new RegExp('([^\\^!~><=]*)(' + Object.values(operators).join('|') + ')([^\\^!~><=]*)');\n                let matches = element.match(regexp);\n                if (matches && matches.length) {\n                  for (let [key, operator] of Object.entries(operators)) {\n                    if (matches[1] === 'id') {\n                      filters['id-in'] = matches[3];\n                      break;\n                    } else if (msg.url.startsWith('users/me/users') && matches[1] === 'displayName') {\n                      filters['text-search'] = matches[3];\n                      break;\n                    } else if (matches[2] === operator) {\n                      key = matches[1] + ((key === 'eq') ? '' : '-' + key);\n                      filters[key] = matches[3];\n                      break;\n                    }\n                  }\n                }\n              });\n              return filters;\n            },\n            sort: (expr) => {\n              let sorts = [];\n              expr = expr.split(',');\n              expr.forEach((element, index) => {\n                sorts.push(element.replace('+', ''));\n              });\n              return { sort: sorts.join(',') };\n            }\n          };\n          msg.url = this.convertHref(msg.url, queryMap);\n\n          return msg;\n        },\n        requestError(error) {\n          throw error;\n        },\n        response: msg => {\n          if (typeof msg.response === 'string' && msg.response !== '') {\n            msg.response = msg.originalResponse = JSON.parse(msg.response);\n\n            let response = {};\n            let included = {};\n            let isResponseArray = false;\n\n            // Parse jsonapi meta\n            if (msg.response.meta && msg.response.meta.total) {\n              msg.headers.headers['x-total-count'] = { key: 'x-total-count', value: msg.response.meta.total };\n            }\n            if (msg.response.meta && msg.response.meta.warnings) {\n              let warnings = msg.response.meta.warnings;\n              if (!Array.isArray(warnings)) warnings = [warnings];\n              warnings.forEach(warning => {\n                this.toast.show(warning, 'warning');\n              });\n            }\n            // Parse jsonapi includes\n            if (msg.response.included) {\n              for (let record of msg.response.included) {\n                if (!included[record.type]) included[record.type] = {};\n                included[record.type][record.id || record.uuid] = Object.assign({ id: record.id, uuid: record.uuid }, record.attributes);\n              }\n            }\n            // Parse jsonapi data\n            if (msg.response.data) {\n              isResponseArray = Array.isArray(msg.response.data);\n              response = isResponseArray ? msg.response.data : [msg.response.data];\n              for (let record of response) {\n\n                if (record.data && Object.keys(record).length === 1) {\n                  //decapsulate data\n                  record = Object.assign(record, record.data);\n                  delete record.data;\n                }\n                if (record.attributes) {\n                  record = Object.assign(record, record.attributes);\n                  delete (record.attributes);\n                }\n                if (record.relationships) {\n                  for (let keys of Object.keys(record.relationships)) {\n                    let includes = Array.isArray(record.relationships[keys]) ? record.relationships[keys] : [record.relationships[keys]];\n                    for (let include of includes) {\n                      if (!record[keys]) record[keys] = [];\n                      record[keys].push(included[include.data.type][include.data.id || include.data.uuid]);\n                    }\n                    //if (record[keys].length === 1) record[keys] = record[keys][0];\n                  }\n                  delete (record.relationships);\n                }\n              }\n            }\n            msg.response = (response.length === 1 && !isResponseArray) ? response[0] : response;\n          }\n          if (ENVIRONMENT.APP_DEBUG === 'true') console.log('Parsed response', msg.response);\n\n          return msg;\n        },\n        responseError: (msg) => {\n          if (msg && msg.message && /datasets\\//.test(msg.message)) {\n            msg.message = msg.message.replace(/\\|/, '/');\n            let endpoint = msg.message.match(/^datasets\\/(.*)$/);\n\n            if (endpoint[1]) {\n              let response = {\n                mimeType: 'application/json',\n                response: endpoint[1],\n                responseType: 'json',\n                statusCode: 200,\n                statusText: 'OK'\n              };\n              if (datasets[endpoint[1]]) {\n                response.response = datasets[endpoint[1]];\n                return Promise.resolve(response);\n              }\n            }\n          }\n          if (!msg.statusCode && !/healthcheck/.test(msg.requestMessage?.url)) {\n            const httpclient = new HttpClient();\n            httpclient.get(`${ENVIRONMENT.APP_API_BASE_URL}../../healthcheck`).then((xhr) => {\n              try {\n                const response = JSON.parse(xhr.response);\n                if (response.status === 'MAINTENANCE') {\n                  location.href = '/maintenance' + (response.reason ? `/${window.btoa(response.reason)}` : '');\n                }\n              } catch (error) { }\n            });\n            return Promise.reject(msg);\n          }\n          let smsReportUrl = new RegExp('users\\/(me|\\d*)\\/sms-queues\\/.*');\n          if (msg.statusCode === 500 && !smsReportUrl.test(msg.requestMessage.url)) {\n            this.dialog.open({ title: 'Errore', class: 'small', type: 'alert', body: '<strong>Si è verificato un errore lato server</strong><br>Se il problema persiste, si prega di inviare una email ad<br><a href=\"mailto:assistenza@multidialogo.it\" class=\"primary-text\">assistenza@multidialogo.it</a>' });\n          }\n          // Maintenance mode\n          else if (msg.statusCode === 503) {\n            location.href = '/maintenance';\n            return Promise.reject(msg);\n          }\n          // Intents dialog\n          else if (msg.statusCode === 423) {\n            if (typeof msg.response === 'object' && msg.response.constructor === Blob) {\n              msg.response.text().then((response) => {\n                if (this.isJSON(response)) {\n                  msg.response = JSON.parse(response);\n                  return this.dialogIntents(msg);\n                }\n              });\n            }\n            if (this.isJSON(msg.response) && JSON.parse(msg.response).source) {\n              msg.response = JSON.parse(msg.response);\n              if (['/user-prospects/'].find(key => msg.requestMessage?.url.includes(key))) {\n                return Promise.reject(msg);\n              } else {\n                return this.dialogIntents(msg);\n              }\n            }\n          }\n          // Refresh token\n          else if (msg.statusCode === 401 && this.refreshToken.length && msg.requestMessage.url !== this._refreshUrl) {\n            return this.getRefreshToken(msg, this.client);\n          }\n          return Promise.reject(msg);\n        }\n      });\n    });\n\n    this.events = document.createTextNode(null);\n    this.events.userDataChanged = new CustomEvent('userDataChanged', { detail: this._user });\n  }\n\n  get baseUrl() {\n    return this._baseUrl;\n  }\n\n  get accessToken() {\n    return this._accessToken;\n  }\n  set accessToken(value) {\n    this._accessToken = value || '';\n    if (value) localStorage.setItem('access_token', value);\n    else localStorage.removeItem('access_token');\n  }\n\n  get refreshToken() {\n    return this._refreshToken;\n  }\n  set refreshToken(value) {\n    this._refreshToken = value || '';\n    if (value) localStorage.setItem('refresh_token', value);\n    else localStorage.removeItem('refresh_token');\n  }\n\n  get boAccessToken() {\n    return this._boAccessToken;\n  }\n  set boAccessToken(value) {\n    this._boAccessToken = value || '';\n    if (value) localStorage.setItem('bo_access_token', value);\n    else localStorage.removeItem('bo_access_token');\n  }\n\n  get boRefreshToken() {\n    return this._boRefreshToken;\n  }\n  set boRefreshToken(value) {\n    this._boRefreshToken = value || '';\n    if (value) localStorage.setItem('bo_refresh_token', value);\n    else localStorage.removeItem('bo_refresh_token');\n  }\n\n  get user() {\n    return this._user;\n  }\n  set user(value) {\n    this._user = value || '';\n    if (value) localStorage.setItem('user', JSON.stringify(value));\n    else localStorage.removeItem('user');\n    this.events.dispatchEvent(this.events.userDataChanged);\n  }\n\n  get isAuthenticated() {\n    return !!this.accessToken.length && !!this.user?.roles;\n  }\n  get isImpersonated() {\n    return !!this.boAccessToken.length && this.isAuthenticated;\n  }\n  getRefreshToken(msg, client) {\n    return this.refresh().then(() => {\n      let xhr = msg.requestMessage;\n      xhr.headers.add('Authorization', 'Bearer ' + this.accessToken);\n      if (xhr.method === 'POST' && xhr.content && (typeof xhr.content === 'string') && xhr.content.indexOf('{') === 0) {\n        xhr.content = JSON.parse(xhr.content);\n      }\n      return client.send(xhr);\n    }, (error) => {\n      return error;\n    });\n  }\n\n  refresh() {\n    if (this._refreshPromise) return this._refreshPromise;\n    if (!this.user || !this.user.username) {\n      this.logout();\n      return Promise.reject(x);\n    }\n    this._refreshPromise = this.client.post(this._refreshUrl, { username: this.user.username, refreshToken: this.refreshToken, grantType: 'refresh-token' }).then((msg) => {\n      this.accessToken = msg.response.token;\n      this.refreshToken = msg.response.refreshToken;\n      return Promise.resolve(msg.response);\n    }, x => {\n      this.logout();\n      return Promise.reject(x);\n    });\n    this._refreshPromise.finally(() => {\n      this._refreshPromise = null;\n    });\n    return this._refreshPromise;\n  }\n\n  login(username, password, code = null) {\n    let data = {};\n    if (!code) data = { username: username, password: password, grantType: 'password' };\n    else data = { token: code, grantType: 'serviceToken' };\n\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n\n    return this.client.post('users/login', data).then(msg => {\n      this.accessToken = msg.response.token;\n      this.refreshToken = msg.response.refreshToken;\n      return this.startUser(code);\n    }, x => {\n      this.accessToken = '';\n      this.refreshToken = '';\n      this.user = null;\n      return Promise.reject(x);\n    });\n  }\n  startUser(code = null) {\n    return new Promise((resolve, reject) => {\n      this.client.get('users/me?include=user-profiles,user-roles,user-modules').then(xhr => {\n        let user = JSON.parse(JSON.stringify(xhr.response));\n        user.profile = user.profile[0];\n        user.username = user.profile.username;\n        user.displayName = user.profile.displayName;\n        this.user = user;\n\n        // BETA feature\n        if (this.hasRole('LIST_USER_BETA_FEATURE_SUBSCRIPTIONS')) {\n          this.client.get('users/me/beta-feature-subscriptions').then(xhr => {\n            const response = xhr.response;\n            const user = this.user;\n            if (response.length) xhr.response.forEach(feat => { user.roles.push({ id: `BETA_HAS_${feat.featureCode}` }); });\n            this.user = user;\n          }).catch(() => {\n            console.log('GET beta-feature-subscriptions', error);\n          }).finally(() => {\n            resolve(this.reroute(code));\n          })\n        } else {\n          resolve(this.reroute(code));\n        }\n      }).catch(error => {\n        this.user = null;\n        reject(error);\n      });\n    });\n  }\n  reroute(code) {\n    let reroute = decodeURIComponent(new URL(document.location).searchParams.get('reroute'));\n    if (!code && reroute !== 'null') return location.href = reroute;\n    else if (!code) return this.router.navigateToRoute('dashboard');\n  }\n  impersonate(id = null, code = null) {\n    if (!id && !code) return Promise.reject(new Error('Either user id or support ticket code must be provided!'));\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.client.post(id ? `bo/users/${id}/login` : `bo/users/me/support-ticket-login/${code}`, {}).then(xhr => {\n      let boAccessToken = this.accessToken;\n      let boRefreshToken = this.refreshToken;\n      this.user = null;\n      localStorage.clear();\n      sessionStorage.clear();\n      this.boAccessToken = boAccessToken;\n      this.boRefreshToken = boRefreshToken;\n      this.accessToken = xhr.response.token;\n      this.refreshToken = xhr.response.refreshToken;\n      return this.startUser().then(() => { location.reload() });\n    }, error => {\n      this.toast.consume();\n      return Promise.reject(error);\n    });\n  }\n  disimpersonate() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let boAccessToken = this.boAccessToken;\n    let boRefreshToken = this.boRefreshToken;\n    this.user = null;\n    this.boAccessToken = null;\n    this.boRefreshToken = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    this.accessToken = boAccessToken;\n    this.refreshToken = boRefreshToken;\n    return this.startUser().then(() => { location.reload() });\n  }\n\n  logout(soft = false) {\n    let href = '/login';\n    const reroute = JSON.parse(sessionStorage.getItem(btoa(`reroute`)));\n\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.boAccessToken = '';\n    this.boRefreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    if (!soft) location.href = reroute ? `${href}?reroute=${reroute.href}` : href;\n  }\n\n  get(endpoint, params) {\n    let queryString = (typeof params === 'object') ? '?' + this.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  }\n\n  post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  }\n\n  put(endpoint, data) {\n    return this.client.put(this.baseUrl + endpoint, data);\n  }\n\n  patch(endpoint, data) {\n    return this.client.patch(this.baseUrl + endpoint, data);\n  }\n\n  delete(endpoint) {\n    return this.client.delete(this.baseUrl + endpoint);\n  }\n\n  buildQueryString(params) {\n    let query = [];\n    for (let [key, value] of Object.entries(params)) query.push(`${key}=` + encodeURIComponent(value));\n    return query.join('&');\n  }\n\n  parseUrl(url) {\n    let chunks = url.split('?');\n    let hashes = (chunks[1] || '').split('&');\n    let query = {};\n    hashes.map(hash => {\n      if (hash.length) {\n        let [key, val] = hash.split('=');\n        query[key] = decodeURIComponent(val);\n      }\n    });\n    return { url: chunks[0], query };\n  }\n\n  sanitizeUrl(url) {\n    let blacklist = ['meta', 'depth', 'fields', 'filters'];\n    let chunks = url.split('?');\n    let query = chunks[1] ? chunks[1].split('&') : [];\n    let regexp = new RegExp('^' + blacklist.join('|'));\n    for (let i = 0; i < query.length; i++) {\n      if (query[i].match(regexp)) { query.splice(i, 1); i--; }\n    }\n    return chunks[0] + (query.length ? '?' + query.join('&') : '');\n  }\n\n  convertHref(href, queryMap = {}) {\n    let { url, query } = this.parseUrl(href);\n    for (let [key, item] of Object.entries(queryMap)) {\n      if (typeof item === 'function' && query[key]) {\n        let result = item(query[key]);\n        delete (query[key]);\n        query = Object.assign({}, query, result);\n      } else if (item !== null) {\n        delete (query[key]);\n        query = Object.assign({}, query, item);\n      } else {\n        delete (query[key]);\n      }\n    }\n    let queryString = Object.keys(Object.assign({}, query)).map(key => key + '=' + query[key]).join('&');\n    return url + (queryString.length ? '?' + queryString : '');\n  }\n\n  dialogError(xhr, controls = {}, unlabelParameters = []) {\n    if (xhr instanceof Object && (xhr.constructor === Object || xhr.constructor === HttpResponseMessage)) {\n      if (xhr?.statusCode !== 500) {\n        if (xhr.statusCode === 423 && xhr.response?.source) return;\n        if (xhr.statusCode === 0 && xhr.response.type === 'abort') return;\n        let errorPayload = mdt.parsers.apiError(xhr, controls, unlabelParameters);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>' + errorPayload.title + ':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>' });\n      }\n    } else return;\n  }\n\n  dialogIntents(xhr) {\n    return new Promise((resolve, reject) => {\n      this.dialog.dialog.open({\n        viewModel: PLATFORM.moduleName('resources/dialogs/intents/intents'),\n        model: xhr,\n        lock: true\n      }).whenClosed((response) => {\n        if (sessionStorage.getItem(btoa(`intents-reload`)) === JSON.stringify({ reload: true })) return location.reload();\n        if (!response.wasCancelled) {\n          this.client.send(xhr.requestMessage).then(xhr => { resolve(xhr) }).catch(xhr => { reject(xhr) })\n        } else {\n          return reject(xhr);\n        }\n      });\n    });\n\n  }\n\n  hasRole(roles) {\n    if (!this.user?.roles) return null;\n    if (!Array.isArray(roles)) roles = [roles];\n    return this.user.roles?.some(e => roles.includes(e.id));\n  }\n\n  isJSON(string) {\n    try {\n      if (JSON.parse(string)) return true;\n    } catch (error) {\n      return false;\n    }\n  }\n}\n\n","import {inject} from 'aurelia-framework';\nimport {HttpClient} from 'aurelia-http-client';\nimport {MdAuth} from './md-auth';\nimport environment from '../environment';\n\n@inject(MdAuth)\nexport class MdApi {\n  constructor(MdAuth) {\n    this.mdAuth = MdAuth;\n  }\n}\n","export class MdAuth {\n  constructor() {\n    this.stored = JSON.parse(sessionStorage.getItem('MdAuth'));\n  }\n\n  get accessToken() {\n    return this.stored?.accessToken || null;\n  }\n  set accessToken(value) {\n    this.store('accessToken', value);\n  }\n  get refreshToken() {\n    return this.stored?.refreshToken || null;\n  }\n  set refreshToken(value) {\n    this.store('refreshToken', value);\n  }\n\n  store(key, value) {\n    if (value) {\n      this.stored[key] = value;\n    } else if (key in this.stored) {\n      delete this.stored[key];\n    }\n    sessionStorage.setItem('MdAuth', JSON.stringify(this.stored));\n  }\n}\n","import { Api } from './api';\nimport { inject } from 'aurelia-framework';\n\n@inject(Api)\nexport class MdDatasources {\n  paymentMethods;\n  flatServiceTypes;\n  multifattureSoftwares;\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  initialize() {\n    if (this.initialized || !this.api.isAuthenticated) return Promise.resolve(); // only run once, only when user is authenticated\n    this.postalServices = {\n      vectors: [],\n      postages: []\n    };\n    this.multifattureSoftwares = [];\n    this.paymentMethods = [];\n    let promises = [\n      this.initPostalServices(),\n      this.initMultifattureSoftwares(),\n      this.initPaymentMethods(),\n      this.initFlatServiceTypes()\n    ];\n    return Promise.all(promises).then(() => {\n      this.initialized = true;\n    })\n  }\n\n  initPostalServices() {\n    return new Promise((resolve, reject) => {\n      this.api.get('postal-services/vectors').then(xhr => {\n        let promises = [];\n        xhr.response.forEach(vector => {\n          //this.postalServices[vector.code] = Object.assign({}, vector, { postages: []});\n          this.postalServices.vectors.push(vector);\n          promises.push(this.api.get(`postal-services/${vector.code}/postages`).then(xhr => {\n            xhr.response.forEach(postage => {\n              this.postalServices.postages.push(postage);\n            });\n          }));\n        });\n        Promise.all(promises).then(() => {\n          resolve(this.postalServices);\n        }).catch(error => {\n          reject(error);\n        });\n      }).catch(error => {\n        reject(error);\n      });\n    });\n  }\n\n  initMultifattureSoftwares() {\n    if (!this.api.hasRole('LIST_CLIENTS')) return Promise.resolve();\n    return this.api.get('users/me/clients').then((xhr) => {\n      const response = xhr.response;\n      this.multifattureSoftwares = response;\n    });\n  }\n\n  initPaymentMethods() {\n    return this.api.get('payment-methods').then((xhr) => {\n      const response = xhr.response;\n      this.paymentMethods = response;\n    });\n  }\n\n  initFlatServiceTypes() {\n    return this.api.get('flat-service-types').then((xhr) => {\n      const response = xhr.response;\n      this.flatServiceTypes = response;\n    });\n  }\n}\n","import { inlineView } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\nconst mimeTypes = {\n  'jpeg': 'image/jpeg',\n  'png': 'image/png',\n  'pdf': 'application/pdf',\n  'webp': 'image/webp',\n  'csv': 'text/csv',\n  'zip': 'application/zip',\n  'ogg': 'application/ogg',\n}\n\n@inlineView(`\n<template>\n  <div class=\"body\">\n    <object \n      data.bind=\"url\" \n      type.bind=\"mimeType\"\n      style=\"width: 100%; height: 80vh; border: none\">\n      <div style=\"display: flex; justify-content: center; align-items: center; width: 100%; height: 80vh\">\n        <p>Il tuo browser non può visualizzare questo file.</p>\n      </div>\n    </object>\n  </div>\n  <div style=\"display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right\">\n    <ka-button class=\"inverted secondary\" click.delegate=\"controller.cancel()\">Chiudi</ka-button>\n  </div>\n</template>\n`)\nclass InlineDialogFileViewer {\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.url = params.url;\n    this.mimeType = params.mimeType;\n  }\n}\n\nexport class MdFileViewer {\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;  \n  }\n\n  fileViewer(path, fileExtension, event) {\n    const mimeType = mimeTypes[fileExtension || 'pdf'];\n    if (event) event.model.busy = true;\n    \n    return this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', `${mimeType}`)\n    .withHeader('Content-Type', `${mimeType}`)\n    .withResponseType('blob')\n    .send()\n    .then((xhr) => {\n      const response = xhr.response;\n      let blob = new Blob([response], { type: mimeType });\n      let url = URL.createObjectURL(blob);\n      this.dialogFileViewer(url, mimeType).finally(() => {\n        URL.revokeObjectURL(url);\n        blob = url = null;\n      });  \n    }).catch((error) => {\n      this.toast.show(`Impossibile visualizzare il file!`, 'error');\n      console.error('fileViewer', error);\n    }).finally(() => {\n      if (event) {\n        event.model.busy = false;\n        let element = event.target;\n        if (!element.outerHTML.startsWith('<ka-button')) element = event.target.offsetParent;\n        const mouseleave = new MouseEvent('mouseleave');\n        element.dispatchEvent(mouseleave);\n      }\n    });\n  }\n  dialogFileViewer(url, mimeType) {\n    return this.dialog.open({\n      title: 'Visualizza file',\n      viewModel: InlineDialogFileViewer,\n      viewModelParams: { url, mimeType },\n      class: 'medium dialog-file-preview'\n    }, true);\n  }\n}\n\nexport class MdFileDownload {\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast; \n  }\n\n  fileDownload(path, record, fileExtension, event) {\n    const mimeType = mimeTypes[fileExtension || 'pdf'];\n    if (event) event.model.busy = true;\n    \n    return this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', `${mimeType}`)\n    .withHeader('Content-Type', `${mimeType}`)\n    .withResponseType('blob')\n    .send()\n    .then((xhr) => {\n      const regex = new RegExp(`filename=\\\"?([^\\\";]+\\.${fileExtension})\\\"?`, 'i');;\n      const contentDisposition = xhr.headers?.headers?.['content-disposition']?.value;\n      const matches = contentDisposition?.match(regex);\n      const response = xhr.response;\n      const anchor = document.createElement('a');\n      let blob = new Blob([response], { type: mimeType });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches?.[1] || record.uuid;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`File scaricato con successo!`, 'success');\n      URL.revokeObjectURL(url);\n      blob = url = null;\n    }).catch((error) => {\n      this.toast.show(`Impossibile visualizzare il file!`, 'error');\n      console.error('fileViewer', error);\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n}\n","class MdTools {\n  BUSINESS_TYPES = Object.freeze(['BUILDING-ADMINISTRATOR', 'BUILDING']);\n\n  preferences = {\n    mergeModelData: (model, context, response) => {\n      let data = {};\n      for (let [k, v] of Object.entries(model)) {\n        let requested = eval(`response.requested?.${context.join('?.')}?.${k} ?? null`);\n        let current = eval(`response.current?.${context.join('?.')}?.${k} ?? null`);\n        let parent = eval(`response.parent?.${context.join('?.')}?.${k} ?? null`);\n        let preset = eval(`response.preset?.${context.join('?.')}?.${k} ?? null`);\n        let responseValue = requested ?? current ?? parent ?? preset ?? null;\n        if (responseValue === null) {\n          //continue;\n          data[k] = null;\n        } else if (this.helpers.isObject(v) && !v.control) {\n          data[k] = this.preferences.mergeModelData(v, context.concat([k]), response);\n        } else {\n          data[k] = responseValue;\n        }\n      }\n      return data;\n    }\n  };\n  helpers = {\n    isObject: (object) => {\n      return object instanceof Object && object.constructor === Object;\n    },\n    diffObject: (object1, object2) => {\n      /*\n      object1 = original data\n      object2 = modified data\n      */\n      let data = {};\n      for (let [k, v] of Object.entries(object1)) {\n        if (typeof object2[k] === 'undefined') continue;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.diffObject(v, object2[k]);\n          if (value) data[k] = value;\n        } else if (v !== object2[k]) {\n          data[k] = object2[k];\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    removeEmptyAttributes: (object) => {\n      let data = {};\n      for (let [k, v] of Object.entries(object)) {\n        if (typeof v === 'undefined') continue;\n        if (v === null) continue;\n        if (v === '') continue;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.removeEmptyAttributes(v);\n          if (value && Object.entries(value).length) data[k] = value;\n        } else {\n          data[k] = v;\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    nullifyEmptyStringAttributes: (object) => {\n      let data = {};\n      for (let [k, v] of Object.entries(object)) {\n        if (v === '') v = null;\n        if (this.helpers.isObject(v)) {\n          let value = this.helpers.nullifyEmptyStringAttributes(v);\n          if (value && Object.entries(value).length) data[k] = value;\n        } else {\n          data[k] = v;\n        }\n      }\n      return Object.entries(data).length ? data : null;\n    },\n    isDateGreaterThan: (date1 = new Date(), date2 = new Date()) => {\n      return date1 > date2;\n    },\n    setDateRange: (days = 0) => {\n      const currentDate = new Date(new Date().getFullYear(), 0, 1);\n      currentDate.setDate(currentDate.getDate() + days);\n      return currentDate.toISOString();\n    }\n  };\n  parsers = {\n    flattenApiResponseData: (originalApiResponseData) => {\n      const apiResponseDataRecords = [].concat(structuredClone(originalApiResponseData.data));\n      apiResponseDataRecords.forEach((record) => {\n\n        // Parse relationships\n        Object.entries(record.relationships || {}).forEach(([key, value]) => {\n          const parseRelationship = (relationshipData) => {\n            return originalApiResponseData.included?.find((x) => x.type === relationshipData.type && x['id' || 'uuid'] === relationshipData['id' || 'uuid']);\n          }\n          [].concat(value).forEach((relationship) => {\n            if (!record.attributes[key]) record.attributes[key] = [];\n            let parsedRelationship = parseRelationship(relationship?.data);\n            if (parsedRelationship) {\n              Object.assign(parsedRelationship, parsedRelationship.attributes);\n              delete (parsedRelationship.attributes);\n              record.attributes[key].push(parsedRelationship);\n            }\n          });\n          if (!Array.isArray(value)) {\n            record.attributes[key] = record.attributes[key][0];\n          }\n        });\n\n        // Flatten\n        record = Object.assign(record, record.attributes);\n        delete (record.attributes);\n      });\n\n      return Array.isArray(originalApiResponseData.data) ? apiResponseDataRecords : apiResponseDataRecords[0];\n    },\n    apiError: (xhr, controls = {}, unlabelParameters) => {\n      let response;\n      try { response = JSON.parse(xhr.response); } catch { return; }\n      let errorMessages = [];\n      let errorBody = '';\n      let errorCode = String(response.status);\n      if (errorCode.indexOf('40') === 0 && response.source) {\n        if (response.source.parameters) {\n          for (let parameter of response.source.parameters) {\n            let field = parameter.parameter?.replace(/(data\\.attributes|queryString)\\./, '') || null;\n            let control = controls[field] || Object.values(controls).find(x => x.schema?.query === field) || null;\n            if (field && control) {\n              for (let message of parameter.messages) {\n                console.log('errore su campo', field, control);\n                if (control.setError) control.setError(message); // ka-control\n                else if (control.validator) { // ka-input\n                  control.validator.errors.push(message);\n                  control.element.classList.add('error');\n                }\n              }\n            } else if (parameter.messages && parameter.messages.length) {\n              for (let message of parameter.messages) {\n                let p = field || parameter.parameter;\n                p = p === 'data' ? null : p;\n                errorMessages.push({ code: parameter.code, parameter: p, message });\n              }\n            }\n          }\n        } else if (response.source.permissions) {\n          for (let permission of response.source.permissions) {\n            if (permission.messages && permission.messages.length) {\n              for (let message of permission.messages) {\n                errorMessages.push({ code: permission.code, message });\n              }\n            }\n          }\n        }\n      } else if (response.detail) {\n        errorMessages.push({ code: null, message: response.detail });\n      } else {\n        errorMessages.push({ code: null, message: 'Si è verificato un errore nella procedura!' });\n      }\n      if (errorMessages.length === 1 && unlabelParameters && Array.isArray(unlabelParameters)) {\n        errorBody = `${errorMessages[0].parameter && !unlabelParameters.includes(errorMessages[0].parameter) ? `<strong>${errorMessages[0].parameter}</strong>: ` : ''}${errorMessages[0].message}`;\n      } else if (errorMessages.length) {\n        errorMessages.forEach((error, index) => {\n          errorMessages[index] = `<li style=\"padding-top: 8px;padding-bottom: 8px;border-bottom: 1px solid #f0f0f0\">${error.parameter ? `<strong>${error.parameter}</strong>: ` : ''}${error.message}<!--</a>--></li>`;\n        });\n        errorBody = '<ol>' + errorMessages.join('') + '</ol>';\n      }\n      if (errorBody.length) return { code: errorCode, title: (errorCode === '403' ? 'È necessario avere i seguenti permessi per procedere con l\\'operazione' : 'Si sono verificati i seguenti errori'), body: errorBody };\n    },\n    contextualize: (user, value) => {\n      if (this.BUSINESS_TYPES.includes(user?.profile?.businessType)) {\n        value = this.dictionary[value] || value;\n      }\n      return value;\n    }\n  };\n  dictionary = {\n    'Utente': 'Condominio',\n    'utente': 'condominio',\n    'Sottoutente': 'Condominio',\n    'sottoutente': 'condominio',\n    'del sottoutente': 'del condominio',\n    'all\\'utente': 'al condominio',\n    'sull\\'utente': 'sul condominio',\n    'dell\\'utente': 'del condominio',\n    'Utenti': 'Condomìni',\n    'utenti': 'condomìni',\n    'Account': 'Studio',\n    'account': 'studio',\n    'all\\'account': 'allo studio',\n    'sull\\'account': 'sullo studio',\n    'dell\\'account': 'dello studio',\n  };\n  fidelityCards = {\n    userCurrentFidelityCard: (api) => {\n      const path = 'users/me/fidelity-cards/current';\n      return api.get(path).catch((error) => {\n        console.warn('userCurrentFidelityCard', error);\n      });\n    }\n  };\n  legacy = {\n    getCrossLoginTokenCurrent: (api) => {\n      return api.get(`users/me/cross-login-tokens/current`).catch((error) => {\n        console.error('getCrossLoginTokenCurrent', error);\n        this.api.dialogError(error);\n      });\n    }\n  };\n  general = {\n    dialogMavTiming(dialog) {\n      const body = '<p class=\"m-0\"><strong>La richiesta è stata inoltrata correttamente!</strong><span class=\"d-block\">L\\'approvazione di una richiesta da parte dell\\'ente bancario potrà richiedere dagli 8 ai 10 giorni lavorativi.</span></p>';\n      return dialog?.open({ \n        body,\n        type: 'alert', \n        class: 'small', \n        title: 'Attenzione!' \n      });\n    }\n  };\n}\nexport default new MdTools();\n","import { Api } from './api';\nimport mdt from './md-tools';\nimport { Router } from 'aurelia-router';\nimport environment from '../environment';\nimport { inject } from 'aurelia-framework';\nimport { RestClient } from './rest-client.ts';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdToast } from '../classes/md-toast/md-toast';\nimport {\n  CheckFlow,\n  checkAgreements,\n  checkUserProfilePec,\n  checkUserProfileData,\n  checkPlatformMessages,\n  checkUserBillingProfile,\n  checkSettingsLinkedSoftware\n} from '../classes/checkflow/checkflow';\n\n@inject(Router, Api, KaDialog, KaToast, MdToast)\nexport class MdUser {\n  mdt = mdt;\n\n  get isPreRelease() {\n    const loggedUser = this.mdApi?.user?.uuid;\n    const enabledUsers = ['ddff91d0-8895-559b-b29f-381e0db0cb74'];\n    const isDemoEnv = ENVIRONMENT?.APP_DEBUG === 'true';\n    return isDemoEnv || enabledUsers.includes(loggedUser);\n  }\n\n  constructor(router, mdApi, kaDialog, kaToast, mdToast) {\n    // Classes\n    this.mdApi = mdApi;\n    this.router = router;\n    this.toast = kaToast;\n    this.mdToast = mdToast;\n    this.dialog = kaDialog;\n    this.rest = new RestClient();\n    // Storage\n    this.storage = (environment.APP_STORAGE || localStorage);\n    this._data = JSON.parse(this.storage.getItem('user')) || null;\n    // CheckFlow\n    this.checkFlow = new CheckFlow();\n  }\n\n  get data() {\n    return JSON.parse(this.storage.getItem('user'));\n  }\n  set data(value) {\n    value ? this.storage.setItem('user', JSON.stringify(value)): this.storage.removeItem('user');\n  }\n\n  async initData() {\n    const apiResponse = await this.rest.get('users/me?include=user-profiles,user-roles,user-modules');\n    const flattenApiResponseData = mdt.parsers.flattenApiResponseData(apiResponse.data);\n    this.setUserData(flattenApiResponseData);\n    return flattenApiResponseData;\n  }\n\n  setUserData(apiResponseData) {\n    const user = structuredClone(apiResponseData);\n    user.username = user.profile.username;\n    user.displayName = user.profile.displayName;\n    this.data = user;\n  }\n\n  async check(fragment) {\n    if (!this.data) {\n      console.warn('[md-user] Check bypassed because of missing user data');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (!this.rest.auth.isAuthenticated) {\n      console.warn('[md-user] Check bypassed because user is not authenticated');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (this.mdApi.isImpersonated) {\n      console.warn('[md-user] Check bypassed because user is impersonated');\n      return Promise.resolve({ hasPassed: true });\n    }\n    if (['MASTER_USER', 'BASIC_USER'].includes(this.data.group)) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkAgreements });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkUserProfileData });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: true, function: checkUserProfilePec });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: false, function: checkUserBillingProfile });\n    }\n    if (['MASTER_USER'].includes(this.data.group) && !this.hasRole('LIST_ANY_USER')) {\n      this.checkFlow.addCheck({ isMandatory: false, function: checkSettingsLinkedSoftware });\n    }\n    this.checkFlow.addCheck({ isMandatory: false, function: checkPlatformMessages });\n\n    const result = await this.checkFlow.run(this, fragment);\n    return result;\n  }\n\n  setData(attribute, value) {\n    this._data[attribute] = value;\n    this.data = this._data;\n  }\n\n  removeData(attribute) {\n    delete this._data[attribute];\n    this.data = this._data;\n  }\n\n  hasRole(roles) {\n    if (!this.data.roles) return null;\n    if (!Array.isArray(roles)) roles = [roles];\n    return this.data.roles?.some(e => roles.includes(e.id));\n  }\n}\n","import { Api } from './api';\nimport { KaDialog } from 'ka-components';\nimport { HttpClient } from 'aurelia-http-client';\n\nexport class MfApi {\n  accessToken;\n  baseUrl = ENVIRONMENT.APP_API_BASE_URL_MFLEGACY;\n\n  static inject = [Api, KaDialog];\n  constructor(api, kaDialog) {\n    this.api = api;\n    this.dialog = kaDialog\n    this.client = new HttpClient();\n\n    this.client.configure((config) => {\n      config.withBaseUrl(this.baseUrl);\n      config.withHeader('Accept-Language', 'it');\n      config.withInterceptor({\n        request: (msg) => {\n          if (this.api?.accessToken?.length) {\n            msg?.headers.add('Authorization', 'Bearer ' + this.api.accessToken);\n          }\n        },\n        response: (msg) => {\n          if (msg?.statusCode !== 204 && msg?.responseType === 'json' && typeof msg?.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        },\n        responseError: (msg) => {\n          if (msg?.statusCode === 401 && this.api?.refreshToken?.length && msg?.requestMessage?.url !== this.api?.refreshUrl) {\n            return this.api.getRefreshToken(msg, this.client);\n          }\n        }\n      });\n    });\n  }\n\n  get(endpoint, params) {\n    let queryString = (typeof params === 'object') ? '?' + this.api.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  }\n  post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  }\n}     \n","const MIME_TYPES = {\n  'jpeg': 'image/jpeg',\n  'jpg': 'image/jpeg', \n  'png': 'image/png',\n  'pdf': 'application/pdf',\n  'webp': 'image/webp',\n  'csv': 'text/csv',\n  'zip': 'application/zip',\n  'ogg': 'application/ogg',\n  'xml': 'application/xml', \n  'p7m': 'application/pkcs7-mime' \n};\n\nconst ALLOWED_DOCUMENT_TYPES = ['report', 'document'];\n\nexport class MfFileDownload {\n  constructor(api, mfApi, kaToast) {\n    this.api = api;\n    this.mfApi = mfApi;\n    this.toast = kaToast; \n  }\n\n  exportFiles(query, event) {\n    if (event) event.model.busy = true;\n\n    const filteredQuery = this.filterQuery(query);\n    let queryParams = new URLSearchParams(filteredQuery).toString();\n    const requestUrl = `documents/zip?token=${this.api.accessToken}&${queryParams}`;\n\n    return this.mfApi.client.createRequest(requestUrl)\n      .asGet()\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const date = new Date().toISOString().split('T')[0];\n        const blob = new Blob([xhr.response], { type: 'application/zip' });\n        const url = window.URL.createObjectURL(blob);\n        const anchor = document.createElement('a');\n        anchor.href = url;\n        anchor.download = `files-${date}.zip`;\n        anchor.click();\n        \n        this.toast.show('File scaricato con successo!', 'success');\n        \n        setTimeout(() => window.URL.revokeObjectURL(url), 100);\n      })\n      .catch((error) => {\n        console.error('Download error:', error);\n        this.toast.show('Errore durante il download del file.', 'error');\n        throw error;\n      })\n      .finally(() => {\n        if (event && event.model) event.model.busy = false;\n      });\n  }\n\n  fileDownload(path, record, documentType, event) {\n\n    if (event) event.model.busy = true;\n\n    if (!ALLOWED_DOCUMENT_TYPES.includes(documentType)) {\n      this.toast.show('Tipo di documento non valido.', 'error');\n      if (event && event.model) event.model.busy = false;\n      return Promise.reject(new Error('Invalid document type'));\n    }\n\n    const fileId = record.document_id;\n    const fileName = documentType === 'document' \n      ? record.invoice_filename \n      : record.report_filename;\n\n    if (!fileName || typeof fileName !== 'string') {\n      this.toast.show('Nome file non valido.', 'error');\n      if (event && event.model) event.model.busy = false;\n      return Promise.reject(new Error('Invalid filename'));\n    }\n\n    const extension = fileName.split('.').pop()?.toLowerCase();\n    const mimeType = MIME_TYPES[extension];\n\n    // Validate MIME type\n    if (!mimeType) {\n      this.toast.show(`Tipo di file non supportato: .${extension}`, 'error');\n      if (event && event.model) event.model.busy = false;\n      return Promise.reject(new Error(`Unsupported file type: ${extension}`));\n    }\n    const endpoint = path;\n    const requestUrl = `${endpoint}/${fileId}?attachtype=${documentType}&token=${this.api.accessToken}`;\n\n    return this.mfApi.client.createRequest(requestUrl)\n      .asGet()\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const blob = new Blob([xhr.response], { type: mimeType });\n        const url = window.URL.createObjectURL(blob);\n        const anchor = document.createElement('a');\n        anchor.href = url;\n        anchor.download = fileName;\n        anchor.click();\n        \n        this.toast.show('File scaricato con successo!', 'success');\n        \n        setTimeout(() => window.URL.revokeObjectURL(url), 100);\n      })\n      .catch((error) => {\n        console.error('Download error:', error);\n        this.toast.show('Errore durante il download del file.', 'error');\n        throw error;\n      })\n      .finally(() => {\n        if (event && event.model) event.model.busy = false;\n      });\n  }\n\n  filterQuery(query) {\n    return Object.fromEntries(\n      Object.entries(query).filter(([_, value]) => value !== undefined && value !== null)\n    );\n  }\n}\n","export class vmAgreement {\n  activate(params) {\n    this.agreement = params.agreement;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog} from 'ka-components';\n\n@inject(Api, KaDialog)\nexport class vmLegacyViewer {\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() { this.init(); }\n\n  init() {\n    if (this.params.view === 'billing-profiler') {\n      this.config = {\n        view: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione-editor'),\n        model: {\n          userId: this.params.userId,\n          profileUuid: this.params.profileUuid,\n          callback: (completed) => {\n            if (!completed) {\n              this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `Confermi di voler uscire senza salvare il profilo di fatturazione?`}).whenClosed(response => {\n                if (!response.wasCancelled && this.params.encodedCallbackUri) location.href = window.atob(decodeURIComponent(this.params.encodedCallbackUri));\n              });\n            } else {\n              this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: `Profilo di fatturazione correttamente salvato!`}).whenClosed(response => {\n                if (this.params.encodedCallbackUri) location.href = window.atob(decodeURIComponent(this.params.encodedCallbackUri));\n              });\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n}","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class view_routeViewName {\n\n  tabs = [\n    {\n      id: 'tab1',\n      label: 'tabName1',\n      vm: PLATFORM.moduleName('views/_template/tabs/routeViewName-tabName1')\n    }, {\n      id: 'tab2',\n      label: 'tabName2',\n      vm: PLATFORM.moduleName('views/_template/tabs/routeViewName-tabName2')\n    }\n  ];\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { tab1: true, tab2: true }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('OPERATOR_ROLE');\n    return;\n    // Tab 1\n    if (this.privileges.isOperator && this.api.hasRole('OPERATOR_ROLE_FOR_TAB_1')) {\n      this.privileges.tabs.tab1 = true;\n    } else if (!this.privileges.isOperator && this.api.hasRole('ROLE_FOR_TAB_1')) {\n      this.privileges.tabs.tab1 = true;\n    }\n    // Tab 2\n    if (this.api.hasRole('ROLE_FOR_TAB_2')) {\n      this.privileges.tabs.tab2 = true;\n    }\n  }\n}","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class view_tabName1 {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-routerViewName-tabName1-table',\n      client: this.api,\n      endpoint: 'users/me/users',\n      query: 'include=user-profiles'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-routerViewName-tabName1-search',\n      table: this.tableInterface,\n      schema: {\n        control1: {\n          control: 'text',\n          label: 'Control 1',\n          required: true,\n          query: 'text-search'\n        },\n        control2: {\n          control: 'text',\n          label: 'Control 2',\n          required: false,\n          query: 'control2-query-filter-name'\n        },\n        control3: {\n          control: 'text',\n          label: 'Control 3',\n          required: false,\n          query: 'control3-query-filter-name'\n        },\n        control4: {\n          control: 'text',\n          label: 'Control 4',\n          required: false,\n          query: 'control4-query-filter-name'\n        },\n        control5: {\n          control: 'text',\n          label: 'Control 5',\n          required: false,\n          query: 'control5-query-filter-name'\n        },\n        control6: {\n          control: 'text',\n          label: 'Control 6',\n          required: false,\n          query: 'control6-query-filter-name'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    this.searchInterface.search();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class view_tabName2 {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\nexport class ServiceDialogUserProfile {\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.missingProperties = params;\n  }\n}\nexport class missingPropertiesValueConverter {\n  toView(value) {\n    if (!value) return;\n    let missingProperties = {\n      zipCode: 'CAP',\n      streetAddress: 'Indirizzo',\n      admLvl1: 'Regione',\n      admLvl2: 'Provincia',\n      admLvl3: 'Comune',\n      countryCode: 'Nazione',\n      businessType: 'Attività',\n      companyLegalFormCode: 'Forma giuridica',\n      displayName: 'Mittente'\n    };\n    return missingProperties[value] || value;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport environment from 'environment';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class Login {\n  environment = environment;\n  username = '';\n  password = '';\n  resource = {\n    schema: {\n      username: {\n        field: 'username',\n        label: 'Username',\n        control: 'text',\n        required: true\n      },\n      password: {\n        field: 'password',\n        label: 'Password',\n        control: 'password',\n        required: true\n      },\n    },\n    data: {}\n  }\n\n  constructor(router, api, toast, dialog) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.email = params.email;\n    this.source = params.source;\n  }\n\n  attached() {\n    if (this.api.isAuthenticated) this.api.logout();\n    if (this.email) this.resource.data.username = this.email;\n  }\n\n  login($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    this.api.login(this.resource.data.username, this.resource.data.password).catch(error => {\n      if (error.statusCode !== 423) {\n        this.toast.show('Autenticazione utente fallita!', 'error');\n      }\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class Logout {\n\n  constructor(api) {\n    api.logout();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class viewRecupero {\n  uniqueIdentifier = null;\n  success = false;\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  start($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    \n    this.uid.input.validator.errors = [];\n\n    this.uid.input.validate().then(x => {\n      this.api.post('users/login-recovery-requests', { uniqueIdentifier: this.uniqueIdentifier }).then(x => {\n        this.email = x.response.emailAddress;\n      }).catch(x => {\n        this.uid.input.validator.errors.push('Identificativo non riconosciuto');\n        this.uid.input.element.classList.add('error');\n        this.toast.show('Identificazione utente fallita!', 'error');\n      }).finally(() => {\n        if ($event && $event.model) $event.model.busy = false;\n      });\n    }).catch(e => {\n      if ($event && $event.model) $event.model.busy = false;\n    }).finally(x => {\n    });\n  }\n  end($event) {\n    if ($event && $event.model) $event.model.busy = true;\n\n    this.error = false;\n    this.pass1.input.validator.errors = [];\n    this.pass2.input.validator.errors = [];\n\n    let promises = [];\n    promises.push(this.pass1.input.validate());\n    promises.push(this.pass2.input.validate());\n\n    Promise.all(promises).then(x => {\n      if (this.password1 !== this.password2) {\n        this.pass2.input.validator.errors.push('Le password non combaciano');\n        this.pass2.input.element.classList.add('error');\n        if ($event && $event.model) $event.model.busy = false;\n      } else {\n        this.api.post(`users/login-recovery-requests/${this.params.token}/password-resets`, { password: this.password1 }).then(x => {\n          this.success = true;\n        }).catch(x => {\n          let response = JSON.parse(x.response);\n          if (response.source?.parameters?.length && response.source?.parameters[0].messages?.length) {\n            this.error = response.source.parameters[0].messages[0];\n          } else if (response.detail) {\n            this.error = response.detail;\n          }\n          this.toast.show('Cambio password utente fallito!', 'error');\n        }).finally(() => {\n          if ($event && $event.model) $event.model.busy = false;\n        });\n      }\n    }).catch(e => {\n      if ($event && $event.model) $event.model.busy = false;\n    }).finally(x => {\n    });\n    \n  }\n}\n","export class vmDeleteAccount {}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogAddResellerTag {\n  pendingInit = true;\n  resource = {\n    controls: {},\n    schema: {\n      uuid: {\n        label: 'Segnalatore', \n        control: 'combo',\n        datasource: { \n          table: `bo/resellers?user-status-in=ACTIVE&reseller-status=ACTIVE`,\n          query: { search: 'full-text-search', item: 'uuid-in' }\n        },\n        datavalue: 'uuid',\n        datatext: '{firstname} {lastname}',\n        datamultiple: false,\n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      resellerCode: {\n        label: 'Codice', \n        control: 'combo',\n        datasource: [],\n        datavalue: 'resellerCode', \n        datatext: 'resellerCode',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      rewardedServiceCode: {\n        label: 'Servizio da associare',\n        control: 'combo',\n        datasource: [],\n        datavalue: 'code', \n        datatext: 'name', \n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.getServiceGroups().finally(() => { this.pendingInit = false; });\n  }\n\n  getServiceGroups() {\n    return this.api.get('resell/service-groups').then(xhr => {\n      let serviceGroups = xhr.response;\n      this.resource.schema.rewardedServiceCode.datasource = serviceGroups;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n    });\n  }\n\n  changeReseller(uuidReseller = this.resource.data.uuid) {\n    this.api.get(`bo/resellers/${uuidReseller}`, { filters: 'reseller-status=ACTIVE' }).then(xhr => {\n      let codes = [];\n      this.reseller = xhr.response;\n      this.reseller.resellerCodes.forEach(resellerCode => { codes.push({ resellerCode: resellerCode.code }); });\n      this.resource.schema.resellerCode = Object.assign({}, this.resource.schema.resellerCode, { datasource: codes });\n    }).catch(error => {\n      console.log('ERROR - bo/resellers - GET', error);\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      this.api.post(`bo/prospect-landing-pages/${this.params.referralCode}/reseller-tags`, this.resource.data).then(() => {\n        this.controller.ok();\n      }).catch((error) => {\n        console.log('reseller-tags', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });    \n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogSponsorAgreement {\n  pendingSave;\n  resource = {\n    controls: {},\n    schema: {\n      agreementText: {\n        label: 'Inserisci il testo dell\\'email.',\n        required: true,\n        control: 'editor'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.loadAgreementText();\n  }\n\n  loadAgreementText() {\n    this.params.agreementText ? this.resource.data.agreementText = this.params.agreementText : null;\n  }\n\n  save() {\n    this.pendingSave = true;\n    this.api.patch(`bo/prospect-landing-pages/${this.params.referralCode}`, this.resource.data).then(() => {\n       this.controller.ok();\n    }).catch((error) => {\n       console.log('Prospect-landing-pages - PATCH', error);\n       this.api.dialogError(error);\n    }).finally(() => {\n      this.pendingSave = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\nimport { vmAgreement } from '../../_agreement/agreement';\n@inject(Api, KaToast, KaDialog)\nexport class LandingPages {\n  endpoint = 'bo/prospect-landing-pages';\n  editEnabled = false;\n  priceLists = null;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.getPriceLists().then(() => { this.initTableInterface(); });\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'landing-pages-table',\n      client: this.api,\n      endpoint: this.endpoint,\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      this.response = response;\n      this.response.forEach(element => { element.controls = {}; });\n      return this.response;\n    };\n\n    this.tableInterface.events.addEventListener('dataLoad', () => {\n      this.editEnabled = false;\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      setTimeout(() => { this.editEnabled = true; }, 500);\n    });\n\n    this.searchInterface = new SearchInterface({\n      name: 'landing-pages-search',\n      table: this.tableInterface,\n      schema: {\n        referralCode: {\n          label: 'Codice referral',\n          control: 'text',\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          query: 'referral-code-like'\n        },\n        listCode: {\n          label: 'Codice listino',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          query: 'price-list-code-in'\n        },\n        searchStatus: {\n          label: 'Stato',\n          control: 'combo',\n          datasource: [\n            { value: 'ACTIVE', text: 'Attiva' },\n            { value: 'NOT-ACTIVE', text: 'Non attiva' },\n            { value: 'DELETED', text: 'Cancellata' },\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'status'\n        },\n        sponsorUuid: {\n          label: '',\n          control: 'combo',  \n          datasource: { \n            table: `bo/users?include=user-profiles&country-code-in=IT&status=ACTIVE&user-group-in=SPONSOR`, \n            query: { search: 'text-search', item: 'uuid-in'} \n          },\n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n        },\n        description: {\n          label: '',\n          control: 'text'\n        },\n        definitivePriceListCode: {\n          label: '',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true\n        },\n        status: {\n          label: '',\n          control: 'combo',\n          datasource: [\n            { value: 'ACTIVE', text: 'Attiva' },\n            { value: 'NOT-ACTIVE', text: 'Non attiva' },\n            { value: 'DELETED', text: 'Cancellata' },\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n        },\n        temporaryPriceListCode: {\n          label: '',\n          control: 'combo',\n          datasource: this.priceLists,\n          datavalue: 'code',\n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true\n        },\n        temporaryPriceListCodeDurationInDays: {\n          label: '',\n          control: 'number'\n        }\n      },\n      data: {}\n    });\n\n    try {\n      await this.tableInterface.initialize();\n      this.searchInterface.initialize().then(() => {\n        this.searchInterface.search();\n      }).catch(error => { console.log('searchInterface initialization failed', error) });\n    } catch (error) {\n      console.error('tableInterface initialization failed', error);\n    }\n  }\n\n  getPriceLists() {\n    return this.api.get('bo/price-lists').then((xhr) => {\n      this.priceLists = xhr.response;\n    }).catch((error) => {\n      this.priceLists = [];\n      console.error('Error GET bo/price-lists', error);\n    });\n  }\n\n  edit(record) {\n    if (!this.editEnabled || !record.referralCode || record.referralCode === undefined) return;\n    setTimeout(() => {\n      let recordFormatted = {\n        description: record.description,\n        sponsorUuid: record.sponsorUuid,\n        status: record.status,\n        temporaryPriceListCode: record.temporaryPriceListCode || null,\n        definitivePriceListCode: record.definitivePriceListCode,\n        ...(!record.sponsorUuid && { agreementText: null }),\n      };\n\n      if (record.temporaryPriceListCodeDurationInDays) recordFormatted.temporaryPriceListCodeDurationInDays = record.temporaryPriceListCodeDurationInDays;\n    \n      this.api.patch(`bo/prospect-landing-pages/${record.referralCode}`, recordFormatted).then(() => {\n        this.searchInterface.search();\n      }).catch((error) => {\n        console.error(error);\n        let errorPayload = mdt.parsers.apiError(error, record.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      })\n    }, 0);\n  }\n\n  addResellerTag(record) {\n    this.dialog.open({\n      title: 'Associa nuovo segnalatore',\n      class: 'profilo-add-reseller small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/landing-pages/dialogs/add-reseller-tag'),\n      viewModelParams: { referralCode: record.referralCode }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.toast.show('Segnalatore aggiunto con successo', 'success');\n        this.tableInterface.load();\n      }\n    });\n  }\n\n  deleteResellerTag(tag) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Confermi di voler rimuovere questo segnalatore?`\n    }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.api.delete(`bo/prospect-landing-pages/${tag.prospectLandingPageReferralCode}/reseller-tags/${tag.uuid} `).then(() => {\n            this.toast.show('Segnalatore eliminato con successo', 'success');\n            this.tableInterface.load();\n          }).catch(error => {\n            console.error(error);\n          });\n        }\n      });\n  }\n\n  openSponsorDialog(record) {\n    return this.dialog.open({\n      title: 'Accordo con Sponsor',\n      class: 'sponsor-agreement',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/landing-pages/dialogs/sponsor-agreement'),\n      viewModelParams: { \n        referralCode: record.referralCode,\n        agreementText: record.agreementText\n      },\n    }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.toast.show('Accordo modificato con successo', 'success');\n          this.tableInterface.load();\n        }\n      });\n  }\n}","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Api, KaToast, KaDialog)\nexport class RevisioneAbiCab {\n  endpoint = 'bo/unknown-iban-coordinates-it/current';\n  editEnabled = false;\n  priceLists = null;\n  resource = {\n    controls: {},\n    schema: {\n      abiCode: {\n        label: 'ABI',\n        control: 'text',\n        readonly: true\n      },\n      cabCode: {\n        label: 'CAB',\n        control: 'text',\n        readonly: true\n      },\n      instituteName: {\n        label: 'Istituto',\n        control: 'text'\n      },\n      officeName: {\n        label: 'Nome ufficio',\n        control: 'text'\n      },\n      countryCode: {\n        label: 'Nazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n        query: 'country-code-in'\n      },\n      admLvl1: {\n        label: 'Regione',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-1-uuid-in'\n      },\n      admLvl2: {\n        label: 'Provincia',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-2-uuid-in'\n      },\n      admLvl3: {\n        label: 'Comune',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n        query: 'adm-level-3-uuid-in'\n      },\n      streetAddress: {\n        label: 'Indirizzo',\n        control: 'text'\n      },\n      zipCode: {\n        label: 'Cap',\n        control: 'text'\n      },\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.loadData();\n  }\n\n  loadData() {\n    return this.api.get(this.endpoint).then((xhr) => {\n      this.resource.data = xhr.response;\n      this.resource.data.countryCode = 'IT';\n    });\n  }\n\n  initGeo(type, init = false) {\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/1/divisions`;\n      this.resource.controls.admLvl1.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl1 = null;\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/2/divisions?parent-uuid=${this.resource.data.admLvl1}`;\n      this.resource.controls.admLvl2.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl2 = null;\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.resource.data.countryCode}/levels/3/divisions?parent-uuid=${this.resource.data.admLvl2}`;\n      this.resource.controls.admLvl3.control.schema.datasource.table = url;\n      if (this.resource.controls[type].control._initialized) this.resource.data.admLvl3 = null;\n    }\n    this.resource.controls[type].control._initialized = true;\n  }\n\n  reset() {\n    const controls = this.resource.controls;\n    for (const controlKey in controls) {\n      const control = controls[controlKey];\n      if (!['countryCode', 'abiCode', 'cabCode'].includes(control.name)) control.clear();\n    }\n  }\n\n  save() {\n    if (this.pendingSave) return;\n    this.pendingSave = true;\n    const data = {\n      abiCode: this.resource.data.abiCode,\n      cabCode: this.resource.data.cabCode,\n      instituteName: this.resource.data.instituteName,\n      officeName: this.resource.data.officeName,\n      countryCode: this.resource.data.countryCode,\n      admLvl2: (this.resource.controls.admLvl2?.control?.valueModel?.endonym) || null,\n      admLvl3: (this.resource.controls.admLvl3?.control?.valueModel?.endonym) || null,\n      streetAddress: (this.resource.data?.streetAddress) || null,\n      zipCode: (this.resource.data?.zipCode) || null\n    };\n\n    this.resource.validate().then(() => {\n      this.api.post(`bo/bank-offices`, data).then(() => {\n        this.toast.show('Dati salvati con successo!', 'success');\n        this.loadData().then(() => {\n          this.reset();\n        });\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        this.pendingSave = false;\n      })\n    }).catch(() => {\n      this.pendingSave = false;\n    });\n  }\n}","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\n\nimport {KaDialog, KaToast} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from '../../../environment';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubricaDati {\n  endpoint = 'users/me/contacts';\n  environment = environment;\n  mdt = mdt;\n  contact = {\n    loaded: false,\n    endpoint: 'users/me/contacts',\n    query: null,\n    schema: {\n      firstname: {\n        control: 'text', \n        label: 'Nome'\n      },\n      lastname: {\n        control: 'text', \n        label: 'Cognome'\n      },\n      nickname: {\n        control: 'text', \n        label: 'Soprannome'\n      },\n      companyName: {\n        control: 'text', \n        label: 'Denominazione'\n      },\n      jobTitle: { \n        label: 'Titolo',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [{ value: 'Sig.', text: 'Sig.' }, { value: 'Sig.ra', text: 'Sig.ra' }, { value: 'Arch.', text: 'Arch.' }, { value: 'Avv.', text: 'Avv.' }, { value: 'Dott.', text: 'Dott.' }, { value: 'Dott.ssa', text: 'Dott.ssa' }, { value: 'Geom.', text: 'Geom.' }, { value: 'Ing.', text: 'Ing.' }, { value: 'Prof.', text: 'Prof.' }, { value: 'Prof.ssa', text: 'Prof.ssa' }, { value: 'P.I.', text: 'P.I.' }, { value: 'Rag.', text: 'Rag.' }, { value: 'Cav.', text: 'Cav.' }, { value: 'Comm.', text: 'Comm.' }],\n      },\n      countryCode: {\n        label: 'Nazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n      },\n      admLvl1Uuid: {\n        label: 'Regione',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      admLvl2Uuid: {\n        label: 'Provincia',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      admLvl3Uuid: {\n        label: 'Comune',\n        control: 'combo',\n        datatext: 'endonym',\n        datavalue: 'uuid',\n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n      },\n      locality: {\n        control: 'text', \n        label: 'Località'\n      },\n      addressee: {\n        control: 'text', \n        label: 'Presso'\n      },\n      streetAddress: {\n        control: 'text', \n        label: 'Indirizzo'\n      },\n      zipCode: {\n        control: 'text', \n        label: 'Cap'\n      },\n      fiscalCode: {\n        control: 'text', \n        label: 'Codice Fiscale'\n      },\n      vatCode: {\n        control: 'text', \n        label: 'Partita IVA'\n      },\n      homePhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Telefono'\n      },\n      homePhoneNumber: {\n        control: 'text', \n        label: 'Telefono'\n      },\n      workPhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Telefono lavoro'\n      },\n      workPhoneNumber: {\n        control: 'text', \n        label: 'Telefono lavoro'\n      },\n      mobilePhoneNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Cellulare'\n      },\n      mobilePhoneNumber: {\n        control: 'text', \n        label: 'Cellulare (verrà utilizzato per invio Sms)'\n      },\n      faxNumberInternationalPrefix: {\n        control: 'text', \n        label: 'Fax'\n      },\n      faxNumber: {\n        control: 'text', \n        label: 'Fax'\n      },\n      emailAddress: {\n        control: 'text', \n        label: 'Email'\n      },\n      certifiedEmailAddress: {\n        control: 'text', \n        label: 'Pec'\n      },\n      webSiteUrl: {\n        control: 'text', \n        label: 'Web'\n      },\n      contactGroups: { \n        control: 'combo',\n        label: 'Gruppo',\n        datatext: 'name',\n        datavalue: 'id',\n        datamultiple: true,\n        datapreload: true,\n        datasource: { table: 'users/me/contact-groups' }\n      },\n      notes: {\n        control: 'textarea', \n        label: 'Note'\n      },\n      newsletterOptIn: {\n        label: 'Consenti Newsletter',\n        control: 'check',\n      },\n      newsletterOptInDate: {\n        label: 'Data Consenso',\n        control: 'date'\n      },\n      uniqueCode: {\n        label: 'Unique Code',\n        control: 'text' \n      }\n    },\n    data: {\n      countryCode: 'IT',\n      newsletterOptInDate: null,\n      homePhoneNumberInternationalPrefix: '+39',\n      workPhoneNumberInternationalPrefix: '+39',\n      mobilePhoneNumberInternationalPrefix: '+39',\n      faxNumberInternationalPrefix: '+39'\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = JSON.parse(JSON.stringify(this.contact.data));\n      ['homePhoneNumber', 'workPhoneNumber', 'mobilePhoneNumber', 'faxNumber'].forEach(field => {\n        if (data[field]) {\n          data[field] = (String(data[`${field}InternationalPrefix`] || '+39') + String(data[field])).replace(/\\s+/g, \"\");\n        }\n        delete data[`${field}InternationalPrefix`];\n      });\n      if (data.contactGroups === null) {\n        data.contactGroups = [];\n      }\n      if (data.id) {\n        this.contact.resource.save(data, `users/me/contacts/${data.id}`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n          this.router.navigateToRoute('anagrafiche/rubrica');\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        this.contact.resource.save(data, 'users/me/contacts', 'post').then(x => {\n          this.toast.show('Contatto creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/rubrica');\n        }).catch(e => {\n          console.error(e);\n          this.toast.show('Errore nella creazione del contatto!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.load();\n  }\n\n  load() {\n    if (this.params.id && this.params.id !== 'new') {\n      this.pending = true;\n      this.api.get(`users/me/contacts/${this.params.id}`).then(xhr => {\n        let data = xhr.response;\n        ['homePhoneNumber', 'workPhoneNumber', 'mobilePhoneNumber', 'faxNumber'].forEach(field => {\n          data[`${field}InternationalPrefix`] = data[`${field}InternationalPrefix`] || '+39';\n          data[field] = String((data[field] || '').replace(data[`${field}InternationalPrefix`], '')).trim();\n        });\n        this.contact.data = data;\n      }).catch(error => {\n        console.log('ERROR - users/me/contacts GET', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.pending = false;\n      });\n    }\n  }\n\n  annulla() {\n    this.router.navigateToRoute('anagrafiche/rubrica');\n  }\n\n  setGeo(field, init = false) {\n    let childField, childControl, childSchema, childData, countryCode, admLvls, lvl;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    }\n    \n    childControl = this.contact.resource.controls[childField];\n    childSchema = this.contact.schema[childField];\n    childData = this.contact.data;\n    countryCode = this.contact.data['countryCode'];\n    admLvls = this.contact.resource.controls['countryCode'].objectValue?.administrativeLevels;\n    \n    if (countryCode) {\n      let url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${childData[field]}` : '');\n      if (admLvls && admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = true;\n      } else if (admLvls && !admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = false;\n      }\n      if (init) {\n        childSchema.datasource.table = url;\n      } else if (childControl) {\n        childControl.datasource.table = url;\n        childData[childField] = null;\n      } else {\n        childSchema.datasource.table = url;\n        childData[childField] = null;\n      }\n    } else if (!init) {\n      childData[childField] = null;\n    }\n  }\n}\n","import {activationStrategy} from 'aurelia-router';\n\nexport class RubricaDialogEliminaGruppo {\n  deleteContacts = false;\n  constructor() {\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class RubricaDialogElimina {\n  multipleRecords = false;\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (params && params.length) {\n      if (params.length !== 1) this.multipleRecords = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubricaGruppi {\n  mdt = mdt;\n  group = {\n    loaded: false,\n    endpoint: 'users/me/contact-groups',\n    query: '',\n    schema: {\n      name: {\n        control: 'text', \n        label: 'Nome gruppo'\n      },\n    },\n    data: {},\n    save: ($event) => {\n      $event.model.busy = true;\n      if (this.group.data.id) {\n        this.group.resource.save(this.group.data, `users/me/contact-groups/${this.group.data.id}`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n          this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        this.group.resource.save(this.group.data, 'users/me/contact-groups', 'post').then(x => {\n          this.toast.show('Contatto creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n        }).catch(e => {\n          console.error(e);\n          this.toast.show('Errore nella creazione del contatto!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n  \n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    /* Table Interface */\n    this.groupsTableInterface = new TableInterface({\n      name: 'groups-table',\n      client: this.api,\n      endpoint: 'users/me/contact-groups',\n      query: null\n    });\n\n    /* Initialize table */\n    this.groupsTableInterface.initialize().then(() => { this.load(); }).catch(error => { console.log('groupsTable-initialize failed', error); });\n  }\n\n  load() {\n    if (this.params.id && this.params.id !== 'new') {\n      this.api.get(`users/me/contact-groups/${this.params.id}`).then(xhr => {\n        this.group.data = xhr.response;\n      });\n    } else if (!this.params.id) {\n      this.groupsTableInterface.load().catch(error => { console.log('groupsTable-load failed', error); });\n    }\n  }\n\n  annulla() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi', { id: 'new' });\n  }\n\n  elimina(record) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina-gruppo'),\n      viewModelParams: record\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        if (response.output.deleteContacts) {\n          this.api.delete(`users/me/contact-groups/${record.id}/contacts`).then(() => {\n            this.api.delete(`users/me/contact-groups/${record.id}`).then(() => {\n              this.load();\n              this.toast.show('Gruppo e relativi contatti eliminati con successo!', 'success');\n            }).catch(x => {\n              this.api.dialogError(x);\n            });\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        } else {\n          this.api.delete(`users/me/contact-groups/${record.id}`).then(() => {\n            this.load();\n            this.toast.show('Gruppo eliminato con successo!', 'success');\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      }\n    });\n  }\n\n  modifica(record) {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi', { id: record.id });\n  }\n\n  contatti() {\n    this.router.navigateToRoute('anagrafiche/rubrica');\n  }\n}\n","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class viewRubricaImportazione {\n  records = false;\n  loading = false;\n  constructor(router, api, toast, dialog) {\n    this.api = api;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {}\n\n  carica($event) {\n    if (!this.file || this.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    this.loading = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.file[0]);\n    reader.onload = () => {\n      let data = {\n        filename: this.file[0].name,\n        fileData: reader.result\n      };\n      this.api.post('users/me/contacts/bulk-import', data).then(x => {\n        this.toast.show('File importato con successo!', 'success');\n        this.file = null;\n        this.loading = true;\n      }).catch(x => {\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            console.log('400', response)\n            for (let parameter of response.source.parameters) {\n              if (/^data\\.attributes\\.fileData/.test(parameter.parameter)) {\n                errorMessages.push('Formato file non valido');\n              }\n              else if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        } else errorMessages.push('Errore nel caricamento del file!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        this.loading = false;\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      this.loading = false;\n      $event.model.busy = false;\n    };\n  }\n\n  annulla() {\n    if (!this.records) return this.router.navigateToRoute('anagrafiche/rubrica');\n    this.records = false;\n  }\n}\n\n","\nimport {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewRubrica {\n  mdt = mdt;\n  contactGroups = null;\n  selected = [];\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n\n    // Load contact groups\n    this.api.get('users/me/contact-groups').then(xhr => {\n      let groups = {};\n      for (let group of xhr.response) {\n        groups[group.id] = group;\n      }\n      this.contactGroups = groups;\n    });\n  }\n\n  attached() {\n    /* Table interface */\n    this.rubricaTableInterface = new TableInterface({\n      name: 'rubrica-table',\n      client: this.api,\n      endpoint: 'users/me/contacts',\n      query: null\n    });\n\n    /* Table Search */\n    this.rubricaSearchInterface = new SearchInterface({\n      name: 'rubrica-table-search',\n      table: this.rubricaTableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          label: 'Ricerca libera',\n          query: 'text-search'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n          query: 'country-code-in'\n        },\n        admLvl1: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-1-uuid-in'\n        },\n        admLvl2: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-2-uuid-in'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          query: 'adm-level-3-uuid-in'\n        },\n        group: { \n          control: 'combo',\n          label: 'Gruppo',\n          datatext: 'name',\n          datavalue: 'id',\n          datamultiple: true,\n          datapreload: true,\n          datasource: { table: 'users/me/contact-groups' },\n          query: 'group-uuid-in'\n        }\n      },\n      data: {\n        countryCode: 'IT',\n      }\n    });\n    this.rubricaTableInterface.initialize().then(() => {\n      this.rubricaSearchInterface.initialize().then(() => {\n        this.initGeo('countryCode', true);\n        setTimeout(() => { this.ricerca(); }, 500);\n      }).catch(error => { console.log('rubrica-search-intialize failed', error); });\n    }).catch(error => { console.log('rubrica-table-initialize failed', error); });\n  }\n\n  ricerca() {\n    this.rubricaSearchInterface.search().catch(error => { console.log('rubrica-search-interface failed', error); });\n  }\n\n  reset() {\n    for (let [k,v] of Object.entries(this.rubricaSearchInterface.data)) this.rubricaSearchInterface.data[k] = null;\n    this.ricerca();\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/rubrica-dati', { id: 'new' });\n  }\n\n  gruppi() {\n    this.router.navigateToRoute('anagrafiche/rubrica-gruppi');\n  }\n\n  importa() {\n    this.router.navigateToRoute('anagrafiche/rubrica-importazione');\n  }\n\n  modifica($event, record) {\n    $event.stopPropagation();\n    this.router.navigateToRoute('anagrafiche/rubrica-dati', { id: record.id });\n  }\n\n  elimina($event, record) {\n    $event.stopPropagation();\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina'),\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/me/contacts/${record.id}`).then(() => {\n          this.toast.show('Contatto eliminato con successo!', 'success');\n          this.ricerca();\n        }).catch(x => {\n          this.api.dialogError(x);\n        });\n      }\n    });\n  }\n\n  esporta() {\n    if (!this.selected.length) return;\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let csv = ['nome;cognome;denominazione;numero;indirizzo;cap;comune;localita;provincia;nazione'];\n    for (let record of this.selected) {\n      csv.push([\n        record.firstname,\n        record.lastname,\n        record.companyName,\n        record.mobilePhoneNumber || record.homePhoneNumber || record.workPhoneNumber || null,\n        record.streetAddress,\n        record.zipCode,\n        record.admLvl3,\n        record.locality,\n        record.admLvl2,\n        record.countryCode,\n      ].join(';'));\n    }\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = 'rubrica-invio-tradizionale.csv';\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.consume();\n  }\n\n  initGeo(type, init = false) {\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/1/divisions`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl1.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl1.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl1 = null;\n      }\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/2/divisions?parent-uuid=${this.rubricaSearchInterface.data.admLvl1}`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl2.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl2.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl2 = null;\n      }\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.rubricaSearchInterface.data.countryCode}/levels/3/divisions?parent-uuid=${this.rubricaSearchInterface.data.admLvl2}`;\n      if (init) {\n        this.rubricaSearchInterface.schema.admLvl3.datasource.table = url;\n      } else {\n        this.searchControlAdmLvl3.input.datasource.table = url;\n        this.rubricaSearchInterface.data.admLvl3 = null;\n      }\n    }\n  }\n\n  selectContact(record) {\n    if (this.selected.find(x => x.id === record.id)) this.selected.splice(this.selected.findIndex(x => x.id === record.id), 1);\n    else this.selected.push(record);\n  }\n\n  deleteContacts() {\n    if (this.selected && this.selected.length) {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dialog-elimina'),\n        viewModelParams: this.selected\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          let promises = []\n          this.selected.forEach(contact => {\n            promises.push(this.api.delete(`users/me/contacts/${contact.id}`));\n          });\n          if (promises.length) return Promise.all(promises).then(() => {\n            this.toast.show(`${this.selected.length > 1 ? 'Contatti eliminati' : 'Contatto eliminato'} con successo`, 'success');\n            this.selected = [];\n            this.ricerca();\n          }).catch(() => {\n            this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Impossibile eliminare i contatti selezionati' });\n          });\n        }\n      });\n    }\n  }\n\n  toggleAllContacts(records) {\n    if (records.length > this.selected.length) {\n      this.selected = [];\n      records.forEach(x => {\n        this.selected.push(x);\n      });\n    } else {\n      this.selected = [];\n    }\n    return;\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, DialogController, KaDialog, KaToast)\nexport class DialogMigrateSubuser {\n  pendingSave;\n  activableOn = 'Utenti';\n  payableBy = 'Utenti';\n  selectedUser;\n  resource = {\n    controls: {},\n    schema: {\n      migrationRecipient: {\n        control: 'combo',\n        label: 'Nuovo utente padre',\n        required: true,\n        datatext: 'profile[0].displayName',\n        datavalue: 'id',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' }},\n        query: 'text-search'\n      },\n      migrationReason: {\n        control: 'text',\n        label: 'Nota',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        promises.push(new Promise((resolve, reject) => {\n          if (control.validate)\n            control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n          else if (control.input?.validate)\n            control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, DialogController, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.controller = DialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    if (this.pendingSave) return;\n    this.pendingSave = true;\n    this.resource.validate().then(() => {\n      let data = {};\n      data.migrationReason = this.resource.data.migrationReason;\n      data.migrationSubuserUuid = this.params.uuid;\n      this.api.post(`bo/users/${this.resource.data.migrationRecipient}/users`, data).then(() => {\n        this.params.dialog.ok();\n        this.toast.show('Migrazione avvenuta con successo', 'success');\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        this.pendingSave = false;\n      })\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class ServiceDialogProfiloAddReseller {\n  pending = true;\n  resource = {\n    controls: {},\n    schema: {\n      uuid: {\n        label: 'Segnalatore', \n        control: 'combo',\n        datasource: { table: `bo/resellers?reseller-status=ACTIVE`, query: { search: 'text-search', item: 'uuid-in' }},\n        datavalue: 'uuid',\n        datatext: '{firstname} {lastname}', \n        datamultiple: false,\n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      resellerCode: {\n        label: 'Codice', \n        control: 'combo',\n        datasource: [],\n        datavalue: 'resellerCode', \n        datatext: 'resellerCode',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      serviceGroupCode: {\n        label: 'Servizio da associare',\n        control: 'combo',\n        datasource: [],\n        datavalue: 'code', \n        datatext: 'name', \n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n  \n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.getServiceGroups().finally(() => { this.pending = false; });\n  }\n\n  getServiceGroups() {\n    return this.api.get('resell/service-groups').then(xhr => {\n      let serviceGroups = xhr.response;\n      this.resource.schema.serviceGroupCode.datasource = serviceGroups;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n    });\n  }\n\n  changeReseller(uuidReseller = this.resource.data.uuid) {\n    this.api.get(`bo/resellers/${uuidReseller}`, { filters: 'reseller-status=ACTIVE' }).then(xhr => {\n      let codes = [];\n      this.reseller = xhr.response;\n      this.reseller.resellerCodes.forEach(resellerCode => { codes.push({ resellerCode: resellerCode.code }); });\n      this.resource.schema.resellerCode = Object.assign({}, this.resource.schema.resellerCode, { datasource: codes });\n    }).catch(error => {\n      console.log('ERROR - rbo/resellers - GET', error);\n    });\n  }\n\n  save() {\n    let data = { ...this.resource.data };\n    delete data.uuid;\n    this.api.post(`bo/users/${this.params.id}/resellers`, data).then(() => {\n      this.controller.ok();\n    }).catch(error => {\n      console.log('ERROR - /resellers - POST', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ProfiloDeleteBillingProfile {\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n@inject(Api, DialogController)\nexport class ProfiloDocumentUpload {\n  mdt = mdt;\n  pending = false;\n  buttonPending = false;\n  error = null;\n  ibanCodes = null;\n  userProfile = null;\n  resource = {\n    controls: {},\n    schema: {\n      file: {\n        label: 'Documento',\n        control: 'file',\n        required: true\n      },\n      placeholder: {\n        label: 'Etichetta',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    }\n  }\n\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId;\n    this.uploadSessionUuid = params.uploadSessionUuid;\n    this.type = params.type;\n    this.document = params.document || null;\n  }\n\n  attached() {\n    if (this.type?.placeholderType === 'IBAN' && this.api.hasRole(['LIST_USER_BILLING_PROFILE_IBAN_CODES', 'LIST_ANY_USER_BILLING_PROFILE_IBAN_CODES'])) {\n      this.pending = true;\n      if (this.userId === 'me') this.getIbanCodes();\n      else this.getUser().then(() => { this.getIbanCodes(); });   \n    } else {\n      this.resource.schema.placeholder.placeholder = this.type.placeholderType || null;\n    }\n  }\n\n  getIbanCodes() {\n    this.api.get(`users/${this.userId}/billing-profile-iban-codes`).then(xhr => {\n      this.ibanCodes = xhr.response;\n      this.ibanCodes.forEach(ibanCode => {\n        ibanCode.label = `<strong>${ibanCode.label}: </strong><br>${ibanCode.code}`\n      });\n      this.resource.schema.placeholder = {\n        label: this.userId === 'me' ? 'IBAN dai miei profili di fatturazione' : `IBAN dai profili di fatturazione di ${this.userProfile.displayName}`,\n        control: 'combo',\n        datasource: this.ibanCodes,\n        datavalue: 'code',\n        datatext: `label`,\n        required: true\n      }\n      this.pending = false;\n    }).catch(error => {\n      console.log('ERROR - billing-profile-iban-codes GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  getUser() {\n    return this.api.get(`users/${this.userId}?include=user-profiles`).then(xhr => {\n      this.userProfile = xhr.response.profile[0] || null;\n    }).catch(error => {\n      console.log('ERROR user profile - GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  upload(endpoint, file) {\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        let reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = error => { reject(error); };\n      }).then(() => {\n        this.api.post(endpoint, attachment).then(xhr => {\n          // Build object attachment\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch(error => reject(error));\n      }).catch(error => reject(error));\n    });\n  }\n\n  save($event) {\n    this.buttonPending = $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let endpoint = `users/${this.userId}/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n      this.upload(endpoint, this.resource.data.file[0]).then(xhr => {\n        let data = { uploadedFileUuid: xhr.id };\n        if (this.type.placeholderType) data.placeholder = this.resource.data.placeholder;\n\n        // Buckets\n        if (this.document) {\n          this.api.put(`users/${this.userId}/certifiable-document-buckets/current/certifiable-documents/${this.document.uuid}`, data).then(() => {\n            this.controller.ok();\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - PUT', error);\n            this.api.dialogError(error);\n            setTimeout(() => { this.pending = $event.model.busy = false; }, 0);\n          });\n        } else {\n          data.documentType = this.type.code;\n          this.api.post(`users/${this.userId}/certifiable-document-buckets/current/certifiable-documents`, data).then(() => {\n            this.controller.ok();\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          }).catch(error => {\n            console.log('ERROR - certifiable-documents - POST', error);\n            this.api.dialogError(error);\n            setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n          });\n        }       \n      }).catch(error => {\n        console.error('ERROR - upload file', error);\n        this.api.dialogError(error);\n        setTimeout(() => { this.buttonPending = $event.model.busy = false; }, 0);\n      });\n    }).catch(() => {\n      this.buttonPending = $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class UtentiDialogArchiviaNuovo {\n  resource = {\n    controls: {},\n    schema: {\n      reason: {\n        label: 'Operazione',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [{ value: 'ARCHIVING', text: 'Archiviazione'}, /*{ value: 'MIGRATION', text: 'Migrazione'}*/],\n        required: true\n      },\n      newParentUserUuid: {\n        label: 'Migra verso',\n        control: 'combo', \n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'uuid', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        if (control.validator) control.validator.errors = [];\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.resource.client = this.api;\n  }\n  \n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.params.id}/archiving`, this.resource.data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n        this.toast.show(`${this.resource.data.reason === 'MIGRATION' ? 'Migrazione' : 'Archiviazione'} avvenuta con successo`, 'success');\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class UtentiImportazioneDialogSovrascrittura {\n  \n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n}\n","export class viewGestioneUtenti {\n\n/* REGISTER SUB VIEWS */\n\n  views = {\n    elenco:                 { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/elenco')},\n    importazione:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/importazione')},\n    anagrafica:             { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/anagrafica')},\n    documenti:              { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/documenti')},\n    documenti_approvazione: { vm: PLATFORM.moduleName('views/backoffice/documenti/tabs/documenti-gestione')},\n    fatturazione:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione')},\n    segnalatori:            { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/segnalatori')},\n    compensi:               { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/compensi')},\n    cashback:               { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/cashback')},\n    impostazioni:           { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/impostazioni')},\n    pagamenti:              { vm: PLATFORM.moduleName('views/anagrafiche/utenti/views/pagamenti')},\n  };\n\n  /* AURELIA'S COMPONENT LIFECYCLE'S HOOK METHODS */\n\n  activate(params, routeConfig, currentInstruction) {\n    /* ROUTE CAN BE\n    anagrafiche/utenti\n    anagrafiche/utenti/666\n    anagrafiche/utenti/666/anagrafica\n    anagrafiche/utenti/{id}/{view}\n    anagrafiche/utenti/importazione\n    anagrafiche/utenti/documenti\n    anagrafiche/utenti/fatturazione\n    gestione/profilo/me\n    */\n    if (routeConfig.route === 'gestione/profilo/me') {\n      params.id = 'me';\n    }\n    if (params.id && !params.view) {\n      params.view = 'anagrafica';\n    }\n    // Overwrite default class name for <router> element\n    currentInstruction.config.className = currentInstruction.config.name.replace('/','-') + (params.view ? `-${params.view}` : '');\n\n    this.params = params;\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\n\n\n@inject(Aurelia, Router, Api, MdUser, KaDialog, KaToast)\nexport class Anagrafica {\n  endpoint;\n  pendingLoad;\n  pendingInit;\n  parentUser;\n  legalForms;\n  legalFormTypes;\n  legalFormSelected;\n  oldSelectedCountryCode;\n  resource = {\n    controls: {},\n    schema: {\n      group: { \n        control: 'combo',  \n        label: 'Tipo accesso', \n        datatext: 'label',\n        datavalue: 'code', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [],\n        readonly: true\n      },\n      password: {\n        control: 'password', \n        label: 'Imposta nuova password'\n      },\n      profile: {\n        username: {\n          control: 'text',\n          label: 'Username'\n        },\n        displayName: { \n          control: 'text',\n          label: 'Etichetta'\n        },\n        courtesyTitle: { \n          label: 'Titolo',\n          control: 'combo',\n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'Sig.', text: 'Sig.' }, { value: 'Sig.ra', text: 'Sig.ra' }, { value: 'Arch.', text: 'Arch.' }, { value: 'Avv.', text: 'Avv.' }, { value: 'Dott.', text: 'Dott.' }, { value: 'Dott.ssa', text: 'Dott.ssa' }, { value: 'Geom.', text: 'Geom.' }, { value: 'Ing.', text: 'Ing.' }, { value: 'Prof.', text: 'Prof.' }, { value: 'Prof.ssa', text: 'Prof.ssa' }, { value: 'P.I.', text: 'P.I.' }, { value: 'Rag.', text: 'Rag.' }, { value: 'Cav.', text: 'Cav.' }, { value: 'Comm.', text: 'Comm.' }],\n        },\n        holderName: {\n          companyName: {\n            control: 'text', \n            label: 'Denominazione',\n            required: false\n          },\n          firstname: {\n            control: 'text', \n            label: 'Nome',\n            required: false\n          },\n          lastname: {\n            control: 'text', \n            label: 'Cognome',\n            required: false\n          }\n        },\n        businessType: { \n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: false,\n          datasource: [],\n          required: true\n        },\n        companyLegalFormCode: {\n          label: 'Forma giuridica',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: false,\n          datasource: [],\n          required: true\n        },\n        fiscalCode: {\n          control: 'text', \n          label: 'Codice fiscale',\n          required: false\n        },\n        vatCode: {\n          control: 'text', \n          label: 'Partita iva',\n          required: false\n        },\n        location: {\n          streetAddress: {\n            control: 'text', \n            label: 'Indirizzo',\n            required: true,\n          },\n          locality: {\n            control: 'text', \n            label: 'Località'\n          },\n          countryCode: { \n            label: 'Nazione', \n            control: 'combo',  \n            datatext: 'name',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n            required: true\n          },\n          admLvl1Uuid: {\n            label: 'Regione',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          admLvl2Uuid: {\n            label: 'Provincia',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          admLvl3Uuid: {\n            label: 'Comune',\n            control: 'combo',\n            datatext: 'endonym',\n            datavalue: 'uuid',\n            datamultiple: false,\n            datapreload: false,\n            datasource: { table: null, query: { search: 'text-search', item: 'uuid'} }\n          },\n          zipCode: {\n            label: 'CAP',\n            control: 'text',\n            required: true,\n          }\n        },\n        email: {\n          control: 'text', \n          label: 'Email'\n        },\n        pec: {\n          control: 'text',\n          label: 'PEC'\n        },\n        phoneNumber: {\n          control: 'text', \n          label: 'Telefono'\n        },\n        mobilePhoneNumber: {\n          control: 'text', \n          label: 'Cellulare'\n        },\n        faxNumber: {\n          control: 'text', \n          label: 'Fax'\n        }\n      }\n    },\n    data: {\n      group: 'BASIC_USER',\n      profile: {\n        location: {\n          countryCode: 'IT'\n        }\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(aurelia, router, api, mdUser, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.endpoint = this.isOperator ? 'bo/users' : 'users/me/users';\n  }\n\n  attached() {\n    this.oldSelectedCountryCode = this.resource.data.profile.location.countryCode;\n    this.init();\n  }\n\n  init() {\n    this.pendingInit = true;\n    let promises = [];\n    if (this.isOperator) promises.push(this.getUserGroups());\n    if (this.params.id && this.params.id !== 'new') promises.push(this.load());\n    return Promise.all(promises).catch(error => {\n      console.error(`GET - init`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.getBusinessType();\n      this.setCompanyLegalFormCodeDatasource();\n    });\n  }\n\n  load() {\n    return this.getUserProfile();\n  }\n\n  changeLegalForm() {\n    if (this.legalForms) {\n      this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.profile.companyLegalFormCode);\n      this.resource.controls['profile.vatCode'].required = this.legalFormSelected?.vatCodeNeeded === 'REQUIRED';\n      this.resource.controls['profile.fiscalCode'].required = this.legalFormSelected?.fiscalCodeNeeded === 'REQUIRED';\n      this.resource.controls['profile.holderName.companyName'].required = this.legalFormSelected?.companyNameNeeded === 'YES';\n      this.resource.controls['profile.holderName.firstname'].required = this.resource.controls['profile.holderName.lastname'].required = this.legalFormSelected?.personNameNeeded === 'YES';\n    }\n  }\n\n  getUserProfile() {\n    this.pendingLoad = true;\n    return this.api.get(`users/${this.params.id || 'me'}?include=user-profiles,user-roles`).then(xhr => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      if (response.profile.holderName && !response.profile.holderName.companyName) response.profile.holderName.companyName = response.profile.holderName.lastname + ' ' + response.profile.holderName.firstname;\n      this.resource.data = response;\n      this.pendingLoad = false;\n    }).catch(error => {\n      console.error(`GET - users`, error);\n      this.pendingLoad = false;\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    });\n  }\n\n  getUserGroups() {\n    return this.api.get('user-groups').then(xhr => {\n      let response = xhr.response;\n      this.resource.schema.group.datasource = response; \n    });\n  }\n\n  setBusinessTypeEndpoint() {\n    let endpoint = `user-business-types`;\n    if (this.params.id === 'new') return `user-business-types`;\n    else return `${endpoint}?applicable-to-user-uuid=${this.resource.data.uuid}`;\n  }\n\n  getBusinessType() {\n    const endpoint = this.setBusinessTypeEndpoint();\n    return this.api.get(endpoint).then(xhr => {\n      let response = xhr.response;\n      this.resource.schema.profile.businessType = Object.assign({}, this.resource.schema.profile.businessType, { datasource: response });\n    });\n  }\n\n  setLegalFormsEndpoint() {\n    let endpoint = `legal-forms`;\n    let filters = [`country-code=${this.resource.data.profile.location.countryCode}`];\n\n    // Master user creating a subuser\n    if (this.params.id === 'new' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') {\n      filters.push(`legal-form-type=BUILDING`);\n    } else if (this.params.id !== 'new') {\n      filters.push(`applicable-to-user-uuid=${this.resource.data.uuid}`);\n    }\n\n    return `${endpoint}?${filters.join('&')}`;\n  }\n\n  setCompanyLegalFormCodeDatasource() {\n    const legalFormsEndpoint = this.setLegalFormsEndpoint();\n    let promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(legalFormsEndpoint)\n    ];\n\n    return Promise.all(promises).then((xhrs) => {\n      let companyLegalFormCodeDatasource;\n      this.legalFormTypes = xhrs[0]?.response || null;\n      this.legalForms = xhrs[1]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n\n        this.resource.schema.profile.companyLegalFormCode = Object.assign({}, this.resource.schema.profile.companyLegalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    }).catch(error => {\n      console.error(`GET - setCompanyLegalFormCodeDatasource`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n  \n  setGeo(field) {\n    let childField, lvl, countryCode, countryCodeValueModel;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    } else return; \n    countryCode = this.resource.data.profile.location.countryCode || null;\n    countryCodeValueModel = this.resource.controls['profile.location.countryCode'].control?.valueModel;\n    if (countryCodeValueModel === undefined) return setTimeout(() => { this.setGeo(field) }, 500);\n\n    let readonly = true, required = false, url = null;\n    if (countryCode) {\n      url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${this.resource.data.profile.location[field]}` : '');\n    }\n    if (this.resource.data.profile.location[field]) {\n      if (countryCodeValueModel.administrativeLevels && countryCodeValueModel.administrativeLevels.find(x => x.level === lvl)) {\n        readonly = false;\n        required = true;\n      } else {\n        this.resource.data.profile.location[childField] = null;\n        this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n      }\n    } else {\n      this.resource.data.profile.location[childField] = null;\n      this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n    } \n    this.resource.schema.profile.location[childField] = Object.assign({}, this.resource.schema.profile.location[childField], { readonly: readonly, datasource: { table: url, query: { search: 'text-search', item: 'uuid'} }});\n    this.resource.controls[`profile.location.${childField}`].readonly = readonly; // legacy ka-control workaround: trigger readonlyChanged\n    this.resource.controls[`profile.location.${childField}`].required = required;\n\n    // Avoid redoing the call for the legal forms if not necessary\n    if (field === 'countryCode' && (this.oldSelectedCountryCode !== countryCode)) {\n      this.oldSelectedCountryCode = countryCode;\n      this.resource.data.profile.companyLegalFormCode = null;\n      this.setCompanyLegalFormCodeDatasource();\n    }\n  }\n\n  copyServiceToken() {\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      konsole.debug(token);\n      this.toast.show('Service token copiato in Console!', 'success');\n      if (navigator.clipboard) navigator.clipboard.writeText(token).then(() => {\n        this.toast.show('Service token copiato in Clipboard!', 'success');\n      }, error => { throw error; });\n    }).catch(error => {\n      console.error('ERROR - cross-login-tokens/current - GET', error);\n      this.toast.show('Impossibile copiare il service token in Clipboard!', 'error');\n    });\n  }\n\n  parseResourceData() {\n    if (this.resource.data?.profile?.location) {\n      if (this.resource.data.profile.location.admLvl1) delete this.resource.data.profile.location.admLvl1;\n      if (this.resource.data.profile.location.admLvl2) delete this.resource.data.profile.location.admLvl2;\n      if (this.resource.data.profile.location.admLvl3) delete this.resource.data.profile.location.admLvl3;\n    }\n\n    let data = { ...this.resource.data };\n    // A bulding administrator can only have bulding as sub-users\n    if ((this.params.id === 'new' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') || (this.params.id !== 'new' && this.resource.schema.profile.businessType.datasource.length === 1)) {\n      data.profile.businessType = 'BUILDING';\n    }\n    if (data.profile?.businessType === 'BUILDING') {\n      // The building tax code is assigned by the server as a username\n      data.profile.username = null;\n      // Password can be assigned when edit\n      if (!data.uuid) data.password = null;\n    }\n    return data;\n  }\n\n  save($event) {\n    const data = this.parseResourceData();\n\n    // if data is an empty array\n    if (!Object.entries(data).length) return $event.model.busy = false;\n\n    return this.resource.validate().then(() => {\n      $event.model.busy = true;\n\n      // Edit resource\n      if (data.uuid) {\n        let endpoint = this.api.user.uuid === data.uuid ? `users/me` : `${this.endpoint}/${data.uuid}`;\n        return this.api.put(endpoint, data).then(async () => {\n          this.load();\n          if (this.api.user.uuid === data.uuid) {\n            await this.mdUser.initData();\n            this.api.user = this.mdUser.data;\n          }\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.load();\n        }).catch((error) => {\n          console.error(`PUT ${endpoint}`, error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } \n      \n      // Create resource\n      else {\n        return this.api.post(this.endpoint, data).then((xhr) => {\n          let response = xhr.response;\n          this.toast.show('Profilo creato con successo!', 'success');\n          this.router.navigateToRoute('anagrafiche/utenti', { id: response.id, view: 'anagrafica' });\n        }).catch(error => {\n          console.error(`ERROR - ${this.endpoint} - PUT`, error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    });\n  }\n\n  annulla() {\n    this.params = null;\n    this.router.navigate('anagrafiche/utenti');\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Cashback {\n  savedData;\n  isLoading = true;\n  readEnabled = false;\n  writeEnabled = false;\n  isInitializing = true;\n  resource = {\n    controls: {},\n    schema: {\n      percentageOnServices: {\n        label: 'Percentuale di cashback calcolata sull\\'utile del credito servizio derivante dalle spedizioni MultInvio',\n        control: 'combo',\n        datatext: 'text',\n        datavalue: 'value', \n        datamultiple: false,\n        datapreload: true,\n        datasource: [\n          { value: 10, text: '10' }, \n          { value: 15, text: '15' }, \n          { value: 20, text: '20' }\n        ],\n      }\n    },\n    data: {\n      percentageOnServices: 10\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    if (this.api.hasRole(['MODIFY_ANY_USER_CASHBACK_STATUS', 'MODIFY_ANY_USER_CASHBACK_PERCENTAGE_ON_SERVICES'])) {\n      this.readEnabled = this.writeEnabled = true;\n    } else if (this.api.hasRole(['LIST_ANY_USER_CASHBACK_SETTINGS'])) {\n      this.readEnabled = true;\n      this.writeEnabled = false;\n    } else {\n      this.readEnabled = this.params.id === 'me' && this.api.hasRole('LIST_USER_CASHBACK_SETTINGS') ? true : false;\n    }\n\n    return this.load();\n  }\n\n  load() {\n    this.isLoading = true;\n    if (this.readEnabled) {\n      this.api.get(`users/${this.params.id}/cashback-settings`).then((xhr) => {\n        const response = xhr.response;\n        this.resource.data = response;\n        this.savedData = structuredClone(response);\n      }).catch(() => {\n        console.log('ERROR - /cashback-settings - GET', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = this.isLoading = false;\n      });\n    } else this.isInitializing = this.isLoading = false;\n  }\n\n  openDialogEditPercentageOnServices() {\n    return this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'small', \n      type: 'confirm', \n      body: `Modificando la percentuale di cashback per le spedizioni MultiInvio verrà generata una nuova versione del contratto. <strong>Confermi di voler salvare?</strong>`\n    });\n  }\n\n  submitAction($event) {\n    if (this.params.id) {\n      if (this.savedData.percentageOnServices !== this.resource.data.percentageOnServices) {\n        return this.openDialogEditPercentageOnServices().whenClosed((response) => {\n          if (!response.wasCancelled) return this.save($event);   \n        });\n      } else {\n        return this.save($event);\n      }\n    }\n  }\n\n  save($event) {\n    this.resource.validate().then(() => {\n      $event.model.busy = true;\n      let data = JSON.parse(JSON.stringify(this.resource.data));\n      this.api.patch(`users/${this.params.id}/cashback-settings`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.load();\n      }).catch(error => {\n        console.log('ERROR - /cashback-settings - PATCH', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport {KaDialog, KaToast} from 'ka-components';\nimport moment from 'moment';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmCompensi {\n  isInitializing = true;\n  isLoading = true;\n  resource = {\n    summaryTableInterface: null,\n    detailsTableInterface: null,\n    usersTableInterface: null,\n    usersSummaryTableInterface: null,\n    summarySearchInterface: null,\n    detailsSearchInterface: null,\n    usersSearchInterface: null,\n    usersSummarySearchInterface: null,\n    readEnabled: false,\n    search: {\n      endpoint: {},\n      resource: {},\n      schema: {\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        associatedUser: {\n          label: 'Utente associato', \n          control: 'combo',  \n          datatext: 'displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'associated-user-uuid-in'} },\n          query: 'associated-user-uuid-in'\n        },\n        serviceGroup: {\n          label: 'Tipologia',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'service-group-code-in'\n        }\n      },\n      data: {\n        createdAtStart: null,\n        createdAtEnd: null,\n        associatedUser: null,\n        serviceGroup: null\n      },\n      params: null,\n      init: () => {\n        // Field service Groups\n        this.resource.loadServiceGroups();\n\n        // Summary Table Interface\n        this.resource.summaryTableInterface = new TableInterface({\n          name: 'commissions-summary-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/summary`,\n          query: null\n        });\n        // Summary Search Interface\n        this.resource.summarySearchInterface = new SearchInterface({\n          name: 'commissions-summary-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Details Table Interface\n        this.resource.detailsTableInterface = new TableInterface({\n          name: 'commissions-details-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/details`,\n          query: null\n        });\n        // Details Search Interface\n        this.resource.detailsSearchInterface = new SearchInterface({\n          name: 'commissions-details-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Users Table Interface\n        this.resource.usersTableInterface = new TableInterface({\n          name: 'commissions-users-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/associated-users`,\n          query: 'with-amount-summary=false'\n        });\n        // Users Search Interface\n        this.resource.usersSearchInterface = new SearchInterface({\n          name: 'commissions-users-table-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        // Users-Summary Table Interface\n        this.resource.usersSummaryTableInterface = new TableInterface({\n          name: 'commissions-users-summary-table',\n          client: this.api,\n          endpoint: `users/${this.params.id}/commissions/details-by-user`,\n          query: null\n        });\n        // Users-Summary Interface\n        this.resource.usersSummarySearchInterface = new SearchInterface({\n          name: 'commissions-users-summary-table-search',\n          table: null,\n          schema: this.resource.search.schema,\n          data: this.resource.search.data\n        });\n        this.resource.usersSummarySearchInterface.data.createdAtStart = moment().utc().subtract(2, \"year\").toISOString();\n        let promisesT = [\n          this.resource.summaryTableInterface.initialize(), \n          this.resource.detailsTableInterface.initialize(), \n          this.resource.usersTableInterface.initialize(),\n          this.resource.usersSummaryTableInterface.initialize()\n        ];\n        return Promise.all(promisesT).then(() => {      \n          this.resource.summarySearchInterface.table = this.resource.summaryTableInterface;\n          this.resource.detailsSearchInterface.table = this.resource.detailsTableInterface;\n          this.resource.usersSearchInterface.table = this.resource.usersTableInterface;\n          this.resource.usersSummarySearchInterface.table = this.resource.usersSummaryTableInterface;\n          let promises = [\n            this.resource.summarySearchInterface.initialize(), \n            this.resource.detailsSearchInterface.initialize(), \n            this.resource.usersSearchInterface.initialize(),\n            this.resource.usersSummarySearchInterface.initialize()\n          ];\n          Promise.all(promises).then(() => { \n            this.resource.loadCommissions();\n          });\n        });\n      },\n      apply: () => {\n        this.resource.loadCommissions();\n      }\n    },\n    loadServiceGroups: () => {\n      let endpoint = 'resell/service-groups';\n      if (this.api.user.isReseller) endpoint = `resell/service-groups?reseller-uuid=${this.api.user.uuid}`;\n      this.api.get(endpoint).then(xhr => { \n        this.resource.search.schema.serviceGroup.datasource = xhr.response; \n      }).catch(error => {\n        console.log('ERROR - service-groups - GET', error);\n        this.api.dialogError(error);\n      });\n    },\n    loadCommissions: () => {\n      this.isLoading = true;\n      this.resource.search.schema.associatedUser.datasource.table = `users/${this.params.id}/commissions/associated-users`;\n      this.resource.detailsSearchInterface.data = this.resource.summarySearchInterface.data;\n      this.resource.usersSearchInterface.data = { ...this.resource.summarySearchInterface.data };\n      this.resource.usersSummarySearchInterface.data = Object.assign({}, this.resource.summarySearchInterface.data, {\n        createdAtStart: this.resource.usersSummarySearchInterface.data.createdAtStart,\n        createdAtEnd: this.resource.usersSummarySearchInterface.data.createdAtEnd\n      });\n\n      // Remove createdAt search filter from Users\n      this.resource.usersSearchInterface.data.createdAtStart = null;\n      this.resource.usersSearchInterface.data.createdAtEnd = null;\n\n      Promise.all([\n        this.resource.summarySearchInterface.search(), \n        this.resource.detailsSearchInterface.search(), \n        this.resource.usersSearchInterface.search(),\n        this.resource.usersSummarySearchInterface.search()\n      ]).then(() => {\n        this.resource.usersTableInterface.data?.forEach(associatedUser => { associatedUser.tag = { old: associatedUser.tag, new: associatedUser.tag } });\n        this.isInitializing = this.isLoading = false;\n      });\n    },\n    exportSummary: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.summarySearchInterface.last.params || {}, { format: 'csv'});\n      this.api.get(`users/${this.params.id}/commissions/summary`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportDetail: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.detailsSearchInterface.last.params || {}, { format: 'csv'});\n      this.api.get(`users/${this.params.id}/commissions/details`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo-mensile.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportUsers: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.usersSearchInterface.last.params || {}, { format: 'csv', 'with-amount-summary': true });\n      this.api.get(`users/${this.params.id}/commissions/associated-users`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-utenti-associati.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    exportUsersSummary: () => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      let params = Object.assign({}, this.resource.usersSummarySearchInterface.last.params || {}, { format: 'csv' });\n      this.api.get(`users/${this.params.id}/commissions/details-by-user`, params).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${this.api.user.id}-compensi-riepilogo-utenti.csv`;\n        anchor.href = window.URL.createObjectURL(new Blob([atob(x.response.fileData)], {type: x.response.mimeType}));\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    setTag: (user, context) => {\n      if (user.tag.new.length > 32) {\n        user.tag.new = user.tag.old;\n        return this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Massimo 32 caratteri consentiti'});\n      }\n      if (user.tag.new === '' || context === 'delete') user.tag.new = null;\n      return this.api.patch(`users/${this.params.id}/commissions/associated-users/${user.uuid}`, { tag: user.tag.new }).then(() => {\n        user.tag.old = user.tag.new;\n        this.toast.show('Tag salvato con successo!', 'success');\n      }).catch(error => {\n        konsole.error(error);\n        user.tag.new = user.tag.old;\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: 'Si è verificato un errore. Riprova'});\n      }).finally(() => {\n        user.userTagEnabled = !user.userTagEnabled\n      });\n    },\n    cancelTag: (user) => {\n      if (user.tag.new && user.tag.old) user.tag.new = user.tag.old;\n      user.userTagEnabled = !user.userTagEnabled\n    },\n    counter: (id, start, end, duration) => {\n      let isInt = true;\n      let digits = null;\n      if (end % 1 != 0) isInt = false;\n      let startTimestamp = null;\n      if (!this.counter) this.counter = {};\n      if (!this.counter[id]) this.counter[id] = 0;\n      const step = (timestamp) => {\n        if (!startTimestamp) startTimestamp = timestamp;\n        const progress = Math.min((timestamp - startTimestamp) / duration, 1);\n        if (isInt) digits = Math.floor(progress * (end - start) + start);\n        else digits = progress * (end - start) + start;\n        this.counter[id] = isInt ? digits : digits.toFixed(2);\n        if (progress < 1) window.requestAnimationFrame(step);\n      };\n      window.requestAnimationFrame(step);\n    },\n    impersonate: (user) => {\n      this.api.impersonate(user.userId).then(() => {}).catch(error => { this.api.dialogError(error); });\n    }\n  };\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.resource.search.init();\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Segnalatori {\n  isLoading = false;\n  contextUser = null; // contains data of user on which we are operating\n  uploadSessionUuid = null;\n  staticTooltipMavDocuments = {\n    subtitle: 'Documenti per approvazione bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.initTableInterface().then(() => {\n      if (!this.params.id) {\n        this.initSearchInterface();\n      } else {\n        this.search();\n      }\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'anagrafiche-utenti-documenti-table',\n      client: this.api,\n      endpoint: null//`users/${this.params.id}/uploadable-certifiable-document-types`\n    });\n    return this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'anagrafiche-utenti-documenti-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali documenti visualizzare?',\n          datasource: [\n            { value: 'USER', text: 'I miei documenti' },\n            { value: 'SUBUSER', text: 'I documenti dei miei ' + mdt.parsers.contextualize(this.api.user, 'utenti') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        subuser: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: 'users/me/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        }\n      },\n      data: { context: 'SUBUSER' }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    if (!this.params.id && this.searchInterface?.data?.context === 'USER') {\n      this.contextUser = { id: 'me' };\n      this.searchInterface.data.subuser = null;\n    } else if (!this.params.id && this.searchInterface?.data?.context === 'SUBUSER') {\n      this.contextUser = { id: this.searchInterface.data.subuser || null };\n    } else {\n      this.contextUser = { id: this.params.id || null };\n    }\n    if (!this.contextUser?.id) return;\n\n    this.isLoading = true;\n    this.tableInterface.endpoint = `users/${this.contextUser.id}/uploadable-certifiable-document-types`;\n    this.fetchUserData().then(() => {\n      (this.params.id ? this.tableInterface.load() : this.searchInterface.search()).then(() => {\n        this.alterData(this.tableInterface.data).then(data => {\n          this.tableInterface.data = data;\n        });\n      }).catch(error => {\n        console.error(error);\n      }).finally(() => {\n        this.isLoading = false;\n      });\n    });\n  }\n\n  fetchUserData() {\n    return new Promise((resolve, reject) => {\n      console.log('context', this.searchInterface?.data?.context);\n      if (this.params.id) {\n        resolve(); // this.contextUser.profile not needed if this.params.id\n      } else if (this.searchInterface?.data?.context === 'USER') {\n        resolve(this.contextUser.profile = this.api.user.profile);\n      } else if (this.searchInterface?.data?.context === 'SUBUSER') {\n        this.api.get(`users/me/users?include=user-profiles&id-in=${this.contextUser.id}`).then(xhr => {\n          resolve(this.contextUser.profile = xhr.response[0]?.profile[0]);\n        }).catch(error => {\n          reject(error);\n        });\n      }\n    });\n  }\n\n  alterData(data) {\n    return new Promise((resolve, reject) => {\n      data.forEach(documentType => {\n        documentType.documentsBucket = [];\n        documentType.notRefusedDocumentsCount = 0;\n        if (documentType.code === 'SUBUSER-MANDATE' && this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') {\n          documentType.label = 'Verbale di nomina amministratore';\n        }\n      });\n      // Certifiable-document-buckets\n      this.api.get(`users/${this.contextUser.id}/certifiable-document-buckets/current`).then(xhr => {\n        let currentCertifiableDocumentBuckets = xhr.response;\n        this.uploadSessionUuid = currentCertifiableDocumentBuckets.uploadSessionUuid;\n        if (currentCertifiableDocumentBuckets.documents && currentCertifiableDocumentBuckets.documents.length) {\n          currentCertifiableDocumentBuckets.documents.forEach(document => {\n            // Approval/rejection date parse \n            if (document.approvedAt) document.approvedAt = this.aurelia.resources.valueConverters.dateFormat.toView(document.approvedAt);\n            if (document.refusedAt) document.refusedAt = this.aurelia.resources.valueConverters.dateFormat.toView(document.refusedAt);\n\n            if (data.find(documentType => documentType.code === document.code)) {\n              // Counting of non-REFUSED documents\n              if (!document.refusedAt) data.find(documentType => documentType.code === document.code).notRefusedDocumentsCount++;\n              data.find(documentType => documentType.code === document.code).documentsBucket.push(document);\n            }\n          });\n        }\n        resolve(data);\n      }).catch(error => {\n        this.api.dialogError(error);\n        reject(error);\n      });\n    });\n  }\n\n  upload(type, document) {\n    this.dialog.open({\n      title: `${document ? 'Sostituisci' : 'Aggiungi'} documento`,\n      class: 'small utenti-dialog-documenti-upload',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-document-upload'),\n      viewModelParams: { userId: this.contextUser.id, uploadSessionUuid: this.uploadSessionUuid, type, document }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.toast.show(`Documento ${document ? 'sostituito' : 'caricato'} con successo!`, 'success');\n      }\n    });\n  }\n\n  approval(type, document) {\n    if (document && document.uploadedAt) {\n      this.dialog.open({\n        title: `Stato documento`,\n        class: 'small documenti-approval',\n        viewModel: PLATFORM.moduleName('views/backoffice/documenti/dialogs/documenti-approval'),\n        viewModelParams: { userId: this.contextUser.id, type, document }\n      }, true).whenClosed(response => {\n        let certification = response.output === 'APPROVED' ? 'approvato' : 'rifiutato';\n        if (!response.wasCancelled) {\n          this.search();\n          this.toast.show(`Documento ${certification} con successo!`, 'success');\n        }\n      });\n    }\n  }\n\n  delete(type, document) {\n    if (document.uuid) {\n      this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `<strong>${type.label}.</strong><br>Confermi di voler cancellare questo documento?` }).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${this.contextUser.id}/certifiable-document-buckets/current/certifiable-documents/${document.uuid}`).then(() => {\n            this.toast.show(`Documento eliminato con successo!`, 'success');\n            this.search();\n          }).catch(error => {\n            console.log('ERROR certifiable-documents - DELETE', error);\n            this.api.dialogError(error);\n          })\n        }\n      });\n    }\n  }\n\n  download(file) {\n    if (!file.downloadUri) return;\n\n    // Uri build\n    let uri = file.downloadUri;\n    uri = uri.replace(ENVIRONMENT.APP_API_BASE_URL, '');\n    uri = uri.replace('/api/v0.0.1/', '');\n\n    this.api.get(uri).then(xhr => {\n      let anchor = document.createElement('a');\n      anchor.download = `${xhr.response.filename}`;\n      anchor.href = xhr.response.fileData;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }, xhr => {\n      let error = JSON.parse(xhr.response);\n      this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server' + (error.detail ? `: ${error.detail}` : '') });\n    })\n  }\n\n  downloadStaticResource(record) {\n    const filename = record.templateFileName;\n    const anchor = document.createElement('a');\n    anchor.download = `${record.templateFileName}`;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n\n  toggleType(type) {\n    let typeRow = document.getElementById(type.code);\n    typeRow.classList.toggle('open');\n    let documentRows = document.querySelectorAll(`tr[data-type=\"${type.code}\"]`);\n    documentRows.forEach(row => {\n      setTimeout(() => {\n        if (typeRow.classList.contains('open') && !row.classList.contains('visible')) row.classList.add('visible');\n        else if (!typeRow.classList.contains('open') && row.classList.contains('visible')) row.classList.remove('visible');\n      }, 200);\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewUtenti {\n  mdt = mdt;\n  migratePending;\n\n  constructor(router, api, dialog, toast) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isAdvancedUser = this.api.hasRole('LIST_ANY_USER');\n    this.isMasterUser = this.api.user.group.includes('MASTER_USER');\n    this.isImpersonateUser = this.api.hasRole('IMPERSONATE_ANY_USER');\n    this.endpoint = this.isAdvancedUser ? 'bo/users' : 'users/me/users';\n  }\n\n  attached() {\n    /* Table interface */\n    this.usersTableInterface = new TableInterface({\n      name: 'users-table',\n      client: this.api,\n      endpoint: this.isAdvancedUser ? 'bo/users' : 'users/me/users',\n      query: this.isAdvancedUser ? 'include=user-profiles,user-sponsors' : 'include=user-profiles'\n    });\n    this.usersTableInterface.initialize();\n\n    /* Table Search */\n    this.usersSearchInterface = new SearchInterface({\n      name: 'users-table-search',\n      table: this.usersTableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          query: 'text-search',\n          label: 'Ricerca libera',\n          placeholder: 'Inserire almeno 3 caratteri'\n        },\n        group: { \n          control: 'combo',\n          label: 'Tipo accesso',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'user-group-in'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code'} },\n          query: 'country-code-in'\n        },\n        admLvl1: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-1-uuid-in'\n        },\n        admLvl2: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-2-uuid-in'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid'} },\n          query: 'adm-level-3-uuid-in'\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text',\n          query: 'zip-code-in'\n        },\n        businessType: {\n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'business-type-in'\n        },\n        priceList: {\n          label: 'Listino', \n          control: 'combo',  \n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'price-list-code-in'\n        },\n        client: {\n          label: 'Gestionale', \n          control: 'combo',  \n          datatext: 'name',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          query: 'client-uuid-in'\n        },\n        registeredAtStart: {\n          label: 'Dal', \n          control: 'date',  \n          query: 'registered-at-gte'\n        },\n        registeredAtEnd: {\n          label: 'al', \n          control: 'date',  \n          query: 'registered-at-lte'\n        },\n        parent: {\n          label: 'Utente padre', \n          control: 'combo',  \n          datatext: 'profile[0].displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n          query: 'parent-uuid-in'\n        },\n        reseller: {\n          label: 'Segnalatore', \n          control: 'combo',  \n          datatext: 'profile[0].displayName',\n          datavalue: 'uuid', \n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `bo/users?include=user-profiles&business-type-in=SYSTEM-BUSINESS-SCOUT`, query: { search: 'text-search', item: 'uuid-in'} },\n          query: 'reseller-uuid-in'\n        },\n        status: {\n          label: 'Stato', \n          control: 'combo',  \n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'ACTIVE', text: 'Attivo'}, { value: 'NOT-ACTIVE', text: 'Non attivo'}, { value: 'ARCHIVED', text: 'Archiviato'}],\n          query: 'status'\n        },\n        sepaDirectDebit: {\n          label: 'SDD',\n          control: 'combo',\n          datatext: 'text',\n          datavalue: 'value', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [{ value: 'null', text: 'Tutti'}, { value: 'TRUE', text: 'Attivo'}, { value: 'FALSE', text: 'Non attivo'}],\n          query: 'sepa-direct-debit'\n        }\n      },\n      data: {\n        countryCode: 'IT',\n        registeredAtStart: null,\n        registeredAtEnd: null,\n        status: 'ACTIVE',\n        sepaDirectDebit: 'null'\n      }\n    });\n    \n    let promises = this.isAdvancedUser ? [\n      this.api.get('user-business-types').then(xhr => {\n        this.usersSearchInterface.schema.businessType.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - user-business-types - GET', error);\n        this.usersSearchInterface.schema.businessType.datasource = [];\n      }),\n      this.api.get('user-groups').then(xhr => {\n        this.usersSearchInterface.schema.group.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - user-groups - GET', error);\n        this.usersSearchInterface.schema.group.datasource = [];\n      }),\n      this.api.get('users/me/clients').then(xhr => {\n        this.usersSearchInterface.schema.client.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - /me/clients - GET', error);\n        this.usersSearchInterface.schema.client.datasource = [];\n      }),\n      this.api.get('bo/price-lists').then(xhr => {\n        this.usersSearchInterface.schema.priceList.datasource = xhr.response;\n      }).catch(error => {\n        console.log('ERROR - /me/clients - GET', error);\n        this.usersSearchInterface.schema.priceList.datasource = [];\n      }),\n    ] : [ true /* ficca qui dentro eventuali altre promises */ ];\n    \n    Promise.all(promises).finally(() => {\n      this.usersSearchInterface.initialize();\n      setTimeout(() => {\n        if(!this.isAdvancedUser) this.ricerca();\n      }, 500);\n    });\n  }\n\n  importa() {\n    this.api.get(`users/me/billing-profiles/parent`).then(() => {\n      this.router.navigate(`anagrafiche/utenti/importazione`);\n    }).catch(error => {\n      this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: '<strong>Non è possibile procedere con l\\'importazione '+mdt.parsers.contextualize(this.api.user, 'utenti')+'.</strong><br>È necessario prima creare un profilo di fatturazione sull\\'account principale. Confermi di voler procedere?'}).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.router.navigate(`anagrafiche/utenti/${this.api.user.id}/fatturazione`);\n        }\n      });\n    });\n  }\n\n  // Activate & Deactivate\n  attivazione(record) {\n    if (this._attivazionePending) return;\n    this._attivazionePending = true;\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let endpoint = this.api.hasRole('MODIFY_ANY_USER_STATUS') ? `bo/users/${record.uuid}` : `users/me/users/${record.uuid}`;\n    new Promise((resolve, reject) => {\n      if (record.statusCode === 'ACTIVE') {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: `Confermi di voler <strong>disattivare</strong> l'utente selezionato?<br>Verrà disattivato il rinnovo per tutti i servizi sottoscritti dal condominio.`\n        }).whenClosed(response => {\n          if (!response.wasCancelled) resolve();\n          else reject();\n        });\n      } else resolve();\n    }).then(() => {\n      this.api.patch(endpoint, { statusCode: record.statusCode === 'ACTIVE' ? 'NOT-ACTIVE' : 'ACTIVE' }).then(() => {\n        this.usersTableInterface.load().catch(error => { console.log('users-table-interface-load', error); });\n        this.toast.show(`Stato utente modificato con successo!`, 'success');\n      }).catch(error => { \n        if (error) { console.log('error', error); this.api.dialogError(error); } \n      });\n    }).catch(error => { \n      if (error) { console.log('error', error); this.api.dialogError(error); } \n    }).finally(() =>{\n      this._attivazionePending = false;\n      this.toast.consume();\n    });\n  }\n\n  // Archiving\n  archiviazione(id) {\n    return this.dialog.open({\n      title: 'Archiviazione utenti',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/utenti-dialog-archivia-nuovo'),\n      viewModelParams: { id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.ricerca();\n      }\n    });\n  }\n\n  modifica(record) {\n    this.router.navigateToRoute('anagrafiche/utenti', { id: record.id, view: 'anagrafica' });\n  }\n\n  nuovo() {\n    this.router.navigateToRoute('anagrafiche/utenti', { id: 'new', view: 'anagrafica' });\n  }\n\n  impersonifica(record) {\n    this.api.impersonate(record.id).then(() => {}).catch(error => { this.api.dialogError(error); });\n  }\n\n  abbonamenti(record) {\n    this.router.navigateToRoute('servizi/abbonamenti', { id: record.id });\n  }\n\n  ricerca() {\n    this.usersSearchInterface.search();\n  }\n\n  reset() {\n    for (let [k,v] of Object.entries(this.usersSearchInterface.data)) this.usersSearchInterface.data[k] = null;\n    this.ricerca();\n  }\n\n  initGeo(type, init = false) {\n    console.log(`initGeo ${type} ${init?'initialization':''}`);\n    if (type === 'countryCode') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/1/divisions`;\n      this.usersSearchInterface.controls.admLvl1.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl1 = null;\n    } else if (type === 'admLvl1') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/2/divisions?parent-uuid=${this.usersSearchInterface.data.admLvl1}`;\n      this.usersSearchInterface.controls.admLvl2.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl2 = null;\n    } else if (type === 'admLvl2') {\n      let url = `geo/countries/${this.usersSearchInterface.data.countryCode}/levels/3/divisions?parent-uuid=${this.usersSearchInterface.data.admLvl2}`;\n      this.usersSearchInterface.controls.admLvl3.control.schema.datasource.table = url;\n      if (this.usersSearchInterface.controls[type].control._initialized) this.usersSearchInterface.data.admLvl3 = null;\n    }\n    this.usersSearchInterface.controls[type].control._initialized = true;\n  }\n\n  csvDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n\n    let query = null;\n    if (this.usersSearchInterface?.table?._query) query = `?${decodeURIComponent(decodeURIComponent(this.usersSearchInterface.table._query))}`;\n    let path = this.isAdvancedUser ? 'bo/users/export-users.csv' : 'users/export-users/mine.csv';\n    let uri = `${path}${query}`;\n\n    this.api.client.createRequest(uri)\n    .asGet()\n    .withHeader('Accept', 'application/csv')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.csv$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'text/csv' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }).catch(xhr => {\n      console.log('ERROR - export-users GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n\n  migrate(record) {\n    this.migratePending = true;\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'migrate-subuser small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/migrate-subuser'),\n      viewModelParams: {uuid: record.uuid}\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.ricerca();\n      this.migratePending = false;\n    });\n  }\n\n  findMigrationProfile(uuid) {\n    this.api.get(`bo/users?uuid-in=${uuid}`).then((xhr) => {\n      let profileId = xhr.response[0].id;\n      this.router.navigateToRoute('anagrafiche/utenti', {id: profileId, view: 'anagrafica'});\n    }).catch((error) => {\n      console.error('ERROR - bo/users?uuid-in GET', error);\n    });\n  }\n}\nexport class SponsorsFormatValueConverter {\n  toView(value) {\n    if (!value || !value.length) return;\n    let sponsors = [];\n    value.forEach(sponsor => {\n      let sponsorInitials = '['+sponsor.sponsorDisplayName.match(/(^\\w{2})/g)[0].toUpperCase()+']';\n      sponsors.push(`<span title=\"${sponsor.sponsorDisplayName}\">${sponsorInitials}</span>`);\n    });\n    return `Sponsors: ${sponsors.join('')}`;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MavRequest } from '../../../../classes/mavRequest';\n\n@inject(Api, KaDialog, KaToast)\nexport class FatturazioneEditor {\n  mdt = mdt;\n  legalForms;\n  mavRequests;\n  taxPercentage;\n  legalFormTypes;\n  bankAccountInfo;\n  legalFormSelected;\n  billingProfileUuid;\n  billingProfileIban;\n  pendingInit = true;\n  hasProfileOwnership;\n  changeLegalFormPending;\n  checkSDDPassed = false;\n  pendingPopulateMissingData;\n  anagrafica = { data: {} };\n  staticTooltipMavDocuments = {\n    subtitle: 'Documenti per approvazione bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-Approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  resource = {\n    schema: {\n      label: {\n        control: 'text',\n        label: 'Etichetta'\n      },\n      legalFormCode: {\n        label: 'Forma giuridica',\n        control: 'combo',\n        datatext: 'label',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: false,\n        datasource: [],\n        required: true\n      },\n      name: {\n        control: 'text',\n        label: 'Denominazione'\n      },\n      firstName: {\n        control: 'text',\n        label: 'Nome'\n      },\n      lastName: {\n        control: 'text',\n        label: 'Cognome'\n      },\n      fiscalCode: {\n        control: 'text',\n        label: 'Codice fiscale',\n      },\n      vatCode: {\n        control: 'text',\n        label: 'Partita IVA',\n      },\n      officeCode: {\n        control: 'text',\n        label: 'Codice Univoco Ufficio'\n      },\n      ipaCode: {\n        control: 'text',\n        label: 'Codice iPA'\n      },\n      contact: {\n        emailAddress: {\n          control: 'text',\n          label: 'Email'\n        },\n        phoneNumber: {\n          control: 'text',\n          label: 'Cellulare'\n        },\n        faxNumber: {\n          control: 'text',\n          label: 'Fax'\n        }\n      },\n      location: {\n        streetAddress: {\n          control: 'text',\n          label: 'Indirizzo',\n          required: true\n        },\n        locality: {\n          control: 'text',\n          label: 'Località'\n        },\n        countryCode: {\n          label: 'Nazione',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' } },\n          required: true\n        },\n        admLvl1Uuid: {\n          label: 'Regione',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        admLvl2Uuid: {\n          label: 'Provincia',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        admLvl3Uuid: {\n          label: 'Comune',\n          control: 'combo',\n          datatext: 'endonym',\n          datavalue: 'uuid',\n          datamultiple: false,\n          datapreload: false,\n          datasource: { table: null, query: { search: 'text-search', item: 'uuid' } },\n          required: true\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text',\n          required: true\n        }\n      },\n      payments: {\n        splitPaymentsEnabled: {\n          label: 'Pagamenti separati',\n          control: 'check',\n          description: 'Abilita pagamenti separati',\n        },\n        banking: {\n          lastFourIbanDigits: {\n            label: 'Codice verifica',\n            control: 'text',\n            min: 0,\n            max: 4\n          },\n          iban: {\n            label: 'IBAN',\n            control: 'text'\n          },\n          sepaDirectDebitEnabled: {\n            label: 'Domiciliazione bancaria (SDD)',\n            description: 'Abilita domiciliazione bancaria',\n            control: 'check'\n          }\n        }\n      }\n    },\n    data: {}\n  };\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.mavRequest = new MavRequest(this.isOperator);\n  }\n\n  activate(params) {\n    this.userId = params.userId; // is always required\n    this.billingProfileUuid = params.profileUuid;\n    this.callback = params.callback || ((completed) => { });\n    this.init();\n  }\n\n  async init() {\n    return this.getBankAccountInfo().then(() => {\n      return this.getUser().then(() => {\n        return this.setCompanyLegalFormCodeDatasource().finally(() => {\n          return this.load().then(() => {\n            if (this.billingProfileUuid) {\n              return this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n            }\n          });\n        });\n      });\n    });\n  }\n\n  async getBankAccountInfo() {\n    return new Promise((resolve, reject) => {\n      if (this.billingProfileUuid) {\n        return this.api.get(`users/${this.userId}/billing-profiles/${this.billingProfileUuid}/bank-accounts/current`).then((xhr) => {\n          let response = xhr.response;\n          return resolve(this.bankAccountInfo = response);\n        }).catch((error) => {\n          // Replies 404 if there is no iban and 409 if the iban is invalid\n          console.error('bank-accounts/current', error);\n          return resolve(error);\n        });\n      } else resolve();\n    });\n  }\n\n  async getUser() {\n    return this.api.get(`users/${this.userId}?include=user-profiles`).then((xhr) => {\n      let response = xhr.response;\n      // User profile\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n\n      // If there is no companyName\n      if (!response.profile?.holderName?.companyName && response.profile?.holderName?.lastname && response.profile?.holderName?.firstname) {\n        response.profile.holderName.companyName = `${response.profile.holderName.lastname} ${response.profile.holderName.firstname}`;\n      }\n\n      return this.anagrafica.data = response;\n    }).catch((xhr) => {\n      console.log('ERROR user-profile GET', xhr);\n      this.toast.show('Errore durante il caricamento dei dati', 'error');\n      throw xhr;\n    });\n  }\n\n  async setCompanyLegalFormCodeDatasource() {\n    let promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(`legal-forms?applicable-to-user-uuid=${this.anagrafica.data.uuid}`)\n    ];\n\n    return Promise.all(promises).then((xhrs) => {\n      let companyLegalFormCodeDatasource;\n      this.legalForms = xhrs[1]?.response || null;\n      this.legalFormTypes = xhrs[0]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n\n        this.resource.schema.legalFormCode = Object.assign({}, this.resource.schema.legalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    }).catch(error => {\n      console.error(`GET - setCompanyLegalFormCodeDatasource`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n      throw xhr;\n    });\n  }\n\n  async load() {\n    let promises = [];\n    if (this.billingProfileUuid) {\n      promises.push(this.api.get(`users/${this.userId}/billing-profiles/${this.billingProfileUuid}`).then((xhr) => {\n        this.hasProfileOwnership = xhr.originalResponse.meta.isVisitor === 'NO' ? true : false;\n        this.resource.data = xhr.response;\n        if (this.anagrafica.data?.profile?.companyLegalFormCode && !this.resource.data.legalFormCode) {\n          this.resource.data.legalFormCode = this.anagrafica.data.profile.companyLegalFormCode;\n        }\n        if (this.resource.data.payments?.banking?.iban) {\n          this.resource.data.payments.banking.iban = this.billingProfileIban = this.resource.data.payments.banking.iban.replace(/[^\\d\\w]*/gi, '');\n        }\n      }).catch((error) => {\n        console.log(`ERROR /billing-profiles - GET`, error);\n        this.callback();\n      }));\n    } else {\n      promises.push(this.api.get(`users/${this.userId}/billing-profiles`).then((xhr) => {\n        this.autoPopulate = !xhr.response.length;\n        if (this.autoPopulate) this.populate();\n        else this.resource.data = {\n          payments: { banking: {} },\n          legalFormCode: this.anagrafica.data.profile.companyLegalFormCode || null\n        }\n      }));\n    }\n    return Promise.all(promises).catch(xhr => {\n      console.log(`ERROR /billing-profiles - GET`, xhr);\n      this.toast.show('Errore durante il caricamento dei dati', xhr);\n      throw xhr;\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  mavAuthorizationRequests(userId, billingProfileUuid) {\n    if (!this.api.hasRole('LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return;\n\n    this.mavRequests = [];\n    if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      if (!this.hasProfileOwnership) {\n        this.getMavAuthorizationRequest('privileged-user', userId, billingProfileUuid);\n      } else {\n        this.getMavAuthorizationRequest('trustee', userId, billingProfileUuid);\n      }\n    } else {\n      this.getMavAuthorizationRequest('trustee', userId, billingProfileUuid);\n    }\n  }\n\n  getMavAuthorizationRequest(context, userId, billingProfileUuid) {\n    if (context === 'trustee') {\n      return this.api.get(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations/mine`).then(xhr => {\n        this.mavRequests.push(xhr.response);\n      }).catch(error => {\n        // If it is \"Not found\" it means that there are no requests in progress.\n        console.log(`${error.statusCode === 404 ? 'ERROR 404 not-found' : 'ERROR'} mav-order-self-printing-authorizations/mine - GET`, error);\n        if (error.statusCode === 404) this.mavRequests = [];\n        else this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = false;\n      });\n    }\n    if (context === 'privileged-user') {\n      return this.api.get(`bo/users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`).then(xhr => {\n        this.mavRequests = xhr.response;\n      }).catch(error => {\n        console.log(`ERROR bo/ mav-order-self-printing-authorizations - GET`, error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        this.isInitializing = false;\n      });\n    }\n  }\n\n  mavCreateAuthorizationRequest($event, userId, billingProfileUuid) {\n    $event.model.busy = true;\n    if (this.resource.data.payments?.banking?.iban && this.billingProfileIban !== this.resource.data.payments.banking.iban) {\n      let data = { payments: { banking: { iban: this.resource.data.payments.banking.iban } } }\n      this.api.patch(`users/${userId}/billing-profiles/${billingProfileUuid}`, data).then(() => {\n        this.isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid);\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.api.dialogError(error);\n      });\n    } else {\n      this.isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid);\n    }\n  }\n\n  isBuildingAdminCreatingMavRequest($event, userId, billingProfileUuid) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`\n      }).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest($event, userId, billingProfileUuid);\n        else $event.model.busy = false;\n      });\n    } else {\n      this.sendMavAuthorizationRequest($event, userId, billingProfileUuid);\n    }\n  }\n\n  sendMavAuthorizationRequest($event, userId, billingProfileUuid) {\n    return this.api.post(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n        this.mavAuthorizationRequests(userId, billingProfileUuid);\n        this.toast.show('Richiesta MAV creata con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      });\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n      this.callback({ ownerLegacyId: this.userId, uuid: this.billingProfileUuid });\n    });\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletable(status) {\n    return (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && ['PENDING-DOCUMENT-DOWNLOAD', 'PENDING-APPROVAL', 'PENDING-DOCUMENT-INTERNAL-APPROVAL'].includes(status)) || (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && status === 'ACTIVE');\n  }\n  dialogDeleteMAVRequest($event, request) {\n    return this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>`\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n          this.operatorDeleteMAVRequest($event, request.uuid);\n        }\n        else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n          this.userDeleteMAVRequest($event, request);\n        }\n      }\n    });\n  }\n  operatorDeleteMAVRequest($event, requestUuid) {\n    $event.model.busy = true;\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${requestUuid}`).then(() => {\n      this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n      this.toast.show('Richiesta di autorizzazione MAV dismessa!', 'success');\n      this.resource.data = null;\n      this.callback();\n    }).catch((error) => {\n      console.error('bo/users/mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n  userDeleteMAVRequest($event, request) {\n    $event.model.busy = true;\n    return this.api.delete(`users/${this.userId}/mav-order-self-printing-authorizations/${request.uuid}`).then(() => {\n      this.mavAuthorizationRequests(this.userId, this.billingProfileUuid);\n      this.toast.show('Richiesta di autorizzazione MAV dismessa!', 'success');\n      this.resource.data = null;\n      this.callback();\n    }).catch((error) => {\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    if (this.resource.data?.location) {\n      for (const key in this.resource.data.location) {\n        if (key.match(/admLvl(\\d)$/)) delete this.resource.data.location[key];\n      }\n    }\n    if (this.resource.data.payments?.banking?.iban) {\n      this.resource.data.payments.banking.iban = this.resource.data.payments.banking.iban.replace(/[^\\d\\w]*/gi, '');\n    }\n    if (this.resource.data.uuid) {\n      this.isVisibleForTheSelectedLegalForm('vatCode');\n      this.isVisibleForTheSelectedLegalForm('fiscalCode');\n      this.resource.resource.save(this.resource.data, `users/${this.userId}/billing-profiles/${this.resource.data.uuid}`, 'put').then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      }).catch(error => {\n        console.log('ERROR - billing-profiles - PUT', error);\n        this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n      }).finally(() => { $event.model.busy = false; });\n    } else {\n      this.resource.resource.save(this.resource.data, `users/${this.userId}/billing-profiles`, 'post').then(x => {\n        this.toast.show('Profilo creato con successo!', 'success');\n        this.resource.data = null;\n        this.callback();\n      }).catch(error => {\n        console.log('ERROR - billing-profiles - POST', error);\n        this.toast.show('Errore nella creazione del profilo!', 'error');\n      }).finally(() => { $event.model.busy = false; });\n    }\n  }\n\n  cancel() {\n    this.callback();\n  }\n\n  checkSDD() {\n    konsole.log('checkSDD', this.resource.data.payments.banking.sepaDirectDebitEnabled, this.api.user.roles?.filter(x => x.id === 'DISABLE_SDD_ON_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS'));\n    this.checkSDDPassed = !this.resource.data.payments.banking.sepaDirectDebitEnabled && this.api.user.roles?.filter(x => x.id === 'DISABLE_SDD_ON_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS').length === 1;\n    konsole.log('checkSDDPassed', this.checkSDDPassed);\n  }\n\n  changeLegalForm() {\n    this.changeLegalFormPending = true;\n    setTimeout(() => {\n      let legalFormCodeFound = this.resource.schema.legalFormCode.datasource.find(x => x.code === this.resource.data.legalFormCode);\n      this.taxPercentage = legalFormCodeFound ? legalFormCodeFound.taxPercentage : null;\n      this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.legalFormCode) || null;\n      this.resource.data.legalFormType = this.legalFormSelected?.type || null;\n\n      this.setFieldSchemaRequired(['name'], 'companyNameNeeded');\n      this.resetUnrequiredFieldData(['name'], 'companyNameNeeded');\n      this.setFieldSchemaRequired(['vatCode'], 'vatCodeNeeded');\n      this.resetUnrequiredFieldData(['vatCode'], 'vatCodeNeeded');\n      this.setFieldSchemaRequired(['fiscalCode'], 'fiscalCodeNeeded');\n      this.resetUnrequiredFieldData(['fiscalCode'], 'fiscalCodeNeeded');\n      this.setFieldSchemaRequired(['firstName', 'lastName'], 'personNameNeeded');\n      this.resetUnrequiredFieldData(['firstName', 'lastName'], 'personNameNeeded');\n\n      // Advice when creating a profile\n      if (this.resource.data.legalFormType === 'BUILDING' && this.anagrafica.data?.profile?.businessType !== 'BUILDING') {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: `Si sconsiglia di inserire profili di fatturazione di condomini su utenti che non sono di tipo condominio, si intende procedere lo stesso?`\n        });\n      }\n      this.changeLegalFormPending = false;\n    }, 0);\n  }\n\n  isVisibleForTheSelectedLegalForm(necessityStatement) {\n    return ['OPTIONAL', 'REQUIRED', 'YES'].includes(this.legalFormSelected?.[`${necessityStatement}`]);\n  }\n\n  setFieldSchemaRequired(schemaProperties, necessityStatement) {\n    schemaProperties.forEach((property) => {\n      if (this.resource.schema[property] && this.legalFormSelected?.[`${necessityStatement}`]) {\n        this.resource.schema[property].required = ['REQUIRED', 'YES'].includes(this.legalFormSelected[`${necessityStatement}`]);\n      }\n    });\n  }\n\n  resetUnrequiredFieldData(schemaProperties, necessityStatement) {\n    schemaProperties.forEach((property) => {\n      if (!this.isVisibleForTheSelectedLegalForm(necessityStatement)) {\n        delete this.resource.data[property];\n      }\n    });\n  }\n\n  setGeo(field, init = false) {\n    let childField, childControl, childSchema, childData, countryCode, admLvls, lvl;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    }\n\n    childControl = this.resource.resource.controls[`location.${childField}`];\n    childSchema = this.resource.schema.location[childField];\n    childData = this.resource?.data?.location;\n    countryCode = childData ? childData['countryCode'] : null;\n    admLvls = this.resource.resource.controls['location.countryCode'].objectValue?.administrativeLevels;\n\n    if (countryCode) {\n      let url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${childData[field]}` : '');\n      if (admLvls && admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = true;\n      } else if (admLvls && !admLvls.find(x => x.level === lvl)) {\n        childSchema.enabled = false;\n      }\n      if (init) {\n        childSchema.datasource.table = url;\n      } else if (childControl) {\n        childControl.datasource.table = url;\n        childData[childField] = null;\n      } else {\n        childSchema.datasource.table = url;\n        childData[childField] = null;\n      }\n    } else if (!init) {\n      childData[childField] = null;\n    }\n  }\n\n  populate() {\n    const profile = this.anagrafica?.data?.profile;\n    if (profile) {\n      const holderName = profile?.holderName;\n      const location = profile?.location;\n\n      if (!this.billingProfileUuid) {\n        this.resource.data = {\n          ...this.resource.data,\n          ...((this.isVisibleForTheSelectedLegalForm('vatCodeNeeded') && profile?.vatCode) && { vatCode: profile.vatCode }),\n          ...((this.isVisibleForTheSelectedLegalForm('personNameNeeded') && holderName.lastname) && { lastName: holderName.lastname }),\n          ...((this.isVisibleForTheSelectedLegalForm('fiscalCodeNeeded') && profile?.fiscalCode) && { fiscalCode: profile.fiscalCode }),\n          ...((this.isVisibleForTheSelectedLegalForm('companyNameNeeded') && holderName.companyName) && { name: holderName.companyName }),\n          ...((this.isVisibleForTheSelectedLegalForm('personNameNeeded') && holderName.firstname) && { firstName: holderName.firstname }),\n          contact: {\n            ...(profile?.email && { emailAddress: profile.email }),\n            ...(profile?.faxNumber && { faxNumber: profile.faxNumber }),\n            ...(profile?.mobilePhoneNumber && { phoneNumber: profile.mobilePhoneNumber })\n          },\n          location: {\n            ...(location?.zipCode && { zipCode: location.zipCode }),\n            ...(location?.locality && { locality: location.locality }),\n            ...(location?.countryCode && { countryCode: location.countryCode }),\n            ...(location?.admLvl1Uuid && { admLvl1Uuid: location.admLvl1Uuid }),\n            ...(location?.admLvl2Uuid && { admLvl2Uuid: location.admLvl2Uuid }),\n            ...(location?.admLvl3Uuid && { admLvl3Uuid: location.admLvl3Uuid }),\n            ...(location?.streetAddress && { streetAddress: location.streetAddress })\n          }\n        };\n        return this.toast.show('Dati recuperati con successo!', 'success');\n      } else {\n        this.toast.show('Caricamento in corso', 'loading', true);\n        return this.populateMissingData(profile);\n      }\n    } else {\n      if (!profile) return this.toast.show('Errore. Impossibile recuperare i dati!', 'error');\n    }\n  }\n\n  flattenResource(property) {\n    property = structuredClone(property);\n    if (property?.contact) {\n      Object.assign(property, property.contact);\n      delete property.contact;\n    }\n    if (property?.location) {\n      Object.assign(property, property.location);\n      delete property.location;\n    }\n    delete property.label;\n    delete property.ipaCode;\n    delete property.payments;\n    delete property.officeCode;\n    return property;\n  }\n\n  populateMissingData(profile, data = structuredClone(this.resource.data)) {\n    let admLvl1Uuid;\n    let admLvl2Uuid;\n    let admLvl3Uuid;\n    let promises = [];\n    this.pendingPopulateMissingData = true;\n    const contact = ['emailAddress', 'phoneNumber', 'faxNumber'];\n    const schema = Object.keys(this.flattenResource(this.resource.schema));\n    const location = ['streetAddress', 'locality', 'zipCode', 'countryCode', 'admLvl1Uuid', 'admLvl2Uuid', 'admLvl3Uuid'];\n    schema.forEach((key) => {\n      if (location.includes(key)) {\n        if ([null, undefined].includes(data?.location?.[key])) {\n          switch (key) {\n            case 'zipCode':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.zipCode && { [key]: profile.location?.zipCode })\n              }\n              break;\n            case 'locality':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.locality && { [key]: profile.location.locality })\n              }\n              break;\n            case 'countryCode':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.countryCode && { [key]: profile.location?.countryCode })\n              }\n              break;\n            case 'admLvl1Uuid':\n              if (profile.location.admLvl1Uuid) admLvl1Uuid = profile.location?.admLvl1Uuid;\n              break;\n            case 'admLvl2Uuid':\n              if (profile.location.admLvl2Uuid) admLvl2Uuid = profile.location?.admLvl2Uuid;\n              break;\n            case 'admLvl3Uuid':\n              if (profile.location?.admLvl3Uuid) admLvl3Uuid = profile.location.admLvl3Uuid;\n              break;\n            case 'streetAddress':\n              data.location = {\n                ...data.location,\n                ...(profile.location?.streetAddress && { [key]: profile.location.streetAddress })\n              }\n              break;\n          }\n        }\n      } else if (contact.includes(key)) {\n        if ([null, undefined].includes(data?.contact?.[key])) {\n          switch (key) {\n            case 'faxNumber':\n              data.contact = {\n                ...data.contact,\n                ...(profile.faxNumber && { [key]: profile.faxNumber })\n              }\n              break;\n            case 'emailAddress':\n              data.contact = {\n                ...data.contact,\n                ...(profile.email && { [key]: profile.email })\n              }\n              break;\n            case 'phoneNumber':\n              data.contact = {\n                ...data.contact,\n                ...((profile.mobilePhoneNumber || profile.phoneNumber) && { [key]: profile.mobilePhoneNumber || profile.phoneNumber })\n              }\n              break;\n          }\n        }\n      } else {\n        if ([null, undefined].includes(data[key])) {\n          if (key === 'vatCode' && this.isVisibleForTheSelectedLegalForm('vatCodeNeeded')) {\n            if (profile.vatCode) data[key] = profile.vatCode;\n          } else if (key === 'name' && this.isVisibleForTheSelectedLegalForm('companyNameNeeded')) {\n            if (profile.holderName?.companyName) data[key] = profile.holderName.companyName;\n          } else if (key === 'fiscalCode' && this.isVisibleForTheSelectedLegalForm('fiscalCodeNeeded')) {\n            if (profile.fiscalCode) data[key] = profile.fiscalCode;\n          } else if (this.isVisibleForTheSelectedLegalForm('personNameNeeded')) {\n            switch (key) {\n              case 'firstName':\n                data = {\n                  ...data,\n                  ...(profile.holderName?.firstname && { firstName: profile.holderName.firstname })\n                }\n                break;\n              case 'lastName':\n                data = {\n                  ...data,\n                  ...(profile.holderName?.lastname && { lastName: profile.holderName.lastname })\n                }\n                break;\n            }\n          }\n        }\n      }\n    });\n    this.resource.data = data;\n    if (admLvl1Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl1Uuid = admLvl1Uuid; resolve() }, 500) })\n    );\n    if (admLvl2Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl2Uuid = admLvl2Uuid; resolve() }, 1000) })\n    );\n    if (admLvl3Uuid) promises.push(\n      new Promise((resolve) => { setTimeout(() => { this.resource.data.location.admLvl3Uuid = admLvl3Uuid; resolve() }, 1500) })\n    );\n    Promise.all(promises).finally(() => {\n      setTimeout(() => {\n        this.pendingPopulateMissingData = false;\n        this.toast.show('Dati mancanti recuperati con successo!', 'success');\n      }, 500);\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MavRequest } from '../../../../classes/mavRequest';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast, Router)\nexport class vmFatturazione {\n  mdt = mdt;\n  legalForms = [];\n  isInitializing = true;\n  isLoading = false;\n  isSetAsDefaultLoading;\n  staticTooltipMavAuthorization = {\n    subtitle: 'Autorizzazioni stampa di bollettini MAV',\n    href: 'https://docs.multidialogo.it/s/article/Caricamento-documenti-per-approvazione-Bollettini-MAV',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  };\n\n  // Selected (checked) billing profiles\n  selectedBillingProfiles = {\n    allSelected: false,\n    list: [],\n    select: (record) => {\n      if (record?.payments?.banking?.sepaDirectDebitEnabled) return;\n      let selected = [...this.selectedBillingProfiles.list];\n\n      // Referenced to tableInterface.data (record is referenced to selected)\n      let profile = this.tableInterface.data.find(x => x.uuid === record.uuid) || null;\n      let selectedProfile = selected.find(x => x.uuid === record.uuid) || null;\n\n      // Reset the IBAN field (only newIban)\n      profile.payments.banking.newIban = profile.payments.banking.oldIban || null;\n\n      // Remove error messages\n      profile.errors = null;\n\n      // Remove errors from the record control\n      if (profile?.controls['payments.banking.iban']) profile.controls['payments.banking.iban'].setError();\n\n      // If the record is selected, it removes it, otherwise it adds it\n      if (selected.length && selectedProfile) selected.splice(selected.findIndex(x => x.uuid === record.uuid), 1);\n      else selected.push(record);\n\n      return this.selectedBillingProfiles.list = [...selected];\n    },\n    selectAll: () => {\n      let records = this.tableInterface.data.filter(x => x.payments?.banking?.sepaDirectDebitEnabled === false) || null;\n      if (!records) return;\n      let selected = [...this.selectedBillingProfiles.list];\n      if (records.length > selected.length) {\n        selected = [];\n        records.forEach(record => {\n          // Referenced to tableInterface.data (record is referenced to selected)\n          let profile = this.tableInterface.data.find(x => x.uuid === record.uuid) || null;\n\n          // Reset the IBAN field (only newIban)\n          profile.payments.banking.newIban = profile.payments.banking.oldIban || null;\n\n          // Remove error messages\n          profile.errors = null;\n\n          // Remove errors from the record control\n          if (profile?.controls['payments.banking.iban']) profile.controls['payments.banking.iban'].setError();\n\n          selected.push(record);\n        });\n        this.selectedBillingProfiles.allSelected = true;\n        return this.selectedBillingProfiles.list = [...selected];\n      } else {\n        selected = [];\n        this.selectedBillingProfiles.allSelected = false;\n        return this.selectedBillingProfiles.list = [...selected];\n      }\n    },\n    activeSdd: ($event) => {\n      let promises = [];\n      let selected = [...this.selectedBillingProfiles.list];\n      if (!selected.length) return;\n\n      $event.model.busy = true;\n      selected.forEach((record, index) => {\n        // Referenced to tableInterface.data (record is referenced to selected)\n        let profile = this.tableInterface.data.find(x => x.uuid === record.uuid);\n\n        // Delete all errors\n        profile.errors = null;\n\n        let data = { payments: { banking: { sepaDirectDebitEnabled: true } } };\n        if (profile.payments?.banking?.newIban || profile.payments?.banking?.oldIban) data.payments.banking.iban = profile.payments.banking.newIban || profile.payments.banking.oldIban;\n\n        promises.push(\n          this.api.patch(`users/${record.ownerLegacyId}/billing-profiles/${record.uuid}`, data).then(() => {\n            profile.payments.banking.sepaDirectDebitEnabled = true;\n\n            // Remove record from selected list\n            this.selectedBillingProfiles.list.splice(this.selectedBillingProfiles.list.findIndex(x => x.uuid === record.uuid), 1);\n            this.selectedBillingProfiles.allSelected = false;\n          }).catch(xhr => {\n            console.log('ERROR billing-profiles PATCH', xhr);\n\n            // All the errors received\n            let errorPayload = mdt.parsers.apiError(xhr, selected[index].controls, ['payments.banking.iban', 'payments.banking.sepaDirectDebitEnabled']);\n            profile.errors = errorPayload.body || null;\n          })\n        );\n      });\n      return Promise.all(promises).finally(() => { $event.model.busy = false; });\n    }\n  }\n\n  // Editor fatturazione\n  editor = {\n    view: PLATFORM.moduleName('views/anagrafiche/utenti/views/fatturazione-editor'),\n    model: null,\n    callback: (billingProfile) => {\n      this.editor.model = null;\n      if (billingProfile) {\n        setTimeout(() => { this.edit(billingProfile); }, 0);\n      } else {\n        if (this.params.id) {\n          this.load();\n        } else {\n          this.search();\n        }\n      }\n    }\n  }\n\n  // Payments (Sdi code)\n  sdiEnabled = false;\n  resource = {\n    controls: {},\n    schema: {\n      sdi: {\n        code: {\n          label: 'Codice univoco SdI',\n          control: 'text'\n        },\n        genericSubuserCode: {\n          control: 'text'\n        }\n      }\n    },\n    data: {\n      sdi: {\n        code: null,\n        genericSubuserCode: null\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, dialog, toast, router) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n\n    this.privileges = {\n      isAdmin: this.api.hasRole('LIST_USER_BILLING_PROFILE'),\n      isOperator: this.api.hasRole('LIST_ANY_USER_BILLING_PROFILE')\n    };\n\n    this.searchContext = new SearchContext();\n    this.mavRequest = new MavRequest(this.privileges.isOperator);\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  async init() {\n    if (this.params.id) {\n      await this.initLegalForms();\n      await this.initTableInterface();\n      await this.initSearchContextUser(this.params.id);\n      this.load();\n    } else {\n      await this.initLegalForms();\n      await this.initTableInterface();\n      await this.initSearchInterface();\n      this.search();\n    }\n  }\n\n  initSearchContextUser(id) {\n    if ([String(this.api.user.id), 'me'].includes(id)) return Promise.resolve(this.searchContext.user = this.api.user);\n    else return this.api.get(`${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles&id-in=${id}`).then(xhr => {\n      let response = xhr.response[0];\n      response.profile = response.profile[0];\n      this.searchContext.user = response;\n    });\n  }\n\n  initLegalForms() {\n    return this.api.get('legal-forms').then(xhr => {\n      xhr.response.forEach(legalForm => {\n        this.legalForms[legalForm.code] = legalForm.label;\n      });\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: `anagrafiche-utenti-fatturazione-table-${this.params.id}`,\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response.forEach(profile => {\n        profile.controls = { 'payments.banking.iban': null };\n        profile.payments.banking.oldIban = profile.payments.banking.newIban = profile.payments.banking.iban || null;\n      });\n      return response;\n    };\n\n    // reset selected profiles counter & checkboxes\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      this.selectedBillingProfiles.list = [];\n      this.selectedBillingProfiles.allSelected = false;\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'anagrafiche-utenti-fatturazione-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali profili di fatturazione visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: []\n        },\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?status=ACTIVE&include=user-profiles`, query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        user_active: {\n          control: 'check',\n          label: ' ',\n          description: `Includi solo ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} attivi`\n        },\n        fiscal_code: {\n          label: 'Codice fiscale/Partita Iva',\n          control: 'text',\n          query: 'fiscal-code'\n        },\n        iban: {\n          label: 'IBAN',\n          control: 'text',\n          query: 'iban'\n        },\n        sdd: {\n          label: 'Domiciliazione bancaria (SDD)',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Tutti' },\n            { value: 'YES', text: 'Attiva' },\n            { value: 'NO ', text: 'Non attiva' }\n          ],\n          datamultiple: false,\n          query: 'sdd-active'\n        },\n        mav_authorization_status: {\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          datavalue: 'status',\n          label: 'Richiesta di autorizzazione MAV',\n          query: 'mav-self-printing-authorization-status-in',\n          datasource: this.mavRequest.setDatasourceMavAuthorizationStatus([{ status: 'NONE', text: 'Nessuna richiesta' }])\n        }\n      },\n      data: {}\n    });\n\n    this.setDefaultSearchInterfaceData();\n    this.updateContextDatasource();\n    this.searchContext.searchInterface = this.searchInterface;\n    return this.searchInterface.initialize();\n  }\n\n  setDefaultSearchInterfaceData() {\n    return this.searchInterface.data = {\n      sdd: 'null',\n      user_active: true,\n      mav_authorization_status: 'null',\n      context: this.privileges.isOperator ? 'USER' : 'SUBUSERS'\n    }\n  }\n\n  load() {\n    this.updateTableInterfaceEndpoint();\n    this.tableInterface.load().then(() => {\n      this.getPaymentPreferences();\n    });\n  }\n\n  search() {\n    this.updateTableInterfaceEndpoint();\n    this.updateTableInterfaceQuery();\n    this.searchInterface.search().then(() => {\n      this.lastSearchContext = new SearchContext(this.searchContext.user, { data: structuredClone(this.searchInterface.data) });\n    });\n  }\n\n  updateTableInterfaceEndpoint() {\n    const suffix = (this.searchContext.isChildUsers && (this.privileges.isOperator || !this.searchContext.hasUser)) ? '/~subs' : '';\n    return this.tableInterface.endpoint = (this.privileges.isOperator && !this.searchContext.hasUser) ? 'bo/billing-profiles/' : `users/${this.searchContext.user?.id || 'me'}/billing-profiles${suffix}`;\n  }\n\n  updateTableInterfaceQuery() {\n    const isOperatorActiveSubusersWorthy = this.privileges.isOperator && this.searchContext.isChildUsers && this.searchInterface.data.user_active;\n    const isUserActiveSubusersWorthy = !this.privileges.isOperator && this.searchContext.isChildUsers && !this.searchContext.hasUser && this.searchInterface.data.user_active;\n    return this.tableInterface.query = (isOperatorActiveSubusersWorthy || isUserActiveSubusersWorthy) ? `owner-status-in=ACTIVE` : null;\n  }\n\n  updateContextDatasource() {\n    if (!this.privileges.isOperator) {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili del mio ${mdt.parsers.contextualize(this.api.user, 'account')}` },\n        { value: 'SUBUSERS', text: `I profili dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}` }\n      ];\n      this.searchInterface.data.context = 'SUBUSERS';\n    } else if (this.searchContext.user?.parentId) {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili ${mdt.parsers.contextualize(this.searchContext.user, 'dell\\'utente')}` },\n      ];\n      this.searchInterface.data.context = 'USER';\n    } else {\n      this.searchInterface.schema.context.datasource = [\n        { value: 'USER', text: `I profili ${mdt.parsers.contextualize(this.searchContext.user, 'dell\\'account')}` },\n        { value: 'SUBUSERS', text: `I profili dei suoi ${mdt.parsers.contextualize(this.searchContext.user, 'utenti')}` }\n      ];\n      this.searchInterface.data.context = 'SUBUSERS';\n    }\n  }\n\n  searchContextChange() {\n    if (!this.privileges.isOperator && this.searchInterface?.data?.context === 'USER') {\n      this.searchInterface.data.user = null;\n      this.searchContext.user = null;\n    }\n  }\n  async searchContextUserChange() {\n    if (this.searchInterface.data.user && this.searchInterface.controls.user.control.valueModel?.profile) {\n      this.searchContext.user = Object.assign({}, this.searchInterface.controls.user.control.valueModel, { profile: this.searchInterface.controls.user.control.valueModel.profile[0] });\n    } else if (this.searchInterface.data.user) {\n      await this.initSearchContextUser(this.searchInterface.data.user);\n    } else {\n      this.searchContext.user = null;\n\n    }\n    this.updateContextDatasource();\n  }\n  searchActiveUsersChange() {\n    return this.searchInterface.schema.user.datasource.table = `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?${this.searchInterface.data.user_active ? 'status=ACTIVE&' : ''}include=user-profiles`;\n  }\n\n  resetSearch() {\n    this.setDefaultSearchInterfaceData();\n    this.search();\n  }\n\n  get profileContextInfo() {\n    if (!this.lastSearchContext) return;\n    let label;\n    switch (true) {\n      case this.lastSearchContext.isChildUsers:\n        label = 'dell\\'utente';\n        break;\n      case this.lastSearchContext.hasUser && !this.lastSearchContext.isUserMaster:\n        label = 'dell\\'utente';\n        break;\n      default:\n        label = 'dell\\'account';\n    }\n    return this.mdt.parsers.contextualize(this.lastSearchContext?.user || this.api.user, label);\n  }\n\n  createProfile() {\n    if (this.searchContext.user.parentId) {\n      this.isLoading = true;\n      this.api.get(`users/${this.searchContext.user.id}/billing-profiles/parent`).then(() => {\n        this.isLoading = false;\n        this.editor.model = { userId: this.searchContext.user.id, callback: this.editor.callback };\n      }).catch(error => {\n        console.warn(error);\n        this.isLoading = false;\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          type: 'confirm',\n          body: '<strong>Non è possibile creare un profilo di fatturazione per questo ' + mdt.parsers.contextualize(this.api.user, 'utente') + '.</strong><br><div class=\"dialog-p mt-2\">È necessario prima creare un profilo di fatturazione sull\\'account principale. Confermi di voler procedere?</div>'\n        }).whenClosed(response => {\n          if (!response.wasCancelled) this.router.navigate(`anagrafiche/utenti/${this.searchContext.user.parentId}/fatturazione`);\n        });\n      });\n    } else {\n      this.isLoading = false;\n      this.editor.model = { userId: this.searchContext.user.id, callback: this.editor.callback };\n    }\n  }\n\n  edit(billingProfile) {\n    this.editor.model = {\n      userId: billingProfile.ownerLegacyId,\n      profileUuid: billingProfile.uuid,\n      callback: this.editor.callback\n    };\n  }\n\n  delete(billingProfile) {\n    let forceEnabled = this.tableInterface.data.length === 1 && this.api.hasRole('DELETE_LAST_BILLING_PROFILE_ASSOCIATED_TO_ACTIVE_ORDERS');\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'delete-billing-profile small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile'),\n      viewModelParams: { forceEnabled }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/${this.searchContext.user.id}/billing-profiles/${billingProfile.uuid}${response.output ? '/YES' : ''}`).then(() => {\n          this.toast.show('Profilo eliminato con successo!', 'success');\n          if (this.params.id) this.load();\n          else this.search();\n        }).catch(error => {\n          console.error(error);\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  setAsDefault(billingProfile) {\n    const userId = billingProfile.ownerLegacyId;\n    const billingProfileUuid = billingProfile.uuid;\n\n    if (this.isSetAsDefaultLoading !== true) {\n      this.isSetAsDefaultLoading = true;\n\n      return this.getBillingProfile(userId, billingProfileUuid).then(() => {\n        this.patchDefault(userId, billingProfileUuid).then(() => {\n          this.toast.show('Profilo aggiornato con successo!', 'success');\n          this.params.id ? this.load() : this.search();\n        }).catch((error) => {\n          throw new Error(error);\n        }).finally(() => {\n          this.isSetAsDefaultLoading = false;\n        });\n      }).catch((error) => {\n        console.error('setAsDefault', error);\n        this.api.dialogError(error);\n        this.isSetAsDefaultLoading = false;\n      })\n    }\n  }\n  patchDefault(userId, billingProfileUuid) {\n    const endpoint = `users/${userId}/billing-profiles/${billingProfileUuid}/default`;\n    return this.api.patch(endpoint, {});\n  }\n  getBillingProfile(userId, billingProfileUuid) {\n    const endpoint = `users/${userId}/billing-profiles/${billingProfileUuid}`;\n    return this.api.get(endpoint);\n  }\n\n  getPaymentPreferences() {\n    return new Promise((resolve, reject) => {\n      if (this.searchContext.user.parentId) {\n        this.api.get(`users/${this.searchContext.user.id}/preferences`).then(xhr => {\n          let data = mdt.preferences.mergeModelData(this.resource.schema, ['payment'], xhr.response);\n          // !!! Se apro un condominio, devo gestire il campo sdi con una logica particolare (vedi sezione analoga in pagamenti.js)\n          // nel caso l'utente sia il condominio stesso, non faccio nulla\n          if ([this.api.user.id, 'me'].includes(this.params.id)) return this.resource.data = data;\n          // nel caso sdi = null creo l'oggetto, vuoto.\n          if (!data.sdi) data.sdi = { code: null, genericSubuserCode: null };\n          // se intercetto, nel response, un sdi.code relativo al condominio, sovrascrivo l'eventuale sdi.code nel payload con quello relativo al condominio.\n          if (xhr.response.requested?.payment?.sdi?.code) data.sdi.code = xhr.response.requested.payment.sdi.code;\n          // in tutti gli altri casi, sovrascrivo l'eventuale sdi.code nel payload con l'eventuale genericSubuserCode ereditato dall'amministratore.\n          else data.sdi.code = data.sdi?.genericSubuserCode;\n          resolve(this.resource.data = data);\n        }).catch(error => {\n          reject(error);\n          this.api.dialogError(error);\n        });\n      } else {\n        resolve();\n      }\n    });\n  }\n\n  saveBillingProfileIban(profile) {\n    let data = { payments: { banking: { iban: profile.payments.banking.newIban || null } } };\n    this.api.patch(`users/${profile.ownerLegacyId}/billing-profiles/${profile.uuid}`, data).then(() => {\n      this.toast.show('Codice IBAN impostato con successo', 'success');\n      this.searchInterface.search();\n    }).catch(xhr => {\n      if (profile.controls['payments.banking.iban']) mdt.parsers.apiError(xhr, profile.controls);\n    });\n  }\n\n  saveCustomSdi($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = { sdi: { code: this.resource.data.sdi.code } };\n      this.api.patch(`users/${this.searchContext.user.id}/preferences/payment`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.sdiEnabled = !this.sdiEnabled;\n        this.getPaymentPreferences();\n      }).catch(error => {\n        console.error(error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n      this.sdiEnabled = !this.sdiEnabled;\n      this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n    });\n  }\n\n  mavCreateAuthorizationRequest(userId, billingProfileUuid) {\n    if (this.resource.data.payments?.banking?.iban && this.billingProfileIban !== this.resource.data.payments.banking.iban) {\n      let data = { payments: { banking: { iban: this.resource.data.payments.banking.iban } } }\n      this.api.patch(`users/${userId}/billing-profiles/${billingProfileUuid}`, data).then(() => {\n        this.isBuildingAdminCreatingMavRequest(userId, billingProfileUuid);\n      }).catch(error => {\n        console.log(`ERROR billing-profiles - PATCH`, error);\n        this.api.dialogError(error);\n      });\n    } else {\n      this.isBuildingAdminCreatingMavRequest(userId, billingProfileUuid);\n    }\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletable(profile) {\n    const banking = profile?.payments?.banking;\n    if (banking) {\n      return this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && banking.mavSelfPrintingAuthorizationStatus === 'ACTIVE' && banking.mavSelfPrintingAuthorizationUuid;\n    }\n  }\n  dialogDeleteMavRequest(profile) {\n    const mavSelfPrintingAuthorizationUuid = profile.payments?.banking?.mavSelfPrintingAuthorizationUuid;\n    const body = '<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>';\n    if (mavSelfPrintingAuthorizationUuid) {\n      this.dialog.open({\n        body,\n        class: 'small',\n        type: 'confirm',\n        title: 'Attenzione!'\n      }).whenClosed((response) => {\n        if (!response.wasCancelled) this.deleteMavRequest(mavSelfPrintingAuthorizationUuid);\n      });\n    }\n  }\n  deleteMavRequest(mavSelfPrintingAuthorizationUuid) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${mavSelfPrintingAuthorizationUuid}`).then(() => {\n      this.search();\n      this.toast.show('Richiesta di autorizzazione dismessa con successo', 'success');\n    }).catch((error) => {\n      this.toast.consume();\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  isBuildingAdminCreatingMavRequest(userId, billingProfileUuid) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`\n      }).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest(userId, billingProfileUuid);\n      });\n    } else {\n      this.sendMavAuthorizationRequest(userId, billingProfileUuid);\n    }\n  }\n\n  sendMavAuthorizationRequest(userId, billingProfileUuid) {\n    return this.api.post(`users/${userId}/billing-profiles/${billingProfileUuid}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n        this.params.id ? this.load() : this.search();\n      });\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    });\n  }\n}\n\nclass SearchContext {\n  #user = null;\n  #searchInterface = null;\n  constructor(user, searchInterface) {\n    if (user) this.#user = user;\n    if (searchInterface) this.#searchInterface = searchInterface;\n  }\n  set searchInterface(value) {\n    this.#searchInterface = value;\n  }\n  set user(value) {\n    return this.#user = value;\n  }\n  get user() {\n    return /*this.#searchInterface?.controls?.user?.control?.valueModel ||*/ this.#user || null;\n  }\n  get isRequestedUser() {\n    return this.#searchInterface?.data?.context === 'USER';\n  }\n  get isChildUsers() {\n    return this.#searchInterface?.data?.context === 'SUBUSERS';\n  }\n  get hasUser() {\n    return this.user !== null;\n  }\n  get isUserMaster() {\n    return this.user?.group === 'MASTER_USER';\n  }\n}\n","import {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class viewUtentiImportazione {\n  endpoint = 'users/me/users';\n  records = false;\n  loading = false;\n  selectAllProfile = true;\n  selectAllBilling = true;\n  autocomplete = true;\n  importStatus = {\n    promises: [],\n    errors: [],\n    pending: false,\n    profile: {\n      countSelected: 0,\n      countProcessing: null,\n      countErrors: null,\n      countImported: null\n    },\n    billing: {\n      countSelected: 0,\n      countProcessing: null,\n      countErrors: null,\n      countImported: null\n    }\n  };\n  schema = {\n    userData: {\n      profile: {\n        businessType: {\n          label: 'Attività',\n          control: 'combo',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          colClassName: 'medium_size'\n        },\n        displayName: {\n          label: 'Denominazione',\n          control: 'text',\n          colClassName: 'max_size'\n        },\n        holderName: {\n          companyName: {\n            label: 'Ragione sociale',\n            control: 'text',\n            colClassName: 'max_size'\n          },\n        },\n        fiscalCode: {\n          label: 'Codice fiscale',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        location: {\n          countryCode: {\n            label: 'Nazione', \n            control: 'text', \n            min: 2,\n            max: 2,\n            datatext: 'name',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: true,\n            datasource: [],\n            colClassName: 'medium_size'\n          },\n          admLvl1: { \n            label: 'Regione', \n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          admLvl2: { \n            label: 'Provincia',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          admLvl3: {\n            label: 'Comune',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          zipCode: {\n            label: 'CAP',\n            control: 'text'\n          },\n          locality: {\n            label: 'Località',\n            control: 'text',\n            colClassName: 'medium_size'\n          },\n          streetAddress: {\n            label: 'Indirizzo',\n            control: 'text',\n            colClassName: 'max_size'\n          }\n        }\n      }\n    },\n    billingProfileData: {\n      type: {\n        label: 'Tipo profilo fatturazione',\n        control: 'combo',\n        datatext: 'name',\n        datavalue: 'code',\n        datamultiple: false,\n        datapreload: true,\n        datasource: [],\n        colClassName: 'medium_size'\n      },\n      name: {\n        label: 'Denominazione',\n        control: 'text',\n        colClassName: 'max_size'\n      },\n      fiscalCode: {\n        label: 'Codice fiscale',\n        control: 'text',\n        colClassName: 'medium_size'\n      },\n      location: {\n        countryCode: {\n          label: 'Nazione',\n          control: 'text',\n          min: 2,\n          max: 2,\n          datatext: 'name',\n          datavalue: 'code', \n          datamultiple: false,\n          datapreload: true,\n          datasource: []\n        },\n        admLvl1: { \n          label: 'Regione', \n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        admLvl2: { \n          label: 'Provincia',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        admLvl3: {\n          label: 'Comune',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        zipCode: {\n          label: 'CAP',\n          control: 'text'\n        },\n        locality: {\n          label: 'Località',\n          control: 'text',\n          colClassName: 'medium_size'\n        },\n        streetAddress: {\n          label: 'Indirizzo',\n          control: 'text',\n          colClassName: 'max_size'\n        }\n      },\n      payments: {\n        banking: {\n          iban: {\n            label: 'IBAN',\n            control: 'text',\n            colClassName: 'max_size'\n          },\n          sepaDirectDebitEnabled: {\n            label: 'Abilita',\n            control: 'check',\n            colClassName: 'max_size'\n          }\n        }\n      }\n    }\n  }\n  constructor(router, api, toast, dialog) {\n    this.api = api;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.api.get('user-business-types').then(xhr => {\n      this.schema.userData.profile.businessType.datasource = xhr.response;\n    });\n    this.api.get('geo/countries').then(xhr => {\n      this.schema.userData.profile.location.countryCode.datasource = xhr.response;\n      this.schema.billingProfileData.location.countryCode.datasource = xhr.response;\n    });\n    this.api.get('billing-profile-types').then(xhr => {\n      this.schema.billingProfileData.type.datasource = xhr.response;\n    });\n  }\n  attached() {\n    \n  }\n  objToArray(obj) {\n    return Object.entries(obj);\n  }\n  carica($event) {\n    if (!this.file || this.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    this.loading = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.file[0]);\n    reader.onload = () => {\n      let data = {\n        filename: this.file[0].name,\n        fileData: reader.result,\n        fillBillingProfileWithUserProfileValues: this.autocomplete\n      };\n      this.api.post('users/me/users/bulk-import-requests', data).then(x => {\n        this.toast.show('File importato con successo!', 'success');\n        this.file = null;\n        this.loading = true;\n        this.api.get(`users/me/users/bulk-import-requests/${x.response.id}/items`).then(xhr => {\n          this.selectAllProfile = true;\n          this.selectAllBilling = true;\n          this.importStatus.pending = false;\n          this.importStatus.profile.countImported = this.importStatus.billing.countImported = null;\n          this.importStatus.profile.countErrors = this.importStatus.billing.countErrors = null;\n          this.importStatus.profile.countProcessing = this.importStatus.billing.countProcessing = null;\n          let records = xhr.response;\n          for (let record of records) {\n            record.profile = { _selected: true, _imported: false, controls: {} };\n            record.billing = { _selected: true, _imported: false, controls: {} };\n            if (!record.userData.profile.location.countryCode) record.userData.profile.location.countryCode = 'IT';\n            if (!record.billingProfileData.location.countryCode) record.billingProfileData.location.countryCode = 'IT';\n            if (record.matchedUserUuid) record.profile._status = 'duplicated';\n            if (record.matchedBillingProfileUuid) record.billing._status = 'duplicated';\n            if (record.billingProfileData.payments?.banking?.iban && record.billingProfileData.payments?.banking?.iban.length > 0) record.billingProfileData.payments.banking.sepaDirectDebitEnabled = true;\n          }\n          this.records = records;\n          this.countSelected();\n          setTimeout(() => {\n            this.importTable.querySelector('colgroup col.profile').animate([{width: 'calc(100% / 12)'}], { duration: 500, easing: 'ease-in' }).onfinish = () => {\n              this.importTable.classList.add('expanded');\n            };\n          }, 0);\n        }).finally(() => {\n          this.loading = false;\n        });\n      }).catch(x => {\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            for (let parameter of response.source.parameters) {\n              if (parameter.parameter === 'data.attributes.fileData') {\n                errorMessages.push('Formato file non valido');\n              }\n              else if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        }\n        else errorMessages.push('Errore nel caricamento del file!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        this.loading = false;\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      this.loading = false;\n      $event.model.busy = false;\n    };\n  }\n\n  annulla() {\n    if (!this.records) return this.router.navigate('anagrafiche/utenti');\n    this.records = false;\n  }\n  add() {\n    this.records.push({\n      profile: { _selected: true, _imported: false, controls: {} },\n      billing: { _selected: true, _imported: false, controls: {} },\n      userData: {\n        profile: {\n          holderName: {},\n          location: {}\n        }\n      },\n      billingProfileData: {\n        location: {},\n        payments: {\n          banking: {}\n        }\n      }\n    });\n  }\n  toggleAllProfile(value) {\n    for (let record of this.records) {\n      record.profile._selected = value;\n      record.billing._selected = record.profile._selected;\n    }\n    this.countSelected();\n  }\n  toggleAllBilling(value) {\n    for (let record of this.records) {\n      record.billing._selected = value;\n    }\n    this.countSelected();\n  }\n  selectProfile(record) {\n    record.billing._selected = record.profile._selected;\n    this.countSelected();\n    this.importStatus.pending = false;\n  }\n  selectBilling(record) {\n    this.countSelected();\n    this.importStatus.pending = false;\n  }\n  countSelected() {\n    this.importStatus.profile.countSelected = this.records.filter(x => x.profile._selected).length;\n    this.importStatus.billing.countSelected = this.records.filter(x => x.billing._selected).length;\n  }\n  resetErrors() {\n    for (let record of this.records) {\n      for (let [field, item] of Object.entries(record.profile.controls)) {\n        if (!item) {\n          konsole.warn(`Field ${field} was not found!`);\n          continue;\n        }\n        if (!item.validator) {\n          konsole.warn(`Field ${field} validator was not found!`);\n          continue;\n        }\n        item.validator.errors = [];\n        item.element.classList.remove('error');\n      }\n      for (let [field, item] of Object.entries(record.billing.controls)) {\n        if (!item) {\n          konsole.warn(`Field ${field} was not found!`);\n          continue;\n        }\n        if (!item.validator) {\n          konsole.warn(`Field ${field} validator was not found!`);\n          continue;\n        }\n        item.validator.errors = [];\n        item.element.classList.remove('error');\n      }\n    }\n  }\n  importa() {\n    this.resetErrors();\n    this.importStatus.pending = true;\n    this.importStatus.promises = [];\n    this.importStatus.errors = [];\n    this.importStatus.profile.countProcessing = this.importStatus.billing.countProcessing = 0;\n    this.importStatus.profile.countImported = this.importStatus.billing.countImported = 0;\n    this.importStatus.profile.countErrors = this.importStatus.billing.countErrors = 0;\n    for (let record of this.records) {\n      this.importStatus.promises.push(this.importProfile(record));\n    }\n    Promise.all(this.importStatus.promises).finally(() => {\n      this.importStatus.pending = false;\n      if (this.importStatus.errors.length) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Si sono verificati i seguenti errori:</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + this.importStatus.errors.join('<br>') + '</div>'});\n\n    });\n  }\n  importProfile(record) {\n    if (record.profile._selected && record.profile._status !== 'success' && !record.profile._imported) {\n      let api, update = !!record.profile._overwrite;\n      this.importStatus.profile.countProcessing += +1;\n      record.profile._status = 'pending';\n      record.profile._disabled = record.billing._disabled = true;\n      let data = JSON.parse(JSON.stringify(record.userData));\n      data.group = 'BASIC_USER';\n      data = mdt.helpers.removeEmptyAttributes(data);\n      \n      if (update && record.matchedUserUuid) {\n        api = this.api.put(`users/me/users/${record.matchedUserUuid}`, data);\n      }\n      else {\n        api = this.api.post('users/me/users', data);\n      }\n      return api.then(xhr => {\n        record.profile._status = 'success';\n        this.importStatus.profile.countProcessing += -1;\n        this.importStatus.profile.countImported += +1;\n        record.profile._imported = true;\n        record._user = xhr.response.id;\n        this.importStatus.promises.push(this.importBilling(record));\n      }, xhr => {\n        record.profile._status = String(xhr.statusCode) === '409' ? 'duplicated' : 'error';\n        this.importStatus.profile.countProcessing += -1;\n        record.profile._disabled = record.billing._disabled = false;\n        let errorPayload = mdt.parsers.apiError(xhr, record.profile.controls);\n        if (errorPayload) this.importStatus.errors.push(errorPayload.body);\n      });\n    } else if (record.billing._selected && record.profile._status === 'success' && !record.billing._imported) {\n      return this.importBilling(record);\n    }\n  }\n  importBilling(record) {\n    if (record.billing._selected && record.billing._status !== 'success' && !record.billing._imported) {\n      let api, update = !!record.profile._overwrite;\n      this.importStatus.billing.countProcessing += +1;\n      record.billing._status = 'pending';\n      let data = JSON.parse(JSON.stringify(record.billingProfileData));\n      //data.type = 'BUILDING';\n      data = mdt.helpers.removeEmptyAttributes(data);\n\n      if (update && record.matchedBillingProfileUuid) {\n        api = this.api.put(`users/me/billing-profiles/${record.matchedBillingProfileUuid}`, data);\n      }\n      else {\n        api = this.api.post(`users/${record._user}/billing-profiles`, data);\n      }\n      return api.then(xhr => {\n        record.billing._status = 'success';\n        this.importStatus.billing.countProcessing += -1;\n        this.importStatus.billing.countImported += +1;\n        record.billing._imported = true;\n      }, xhr => {\n        record.billing._status = String(xhr.statusCode) === '409' ? 'duplicated' : 'error';\n        this.importStatus.billing.countProcessing += -1;\n        record.billing._disabled = false;\n        let errorPayload = mdt.parsers.apiError(xhr, record.billing.controls);\n        if (errorPayload) this.importStatus.errors.push(errorPayload.body);\n      });\n    } else return Promise.resolve();\n  }\n  dialogDuplicate(record, scope) {\n    this.dialog.open({\n      title: `Gestione sovrascrittura`,\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/utenti-importazione-dialog-sovrascrittura'),\n      viewModelParams: { record, scope }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        record[scope]._overwrite = true;\n      } else {\n        record[scope]._overwrite = false;\n        if (scope === 'profile') delete record.matchedUserUuid;\n        if (scope === 'billing') delete record.matchedBillingProfileUuid;\n      }\n    });\n  }\n}\n\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, MdDatasources, KaToast)\nexport class Impostazioni {\n  isInitPending;\n  advancedPreferences;\n  resource = {\n    controls: {},\n    schema: {\n      multifatture: {\n        accountingClientSoftwareUuid: {\n          label: 'Software gestionale utilizzato per la gestione della contabilità',\n          control: 'combo',\n          datasource: [],\n          datavalue: 'id',\n          datatext: 'name',\n          datapreload: true,\n          datamultiple: false\n        }\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, MdDatasources, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.mdDatasources = MdDatasources;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('MODIFY_ANY_USER_PRIVILEGED_PREFERENCES');\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.isInitPending = true;\n    if (this.isOperator) {\n      this.resource.schema.grantLoginWithSupportTicket = {\n        label: 'Assistenza Multidialogo',\n        description: 'Attiva al ruolo di assistente',\n        control: 'check'\n      };\n      this.resource.schema.multifatture.enableBetaFeatures = {\n        label: 'Beta tester MultiFatture',\n        description: 'Attiva al ruolo di BETA tester',\n        control: 'check'\n      };\n    };\n\n    this.resource.schema.multifatture.accountingClientSoftwareUuid.datasource = this.mdDatasources.multifattureSoftwares;\n    this.load().finally(() => {\n      this.isInitPending = false;\n    });\n  }\n\n  load() {\n    return this.api.get(`users/${this.params?.id}/advanced-preferences`).then((xhr) => {\n      const response = xhr.response;\n      this.advancedPreferences = response;\n      if (this.isOperator) this.resource.data = response;\n      else if (!this.isOperator && response.multifatture?.accountingClientSoftwareUuid) {\n        this.resource.data.multifatture = { accountingClientSoftwareUuid: response.multifatture?.accountingClientSoftwareUuid }\n      }\n    }).catch((error) => {\n      console.log('GET advanced-preferences', error);\n    });\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      const endpoint = `${this.isOperator ? 'bo/' : ''}users/${this.params.id}/advanced-preferences`;\n      this.api.patch(endpoint, this.resource.data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n      }).catch((error) => {\n        console.log('PATCH advanced-preferences', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    });\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { MdDatasources } from 'services/md-datasources';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, MdDatasources, KaDialog, KaToast)\nexport class Pagamenti {\n  mdt = mdt;\n  user = null;\n  isInitializing = true;\n  isLoading = true;\n  writeEnabled = false;\n  customSdiEnabled = false;\n  masterUserCreditSharingCheck = false;\n  resource = {\n    controls: {},\n    schema: {\n      debtGuarantorDisplayName: {\n        label: 'Garante del deposito',\n        control: 'text',  \n      },\n      debtGuarantorUuid: {\n        label: 'Garante del deposito', \n        control: 'combo',  \n        datatext: 'profile[0].displayName',\n        datavalue: 'uuid', \n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n        query: 'parent-uuid-in'\n      },\n      masterUserCreditSharing: { \n        description: 'Attiva',\n        control: 'check'\n      },\n      sdi: {\n        code: {\n          label: 'Codice univoco SdI per il mio studio',\n          control: 'text' \n        },\n        genericSubuserCode: {\n          control: 'text' \n        }\n      },\n      registerBillsAsManagementMovement: {\n        label: 'Le fatture delle spedizioni verranno registrate come movimento di gestione, senza la suddivisione per costi personali',\n        description: 'Attiva',\n        control: 'check' \n      }\n    },\n    data: {},\n  }\n\n  constructor(aurelia, router, api, mdDatasources, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.mdDatasources = mdDatasources;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.writeEnabled = this.api.hasRole(['MODIFY_ANY_USER_PRIVILEGED_PREFERENCES', 'MODIFY_USERS_PRIVILEDGED_PREFERENCES']) ? true : false;\n    if (this.resource.schema.multifatture?.accountingClientSoftwareUuid?.datasource) this.resource.schema.multifatture.accountingClientSoftwareUuid.datasource = this.mdDatasources.multifattureSoftwares;\n    this.getUser();\n  }\n\n  getUser() {\n    this.api.get(`users/${this.params.id}?include=user-profiles`).then(xhr => {\n      this.user = xhr.response;\n      this.user.profile = this.user.profile[0];\n      this.resource.schema.masterUserCreditSharing.label = `Sblocco automatico delle spedizioni dei miei ${mdt.parsers.contextualize(this.user, 'utenti')} con il credito del mio ${mdt.parsers.contextualize(this.user, 'account')}`;\n      this.resource.schema.sdi.genericSubuserCode.label = `Codice univoco SdI per i miei ${mdt.parsers.contextualize(this.user, 'utenti')}`;\n      this.load();\n    }).catch(error => {\n      console.log('ERROR user-profile GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  load() {\n    this.isLoading = true;\n    this.api.get(`users/${this.params.id}/preferences`).then(xhr => {\n      this.resource.data = mdt.preferences.mergeModelData(this.resource.schema, ['payment'], xhr.response);\n\n      if (this.user.group === 'BASIC_USER') {\n        /* Se apro un condominio, devo gestire il campo sdi (sdi.code e sdi.genericSubuserCode) con una logica particolare\n        Il frontend mostra un unico campo \"Campo univoco SdI\" bindato a this.payments.data.sdi.code\n        L'endpoint GET /users/{id}/preferences ritorna uno stack di impostazioni che la funzione mergeModelData() mergia secondo un criterio gerarchico di priorità\n        Il risultato è un payload in cui il valore di sdi può essere:\n        - sdi: null\n        - sdi: {code: 'CODICE1', genericSubuserCode: 'CODICE2'}\n        - sdi: {code: 'CODICE1', genericSubuserCode: null}\n        - sdi: {code: null, genericSubuserCode: 'CODICE2'}\n        Essendo il payload this.payments.data il risultato di un merge di preferenze dell'utente condominio con preferenze dell'amministratore e altre preferenze di default, non ho modo\n        di distinguere se un codice sdi.code è originariamente settato sul condominio o sul suo amministratore, a meno che non vada a leggere nel response originale:\n        se x.response.requested.payment.sdi.code è valorizzato, il codice è settato sul condominio, altrimenti l'eventuale sdi.code che mi ritrovo nel payload è ereditato dal suo amministratore */\n        \n        // Nel caso l'utente sia il condominio stesso, non faccio nulla\n        if (this.user.id === this.api.user.id) return this.resource.data = data;\n        // nel caso sdi = null, creo l'oggetto, vuoto\n        if (!this.resource.data.sdi) this.resource.data.sdi = { code: null, genericSubuserCode: null };\n        // Se intercetto, nel response, un sdi.code relativo al condominio, sovrascrivo l'eventuale sdi.code nel payload con quello relativo al condominio\n        if (xhr.response.requested?.payment?.sdi?.code) this.resource.data.sdi.code = xhr.response.requested.payment.sdi.code;\n        // In tutti gli altri casi, sovrascrivo l'eventuale sdi.code nel payload con l'eventuale genericSubuserCode ereditato dall'amministratore\n        else this.resource.data.sdi.code = this.resource.data.sdi?.genericSubuserCode;\n      }  \n      this.resource._data = JSON.parse(JSON.stringify(this.resource.data));\n      this.masterUserCreditSharingCheck = this.resource.data.masterUserCreditSharing?.scopes?.includes('QUEUE-DUTIES');\n    }).catch(error => {\n      console.log('ERROR /preferences (payments) GET', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.isInitializing = this.isLoading = false;\n    });\n  }\n\n  save ($event) {\n    if (!this.params.id) return;\n    let data = this.resource.data;\n    if (this.masterUserCreditSharingCheck === true) {\n      if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n      if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') < 0) data.masterUserCreditSharing.scopes.push('QUEUE-DUTIES');\n    } else if (this.masterUserCreditSharingCheck === false) {\n      if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n      if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') > -1) data.masterUserCreditSharing.scopes.splice(data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES'), 1);\n    }\n    data = mdt.helpers.diffObject(this.resource._data, this.resource.data);\n    if (data.debtGuarantorDisplayName) delete data.debtGuarantorDisplayName;\n    if (data && Object.entries(data).length) {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.params?.id}/preferences/payment`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.load();\n      }).catch(error => {\n        console.log('ERROR - /preferences/payment (save) - PATCH', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    } else $event.model.busy = false;\n  }\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class Segnalatori {\n  mdt = mdt;\n  isInitializing = true;\n  isLoading = true;\n  readEnabled = false;\n  writeEnabled = false;\n  downloadHistoryEnabled = false;\n  noAssociations = false;\n  services = [];\n  serviceGroups = []; \n  newReseller = { uuid: null, resellerCodes: null, selectedCode: null, serviceGroupCode: null };\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.id) this.init();\n  }\n\n  init() {\n    if (this.params.id !== 'me') {\n      if (this.api.hasRole('DOWNLOAD_RESELLERS_HISTORY')) this.downloadHistoryEnabled = true;\n      if (this.api.hasRole('CREATE_ANY_ACCOUNT_RESELLER_ASSOCIATION')) this.writeEnabled = true;\n      else if (this.api.hasRole('LIST_ANY_ACCOUNT_RESELLER_ASSOCIATION')) this.writeEnabled = false;\n    }\n\n    // if there are not associations, do not show the download history button in the dom\n    this.api.get(`bo/users/${this.params.id}/resellers-history-download`).catch((error) => {\n      if (error.statusCode === 404) this.noAssociations = true;\n      else this.noAssociations = false;\n    });\n\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'segnalatori-table',\n      client: this.api,\n      endpoint: `bo/users/${this.params.id}/resellers`,\n      query: 'reseller-association-user-status=ACTIVE'\n    });\n    this.tableInterface.initialize().then(() => {\n      this.datasourceServiceGroups();\n      this.load();\n    }).catch(error => { \n      console.log('tableInterface initialization failed', error);\n      this.toast.show('Errore in fase di inizializzazione!', 'error');\n    });\n  }\n\n  datasourceServiceGroups() {\n    this.api.get('resell/service-groups').then(xhr => { \n      this.serviceGroups = xhr.response;\n    }).catch(error => {\n      console.log('ERROR - resell/service-groups - GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  load() {\n    this.isLoading = true;\n    this.tableInterface.load().then(() => {\n      let promises = [];\n      if (this.tableInterface.data?.length) {\n        this.tableInterface.data.forEach(reseller => {\n          reseller.serviceGroups = [];\n          promises.push(this.api.get(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups`, { filters: 'user-reseller-association-service-group-status=ACTIVE'}).then(xhr => {\n            reseller.serviceGroups = xhr.response;\n          }));\n        });\n        Promise.all(promises).catch(errors => {\n          console.log('ERROR - resellerServiceGroups - PROMISES', errors);\n          this.api.dialogError(errors);\n        }).finally(() => {\n          this.isInitializing = this.isLoading =  false;\n        });\n      } else this.isInitializing = this.isLoading = false;\n    }).catch(() => {\n      this.isInitializing = this.isLoading = false;\n      this.toast.show('Errore in fase di caricamento!', 'error');\n    });\n  }\n\n  addServiceGroup(reseller) {\n    this.api.post(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups`, { serviceGroupCode: reseller.group.code }).then(() => {\n      this.toast.show('Servizio aggiunto con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    }).finally(() => {\n      reseller.group = null;\n    });\n  }\n\n  deleteServiceGroup(reseller, group) {\n    this.api.delete(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}/service-groups/${group.serviceGroupCode}`, {}).then(() => {\n      this.toast.show('Servizio eliminato con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    })\n  }\n\n  addReseller() {\n    this.dialog.open({\n      title: 'Associa nuovo segnalatore',\n      class: 'profilo-add-reseller small',\n      viewModel: PLATFORM.moduleName('views/anagrafiche/utenti/dialogs/profilo-add-reseller'),\n      viewModelParams: { id: this.params.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.toast.show('Segnalatore aggiunto con successo', 'success');\n        this.load();\n      }\n    });\n  }\n\n  deleteReseller(reseller) {\n    this.api.delete(`bo/users/${this.params.id}/resellers/${reseller.resellerCode}`).then(() => {\n      this.toast.show('Segnalatore eliminato con successo', 'success');\n      this.load();\n    }).catch(error => {\n      this.api.dialogError(error);\n    })\n  }\n\n  annulla() {\n    this.params = null;\n    this.router.navigate('anagrafiche/utenti');\n  }\n\n  downloadHistory() {\n    if (this.downloadHistoryPending) return;\n    this.downloadHistoryPending = true;\n    this.api.client.createRequest(`/bo/users/${this.params.id}/resellers-history-download`)\n    .asGet()\n    .withHeader('Accept', 'application/csv')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.csv$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'text/csv' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n\n      this.toast.show('Storico scaricato con successo', 'success');\n    }).catch(xhr => {\n      console.log('ERROR - export-users GET', xhr);\n      this.toast.show('Errore in fase di scaricamento', 'error');\n    }).finally(() =>{\n      this.downloadHistoryPending = false;\n    });\n  }\n}","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdUser } from 'services/md-user';\nimport { inject } from 'aurelia-framework';\nimport { DialogService } from 'aurelia-dialog';\n\n@inject(Api, Router, DialogService, MdUser, KaDialog, KaToast)\nexport class Navigation {\n  mdt = mdt;\n  constructor(api, router, dialog, MdUser, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.mdUser = MdUser;\n    this.toast = kaToast;\n    this.router = router;\n    this.kaDialog = KaDialog;\n    this.items = [];\n    this.init();\n  }\n  init() {\n    this.items = [\n      {\n        hidden: true,\n        href: 'account/delete',\n        label: 'Cancella account',\n        route: ['account/delete'],\n        moduleId: PLATFORM.moduleName('views/account/delete/delete')\n      }, {\n        hidden: true,\n        label: 'Offerta',\n        href: 'offerta',\n        route: 'landing/offerta/:code',\n        moduleId: PLATFORM.moduleName('views/landing/offerta')\n      }, {\n        hidden: true,\n        label: 'Registrazione',\n        href: 'registrazione',\n        route: ['registrazione/prospetto/:prospectUuid?', 'registrazione'],\n        moduleId: PLATFORM.moduleName('views/landing/registrazione')\n      }, {\n        hidden: true,\n        label: 'Login',\n        name: 'login',\n        href: 'login',\n        route: ['', 'login'],\n        moduleId: PLATFORM.moduleName('views/accesso/login')\n      }, {\n        hidden: true,\n        label: 'Recupero password',\n        href: 'password-recovery',\n        route: ['password-recovery/:token?'],\n        moduleId: PLATFORM.moduleName('views/accesso/recupero')\n      }, {\n        hidden: true,\n        label: 'Conferma registrazione',\n        href: 'email-confirm',\n        route: 'email-confirm/:code',\n        moduleId: PLATFORM.moduleName('views/landing/email-confirm')\n      }, {\n        icon: null,\n        hidden: true,\n        label: 'Profilo',\n        authRequired: true,\n        href: 'gestione/profilo',\n        route: 'gestione/profilo/:id?/:view?',\n        moduleId: PLATFORM.moduleName('views/anagrafiche/utenti/utenti')\n      }, {\n        hidden: true,\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Impostazioni',\n        icon: 'settings',\n        href: 'impostazioni',\n        route: ['impostazioni'],\n        moduleId: PLATFORM.moduleName('views/impostazioni/impostazioni')\n      }, {\n        label: 'Home',\n        href: 'dashboard',\n        title: 'Home dashboard',\n        authRequired: true,\n        beforeIcon: 'far fa-home-lg-alt primary',\n        route: ['dashboard'],\n        explanation: 'Dashboard',\n        moduleId: PLATFORM.moduleName('views/dashboard/dashboard')\n      }, {\n        href: null,\n        collapsed: false,\n        label: 'Spedizioni',\n        id: 'km-layout-aside-menu-spedizioni',\n        beforeIcon: 'fad fa-shipping-fast animated',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          collapsed: false,\n          highlighted: true,\n          label: 'Multinvio',\n          nav: [{\n            label: 'Invia',\n            highlighted: true,\n            afterIcon: 'far fa-arrow-to-right',\n            authGroups: ['MASTER_USER', 'BASIC_USER'],\n            call: () => { this.openSenderui('multicanale'); }\n          }, {\n            label: 'Bozze',\n            authRoles: ['LIST_QUEUE'],\n            href: 'spedizioni/drafts',\n            route: 'spedizioni/drafts',\n            moduleId: PLATFORM.moduleName('views/spedizioni/drafts'),\n            badge: {\n              interval: 10000,\n              promise: (resolve, reject) => {\n                if (this.api.hasRole('LIST_ANY_QUEUE')) reject();\n                let total = JSON.parse(localStorage.getItem?.('queue-drafts-outlines'))?.totalQueueDrafts;\n                if (total === undefined) {\n                  this.api.get('users/me/queue-drafts-outlines/~all?statusCode-in=ACTIVE&limit=1').then((xhr) => {\n                    total = xhr?.originalResponse?.meta?.total;\n                  }).finally(() => {\n                    total = total || null;\n                    localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: total }));\n                    resolve(total || null);\n                  });\n                } else {\n                  total = total || null;\n                  localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: total }));\n                  resolve(total);\n                }\n              }\n            }\n          }, {\n            authRequired: true,\n            label: 'Attesa di pagamento',\n            href: 'spedizioni/pending',\n            route: 'spedizioni/pending',\n            moduleId: PLATFORM.moduleName('views/spedizioni/pending'),\n            badge: {\n              interval: 10000,\n              promise: (resolve, reject) => {\n                if (this.api.hasRole('LIST_ANY_QUEUE')) reject();\n                let total = JSON.parse(localStorage.getItem?.('queue-outlines'))?.totalQueuesPendingPayment;\n                if (total === undefined) {\n                  this.api.get('users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1').then((xhr) => {\n                    total = xhr?.originalResponse?.meta?.total;\n                  }).finally(() => {\n                    total = total || null;\n                    localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: total }));\n                    resolve(total || null);\n                  });\n                } else {\n                  total = total || null;\n                  localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: total }));\n                  resolve(total);\n                }\n              }\n            }\n          }, {\n            authRequired: true,\n            label: 'Reportistica',\n            href: 'spedizioni/reportistica',\n            route: 'spedizioni/reportistica',\n            moduleId: PLATFORM.moduleName('views/spedizioni/report/report')\n          }, {\n            hidden: true,\n            authRequired: true,\n            label: 'Reportistica',\n            authRoles: ['LIST_QUEUE_MESSAGE'],\n            href: 'spedizioni/reportistica-dettaglio',\n            route: ['spedizioni/reportistica/:queueOwnerId/:queueUuid'],\n            moduleId: PLATFORM.moduleName('views/spedizioni/report/report-detail')\n          }, {\n            authRequired: true,\n            label: 'Bounces',\n            href: 'backoffice/bounces',\n            moduleId: PLATFORM.moduleName('views/backoffice/bounces'),\n            authGroups: ['ADMIN', 'BACKOFFICE', 'EXECUTIVE_OPERATOR']\n        }]\n        }, {\n          label: 'Invio SMS',\n          collapsed: false,\n          highlighted: true,\n          authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER'],\n          nav: [{\n            label: 'Invia',\n            highlighted: true,\n            afterIcon: 'far fa-arrow-to-right',\n            call: () => { this.openSenderui('sms'); },\n            authGroups: ['MASTER_USER', 'BASIC_USER']\n          }, {\n            label: 'Alias Sms',\n            href: 'backoffice/alias',\n            route: ['backoffice/alias/:id?'],\n            moduleId: PLATFORM.moduleName('views/backoffice/alias'),\n            authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE']\n          }]\n        }]\n      }, {\n        href: null,\n        collapsed: true,\n        authRequired: true,\n        label: 'Anagrafiche',\n        id: 'km-layout-aside-menu-anagrafiche',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          authRequired: true,\n          explanation: 'Profilo utente',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Account'),\n          call: () => { this.router.navigate('gestione/profilo/me/anagrafica'); }\n        }, {\n          href: 'anagrafiche/utenti',\n          hidden: !!this.api?.user?.parentId,\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utenti'),\n          moduleId: PLATFORM.moduleName('views/anagrafiche/utenti/utenti'),\n          route: ['anagrafiche/utenti/:id/:view?', 'anagrafiche/utenti/:view?', 'gestione/profilo/me']\n        }, {\n          authRoles: ['LIST_ANY_PROSPECT_LANDING_PAGE'],\n          label: 'Pagine di registrazione',\n          href: 'anagrafiche/landing-pages',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/landing-pages/landing-pages')\n        }, {\n          label: 'Revisione ABI/CAB',\n          authRoles: ['LIST_UNKNOWN_IBAN_COORDINATES'],\n          href: 'anagrafiche/revisione-abi-cab',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/revisione-abi-cab/revisione-abi-cab')\n        }, {\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica',\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-importazione',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-importazione')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-dati',\n          route: 'anagrafiche/rubrica-dati/:id?',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-dati')\n        }, {\n          hidden: true,\n          label: 'Rubrica',\n          href: 'anagrafiche/rubrica-gruppi',\n          route: 'anagrafiche/rubrica-gruppi/:id?',\n          moduleId: PLATFORM.moduleName('views/anagrafiche/rubrica/rubrica-gruppi')\n        }]\n      }, {\n        collapsed: true,\n        label: 'Contabilità',\n        hidden: this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') || this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          label: 'Ordini',\n          authRequired: true,\n          href: 'contabilita/orders',\n          route: 'contabilita/orders',\n          moduleId: PLATFORM.moduleName('views/contabilita/orders')\n        }, {\n          label: 'Fatture',\n          authRequired: true,\n          href: 'contabilita/invoices-list',\n          route: 'contabilita/invoices-list',\n          authGroups: ['MASTER_USER'],\n          moduleId: PLATFORM.moduleName('views/contabilita/invoices/invoices-list')\n        }]\n      }, {\n        href: null,\n        icon: 'print',\n        collapsed: false,\n        authRequired: true,\n        label: 'Stampe',\n        authGroups: ['ADMIN', 'PRINT_BACKOFFICE', 'BACKOFFICE', 'EXECUTIVE_OPERATOR'],\n        nav: [{\n          href: 'copertine',\n          label: 'Copertine',\n          route: ['copertine'],\n          moduleId: PLATFORM.moduleName('views/print-backoffice/copertine')\n        }]\n      }, {\n        collapsed: true,\n        label: 'Riscossioni e rate',\n        id: 'km-layout-aside-menu-riscossioni',\n        hidden: this.api?.user?.group === 'PRINT_BACKOFFICE',\n        nav: [{\n          href: 'riscossioni/autorizzazioni',\n          route: 'riscossioni/autorizzazioni',\n          label: 'Richieste di autorizzazione',\n          authRoles: ['LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION'],\n          moduleId: PLATFORM.moduleName('views/riscossioni/autorizzazioni/autorizzazioni')\n        },\n        {\n          href: 'riscossioni/pagamento',\n          label: 'Scarica esiti di pagamento',\n          route: 'riscossioni/pagamento/:ka-tab?',\n          moduleId: PLATFORM.moduleName('views/riscossioni/pagamento/pagamento'),\n          authRoles: ['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']\n        }]\n      }, {\n        collapsed: true,\n        label: 'Servizi',\n        icon: 'shopping_cart',\n        authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER'],\n        nav: [{\n          href: 'servizi/abbonamenti',\n          label: 'Attivazione servizi',\n          route: 'servizi/abbonamenti/:id?',\n          authRoles: ['LIST_FLAT_SERVICES'],\n          moduleId: PLATFORM.moduleName('views/servizi/abbonamenti/abbonamenti')\n        }, {\n          href: 'servizi/ricariche',\n          route: 'servizi/ricariche',\n          label: 'Ricariche per spedizioni',\n          moduleId: PLATFORM.moduleName('views/servizi/ricariche/ricariche'),\n          authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER', 'BASIC_USER']\n        }, {\n          href: 'servizi/listini',\n          route: 'servizi/listini',\n          label: 'Listino prezzi spedizioni',\n          authRoles: ['LIST_USER_PRICE_LIST_SCHEDULES'],\n          moduleId: PLATFORM.moduleName('views/servizi/listini/listini')\n        }, {\n          label: 'Promozioni',\n          href: 'servizi/promozioni',\n          route: 'servizi/promozioni',\n          moduleId: PLATFORM.moduleName('views/servizi/promozioni/promozioni'),\n          authRoles: ['CREATE_ANY_USER_PROMOTION_ASSOCIATION', 'CREATE_PROMOTIONS']\n        }, {\n          label: 'Offerte',\n          href: 'backoffice/offerte',\n          route: 'backoffice/offerte',\n          moduleId: PLATFORM.moduleName('views/backoffice/offerte/offerte'),\n          authRoles: ['LIST_ANY_PROMOTION_OFFER', 'LIST_ANY_USER_PROMOTION_OFFER_ACTIVATION']\n        }, {\n          collapsed: true,\n          label: 'Credito',\n          authRoles: ['LIST_USER_CREDIT_TRANSACTION', 'LIST_USER_BAILMENT_DEPOSIT_TRANSACTION'],\n          nav: [{\n            label: 'Movimenti',\n            authRoles: ['LIST_USER_CREDIT_TRANSACTION'],\n            href: 'servizi/credito/crediti',\n            route: ['servizi/credito/crediti'],\n            moduleId: PLATFORM.moduleName('views/servizi/credito/crediti')\n          }, {\n            label: 'Deposito cauzionale',\n            href: 'servizi/credito/deposito',\n            route: ['servizi/credito/deposito/:user?'],\n            authRoles: ['LIST_USER_BAILMENT_DEPOSIT_TRANSACTION'],\n            moduleId: PLATFORM.moduleName('views/servizi/credito/deposito')\n          }]\n        }]\n      }, {\n        collapsed: true,\n        label: 'Cashback',\n        authRequired: true,\n        icon: 'currency_exchange',\n        hidden: !['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes?.(this.api?.user?.group),\n        authRoles: ['LIST_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_MOVEMENTS', 'LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS'],\n        nav: [{\n          href: 'cashback/contracts',\n          label: 'Contratti cashback',\n          route: ['cashback/contracts'],\n          moduleId: PLATFORM.moduleName('views/cashback/contracts/contracts'),\n          authRoles: ['LIST_CASHBACK_CONTRACTS', 'LIST_USER_CASHBACK_CONTRACTS']\n        }, {\n          href: 'cashback/transactions',\n          route: ['cashback/transactions'],\n          label: 'Movimenti e saldo cashback',\n          moduleId: PLATFORM.moduleName('views/cashback/transactions/transactions'),\n          authRoles: ['LIST_USER_CASHBACK_MOVEMENTS','LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS']\n        }]\n      }, {\n        collapsed: true,\n        label: 'Fidelity card',\n        authRequired: true,\n        nav: [{\n          label: 'Attivazione',\n          title: 'Fidelity card',\n          authGroups: ['MASTER_USER'],\n          href: 'fidelity-cards/activation',\n          route: ['fidelity-cards/activation'],\n          authRoles: ['LIST_USER_FIDELITY_CARDS'],\n          moduleId: PLATFORM.moduleName('views/fidelity-cards/activation')\n        }]\n      }, {\n        collapsed: false,\n        label: 'Multicoin',\n        authRequired: true,\n        svg: 'logo-multicoin.svg',\n        authGroups: ['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE', 'MASTER_USER'],\n        nav: [\n        {\n          label: 'Movimenti e punteggio',\n          title: 'Multicoin: movimenti e punteggio',\n          href: 'multicoin/points-transaction-history',\n          route: ['multicoin/points-transaction-history'],\n          moduleId: PLATFORM.moduleName('views/multicoin/points-transaction-history')\n        }]\n      }, {\n        icon: 'savings',\n        label: 'Compensi',\n        authRoles: ['LIST_RESELLER_COMMISSIONS'],\n        href: 'anagrafiche/utenti/me/compensi?ka-tab-main=utenti-associati'\n      }, {\n        collapsed: true,\n        label: 'Sistema',\n        icon: 'settings',\n        nav: [{\n          label: 'Agreements',\n          authGroups: ['ADMIN'],\n          href: 'backoffice/agreements',\n          route: ['backoffice/agreements/:id?'],\n          moduleId: PLATFORM.moduleName('views/backoffice/agreements')\n        }, {\n          authGroups: ['ADMIN'],\n          label: 'Archiviazione S3',\n          href: 'backoffice/archiviazione',\n          moduleId: PLATFORM.moduleName('views/backoffice/archiviazione')\n        }, {\n          href: 'backoffice/notifiche',\n          label: 'Notifiche di sistema',\n          authRoles: ['LIST_ANY_USER_SYSTEM_NOTIFICATION'],\n          moduleId: PLATFORM.moduleName('views/backoffice/notifiche-sistema/notifiche')\n        },\n        {\n          label: 'Avvisi Wall',\n          href: 'backoffice/avvisi',\n          authRoles: ['LIST_WALL_ADVICES'],\n          moduleId: PLATFORM.moduleName('views/backoffice/avvisi/wall-advices')\n        },\n        {\n          label: 'MultiTrax Outbox',\n          href: 'backoffice/multitrax',\n          authRoles: ['LIST_ANY_MTRAX_OUTBOX_MESSAGE'],\n          moduleId: PLATFORM.moduleName('views/backoffice/multitrax/multitrax')\n        },\n        {\n          label: 'P.IVA non autorizzate',\n          afterIcon: 'far fa-external-link',\n          call: () => { this.dialogBlacklistedTaxCodes(); },\n          authRoles: ['LIST_BLACKLISTED_TAX_CODES'],\n        }]\n      }, {\n        collapsed: true,\n        label: 'MultiCerta',\n        svg: 'logo-multicerta.svg',\n        authGroups: ['MASTER_USER'],\n        id: 'km-layout-aside-menu-multicerta',\n        nav: [{\n          label: 'Reportistica',\n          href: 'multicerta/report',\n          authGroups: ['_MASTER_USER'],\n        }, {\n          label: 'Invita',\n          authRequired: true,\n          title: 'Multicerta',\n          href: 'multicerta/invite',\n          route: ['multicerta/invite'],\n          afterIcon: 'far fa-arrow-to-right',\n          moduleId: PLATFORM.moduleName('views/multicerta/invite')\n        }]\n      }, {\n        label: 'Multinforma',\n        authGroups: ['MASTER_USER'],\n        svg: 'logo-multinforma.svg',\n        afterIcon: 'far fa-external-link',\n        id: 'km-layout-aside-menu-multinforma',\n        call: () => { this.openMultinforma(); }\n      }\n    ];\n  }\n  dialogBlacklistedTaxCodes() {\n    return this.kaDialog.open({\n      title: 'P.IVA non autorizzate',\n      class: 'blacklisted-tax-codes',\n      viewModel: PLATFORM.moduleName('views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes')\n    }, true)\n  }\n  openMultinforma() {\n    if (this.areContractualAgreementsSigned()) {\n      this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n        let token = xhr.response.token;\n        window.open(`${ENVIRONMENT.APP_URL_MULTINFORMA}?token=${token}`);\n      }).catch((error) => { \n        console.error('openMultinforma', error); \n      });\n    }\n  } \n  openSenderui(queueType = null) {\n    if (this.areContractualAgreementsSigned()) {\n      this.getCrossLoginTokens().then((xhr) => {\n        const token = xhr.response.token;\n        const iframe = `/senderui/?owner=${this.api.user.id}&ts=${token}#/home` + (queueType ? `/${queueType}` : '');\n        this.dialog.open({\n          lock: true,\n          model: { iframe },\n          viewModel: PLATFORM.moduleName('views/app/dialog-senderui')\n        });\n      });\n    }\n  }\n  getCrossLoginTokens() {\n    return this.api.get('users/me/cross-login-tokens/current').catch((error) => {\n      console.error('getCrossLoginTokens', error);\n    });\n  }\n  areContractualAgreementsSigned() {\n    const checkAgreements = this.mdUser.checkFlow.getCheck('checkAgreements');\n    const areContractualAgreementsSigned = this.api.isImpersonated || checkAgreements && checkAgreements.hasPassed;\n    console.warn('Are the contractual agreements signed or the user has been impersonated ?', areContractualAgreementsSigned);\n    return areContractualAgreementsSigned;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject, InlineViewStrategy } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class Toolbar {\n  mdt = mdt;\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.items = [];\n    this.toast = toast;\n    this.dialog = dialog;\n    this.notiIntervalCounter = 0;\n    this.init();\n  }\n  init() {\n    this.items = [{\n      href: 'notifiche',\n      label: 'Notifiche',\n      icon: 'fal fa-bell',\n      route: ['notifiche'],\n      authRoles: ['LIST_USER_UI_NOTIFICATION'],\n      moduleId: PLATFORM.moduleName('views/notifiche-ui/notifiche'),\n      badge: {\n        promise: (resolve) => {\n          let storage = localStorage.getItem(btoa('ui-notifications-counter')) || null;\n          let element = document.querySelector('.km-layout-toolbar');\n          let icon = document.querySelector('.km-layout-toolbar > a[href=\"notifiche\"] > i');\n          if (storage && element ) {\n            if (JSON.parse(storage).totalUnreadNotifications) {\n              if (JSON.parse(storage).totalUnreadNotifications === 'error') {\n                if (!element.classList.contains('notifications-error')) element.classList.add('notifications-error');\n                return resolve('!');\n              } else if (JSON.parse(storage).totalUnreadNotifications !== 'error') {\n                if (element.classList.contains('notifications-error')) element.classList.remove('notifications-error');\n                icon.classList.remove('fa-bell');\n                icon.classList.add('fa-bell-exclamation');\n                return resolve(parseInt(JSON.parse(storage).totalUnreadNotifications, 10) || null);\n              }\n            }\n          }\n        },\n        interval: 2000\n      }\n    }, {\n      settings: true, // usato come riferimento per pagina elenco settings\n      authGroups: ['MASTER_USER', 'BASIC_USER'],\n      label: 'Imposta',\n      icon: 'fal fa-cog',\n        nav: [{\n          label: 'Generali',\n          icon: 'fal fa-cog',\n          href: 'impostazioni/generali',\n          route: ['impostazioni/generali'],\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/generali')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          hidden: true,\n          label: 'Condizioni di servizio',\n          icon: 'fal fa-clipboard',\n          href: 'impostazioni/agreements',\n          route: 'impostazioni/agreements/:id?',\n          moduleId: PLATFORM.moduleName('views/impostazioni/agreements')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Notifiche',\n          icon: 'fal fa-bell',\n          href: 'impostazioni/notifiche',\n          route: ['impostazioni/notifiche'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/notifiche')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Fax',\n          icon: 'fal fa-fax',\n          href: 'impostazioni/fax',\n          route: ['impostazioni/fax'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/fax')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'SMS',\n          icon: 'fal fa-comments-alt',\n          href: 'impostazioni/sms',\n          route: ['impostazioni/sms'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/sms')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Posta',\n          icon: 'fal fa-envelope',\n          href: 'impostazioni/posta',\n          route: ['impostazioni/posta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/posta')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Email\\\\PEC',\n          icon: 'fal fa-at',\n          href: 'impostazioni/email',\n          route: ['impostazioni/email'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/email')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Multibox',\n          icon: 'fal fa-box-open',\n          href: 'impostazioni/multibox',\n          route: ['impostazioni/multibox'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multibox')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'MultiCerta',\n          svg: 'logo-multicerta.svg',\n          href: 'impostazioni/multicerta',\n          route: ['impostazioni/multicerta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multicerta')\n        }]\n      }, {\n        href: 'help',\n        label: 'Aiuto',\n        route: ['help'],\n        icon: 'fal fa-question-circle',\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        moduleId: PLATFORM.moduleName('views/help/help')\n      }, {\n        hidden: !this.api.isImpersonated,\n        label: 'Rientra',\n        icon: 'fal fa-people-arrows',\n        call: () => { this.api.disimpersonate(); }\n      }, {\n        hidden: this.api.isImpersonated || !this.api.hasRole('IMPERSONATE_ANY_USER_WITH_SUPPORT_TICKET'),\n        label: 'Impersona',\n        icon: 'fal fa-people-arrows',\n        call: () => { this.impersonate(); }\n      }, {\n        href: 'dashboard',\n        label: 'Home',\n        route: [],\n        icon: 'fal fa-home-lg-alt',\n        moduleId: PLATFORM.moduleName('views/dashboard/dashboard')\n      }, {\n        label: 'Esci',\n        icon: 'fal fa-sign-out',\n        href: 'logout',\n        route: ['logout'],\n        moduleId: PLATFORM.moduleName('views/accesso/logout')\n      }\n    ];\n  }\n  impersonate() {\n    let params = { codice: null };\n    this.dialog.open({\n      title: 'Login con codice assistenza',\n      class: 'medium',\n      type: 'confirm',\n      viewStrategy: new InlineViewStrategy(`<template>Inserisci il codice assistenza per effettuare l'accesso:<br><br><ka-input config.bind=\"{control: 'text', label: 'Codice assistenza'}\" value.bind=\"params.viewStrategyParams.codice\"></ka-input></template>`),\n      viewStrategyParams: params\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.impersonate(null, params.codice).then(x => {\n        }).catch(error => {\n          konsole.error(error);\n          let response = error.response && typeof error.response === 'string' ? JSON.parse(error.response) : null;\n          this.toast.show('Errore nella procedura di accesso' + (response && response.detail ? `: ${response.detail}` : '!'), 'error');\n        });\n      }\n    });\n  }\n}\n\n/* OLD menù\nimport {inject, InlineViewStrategy} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\n  \n@inject(Api, KaDialog, KaToast)\nexport class Toolbar {\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.items = [];\n    this.notiIntervalCounter = 0;\n    this.init();\n  }\n  init() {\n    this.items = [{\n      authRoles: ['LIST_USER_UI_NOTIFICATION'],\n      label: 'Notifiche',\n      badge: {\n        promise: (resolve) => {\n          let storage = localStorage.getItem(btoa('ui-notifications-counter')) || null;\n          let element = document.querySelector('.km-layout-toolbar');\n          if (storage && element ) {\n            if (JSON.parse(storage).totalUnreadNotifications) {\n              if (JSON.parse(storage).totalUnreadNotifications === 'error') {\n                if (!element.classList.contains('notifications-error')) element.classList.add('notifications-error');\n                return resolve('!');\n              } else if (JSON.parse(storage).totalUnreadNotifications !== 'error') {\n                if (element.classList.contains('notifications-error')) element.classList.remove('notifications-error');\n                return resolve(parseInt(JSON.parse(storage).totalUnreadNotifications, 10) || null);\n              }\n            }\n          }\n        },\n        interval: 2000\n      },\n      icon: 'notifications',\n      href: 'notifiche',\n      route: ['notifiche'],\n      moduleId: PLATFORM.moduleName('views/notifiche-ui/notifiche')\n    }, {\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Imposta',\n        icon: 'settings',\n        href: null,\n        settings: true, // usato come riferimento per pagina elenco settings\n        nav: [{\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Generali',\n          icon: 'settings',\n          href: 'impostazioni/generali',\n          route: ['impostazioni/generali'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/generali')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Posta',\n          icon: 'markunread_mailbox',\n          href: 'impostazioni/posta',\n          route: ['impostazioni/posta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/posta')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Email',\n          icon: 'email',\n          href: 'impostazioni/email',\n          route: ['impostazioni/email'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/email')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Multibox',\n          icon: 'all_inbox',\n          href: 'impostazioni/multibox',\n          route: ['impostazioni/multibox'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multibox')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'MultiCerta',\n          icon: 'verified_user',\n          href: 'impostazioni/multicerta',\n          route: ['impostazioni/multicerta'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/multicerta')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'SMS',\n          icon: 'sms',\n          href: 'impostazioni/sms',\n          route: ['impostazioni/sms'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/sms')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Fax',\n          icon: 'print',\n          href: 'impostazioni/fax',\n          route: ['impostazioni/fax'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/fax')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          label: 'Notifiche',\n          icon: 'notification_important',\n          href: 'impostazioni/notifiche',\n          route: ['impostazioni/notifiche'],\n          moduleId: PLATFORM.moduleName('views/impostazioni/notifiche')\n        }, {\n          authGroups: ['MASTER_USER', 'BASIC_USER'],\n          hidden: true,\n          label: 'Condizioni di servizio',\n          icon: null,\n          href: 'impostazioni/agreements',\n          route: 'impostazioni/agreements/:id?',\n          moduleId: PLATFORM.moduleName('views/impostazioni/agreements')\n        }]\n      }, {\n        authGroups: ['MASTER_USER', 'BASIC_USER'],\n        label: 'Aiuto',\n        icon: 'help_outline',\n        href: 'help',\n        route: ['help'],\n        moduleId: PLATFORM.moduleName('views/help/help')\n      }, {\n        hidden: !this.api.isImpersonated,\n        label: 'Rientra',\n        icon: 'switch_account',\n        call: () => { this.api.disimpersonate(); }\n      }, {\n        hidden: this.api.isImpersonated || !this.api.hasRole('IMPERSONATE_ANY_USER_WITH_SUPPORT_TICKET'),\n        label: 'Impersona',\n        icon: 'switch_account',\n        call: () => { this.impersonate(); }\n      }, {\n        label: 'Esci',\n        icon: 'exit_to_app',\n        href: 'logout',\n        route: ['logout'],\n        moduleId: PLATFORM.moduleName('views/accesso/logout')\n      }\n    ];\n  }\n  impersonate() {\n    let params = { codice: null };\n    this.dialog.open({\n      title: 'Login con codice assistenza',\n      class: 'medium',\n      type: 'confirm',\n      viewStrategy: new InlineViewStrategy(`<template>Inserisci il codice assistenza per effettuare l'accesso:<br><br><ka-input config.bind=\"{control: 'text', label: 'Codice assistenza'}\" value.bind=\"params.viewStrategyParams.codice\"></ka-input></template>`),\n      viewStrategyParams: params\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.impersonate(null, params.codice).then(x => {\n        }).catch(error => {\n          konsole.error(error);\n          let response = error.response && typeof error.response === 'string' ? JSON.parse(error.response) : null;\n          this.toast.show('Errore nella procedura di accesso' + (response && response.detail ? `: ${response.detail}` : '!'), 'error');\n        });\n      }\n    });\n  }\n}  \n*/\n","import * as md5 from 'md5';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { MdApi } from 'services/md-api';\nimport { KaToast } from 'ka-components';\nimport { Toolbar } from './app-toolbar';\nimport { KaDialog } from 'ka-components';\nimport { Redirect } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { inject  } from 'aurelia-framework';\nimport ENVIRONMENT from '../../environment';\nimport { Navigation } from './app-navigation';\nimport { Advices } from '../../classes/advices';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, Navigation, Toolbar, KaToast)\nexport class App {\n  mdt = mdt;\n  isAppUpdated = false;\n  environment = ENVIRONMENT;\n  constructor(api, navigation, toolbar, toast) {\n    this.api = api;\n    this.navigation = navigation;\n    this.toolbar = toolbar;\n    this.toast = toast;\n    \n    this.api.events.addEventListener('userDataChanged', () => this.initLayoutConfiguration());\n    this.initLayoutConfiguration();\n    \n    this.appUpdateCheck();\n    this.serverStatusCheck();\n    this.fingerprintCode();\n  }\n\n  initLayoutConfiguration() {\n    let pic = null;\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      if (this.api.user?.id === 2)   pic = '/static/mitch.gif';\n      if (this.api.user?.id === 329) pic = '/static/valente.gif';\n    }\n    this.layoutConfiguration = {\n      brand: '/static/images/brand.png',\n      user: {\n        account: this.setAccountTitle(),\n        display: this.setUserDisplayName(),\n        username: this.api.user?.email || this.api.user?.username,\n        roles: this.api.data?.roles || this.api.user?.roles || null,\n        group: this.api.data?.groups || this.api.user?.group || null,\n      },\n      profile: {\n        picture: pic,\n        href: 'gestione/profilo/me/anagrafica'\n      },\n      navigation: this.navigation,\n      toolbar: this.toolbar,\n      isDevelopmentEnvironment: this.environment.APP_DEBUG === 'true',\n      infoBox: { \n        message: '<strong>Stai operando in ambiente di sviluppo</strong><br>Non partiranno comunicazioni reali <br>e non verranno eseguiti addebiti', \n        icon: 'fal fa-tools' \n      }\n    }\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n  }\n  configureRouter(config, router) {\n    this.router = router;\n    config.title = 'MultiDialogo';\n    config.options.pushState = true;\n\n    // Router routes\n    const parseNavigation = (nav, inherit) => {\n      for (let item of nav) {\n        if (item.moduleId) {\n          let route = {\n            name: item.name || item.href,\n            href: item.href,\n            route: item.route || item.href,\n            title: item.title || item.label,\n            moduleId: item.moduleId,\n            activationStrategy: 'replace',\n            settings: {\n              hasLayout: !(item.hasLayout === false),\n              hasLanguages: !!item.hasLanguages,\n              authRequired: (inherit && inherit.authRequired) || !!item.authRequired || (item.authGroups && item.authGroups.length > 0) || (item.authRoles && item.authRoles.length > 0),\n              authGroups: item.authGroups || null,\n              authRoles: item.authRoles || null\n            }\n          };\n          config.mapRoute(route);\n        }\n        if (item.nav) parseNavigation(item.nav, item);\n      }\n    };\n    parseNavigation(this.navigation.items);\n    parseNavigation(this.toolbar.items);\n    if (ENVIRONMENT.APP_DEBUG === 'true') {\n      config.mapRoute({\n        name: 'template',\n        route: 'template',\n        moduleId: PLATFORM.moduleName('views/_template/routeViewName'),\n        settings: {\n          hasLayout: true,\n          authRequired: true\n        }\n      });\n    }\n    config.mapRoute({\n      name: 'legacy',\n      route: 'legacy/viewer/:view',\n      moduleId: PLATFORM.moduleName('views/_legacy/viewer'),\n      settings: {\n        hasLayout: false,\n        authRequired: true\n      }\n    });\n    config.mapRoute({\n      name: 'maintenance',\n      route: 'maintenance/:reason?',\n      moduleId: PLATFORM.moduleName('views/app/maintenance'),\n      settings: {\n        hasLayout: false,\n        authRequired: false\n      }\n    });\n    config.mapUnknownRoutes({\n      name: 'not-found',\n      route: 'not-found',\n      moduleId: PLATFORM.moduleName('views/app/not-found'),\n      settings: {\n        hasLayout: false,\n        authRequired: false\n      }\n    });\n    //config.fallbackRoute('not-found');\n  \n    config.addPipelineStep('authorize', AutologinStep);\n    config.addPipelineStep('authorize', AuthorizeStep);\n    config.addPipelineStep('preActivate', InitializationStep);\n    config.addPipelineStep('preActivate', NotificationsStep);\n    config.addPipelineStep('postRender', WallAdvicesStep);\n    \n\n    konsole.debug('APP CONFIG', config);\n    konsole.debug('APP ROUTER', router);\n  }\n  gotoLegacy() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=home`, '_blank');\n    }, xhr => {}).catch(error => {console.error(error)}).finally(() => { this.toast.consume(); });\n  }\n\n  set appEtag(value) {\n    if (value) {\n      if (!this.savedAppEtag) this.savedAppEtag = value;\n      else this.isAppUpdated = this.savedAppEtag !== value;\n    }\n    console.debug('saved eTag', this.savedAppEtag, 'current eTag', value);\n  }\n\n  async getAppIndex() {\n    const response = await fetch('/index.html');\n    return this.appEtag = response?.headers?.get('Etag');\n  }\n\n  appUpdateCheck() {\n    this.getAppIndex();\n    return setInterval(async () => {\n      this.getAppIndex();\n    }, 900000);\n  }\n\n  serverStatusCheck() {\n    setInterval(() => {\n      this.api.get('').then(xhr => {\n        this.serverStatusResponse = xhr;\n      }).catch(xhr => {\n        console.error('serverStatusCheck error', xhr);\n        if (typeof xhr.response === 'string' && xhr.response.startsWith('{')) {\n          xhr.response = JSON.parse(xhr.response);\n        }\n        this.serverStatusResponse = xhr;\n      });\n    },\n    30000);\n  }\n\n  fingerprintCode() {\n    if (window.localStorage.getItem('xhr-fingerprint')) return;\n    let date = new Date();\n    let yearMonthDate = `${date.getFullYear()}${date.getMonth()+1}${date.getDate()}`;\n    let userAgent = md5(window.navigator.userAgent);\n    let userAgentYmd = md5(`${yearMonthDate}${userAgent}`).slice(0, 19);\n    let hourMinute = `${date.getHours()}${ date.getMinutes()}`;\n    let deviceFingerprint =  `${yearMonthDate}${userAgent}${userAgentYmd}${hourMinute}`;\n    window.localStorage.setItem('xhr-fingerprint', deviceFingerprint);\n  }\n\n  setAccountTitle() {\n    let account = 'Utente';\n    const group = this.api?.user?.group;\n    const businessType = this.api?.user?.profile?.businessType;\n    switch (true) {\n      case group === 'ADMIN':\n        account = 'amministratore';\n        break;\n      case businessType === 'BUILDING-ADMINISTRATOR':\n        account = 'studio';\n        break;\n      case businessType === 'BUILDING':\n        account = 'condominio';\n        break;\n      case ['SYSTEM-EMPLOYEE', 'BANK-OPERATOR'].includes(businessType) || ['PRINT_BACKOFFICE', 'MARKETING'].includes(group):\n        account = 'operatore';\n        break;\n    }\n    return account;\n  }\n\n  setUserDisplayName() {\n    let displayName = this.api.user?.name;\n    if (this.api.user?.firstname && this.api.user?.lastname) {\n      displayName = `${this.api.user?.firstname} ${this.api.user?.lastname}`;\n    }\n    return displayName;\n  }\n}\n\n@inject(Api)\nclass AutologinStep {\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  run(navigationInstruction, next) {\n    konsole.debug('AutologinStep');\n    if (navigationInstruction.config.name === 'login') {\n      konsole.debug('Skipping as requesting login view which resets user\\'s authentication');\n      return next();\n    }\n    let code = new URLSearchParams(window.location.search).get('st');\n    if (code) {\n      console.group('Autologin');\n      console.log('Code:', code);\n      return this.api.login(null, null, code).then(x => {\n        console.log('Auth: successful');\n        return next();\n      }).catch(x => {\n        console.log('Auth: failed');\n        return next.cancel(new Redirect('logout'));\n      }).finally(() => {\n        console.groupEnd();\n      });\n    }\n    return next();\n  }\n}\n\n@inject(Api)\nclass AuthorizeStep {\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  run(navigationInstruction, next) {\n    if (navigationInstruction.config.name === 'login') {\n      // Skipping as requested route is the login view which resets user's authentication\n      return next();\n    }\n    let isAuthenticated = this.api.isAuthenticated;\n    let currentRoute = navigationInstruction.config;\n    let authRequired = currentRoute.settings && !!currentRoute.settings.authRequired;\n\n    if (authRequired && !isAuthenticated) {\n      const href = `${window.location.pathname}${window.location.search}`;\n      sessionStorage.setItem(btoa(`reroute`), JSON.stringify({ href }));\n      return next.cancel(new Redirect('logout'));\n    }\n    if (currentRoute.settings.authGroups && (!this.api.user || !this.api.user.group || !currentRoute.settings.authGroups.includes(this.api.user.group))) {\n      return next.cancel(new Redirect('dashboard'));\n    }\n    if (currentRoute.settings.authRole && (!this.api.user || !this.api.user.roles || !this.api.hasRole(currentRoute.settings.authRole))) {\n      return next.cancel(new Redirect('dashboard'));\n    }\n    return next();\n  }\n}\n\n@inject(Api, MdApi, MdUser, MdDatasources, Navigation, Toolbar)\nclass InitializationStep {\n  constructor(Api, MdApi, MdUser, MdDatasources, Navigation, Toolbar) {\n    this.api = Api;\n    this.mdApi = MdApi;\n    this.mdUser = MdUser;\n    this.mdDatasources = MdDatasources;\n    this.navigation = Navigation;\n    this.toolbar = Toolbar;\n  }\n  async run(navigationInstruction, next) {\n    if (navigationInstruction.config.name === 'login') {\n      // Skipping as requested route is the login view which resets user's authentication\n      return next();\n    }\n\n    await this.mdDatasources.initialize();\n    const fragment = navigationInstruction.fragment;\n    const userCheck = await this.mdUser.check(fragment);\n\n    if (userCheck.hasPassed === false && !userCheck.redirect) return next.cancel();\n    if (userCheck.redirect) return userCheck.redirect === fragment ? next() : next.cancel(new Redirect(userCheck.redirect));\n\n    this.navigation.init();\n    this.toolbar.init();\n    return next();\n  }\n}\n\n@inject(Api, MdApi, MdUser, MdDatasources, Navigation)\nclass NotificationsStep {\n  constructor(Api, MdApi, MdUser, MdDatasources, Navigation) {\n    this.api = Api;\n    this.mdApi = MdApi;\n    this.mdUser = MdUser;\n    this.mdDatasources = MdDatasources;\n    this.navigation = Navigation;\n  }\n  run(navigationInstruction, next) {\n    konsole.debug('NotificationsStep');\n    if (navigationInstruction.config.name === 'login') {\n      konsole.debug('Skipping as requesting login view which resets user\\'s authentication');\n      return next();\n    }\n    if (!this.api.isAuthenticated) {\n      konsole.debug('Skipping as authentication is missing');\n      return next();\n    }\n    let storage = { totalUnreadNotifications: null, myUnreadNotifications: null, subusersUnreadNotifications: null }\n    this.api.get('users/me/ui-notification-alerts').then(xhr => {\n      storage.totalUnreadNotifications = xhr.originalResponse.meta.totalUnreadNotificationsCount ? parseInt(xhr.originalResponse.meta.totalUnreadNotificationsCount, 10) : null;\n      storage.myUnreadNotifications = xhr.originalResponse.meta.totalMineUnreadNotificationsCount ?  parseInt(xhr.originalResponse.meta.totalMineUnreadNotificationsCount,10): null;\n      storage.subusersUnreadNotifications = xhr.originalResponse.meta.totalSubuserUnreadNotificationsCount ? parseInt(xhr.originalResponse.meta.totalSubuserUnreadNotificationsCount, 10) : null;\n    }).catch(error => {\n      console.error('NotificationsStep', error);\n      storage.totalUnreadNotifications = storage.myUnreadNotifications = storage.subusersUnreadNotifications = 'error';\n    }).finally(() => {\n      localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n    });\n    return next();\n  }\n}\n\n@inject(Api, Advices, KaDialog)\nclass WallAdvicesStep {\n  constructor(api, advices, dialog) {\n    this.api = api;\n    this.advices = advices;\n    this.dialog = dialog;\n  }\n\n  async run(navigationInstruction, next) {\n\n    if (!this.api.hasRole(\"LIST_USER_WALL_ADVICES\") || this.api.user.group !== 'MASTER_USER') {\n      return next();\n    }\n    \n    await this.advices.initialize();\n\n    const advicesToShow = this.advices.get(navigationInstruction.config.name);\n    if (!advicesToShow) return next();\n    \n    for (const advice of advicesToShow) {\n      const result = await this.dialog.open({\n        title: ' ',\n        class: 'medium wall-advice',\n        viewModelParams: { adviceToShow: advice },\n        viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/wall-advice'),\n      }).whenClosed();\n      if (!result.wasCancelled) {\n        this.advices.remove(advice);\n      } else {\n        this.advices.setAsSeen(advice);\n      }\n    }\n    return next();\n  }\n}\n\n","import {inject} from 'aurelia-framework';\nimport {DialogController} from 'aurelia-dialog';\nimport {KaDialog} from 'ka-components';\n\n@inject(DialogController, KaDialog)\nexport class DialogModalSenderUI {\n  constructor(controller, dialog){\n    this.controller = controller;\n    this.dialog = dialog;\n  }\n  activate(model) {\n    this.model = model;\n  }\n  close() {\n    if (window.senderui?.SenderUI.checkDraftSaved) {\n      window.senderui.SenderUI.checkDraftSaved().then(payload => {\n        this.controller.cancel();\n      }).catch(error => {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: '<strong>Confermi di voler chiudere questa finestra?</strong><br>Le modifiche sulla bozza corrente andranno perse!'}).whenClosed(response => {\n          if (!response.wasCancelled) {\n            if (window.senderui.SenderUI.draft?.reset) window.senderui.SenderUI.draft.reset();\n            this.controller.cancel();\n          }\n        });\n      });\n    } else this.controller.cancel();\n  }\n}\n","import { HttpClient } from 'aurelia-http-client';\n\nexport class vmMaintenance {\n  constructor() {\n    this.client = new HttpClient();\n  }\n\n  activate(params) {\n    if (params.reason) this.reason = window.atob(params.reason);\n  }\n\n  attached() {\n    this.getHealthcheck();\n    setInterval(() => {\n      this.getHealthcheck();\n    }, 60000);\n  }\n\n  async getHealthcheck() {\n    try {\n      const xhr = await this.client.get(`${ENVIRONMENT.APP_API_BASE_URL}../../healthcheck`);\n      const response = JSON.parse(xhr.response);\n      if (response.status === 'WORKING') {\n        location.href = '/dashboard';\n      }\n    } catch (error) {\n      console.error('healthcheck', error);\n    }\n  }\n}\n","export class vmNotFound {\n  attached() {\n    setTimeout(() => {\n      location.href = '/dashboard';\n    }, 10000);\n  }\n}","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewAgreements {\n  endpoint = 'bo/user-agreements';\n  isActive = false;\n  agreement = {\n    route: PLATFORM.moduleName('views/_agreement/agreement'),\n    view: null,\n    back: true\n  }\n  \n  /* Agreements */\n  agreements = {\n    schema: {\n      startAt: {\n        label: 'Data inizio',\n        control: 'date',\n        readonly: false,\n        query: 'createdAt-lte'\n      },\n      label: {\n        label: 'Titolo',\n        control: 'text',\n        readonly: false\n      },\n      content: {\n        label: 'Descrizione',\n        readonly: false,\n        control: 'editor'\n      },\n      status: {\n        label: 'Attivazione',\n        control: 'combo',\n        datasource: [{ text: 'Attivo', value: 'ACTIVE' }, { text: 'Non attivo', value: 'NOT-ACTIVE' }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true,\n        datamultiple: false,\n        readonly: true,\n        query: 'statusCode-in'\n      }\n    }\n  };\n\n  /* Clauses */\n  clauses = {\n    schema: {\n      label: {\n        label: 'Titolo',\n        control: 'text'\n      },\n      content: {\n        label: 'Descrizione',\n        control: 'textarea'\n      }\n    },\n    data: []\n  };\n\n  constructor(router, api, kaDialog, kaToast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    /* Table interface */\n    this.agreementsTableInterface = new TableInterface({\n      name: 'agreements-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n\n    /* Table Search */\n    this.agreementsSearchInterface = new SearchInterface({\n      name: 'agreements-table-search',\n      table: this.agreementsTableInterface,\n      schema: {\n        startAtLte: {\n          label: 'Data inizio dal',\n          control: 'date',\n          query: 'createdAt-gte'\n        },\n        startAtGte: {\n          label: 'al',\n          control: 'date',\n          query: 'createdAt-lte'\n        },\n        status: this.agreements.schema.status\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.agreementsTableInterface.initialize().then(() => {\n      this.agreementsSearchInterface.initialize().then(() => {\n        this.init();\n      }).catch(error => { console.error('TableSearchInterface-initialize agreements failed', error); });\n    }).catch(error => { console.error('TableInterface-initialize agreements failed', error); });\n  }\n\n  init() {\n    if (!this.params.id) {\n      this.agreementsSearchInterface.search().catch(error => { console.error('TableSearchInterface-search agreements failed', error); });\n    }\n    this.clauses.data = [];\n    if (this.agreements.resource) {\n      if (this.params.id !== 'new') {\n        this.agreements.resource.load(`bo/user-agreements/${this.params.id}`).then(() => {\n          if (this.agreements.resource.data.status === 'ACTIVE') this.isActive = true;\n          else this.isActive = false;\n\n          /* Clauses */\n          if (this.agreements.resource.data.clauses) {\n            this.agreements.resource.data.clauses.forEach(clause => {\n              this.clauses.data.push({ data: JSON.parse(JSON.stringify(clause)) });\n            });\n          }\n        });\n      } else if (this.params.id === 'new') {\n        if (!this.agreements.resource.data.status) {\n          this.agreements.resource.data.status = 'NOT-ACTIVE';\n          this.isActive = false;\n        }\n      }\n    };\n  }\n\n  new() {\n    this.router.navigateToRoute('backoffice/agreements', { id: 'new' });\n  }\n\n  edit(record) {\n    /* // Set readonly from schema js\n    for (let property in this.agreements.schema) this.agreements.schema[property].readonly = record.status === 'ACTIVE' ? true : false;\n    for (let property in this.clauses.schema) this.clauses.schema[property].readonly = record.status === 'ACTIVE' ? true : false;\n    this.agreements.schema.status.readonly = true; */\n    this.router.navigateToRoute('backoffice/agreements', { id: record.uuid });\n  }\n\n  activation(record, $event) {\n    if (record.status === 'ACTIVE') return\n    if ($event) $event.model.busy = true;\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Se attivi questo agreement non potrai più modificarne il contenuto!'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.patch(`bo/user-agreements/${record.uuid}`, { status: 'ACTIVE' }).then(() => {\n          this.init();\n        }).catch(error => {\n          this.toast.show('Errore in fase di attivazione!', 'error');\n          console.log('Agreement activation', error);\n        }).finally(() => {\n          if ($event) $event.model.busy = false;\n        })\n      }\n    });\n  }\n\n  view(record) {\n    this.agreement.view = record;\n  }\n\n  cancel() {\n    this.agreement.view = null;\n    this.router.navigateToRoute('backoffice/agreements');\n  }\n\n  save(event) {\n    event.model.busy = true;\n    let method = 'post';\n    let endpoint = this.endpoint;\n    if (!Object.entries(this.agreements.resource.data).length) {\n      event.model.busy = false;\n      return;\n    } else if (this.params.id !== 'new') {\n      method = 'patch';\n      endpoint = `bo/user-agreements/${this.params.id}`;\n    }\n    if (this.agreements.resource.data.status !== 'ACTIVE') {\n      this.saveData(event, endpoint, method);\n      event.model.busy = false;\n    }\n  }\n\n  saveData(event, endpoint, method) {\n    event.model.busy = true;\n\n    // Clauses\n    let promises = [];\n    let newClause = false;\n    if (this.clauses?.data) this.clauses.data.forEach(clause => { if (clause.data && clause.data?.id === undefined) return newClause = true; });\n    if (this.params.id !== 'new' && newClause) {\n      this.clauses.data.forEach(clause => {\n        if (clause.data?.id === undefined) promises.push(clause.resource.save(clause.data, `bo/user-agreements/${this.params.id}/clauses`, 'post'));\n      });\n    }\n\n    // Save\n    this.agreements.resource.save(this.agreements.resource.data, endpoint, method).then(xhr => {\n      Promise.all(promises).then(() => {\n        if (this.params.id !== 'new' || (this.params.id === 'new' && this.agreements.resource.data.status === 'ACTIVE')) this.cancel();\n        else if (this.params.id === 'new' && this.agreements.resource.data.status === 'NOT-ACTIVE') {\n          this.params.id = xhr.response.uuid;\n          this.init();\n        }\n        this.toast.show('Agreement creato con successo!', 'success');\n      }).catch(error => {\n        console.error('Save clauses', error);\n        this.toast.show('Errore nel salvataggio!', 'error');\n      });\n    }).catch(error => {\n      console.error('Save agreements', error);\n      this.toast.show('Errore nel salvataggio!', 'error');\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n\n  deleteClause(event, id = null, idx) {\n    let newClause = false \n    if (this.clauses?.data) this.clauses.data.forEach(clause => { if (clause.data && clause.data?.id === undefined) return newClause = true; });\n    if (id) {\n      if (newClause) {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Tutte le clausole non salvate saranno cancellate'}).whenClosed(response => {\n          if (!response.wasCancelled) this.deleteClauseData(event, id);\n        });\n      } else this.deleteClauseData(event, id);\n    } else this.clauses.data.splice(idx, 1);\n  }\n\n  deleteClauseData(event, id) {\n    event.model.busy = true;\n    if (!id) return\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Stai cancellando questa clausola definitivamente. Confermi?'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`bo/user-agreements/${this.params.id}/clauses/${id}`).then(() => {  \n          this.toast.show('Clausola eliminata!', 'success');\n          this.init();\n        }).catch(() => {\n          this.toast.show('Errore nella cancellazione!', 'error');\n        }).finally(() => {\n          event.model.busy = false;\n        });\n      }\n    });\n  }\n\n  addClause() {\n    this.clauses.data.unshift({\n      data: { label: null, content: null }\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Router, Api)\nexport class viewAlias {\n  endpoint = 'bo/sms-aliases';\n\n  constructor(router, api) {\n    this.router = router;\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (!this.params.id) {\n      /* Table interface */\n      this.aliasTableInterface = new TableInterface({\n        name: 'table-alias',\n        client: this.api,\n        endpoint: 'bo/sms-aliases',\n        query: null\n      });\n\n      /* Table Search */\n      let schema = AliasSchema;\n      schema.requestedAt.label = 'Data richiesta dal';\n      this.aliasSearchInterface = new SearchInterface({\n        name: 'alias-table-search',\n        table: this.aliasTableInterface,\n        schema: {\n          requestedAtGte: schema.requestedAt,\n          requestedAtLte: {\n            label: 'al',\n            control: 'date',\n            datatype: 'datetime',\n            utc: true,\n            query: 'requestedAt-lte'\n          },\n          displayName: schema.displayName,\n          companyName: schema.companyName,\n          status: schema.status\n        },\n        data: {}\n      });\n\n      /* Initialize & Search function */\n      this.aliasTableInterface.initialize().then(() => {\n        this.aliasSearchInterface.initialize().then(() => {\n          this.aliasSearchInterface.search().catch(error => { console.error('search alias failed', error); });\n        }).catch(error => { console.error('table-search-initialize alias failed', error); });\n      }).catch(error => { console.error('table-interface-initialize alias failed', error); });\n    } else {\n      this.resource.schema = AliasSchema;\n      this.resource.endpoint = 'bo/sms-aliases' + (this.params.id !== 'new' ? `/${this.params.id}` : '');\n      if (this.params.id !== 'new') { this.resource.load(); }\n    }\n  }\n\n  edit(record) {\n    this.router.navigateToRoute('backoffice/alias', { id: record.id });\n  }\n\n  cancel() {\n    this.router.navigateToRoute('backoffice/alias');\n  }\n\n  /* save() {\n    if (this.params.id === 'new') {\n      this.resource.save().then();\n    } else {\n      this.resource.save(undefined, undefined, 'patch').then();\n    }\n  } */\n}\n\n\nexport const AliasSchema = {\n  displayName: {\n    label: 'Mittente SMS',\n    control: 'text',\n    query: 'displayName-like'\n  },\n  companyName: {\n    label: 'Azienda',\n    control: 'text',\n    query: 'companyName-like'\n  },\n  vatCode: {\n    label: 'Partita IVA',\n    control: 'text'\n  },\n  fiscalCode: {\n    label: 'Codice fiscale',\n    control: 'text'\n  },\n  streetAddress: {\n    label: 'Indirizzo',\n    control: 'text'\n  },\n  zipCode: {\n    label: 'CAP',\n    control: 'text'\n  },\n  country: {\n    label: 'Nazione',\n    control: 'text'\n  },\n  email: {\n    label: 'Email',\n    control: 'text'\n  },\n  phoneNumber: {\n    label: 'Telefono',\n    control: 'text'\n  },\n  requestedAt: {\n    label: 'Data richiesta',\n    control: 'date',\n    datatype: 'datetime',\n    utc: true,\n    query: 'requestedAt-gte'\n  },\n  status: {\n    label: 'Stato attivazione',\n    control: 'combo',\n    datatext: 'text',\n    datavalue: 'value',\n    datapreload: true,\n    datasource: [{ text: 'In attesa di registrazione', value: 'PENDING'}, { text: 'Richiesta registrata', value: 'REGISTERED' }, { text: 'Attivo', value: 'COMPLETED' }, { text: 'Errore', value: 'ERROR' }, { text: 'Richiesta rifiutata', value: 'REFUSED' }],\n    query: 'statusCode-in'\n  }\n}\n\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class viewArchiviazioneDialog {\n  preview = null;\n  result = null;\n\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    let data = {\n      attributes: {\n        realPath: this.params.record.realPath,\n        noDryRun: false\n      }\n    };\n    this.api.patch('bo/mi-queue/archive-files', { data }).then(x => {\n      konsole.debug(x.response);\n      this.preview = x.response;\n    });\n  }\n\n  archivia($event) {\n    if ($event && $event.model) $event.model.busy = true;\n    let data = {\n      attributes: {\n        realPath: this.params.record.realPath,\n        noDryRun: true\n      }\n    };\n    this.api.patch('bo/mi-queue/archive-files', { data }).then(x => {\n      konsole.debug(x.response);\n      this.result = x.response;\n    }).finally(() => {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog} from 'ka-components';\nimport moment from 'moment';\n\n@inject(Api, KaDialog)\nexport class viewArchiviazione {\n  archives = [];\n  data = {\n    yearFrom: moment().subtract(6, 'months').format('YYYY'),\n    monthFrom: moment().subtract(6, 'months').format('MM'),\n    yearTo: moment().format('YYYY'),\n    monthTo: moment().format('MM')\n  };\n  datasources = {\n    years: Array.from({length: 11}, (v, i) => { let y = new Date().getFullYear() - 11 + i + 1; return {text: y, value: y} }),\n    months: Array.from({length: 12}, (v, i) => { let m = moment(i+1, 'M'); return {text: m.locale('it').format('MMMM'), value: m.format('MM')} })\n  };\n\n\n  constructor(api, dialog) {\n    this.api = api;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.load();\n  }\n\n  load() {\n    this.api.get('bo/mi-queue/archive-files', this.data).then(x => {\n      konsole.debug(x.response);\n      this.archives = x.response.months;\n    });\n  }\n\n  archivia(record, test) {\n    this.dialog.open({\n      title: 'Archiviazione',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/backoffice/archiviazione-dialog'),\n      viewModelParams: { record }\n    }, true).whenClosed(response => {\n      this.load();\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { Advices } from '../../../../classes/advices';\n\n@inject(Api, KaDialog, KaToast, DialogController, Advices)\nexport class EditorWallAdvice {\n  wallAdvice;\n  isExpiredAdvice;\n  \n  constructor(api, dialog, toast, dialogController, advices) {\n    this.endpoint = 'bo/wall-advices';\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n    this.advices = advices;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.wallAdvice = params.wallAdvice;\n    this.init();\n  }\n\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        title: {\n          required: true,\n          control: 'text',\n          label: 'Titolo'\n        },\n        tag: {\n          label: 'tag',\n          required: true,\n          control: 'text'\n        },\n        htmlContent: {\n          required: true,\n          control: 'editor', \n          label: 'Contenuto avviso in formato HTML'\n        },\n        type: {\n          required: true,\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Tipologia avviso',\n          datasource: [\n            { value: 'SIMPLE', text: 'Semplice: nascosto dopo la chiusura.' }, \n            { value: 'REMINDER', text: 'Con Reminder: riproposto ad ogni sessione.' }\n          ]\n        },\n        targetCodes: {\n          required: true,\n          label: 'Sezioni target',\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'code',\n          datamultiple: true,\n         datasource: this.advices.targetRoutes\n        },\n        startAt: {\n          required: true,\n          control: 'date',\n          label: 'Programmato dal',\n        },\n        endAt: {\n          label: 'Al',\n          required: false,\n          control: 'date',\n        },\n        public: {\n            label: 'Visibilità',\n            required: true,\n            control: 'combo',\n            datapreload: true,\n            datamultiple: false,\n            datavalue: \"value\",\n            datatext: \"text\",\n            datasource: [\n              { value: 'YES', text: 'Pubblico' },\n              { value: 'NO', text: 'Privato' },\n            ],\n          }\n      },\n      data: {},\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          if (!control) return;\n          promises.push(new Promise((resolve, reject) => {\n            console.log(control);\n            if (control.validate)\n              control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n            else if (control.input?.validate)\n              control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n          }));\n        });\n        return Promise.all(promises);\n      },\n    };\n  }\n\n  init() {\n    this.initResource();\n    if (this.wallAdvice) {\n      this.getWallAdvice();\n    }\n  }\n\n  getWallAdvice() {\n    this.pendingGetWallAdvice = true;\n    return this.api.get(`${this.endpoint}/${this.wallAdvice.id}`).then((xhr) => {\n      const response = xhr.response;\n      this.resource.data = { ...response }\n      if (this.checkIsExpiredAdvice(response.endAt)) {\n        this.isExpiredAdvice = true;\n      } else {\n        this.isExpiredAdvice = false;\n      }\n    }).catch((error) => {\n      console.error(\"Get wall advice\", error);\n      this.toast.show(\"Impossibile recuperare il contenuto dell'avviso\", \"error\");\n    }).finally(() => {\n      this.pendingGetWallAdvice = false;\n    });\n  }\n\n  wallAdvicePreview() {\n    return this.dialog.open({\n      title: ' ',\n      class: 'medium wall-advice',\n      viewModelParams: { wallAdvice: this.resource.data },\n      viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/wall-advice-preview')\n    });\n  }\n\n  editWallAdvice($event) {\n    $event.model.busy = true;\n    return this.dialogAdviceConfirmation().whenClosed((response) => {\n      if (!response.wasCancelled) {\n        return this.resource.validate().then(() => {\n          return this.api[this.isExpiredAdvice ? 'post' : 'put'](`${this.endpoint}${this.isExpiredAdvice ? '' : '/' + this.wallAdvice.id}`, this.resource.data).then((xhr) => {\n            if (this.isExpiredAdvice) {\n              const update = new Event(\"updateActiveList\");\n              window.dispatchEvent(update);\n            }\n            this.toast.show(\"Avviso modificato corretamente!\", \"success\");\n            this.controller.ok();\n          }).catch((error) => {\n            console.error(error);\n            this.api.dialogError(error, this.resource.controls);\n          }).finally(() => {\n            $event.model.busy = false;\n          })\n        }).catch(() => {\n          $event.model.busy = false;\n        })\n      } else {\n        $event.model.busy = false;\n      }\n    });\n  }\n\n  checkIsExpiredAdvice(date) {\n    const endDate = new Date(date);\n    const currentDate = new Date();\n    return endDate < currentDate;\n  }\n\n  normalizeStartAtDateTime() {\n    let date = new Date(this.resource.data.startAt);\n    date.setHours(0,0,0)\n    this.resource.data.startAt = date.toISOString().replace(/\\.\\d{3}/, '');\n  }\n\n  normalizeEndAtDateTime() {\n    let date = new Date(this.resource.data.endAt);\n    date.setHours(23,59,59)\n    this.resource.data.endAt = date.toISOString().replace(/\\.\\d{3}/, '');\n  }\n\n  dialogAdviceConfirmation() {\n    const currentDate = new Date().getTime();\n    const visibilityStartDate = new Date(this.resource.data.startAt).getTime();\n    let visibilityEndDate;\n    let alreadyVisible;\n    if (this.resource.data.endAt) {\n      visibilityEndDate = new Date(this.resource.data.endAt).getTime();\n      alreadyVisible = currentDate >= visibilityStartDate && currentDate <= visibilityEndDate;\n    } else {\n      alreadyVisible = currentDate >= visibilityStartDate;\n    }\n    return this.dialog.open({\n      title: 'Attenzione!',\n      class: 'confirm-advice',\n      type: 'confirm',\n      body: `<p class=\"m-0\"><strong>Stai per ${this.wallAdvice ? 'modificare un' : 'creare un nuovo'} avviso!</strong></p><p class=\"m-0\">${(this.resource.data.public === 'YES') ? `${alreadyVisible ? `Sarà visibile agli utenti fin da subito` : `Sarà visibile agli utenti a partire dalla data prescelta`}, confermi di voler procedere?` : 'Non sarà visibile agli utenti finchè rimarrà privato.'}</p>`\n    });\n  }\n\n  createWallAdvice($event) {\n    $event.model.busy = true;\n      return this.dialogAdviceConfirmation().whenClosed((response) => {\n        if (!response.wasCancelled) {\n          return this.resource.validate().then(() => {\n            return this.api.post(this.endpoint, this.resource.data).then(() => {\n              this.toast.show(\"Avviso creato corretamente!\", \"success\");\n              this.controller.ok();\n            }).catch((error) => {\n              console.error(error);\n              this.api.dialogError(error, this.resource.controls);\n            }).finally(() => {\n              $event.model.busy = false;\n            })\n          }).catch(() => {\n            $event.model.busy = false;\n          })\n        } else {\n          $event.model.busy = false;\n        }\n      });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class PreviewWallAdvice {\n  wallAdvice;\n  \n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.wallAdvice = params.wallAdvice;\n  }\n\n  attached() {\n    const elementHeader = document.querySelector('ux-dialog.wall-advice ux-dialog-header h2');\n    const title = elementHeader.appendChild(document.createElement('span'));\n    title.classList.add('title');\n    title.innerHTML = 'Anteprima avviso';\n  }\n}","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class WallAdvice {\n  wallAdvice;\n  htmlTemplate;\n  pendingGetWallAdvice;\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n    this.endpoint;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params.wallAdvice) {\n      this.endpoint = \"bo/wall-advices\"\n      this.wallAdvice = params.wallAdvice;\n      this.getWallAdvice();\n    }\n    if (this.params.adviceToShow) {\n      this.wallAdvice = this.params.adviceToShow;\n      this.endpoint = \"users/me/wall-advices\";\n      this.htmlTemplate = this.wallAdvice.htmlContent;\n    }\n  }\n\n  attached() {\n    const elementHeader = document.querySelector('ux-dialog.wall-advice ux-dialog-header h2');\n    const title = elementHeader.appendChild(document.createElement('span'));\n    title.classList.add('title');\n    title.innerHTML = 'Avviso importante!';\n  }\n\n  acknowledgedAdvice() {\n    return this.api.patch(`${this.endpoint}/${this.wallAdvice.id}`, { acknowledged: 'YES' }).then(() => {\n    }).catch((error) => {\n      console.error(\"Error patching advice acknowledge\", error);\n    }).finally(() => {\n      this.controller.ok();\n    })\n  }\n\n  getWallAdvice() {\n    this.pendingGetWallAdvice = true;\n    return this.api.get(`${this.endpoint}/${this.wallAdvice.id}`).then((xhr) => {\n      const response = xhr.response;\n      this.htmlTemplate = response.htmlContent;\n    }).catch((error) => {\n      console.error(\"Get wall advice\", error);\n      this.toast.show(\"Impossibile recuperare il contenuto dell'avviso\", \"error\");\n    }).finally(() => {\n      this.pendingGetWallAdvice = false;\n    });\n  }\n}","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class viewCurrentAdvices {\n  \n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n    window[`active-advices-update-handler`] = () => { this.search(); };\n    window.addEventListener(\"updateActiveList\", window[`active-advices-update-handler`]);\n  }\n\n  detached() {\n    window.removeEventListener('updateActiveList', window[`active-advices-update-handler`]);\n    delete(window[`active-advices-update-handler`]);\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-wall-advices',\n      endpoint: \"bo/wall-advices\",\n      query: \"status-in=ACTIVE,SCHEDULED\"\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-activeAdvices-search',\n      table: this.tableInterface,\n      schema: {\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        tag: {\n          label: 'Tag',\n          control: 'text',\n          query: \"tag\"\n        },\n        startAt: {\n          control: 'date',\n          label: 'Programmato dal',\n          query: 'active-at-gte'\n        },\n        endAt: {\n          label: 'al',\n          control: 'date',\n          query: \"active-at-lte\"\n        },\n        public: {\n          control: \"check\",\n          description: \"escludi privati\",\n          label: \"Visibilità\",\n          query: \"exclude-private\"\n        }\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    data.public = (data.public) ? \"YES\" : \"NO\";\n    if (data.startAt) {\n      data.startAt = this.tools.normalizeStartAtDateTime(this.searchInterface.data.startAt);\n    }\n    if (data.endAt) {\n      data.endAt = this.tools.normalizeEndAtDateTime(this.searchInterface.data.endAt);\n    }\n    return await this.searchInterface.search(data);\n  }\n\n  reset() {\n    this.searchInterface.reset();\n  }\n\n  openEditorWallAdvice(record) {\n    this.tools.dialogEditorWallAdvice((record) ? record : null).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n}","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class viewExpiredAdvices {\n  \n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-wall-advices',\n      endpoint: \"bo/wall-advices\",\n      query: \"status-in=EXPIRED\",\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-expiredAdvices-search',\n      table: this.tableInterface,\n      schema: {\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        tag: {\n          label: 'tag',\n          control: 'text',\n          query: \"tag\"\n        },\n        startAt: {\n          control: 'date',\n          label: 'Programmato dal',\n          query: 'active-at-gte'\n        },\n        endAt: {\n          label: 'al',\n          control: 'date',\n          query: 'active-at-lte'\n        },\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n\n  reset() {\n    this.searchInterface.reset();\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    if (data.startAt) {\n      data.startAt = this.tools.normalizeStartAtDateTime(this.searchInterface.data.startAt);\n    }\n    if (data.endAt) {\n      data.endAt = this.tools.normalizeEndAtDateTime(this.searchInterface.data.endAt);\n    }\n    return await this.searchInterface.search(data);\n  }\n\n  dialogConfirmExpiredAdviceDeletion($event, adviceUuid) {\n    this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\"><strong class=\"d-block\">Stai eliminando un Avviso Wall.</strong>Confermi di voler procedere con l'eliminazione?</p>`\n    }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.deleteExpiredAdvice($event, adviceUuid);\n        }\n      });\n  }\n\n  deleteExpiredAdvice($event, adviceUuid) {\n    $event.model.busy = true;\n    return this.api.delete(`bo/wall-advices/${adviceUuid}`).then(() => {\n      this.search();\n      this.toast.show('Avviso Wall eliminato con successo!', 'success');\n    }).catch((error) => {\n      console.error('bo/wall-advices', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast, MdUser, Router)\nexport class vmAdvices {\n  privileges = {};\n  tabs = [\n    {\n      id: 'activeAdvices',\n      label: 'Avvisi Wall Attivi',\n      vm: PLATFORM.moduleName('views/backoffice/avvisi/tabs/active-advices')\n    },\n    {\n      id: 'expiredAdvices',\n      label: 'Avvisi Wall Non Attivi',\n      vm: PLATFORM.moduleName('views/backoffice/avvisi/tabs/expired-advices')\n    },\n  ];\n\n  constructor(api, kaDialog, kaToast, mdUser, router) {\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      dialogEditorWallAdvice: (record) => {\n        return this.dialog.open({\n          title: `${record ? 'Modifica' : 'Crea nuovo'} avviso`,\n          class: 'editor-wall-advice',\n          viewModelParams: { wallAdvice: record },\n          viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/editor-wall-advice')\n        });\n      },\n      dialogWallAdvice: (record) => {\n        return this.dialog.open({\n          title: ' ',\n          class: 'medium wall-advice',\n          viewModelParams: { wallAdvice: record },\n          viewModel: PLATFORM.moduleName('views/backoffice/avvisi/dialogs/wall-advice')\n        });\n      },\n      normalizeStartAtDateTime: (dateToNormalize) => {\n        let date = new Date(dateToNormalize);\n        date.setHours(0,0,0)\n        return date.toISOString().replace(/\\.\\d{3}/, '');\n      },\n      normalizeEndAtDateTime: (dateToNormalize) => {\n        let date = new Date(dateToNormalize);\n        date.setHours(23,59,59)\n        return date.toISOString().replace(/\\.\\d{3}/, '');\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    if (this.api.hasRole('LIST_WALL_ADVICES')) {\n      ['activeAdvices', 'expiredAdvices'].forEach((id) => { this.privileges.tabs[id] = true; })\n    }\n  }\n}\n","\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class dialogBlacklistedTaxCodes {\n  isErrorInit;\n  isPendingInit;\n\n  static inject = [Api, DialogController];\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n  attached() {\n    this.init();\n  }\n  async init() {\n    await this.initTableInterface();\n    this.tableInterface.load().finally(() => {\n      this.isPendingInit = false;\n    }).catch(() => {\n      this.isErrorInit = true;\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name:  'blacklisted-tax-codes-table',\n      endpoint: 'bo/blacklisted-tax-codes'\n    });\n    return this.tableInterface.initialize();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Api)\nexport class viewBounces {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    /* Table interface */\n    this.bouncesTableInterface = new TableInterface({\n      name: 'table-bounces',\n      client: this.api,\n      endpoint: 'bo/email-bounces',\n      query: null\n    });\n\n    /* Table Search */\n    this.bouncesSearchInterface = new SearchInterface({\n      name: 'bounces-table-search',\n      table: this.bouncesTableInterface,\n      schema: {\n        email: { \n          control: 'text', \n          label: 'Email',\n          query: 'emailLike'\n        }\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.bouncesTableInterface.initialize().then(() => {\n      this.bouncesSearchInterface.initialize().then(() => {\n        this.bouncesSearchInterface.search().catch(error => { console.error('search bounces failed', error); });\n      }).catch(error => { console.error('table-search-initialize bounces failed', error); });\n    }).catch(error => { console.error('table-interface-initialize bounces failed', error); });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogDocumentiApproval {\n  schema = {\n    status: {\n      label: 'Stato documento',\n      control: 'combo',\n      datasource: [{ value: 'APPROVED', text: 'Approva' }, { value: 'REFUSED', text: 'Rifiuta' }],\n      datavalue: 'value',\n      datatext: 'text',\n      datapreload: true,\n      datamultiple: false,\n      required: true\n    },\n    statusReason: {\n      label: 'Motivazione',\n      control: 'text'\n    }\n  };\n  data = {};\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId || null;\n    this.document = params.document;\n    this.type = params.type;\n    this.data = { status: this.document.approvedAt ? 'REFUSED' : 'APPROVED' };\n  }\n\n  save($event, data) {\n    if (!data) return\n    if (data.status === 'REFUSED') {\n      this.dialog.open({ \n        title: 'Attenzione!', \n        class: 'small', \n        type: 'confirm',\n        body: `<strong>Questa azione è irreversibile.</strong><br>Confermi comunque di voler procedere?`}).whenClosed(response => {\n        if (!response.wasCancelled) this.editStatus($event, this.userId || this.document.userId, this.document, data);\n      });\n    } else {\n      this.editStatus($event, this.userId || this.document.userId, this.document, data);\n    }\n  }\n\n  editStatus($event, userId, document, data) {\n    $event.model.busy = true;\n    this.api.patch(`users/${userId}/certifiable-document-buckets/current/certifiable-documents/${document.uuid}`, data).then(() => {\n      this.controller.ok(data.status);\n    }).catch(error => {\n      console.log('ERROR - certifiable-document-buckets - PATCH', error);\n      this.toast.show(`Errore!. Documento ${data.status === 'APPROVED' ? 'non approvato' : 'non rifiutato'}`, 'error');\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport environment from '../../../../environment';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmDocumentiGestione {\n  environment = environment;\n  documentTypes = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.documentTypes = JSON.parse(sessionStorage.getItem(btoa('certifiable-document-types'))) || null;\n    if (this.documentTypes) this.init();\n    else this.getDocumentTypes();\n  }\n\n  getDocumentTypes() {\n    this.api.get(`certifiable-document-types`).then(xhr => {\n      this.documentTypes = xhr.response;\n      sessionStorage.setItem(btoa('certifiable-document-types'), JSON.stringify(this.documentTypes));\n      this.init();\n    });\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-gestione-table',\n      client: this.api,\n      endpoint: 'bo/certifiable-document-buckets/certifiable-documents',\n      query: 'sort=-uploadedAt'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        uuid: {\n          control: 'combo',  \n          label: 'Utente', \n          datasource: { table: `bo/users?include=user-profiles`, query: { search: 'text-search', item: 'uuid-in'} }, \n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          query: 'uuid-in'\n        },\n        status: {\n          control: 'combo', \n          label: 'Stato',\n          datasource: [{ value: 'null', text: 'Tutti' }, { value: 'PENDING', text: 'In attesa di approvazione' }, { value: 'APPROVED', text: 'Approvato' }, { value: 'REFUSED', text: 'Rifiutato' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          query: 'status'\n        }\n      },\n      data: {\n        status: 'PENDING'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.status = this.params.filterStatus || this.searchInterface.data.status;\n      this._search();\n    }).catch(error => { \n      console.log('ERROR - searchInterface initialization failed', error);\n    });\n  }\n\n  setPlaceholderType() {\n    this.tableInterface.data.forEach(document => {\n      document.placeholderType = this.documentTypes.find(documentType => documentType.code === document.code)?.placeholderType || null;\n    });\n  }\n\n  _search() {\n    this.searchInterface.search().then(() => {\n      this.setPlaceholderType();\n    }).catch(error => {\n      console.log('ERROR - searchInterface search failed', error);\n    });\n  }\n\n  approval(item) {\n    if (!item) return\n\n    this.dialog.open({\n      title: `Stato documento`,\n      class: 'small documenti-approval',\n      viewModel: PLATFORM.moduleName('views/backoffice/documenti/dialogs/documenti-approval'),\n      viewModelParams: { document: item }\n    }, true).whenClosed(response => {\n      let certification = response.output === 'APPROVED' ? 'approvato' : 'rifiutato';\n      if (!response.wasCancelled) {\n        this.searchInterface.search();\n        this.toast.show(`Documento ${certification} con successo!`, 'success');\n      }\n    });\n  }\n\n  download(file) {\n    if (!file.downloadUri) return this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server: percorso Uri non disponibile' });\n\n    // Uri build\n    let uri = file.downloadUri;\n    uri = uri.replace(this.environment.APP_API_BASE_URL, '');\n    uri = uri.replace('/api/v0.0.1/', '');\n\n    this.api.get(uri).then(xhr => {\n      let anchor = document.createElement('a');\n      anchor.download = `${xhr.response.filename}`;\n      anchor.href = xhr.response.fileData;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }, xhr => {\n      let error = JSON.parse(xhr.response);\n      this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>Impossibile scaricare il file!</strong><br>Errore server' + (error.detail ? `: ${error.detail}` : '') });\n    });\n  }\n}\n","import { inject } from \"aurelia-framework\";\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport { DateTime } from 'luxon';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class VMMultitrax {\n  endpoint = 'mtrax/outbox-messages';\n  editEnabled = false;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.initTable();\n  }\n\n  async initTable() {\n    this.tableInterface = new TableInterface({\n      name: 'tableInterface',\n      endpoint: this.endpoint,\n      client: this.api\n    });\n    this.searchInterface = new SearchInterface({\n      name: 'searchInterface',\n      table: this.tableInterface,\n      client: this.api,\n      schema: {\n        strategyIn: {\n          label: 'Modalità', \n          control: 'text',  \n          query: 'strategy-in'\n        },\n        typeIn: {\n          label: 'Tipologia', \n          control: 'text',  \n          query: 'type-in'\n        },\n        createdAtStart: {\n          label: 'Data creazione dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        lastAttemptStart: {\n          label: 'Ultimo tentativo dal', \n          control: 'date',  \n          query: 'last-failed-attempt-gte'\n        },\n        lastAttemptEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'last-failed-attempt-lte'\n        },\n        deliveredAtStart: {\n          label: 'Data elaborazione mtrax dal', \n          control: 'date',  \n          query: 'delivered-at-gte'\n        },\n        deliveredAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'delivered-at-lte'\n        },\n        notDelivered: {\n          description: '',\n          control: 'check',\n          query: 'delivered-at'\n        },\n        excludeFromRetry: {\n          label: 'Escludi da retry automatico',\n          control: 'combo',\n          datasource: [{\n            \"text\": \"Sì\",\n            \"value\": \"YES\"\n          }, {\n            \"text\": \"No\",\n            \"value\": \"NO\"\n          }],\n          query: 'exclude-from-retry'\n        }\n      },\n      data: {}\n    });\n\n    this.tableInterface.events.addEventListener('dataLoad', () => {\n      this.editEnabled = false;\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', () => {\n      setTimeout(() => { this.editEnabled = true; }, 500);\n    });\n\n    try {\n      await this.tableInterface.initialize();\n      this.searchInterface.initialize().then(() => {\n        return this.searchInterface.search();\n      }).catch(error => { console.log('searchInterface initialization failed', error) });\n    } catch (error) {\n      console.error('tableInterface initialization failed', error);\n    }\n  }\n\n  deleteRecord(record) {\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Confermi di voler eliminare questo record?`\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.delete(`mtrax/outbox-messages/${record.id}`).then(() => {\n          this.toast.show('Segnalatore eliminato con successo', 'success');\n          this.tableInterface.load();\n        }).catch(error => {\n          console.error(error);\n        });\n      }\n    });\n  }\n\n  setExcludeFromRetry(record) {\n    if (!this.editEnabled) return;\n    let data = record;\n    this.api.patch(`mtrax/outbox-messages/${record.id}`, data).then(() => {\n      this.tableInterface.load();\n    }).catch((error) => {\n      console.error(error);\n    });\n  }\n  \n  setNotDelivered(record) {\n    if (!this.editEnabled) return;\n    let data = record;\n    data.deliveredAt = null;\n    this.api.patch(`mtrax/outbox-messages/${record.id}`, data).then(() => {\n      this.tableInterface.load();\n    }).catch((error) => {\n      console.error(error);\n    });\n  }\n}\n\nexport class DaysFormatValueConverter {\n  toView(value) {\n    if (!value) return value;\n    let difference = DateTime.fromISO(value).diffNow('days').days;\n    let result = Math.floor(Math.abs(difference));\n    return `${result > 0 ? result : '' } ${result === 1 ? 'giorno' : (result === 0 ? 'meno di 24h' : 'giorni')} fa`;\n  }\n}","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ServiceDialogNotificationDetail {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userId = this.params.userId;\n    this.userDisplayName = this.params.userDisplayName;\n    this.notificationUuid = this.params.notificationUuid;\n    this.getNotification();\n  }\n\n  getNotification() {\n    this.api.get(`bo/users/${this.userId}/system-notifications/${this.notificationUuid}`).then(xhr => {\n      this.notification = xhr.response;\n      this.dataParse();\n\n      // Iframe\n      setTimeout(() => {\n        let emailFrame = document.getElementById(\"emailFrame\");\n        emailFrame.srcdoc = this.notification.emailHtmlBody;\n      }, 100)\n    });\n  }\n\n  dataParse() {\n    let channels = [];\n    if (this.notification.scheduleEmail === 'YES') {\n      channels.push('email');\n      const buildEmail = (pattern = '') => {\n        return {\n          recipientEmailAddress: this.notification[`recipientEmailAddress${pattern}`],\n          emailDispatchedAt: this.notification[`email${pattern}DispatchedAt`],\n          emailDispatchErrorAt: this.notification[`email${pattern}DispatchErrorAt`],\n          emailDispatchErrorMessage: this.notification[`email${pattern}DispatchErrorMessage`],\n          emailDeliveredAt: this.notification[`email${pattern}DeliveredAt`],\n          emailBouncedAt: this.notification[`email${pattern}BouncedAt`],\n          emailBounceReason: this.notification[`email${pattern}BounceReason`]\n        }\n      }\n      let emails = [];\n      emails.push(buildEmail());\n      if (this.notification.recipientEmailAddress2) emails.push(buildEmail('2'));\n      if (this.notification.recipientEmailAddress3) emails.push(buildEmail('3'));\n      this.notification.emails = emails;\n    }\n    if (this.notification.scheduleSms === 'YES') channels.push('sms');\n    if (this.notification.scheduleUiNotice === 'YES') channels.push('ui');\n\n    this.notification.channels = channels;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmNotifiche {\n  tabs = [\n    {\n      id: 'notifiche',\n      label: 'Notifiche di sistema',\n      vm: PLATFORM.moduleName('views/backoffice/notifiche-sistema/tabs/lista-notifiche')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { notifiche: false }, buttons: {} };\n    if (this.api.hasRole('LIST_USER_SYSTEM_NOTIFICATIONS')) {\n      this.privileges.tabs.notifiche = true;\n    }\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport moment from 'moment';\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmListaNotifiche {\n  userId = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-notifiche-sistema',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n\n    // PARSE query\n    this.tableInterface.parseQuery = (query) => {\n      query = new URLSearchParams(query);\n      if (query.has('schedules-email')) {\n         query.set('schedules-email', query.get('schedules-email') === 'true' ? 'YES' : 'NO');\n      }\n      if (query.has('schedules-sms')) {\n        query.set('schedules-sms', query.get('schedules-sms') === 'true' ? 'YES' : 'NO');\n      }\n      if (query.has('schedules-ui')) {\n        query.set('schedules-ui', query.get('schedules-ui') === 'true' ? 'YES' : 'NO');\n      }\n      return query.toString();\n    };\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-notifiche-sistema-search',\n      table: this.tableInterface,\n      schema: {\n        user: { \n          control: 'combo', \n          label: 'Utente',\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        code: {\n          control: 'combo', \n          label: 'Codice',\n          datasource: { table: 'system-notification-templates' },\n          datavalue: 'code', \n          datatext: 'code',\n          datamultiple: false,\n          datapreload: true,\n          query: 'code'\n        },\n        scheduleEmail: {\n          label: 'Notifiche Email',\n          control: 'check',\n          description: 'Canale Email',\n          query: 'schedules-email'\n        },\n        statusEmail: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{ value: 'null', text: 'Nessuno stato' }, { value: 'DISPATCHED', text: 'Inviate' }, { value: 'DISPATCH-FAILED', text: 'Non Inviate' }, { value: 'DELIVERED', text: 'Consegnate' }, { value: 'BOUNCED', text: 'Non Consegnate' }],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-email'\n        },\n        scheduleSms: {\n          label: 'Notifiche SMS',\n          control: 'check',\n          description: 'Canale SMS',\n          query: 'schedules-sms'\n        },\n        statusSms: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{ value: 'null', text: 'Nessuno stato' }, { value: 'DISPATCHED', text: 'Inviate' }, { value: 'DISPATCH-FAILED', text: 'Non Inviate' }, { value: 'DELIVERED', text: 'Consegnate' }, { value: 'BOUNCED', text: 'Non Consegnate' }],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-sms'\n        },\n        scheduleUiNotice: {\n          label: 'Notifiche UI',\n          control: 'check',\n          description: 'Canale UI',\n          query: 'schedules-ui'\n        },\n        statusUI: {\n          label: ' ',\n          control: 'combo',\n          datasource: [{value: 'null', text: 'Nessuno stato'}, {value: 'DISPATCHED', text: 'Inviate'}, {value: 'DISPATCH-FAILED', text: 'Non Inviate'}, {value: 'DELIVERED', text: 'Consegnate'}, {value: 'BOUNCED', text: 'Non Consegnate'}],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'status-ui'\n        }\n      },\n      data: {\n        statusEmail: 'null',\n        statusSms: 'null',\n        statusUI: 'null'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.selectedChannel();\n      if (this.searchInterface.data.user) this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  search() {\n    this.userId = this.searchInterface.data.user;\n    this.tableInterface.endpoint = `bo/users/${this.userId}/system-notifications`;\n    this.searchInterface.search().then(() => {\n      // User profile\n      this.api.get(`users/${this.userId}?include=user-profiles`).then(xhr => {\n        let response = xhr.response;\n        if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n        this.selectedUser = response;\n      });\n    });\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.selectedChannel();\n  }\n\n  selectedChannel() {\n    if (!this.searchInterface.data.scheduleEmail) this.searchInterface.data.statusEmail = 'null';\n    if (!this.searchInterface.data.scheduleSms) this.searchInterface.data.statusSms = 'null';\n    if (!this.searchInterface.data.scheduleUiNotice) this.searchInterface.data.statusUI = 'null';\n  }\n\n  statusTooltip(step, channel, item) {\n    let dispatchedAt = `${channel}DispatchedAt`;\n    let dispatchError = `${channel}DispatchErrorAt`;\n    let dispatchErrorMessage = `${channel}DispatchErrorMessage`;\n    let deliveredAt = `${channel}DeliveredAt`;\n    let bounced = `${channel}BouncedAt`;\n    let bounceReason = `${channel}BounceReason`;\n    let date = this.aurelia.resources.valueConverters.dateFormat.toView(item.createdAt);\n\n    // Tooltip\n    if (step == 1) {\n      return `<div class=\"notifications-tooltip success\"><strong>Creata</strong><br><em>${date}</em></div>`;\n    } else if (step == 2) {\n      date = this.aurelia.resources.valueConverters.dateFormat.toView(item[dispatchError] ? item[dispatchError] : item[dispatchedAt]);\n      if (item[dispatchError]) return `<div class=\"notifications-tooltip error\"><strong>Non inviata</strong><br>${item[dispatchErrorMessage]}<br><em>${date}</em></div>`;\n      if (item[dispatchedAt] && !item[dispatchError]) return `<div class=\"notifications-tooltip success\"><strong>Inviata</strong><br><em>${date}</em></div>`;\n      if (item.createdAt && !item[dispatchedAt] && !item[dispatchError]) return `<div class=\"notifications-tooltip pending\"><strong>In attesa di essere inviata</strong></div>`;\n    } else if (step == 3) {\n      if (channel === 'ui' && dispatchedAt) {\n        date = this.aurelia.resources.valueConverters.dateFormat.toView(item[dispatchedAt]);\n        return `<div class=\"notifications-tooltip success\"><strong>Consegnata</strong><em>${date}</em></div>`\n      } else {\n        date = this.aurelia.resources.valueConverters.dateFormat.toView(item[bounced] ? item[bounced] : item[deliveredAt]);\n        if (item[bounced]) return `<div class=\"notifications-tooltip error\"><strong>Non consegnata</strong><br>${item[bounceReason]}<br><em>${date}</em></div>`;\n        if (item[deliveredAt] && !item[bounced]) return `<div class=\"notifications-tooltip success\"><strong>Consegnata</strong><br><em>${date}</em></div>`;\n        if (item[dispatchedAt] && !item[deliveredAt] && !item[bounced]) return `<div class=\"notifications-tooltip pending\"><strong>In attesa di essere consegnata</strong></div>`;\n      }\n    }\n  }\n\n  detail(item) {\n    this.dialog.open({\n      title: `Dettaglio notifica per ${this.selectedUser.profile.displayName}`,\n      class: 'large',\n      viewModel: PLATFORM.moduleName('views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio'),\n      viewModelParams: { notificationUuid: item.uuid, userId: this.userId, userDisplayName: this.selectedUser.profile.displayName }\n    }, true);\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class ServiceDialogAssignEditor {\n  resource = {\n    controls: {},\n    schema: {\n      user: {\n        label: 'Utente assegnatario',\n        control: 'combo',\n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'id', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        query: 'owner-uuid-in'\n      },\n      email: {\n        label: 'Email nuovo utente da registrare',\n        control: 'text'\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      let data = null;\n      // two different logics: multidialogo existent user | email of user who needs to register\n      if (this.resource.data.user) {\n        data = {\n          redeemCode: this.params.offer.code\n        };\n        this.api.post(`users/${this.resource.data.user}/promotion-offer-activations`, data).then(() => {\n          this.toast.show(`Offerta assegnata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR - promotion-offer-activations - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        data = {\n          email: this.resource.data.email,\n          redeemCode: this.params.offer.code\n        };\n        this.api.post(`promotion-offer-activations`, data).then(() => {\n          this.toast.show(`Offerta assegnata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR - promotion-offer-activations - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast, DateTime } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\nimport moment from 'moment';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class ServiceDialogOfferteEditor {\n  resource = {\n    controls: {},\n    schema: {\n      title: {\n        label: 'Titolo',\n        control: 'text',\n        required: true\n      },\n      description: {\n        label: 'Descrizione',\n        control: 'textarea',\n        required: true\n      },\n      startAt: {\n        label: 'Data inizio validità',\n        control: 'datetime',\n        readonly: false,\n        required: true\n      },\n      endAt: {\n        label: 'Data fine validità',\n        control: 'datetime',\n        required: true\n      },\n      code: {  \n        label: 'Codice offerta',\n        control: 'text',\n        readonly: false,\n        required: true\n      },\n      targetUserType: {\n        label: 'Applicabile a',\n        control: 'combo',\n        datasource: [{ value: 'PARENT', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }],\n        datavalue: 'value',\n        datatext: 'text',\n        readonly: false,\n        required: true\n      },\n      contextBusinessType: {\n        label: 'Contesto attività',\n        control: 'combo',\n        datasource: [{ value: 'BUILDING-ADMINISTRATOR', text: 'Amministratore' }, { value: '', text: 'N/D' }],\n        readonly: false\n      },\n      promotionCode: {\n        control: 'combo', \n        label: 'Codice promozione', \n        datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' }}, \n        datavalue: 'code', \n        datatext: 'code', \n        datapreload: false,\n        readonly: false,\n        required: true\n      },\n      deadlineType: {\n        label: 'Seleziona la tipologia di scadenza',\n        control: 'combo',\n        datasource: [\n          { value: 'USER-CREATION', text: 'Per iscrizione utente' }, \n          { value: 'FLAT-SERVICE-SUBSCRIPTION', text: 'Per sottoscrizione servizio' }\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        readonly: false,\n        required: true\n      },\n      deadlineAt: {\n        label: null,\n        control: 'datetime',\n        required: true\n      },\n      public: {\n        label: 'Disponibilità',\n        control: 'check',\n        description: 'Offerta privata'\n      }\n    },\n    data: {\n      deadlineType: 'USER-CREATION'\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params) {\n      this.resource.data = this.params.offer;\n      this.resource.schema.startAt.readonly = this.resource.schema.code.readonly = this.resource.schema.promotionCode.readonly = this.resource.schema.targetUserType.readonly = this.resource.schema.contextBusinessType.readonly = this.resource.schema.public.readonly = true;\n    }\n  }\n\n  deadlineTypeChange() {\n    return this.resource.controls.deadlineAt.label = this.resource.data?.deadlineType === 'USER-CREATION' ? 'Scadenza per iscrizione utente' : 'Scadenza per sottoscrizione servizio';\n  }\n\n  save($event) {\n    $event.model.busy = true\n    this.resource.validate().then(() => {\n      let data = null;\n      if (this.params) {\n        data = {\n          title: this.resource.data.title,\n          description: this.resource.data.description,\n          endAt: this.resource.data.endAt,\n          deadlineType: this.resource.data.deadlineType,\n          deadlineAt: this.resource.data.deadlineAt\n        }\n        this.api.patch(`bo/promotion-offers/${this.params.offer.code}`, data).then(() => {\n          this.toast.show(`Modifiche effettuate con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR promotion-offers - PATCH', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        data = structuredClone(this.resource.data);\n        data.public = (this.resource.data.public === true ? 'NO' : 'YES');\n        this.api.post(`bo/promotion-offers`, data).then(() => {\n          this.toast.show(`Offerta creata con successo!`, 'success');\n          this.controller.ok();\n        }).catch(error => {\n          console.log('ERROR promotion-offers - POST', error);\n          this.resource.error(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmOfferte {\n  tabs = [\n    {\n      id: 'gestione',\n      label: 'Gestione offerte',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-gestione')\n    },\n    {\n      id: 'prenotate',\n      label: 'Offerte prenotate',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-prenotate')\n    },\n    {\n      id: 'riscattate',\n      label: 'Offerte riscattate',\n      vm: PLATFORM.moduleName('views/backoffice/offerte/tabs/offerte-riscattate')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { gestione: false, prenotate: false, riscattate: false } };\n    if (this.api.hasRole(['LIST_ANY_USER_PROMOTION_OFFER_ACTIVATION', 'LIST_ANY_PROMOTION_OFFER'])) {\n      this.privileges.tabs.gestione = this.privileges.tabs.prenotate = this.privileges.tabs.riscattate = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOfferteGestione {\n  mdt = mdt;\n  currentDate = new Date().toISOString();\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-gestione-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offers'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        code: {  \n          label: 'Codice offerta',\n          control: 'text',\n          query: 'code'\n        },\n        status: {\n        label: 'Stato offerta',\n        control: 'combo',\n        datasource: [\n          { value: 'ACTIVE', text: 'Attiva' },\n          { value: 'EXPIRED', text: 'Scaduta' },\n          { value: 'INCOMING', text: 'Non ancora attivabile' }\n        ],\n        query: 'status'\n        },\n        promotionCode: {\n          control: 'combo',\n          label: 'Codice promozione', \n          datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' }},\n          datavalue: 'code', \n          datatext: 'code', \n          datapreload: false,\n          datamultiple: false,\n          query: 'promotion-code'\n        },\n        createdAtGte: {\n          label: 'Offerta creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        startAtGte: {\n          label: 'Inizio validità dal',\n          control: 'date',\n          query: 'start-at-gte'\n        },\n        startAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'start-at-lte'\n        },\n        endAtGte: {\n          label: 'Fine validità dal',\n          control: 'date',\n          query: 'end-at-gte'\n        },\n        endAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'end-at-lte'\n        },\n        deadlineType: {\n          label: 'Seleziona la tipologia di scadenza',\n          control: 'combo',\n          datasource: [\n            { value: 'USER-CREATION', text: 'Per iscrizione utente' }, \n            { value: 'FLAT-SERVICE-SUBSCRIPTION', text: 'Per sottoscrizione servizio' }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'deadline-type'\n        },\n        deadlineAtGte: {\n          label: null,\n          control: 'date',\n          query: 'deadline-at-gte'\n        },\n        deadlineAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'deadline-at-lte'\n        },\n        serviceCreationDeadlineGte: {\n          label: 'Scadenza sottoscrizione servizio dal',\n          control: 'date',\n          query: 'user-creation-deadline-gte'\n        },\n        serviceCreationDeadlineLte: {\n          label: 'al',\n          control: 'date',\n          query: 'user-creation-deadline-lte'\n        },\n        targetUserType: {\n          label: 'Applicabile a',\n          control: 'combo',\n          datasource: [\n            { value: 'PARENT', text: 'Utenti' }, \n            { value: 'SUBUSER', text: 'Sottoutenti' }, \n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          readonly: this.params?.offer ? true : false,\n          query: 'target-user-type'\n        },\n        public: {\n          label: 'Offerte private',\n          control: 'combo',\n          datasource: [\n            { value: 'NO', text: 'Mostra solo offerte private' },\n            { value: 'YES', text: 'Mostra solo offerte pubbliche' },\n          ],\n          query: 'public'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => { \n      this.searchInterface.data.createdAtGte = this.searchInterface.data.createdAtLte = null;\n      this.searchInterface.data.startAtGte = this.searchInterface.data.startAtLte = null;\n      this.searchInterface.data.endAtGte = this.searchInterface.data.endAtLte = null;\n      this.searchInterface.data.userCreationDeadlineGte = this.searchInterface.data.userCreationDeadlineLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.code}`, 'Link offerta');\n  }\n\n  deadlineTypeChange() {\n    if (this.searchInterface.data) {\n      if (this.searchInterface.data.deadlineType) {\n        let deadline = this.searchInterface.data.deadlineType === 'USER-CREATION' ? 'iscrizione utente' : 'sottoscrizione servizio';\n        return this.searchInterface.controls.deadlineAtGte.label = `Scadenza ${deadline} dal`;\n      } else {\n        return this.searchInterface.data.deadlineAtGte = this.searchInterface.data.deadlineAtLte = null;\n      }\n    } else return;\n  }\n\n  createOffer() {\n    this.dialog.open({\n      title: 'Crea nuova offerta',\n      class: 'offerte-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/offerte-editor')\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.tableInterface.load(); }\n    });  \n  }\n\n  editOffer($event, offer) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica offerta',\n      class: 'offerte-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/offerte-editor'),\n      viewModelParams: { offer: {...offer} }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  assignOffer($event, offer) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Assegnazione offerta',\n      class: 'assign-editor large',\n      viewModel: PLATFORM.moduleName('views/backoffice/offerte/dialogs/assign-editor'),\n      viewModelParams: { offer: {...offer} }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOffertePrenotate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-prenotate-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offer-activations',\n      query: 'status=PENDING'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-prenotate-search',\n      table: this.tableInterface,\n      schema: {\n        code: {  \n          label: 'Codice offerta',\n          control: 'text',\n          query: 'redeem-code'\n        },\n        requestedAtGte: {\n          label: 'Data prenotazione dal',\n          control: 'date',\n          query: 'requested-at-gte'\n        },\n        requestedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'requested-at-lte'\n        },\n        email: {\n          label: 'Email',\n          control: 'text',\n          query: 'request-email-like'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.requestedAtGte = this.searchInterface.data.requestedAtLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.redeemCode}`, 'Link offerta');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmOfferteRiscattate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n    this.offerlink = `${this.api.baseUrl.slice(0, -1)}${this.router.currentInstruction.fragment}`;\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-offerte-riscattate-table',\n      client: this.api,\n      endpoint: 'bo/promotion-offer-activations',\n      query: 'status=REDEEMED'\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-offerte-riscattate-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          label: 'Codice offerta',\n          control: 'text',\n          query: 'redeem-code'\n        },\n        requestedAtGte: {\n          label: 'Data prenotazione dal',\n          control: 'date',\n          query: 'requested-at-gte'\n        },\n        requestedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'requested-at-lte'\n        },\n        redeemedAtGte: {\n          label: 'Data riscatto dal',\n          control: 'date',\n          query: 'redeemed-at-gte'\n        },\n        redeemedAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'redeemed-at-lte'\n        },\n        userId: {\n          label: 'ID utente',\n          control: 'text',\n          query: 'user-id'\n        },\n        userUuid: {\n          label: 'UUID utente',\n          control: 'text',\n          query: 'user-uuid'\n        },\n        email: {\n          label: 'Email',\n          control: 'text',\n          query: 'request-email-like'\n        }\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.requestedAtGte = this.searchInterface.data.requestedAtLte = null;\n      this.searchInterface.data.redeemedAtGte = this.searchInterface.data.redeemedAtLte = null;\n      this.searchInterface.search().catch(error => { \n        console.log('searchInterface search failed', error);\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  offerLink(offer) {\n    this.tools.copyText(`${window.location.origin}/landing/offerta/${offer.redeemCode}`, 'Link offerta');\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { MdUser } from 'services/md-user';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast, MdUser, Router)\nexport class vmContracts {\n  privileges = {};\n  tabs = [\n    {\n      id: 'subscriptions',\n      label: 'Sottoscrizioni',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/subscriptions')\n    },\n    {\n      id: 'serviceContracts',\n      label: 'Contratti servizi',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/service-contracts')\n    },\n    {\n      id: 'multinvioContracts',\n      label: 'Contratti MultInvio',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/multinvio-contracts')\n    },\n    {\n      id: 'userSubscriptions',\n      label: 'Sottoscrizioni',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/user-subscriptions')\n    },\n    {\n      id: 'userArchive',\n      label: 'Archivio',\n      vm: PLATFORM.moduleName('views/cashback/contracts/tabs/user-archive')\n    }\n  ];\n\n  constructor(api, kaDialog, kaToast, mdUser, router) {\n    this.api = api;\n    this.mdUser = mdUser;\n    this.router = router;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      openDialogContractDetail: (record, url) => {\n        if (!url) url = `bo/cashback-contracts/${record.id || record.contractUuid}`;\n        const htmlTemplate = record.userRenderableHtml || null;\n        const version = record.version || record.contractVersion;\n        const type = record.type && ['FLAT-SERVICE', 'MULTINVIO-VOLUMES'].includes(record.type) ? record.type : record.contractType;\n        const title = `Contratto cashback per ${type === 'FLAT-SERVICE' ? 'sottoscrizioni servizi' : 'spedizioni MultInvio'} - ${version}`;\n        this.dialog.open({\n          title: title,\n          class: 'contract-detail',\n          viewModelParams: { url, htmlTemplate },\n          viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/contract-detail')\n        });\n      },\n      copyText: (text, item) => {\n        return navigator.clipboard.writeText(text),\n        this.toast.show(`${item} copiato con successo!`, 'success');\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    const isOperator = this.api.hasRole('LIST_ANY_USER');\n\n    if (!isOperator && this.api.hasRole('LIST_USER_CASHBACK_CONTRACTS')) {\n      ['userSubscriptions'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_CASHBACK_CONTRACTS')) {\n      ['serviceContracts', 'multinvioContracts'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (!isOperator && this.api.hasRole('LIST_USER_CASHBACK_CONTRACT_ACCEPTANCES')) {\n      ['userArchive'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_ANY_USER_CASHBACK_CONTRACT_ACCEPTANCE')) {\n      ['subscriptions'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractDetail {\n  htmlTemplate;\n  pendingGetCashbackContract;\n\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n\n  init() {\n    if (!this.params.htmlTemplate) this.getCashbackContract();\n    else this.htmlTemplate = this.params.htmlTemplate;\n  }\n\n  getCashbackContract() {\n    this.pendingGetCashbackContract = true;\n    return this.api.get(this.params.url).then((xhr) => {\n      const response = xhr.response;\n      return this.htmlTemplate = response.htmlTemplate || response.userRenderableHtml;\n    }).catch((error) => {\n      console.error('GET url', error);\n      return this.resource.error(error);\n    }).finally(() => {\n      this.pendingGetCashbackContract = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractRescission {\n  isConfirmed = false;\n  userUuid;\n  currentDate = new Date().toLocaleDateString('it-IT');\n  userId;\n  latestVersions = [];\n  schemaMessages = {\n    'NO': {\n      value: 'Messaggio personalizzato',\n      text: null\n    },\n    'PEC': {\n      value: 'Messaggio per recesso tramite PEC',\n      text: `Ti confermiamo di aver provveduto, come da tua richiesta avvenuta tramite PEC in data ${this.currentDate}, al recesso del contratto cashback`\n    },\n    'POSTA': {\n      value: 'Messaggio per recesso tramite Raccomandata',\n      text: `Ti confermiamo di aver provveduto, come da tua richiesta avvenuta tramite raccomandata in data ${this.currentDate}, al recesso del contratto cashback`\n    }\n  }\n  resource = {\n    data: {\n      defaultMessage: 'NO'\n    },\n    controls: {},\n    schema: {\n      userUuid: {\n        required: true,\n        label: 'Utente',\n        readonly: false,\n        datavalue: 'uuid',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { \n          table: 'bo/users?include=user-profiles', \n          query: { search: 'text-search', item: 'uuid-in' } \n        },\n        validationRule: {\n          satisfies: () => { return this.userId !== null; },\n          withMessage: 'Questo utente non ha mai sottoscritto contratti cashback.',\n        }\n      },\n      contractType: {\n        control: 'combo',\n        label: 'Tipologia contratto',\n        datasource: [\n          { text: 'Qualsiasi', value: 'null' },\n          { text: 'Servizi', value: 'FLAT-SERVICE' },\n          { text: 'MultInvio', value: 'MULTINVIO-VOLUMES' }\n        ],\n        datavalue: 'value',\n        datatext: 'text'\n      },\n      defaultMessage: {\n        required: true,\n        control: 'combo',\n        label: 'Seleziona un messaggio predefinito',\n        datasource: this.setDatasourceDefaultMessage(),\n        datavalue: 'value',\n        datatext: 'text'\n      },\n      reason: {\n        required: true,\n        control: 'textarea',\n        placeholder: 'Scrivi qui il tuo messaggio...',\n        label: 'Messaggio per il cliente'\n      },\n      isConfirmed: {\n        required: true ,\n        control: 'check',\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?'\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => {\n          control.validate().then((result) => {\n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          });\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaToast];\n  constructor(api, controller, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userUuid = params.userUuid;\n    this.contractType = params.contractType;\n    if (this.userUuid) this.resource.data.userUuid = this.userUuid;\n    if (this.contractType) this.resource.data.contractType = this.contractType;\n  }\n\n  setDatasourceDefaultMessage() {\n    let datasource = [];\n    Object.entries(this.schemaMessages).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.value })\n    });\n    return datasource;\n  }\n\n  changeDefaultMessage() {\n    this.resource.data.reason = this.schemaMessages[this.resource.data.defaultMessage].text;\n  }\n\n  setLatestContractVersion(response) {\n    const latestVersions = [];\n    response.forEach((acceptance) => {\n      // the last acceptances of contracts are always the first two in the array\n      if (latestVersions.length === 2) return;\n      if (latestVersions.every((item) => Object.keys(item)[0] !== acceptance.contractType)) {\n        const contractType = `${acceptance.contractType}`;\n        latestVersions.push({ [contractType]: acceptance.contractVersion });\n      }\n    });\n    return latestVersions;\n  }\n\n  changeUserUuid() {\n    if (this.resource.data.userUuid) {\n      return this.api.get(`bo/cashback-contract-acceptances?user-uuid=${this.resource.data.userUuid}`).then((xhr) => {\n        const response = xhr.response;\n        if (response.length) {\n          this.latestVersions = this.setLatestContractVersion(response);\n          this.userId = response[0].userId;\n        } else {\n          this.userId = null;\n          this.latestVersions = null;\n        }\n      }).catch((error) => {\n        console.error('`bo/cashback-contract-acceptances', error);\n        this.toast.show('Errore durante l\\'elaborazione dei dati', 'error');\n      });\n    }\n  }\n\n  parseData() {\n    let data = structuredClone(this.resource.data); \n    data = {\n      ...(![undefined, null, 'null'].includes(data.contractType) && { contractType: data.contractType }),\n      ...(data.reason && { reason: data.reason })\n    }\n    return data;\n  }\n\n  rescindContract(event) {\n    let data = this.parseData();\n    event.model.busy = true;\n    return this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.userId}/cashback-contract-acceptance-rescissions`, data).then(() => {\n        this.toast.show(\"Contratto rescisso con successo\", \"success\");\n      }).catch((error) => {\n        console.error(\"bo/users/${this.userId}/cashback-contract-acceptance-rescissions\", error);\n        this.resource.error(error);\n      }).finally(() => {\n        event.model.busy = false;\n        this.controller.cancel();\n      });\n    }).catch(() => {\n      event.model.busy = false; \n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogContractCreate {\n  cashbackContract;\n  pendingCreateCashbackContracts;\n  resource = {\n    data: {},\n    controls: {},\n    schema: { htmlTemplate: { control: 'editor', label: 'Inserire contratto in formato HTML', required: true }},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  openDialogConfirmContractCreation() {\n    return this.dialog.open({\n      title: 'Attenzione!', \n      class: 'medium', \n      type: 'confirm', \n      body: `<strong>Stai creando un nuovo contratto cashback per ${this.params.type === 'FLAT-SERVICE' ? 'sottoscrizioni servizi' : 'spedizioni MultInvio'}.</strong><br>Confermi di voler creare una nuova versione di questo contratto?`\n    });\n  }\n\n  createCashbackContracts($event) {\n    $event.model.busy = true;\n    this.pendingCreateCashbackContracts = true;\n    this.resource.data.type = this.params.type;\n    return this.openDialogConfirmContractCreation().whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.resource.validate().then(() => {\n          return this.api.post('bo/cashback-contracts', this.resource.data).then(() => {\n            this.toast.show('Modifiche salvate con successo!', 'success');\n            this.controller.ok();\n          }).catch((error) => {\n            console.error('createCashbackContracts', error);\n            this.resource.error(error);\n          }).finally(() => {\n            this.pendingCreateCashbackContracts = false;\n            $event.model.busy = false;\n          });\n        }).catch(() => {\n          $event.model.busy = false;\n        });\n      } else {\n        $event.model.busy = false;\n        this.pendingCreateCashbackContracts = false;\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog)\nexport class ViewMultinvioContracts {\n  constructor(api, router, dialog) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-multinvio-contracts',\n      client: this.api,\n      endpoint: 'bo/cashback-contracts?type=MULTINVIO-VOLUMES'\n    });\n    \n    this.tableInterface.initialize().then(() => { return this.tableInterface.load(); });\n  }\n\n  openDialogCreateContract() {\n    return this.dialog.open({\n      title: 'Crea nuovo contratto',\n      class: 'create-contract',\n      viewModelParams: { type: 'MULTINVIO-VOLUMES' },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/create-contract')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.tableInterface.load();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog)\nexport class ViewServiceContracts {\n  constructor(api, router, dialog) {\n    this.api = api;\n    this.router = router;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-service-contracts',\n      client: this.api,\n      endpoint: 'bo/cashback-contracts?type=FLAT-SERVICE'\n    });\n    \n    this.tableInterface.initialize().then(() => { return this.tableInterface.load(); });\n  }\n\n  openDialogCreateContract() {\n    return this.dialog.open({\n      title: 'Crea nuovo contratto',\n      class: 'create-contract',\n      viewModelParams: { type: 'FLAT-SERVICE' },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/create-contract')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.tableInterface.load();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast)\nexport class viewSubscriptions {\n  mdt = mdt;\n  serviceContract;\n  multinvioContract;\n  serviceContractPending = true;\n  multinvioContractPending = true;\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Table interface\n    this.tableInterface = new TableInterface({\n      name: 'table-cashback-subscriptions',\n      client: this.api,\n      endpoint: 'bo/cashback-contract-acceptances'\n    });\n    this.tableInterface.initialize();\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'table-subscriptions-search',\n      table: this.tableInterface,\n      schema: {\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'uuid-in'} },\n          datavalue: 'uuid',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          query: 'user-uuid'\n        },\n        type: {\n          control: 'combo',\n          label: 'Tipologia contratto',\n          datasource: [\n            { text: 'Qualsiaisi', value: 'null' },\n            { text: 'Servizi', value: 'FLAT-SERVICE' },\n            { text: 'MultInvio', value: 'MULTINVIO-VOLUMES' }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          query: 'contract-type'\n        }\n      },\n      data: {\n        type: 'null'\n      }\n    });\n\n    this.searchInterface.initialize().then(() => {\n      return this.searchInterface.search();\n    });\n  }\n\n  reset() {\n    this.searchInterface.reset();\n    this.searchInterface.data.type = 'null';\n  }\n\n  dialogCashbackContractRescission() {\n    return this.dialog.open({\n      class: 'medium contract-rescission',\n      title: 'Recedi contratto',\n      viewModelParams: { userUuid: this.searchInterface.data.user, contractType: this.searchInterface.data.type },\n      viewModel: PLATFORM.moduleName('views/cashback/contracts/dialogs/contract-rescission')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.controllerTabRequests.search();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { TableInterface } from 'classes/md-table';\n\n@inject(Api, Router)\nexport class viewUserArchive {\n  constructor(api, router) {\n    this.api = api;\n    this.router = router;\n  }\n\n  activate(model) {\n    this.tools = model.tools;\n    this.params = model.params;\n    model.tab.controller = this;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    const promises = [ this.serviceContractSubscriptions(), this.multinvioContractSubscriptions() ];\n    Promise.all(promises);\n  }\n\n  serviceContractSubscriptions() {\n    this.tableInterfaceServiceContractSubscriptions = new TableInterface({\n      name: 'table-cashback-archive',\n      client: this.api,\n      endpoint: 'users/me/cashback-contract-acceptances',\n      query: 'contract-type=FLAT-SERVICE'\n    });\n    \n    this.tableInterfaceServiceContractSubscriptions.initialize().then(() => { \n      return this.tableInterfaceServiceContractSubscriptions.load();\n    });\n  }\n\n  multinvioContractSubscriptions() {\n    this.tableInterfaceMultinvioContractSubscriptions = new TableInterface({\n      name: 'table-archived-contracts',\n      client: this.api,\n      endpoint: 'users/me/cashback-contract-acceptances',\n      query: 'contract-type=MULTINVIO-VOLUMES'\n    });\n    \n    this.tableInterfaceMultinvioContractSubscriptions.initialize().then(() => { \n      return this.tableInterfaceMultinvioContractSubscriptions.load();\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class viewUserSubscriptions {\n  multinvioContract;\n  flatServiceContract;\n  controllerTabUserArchive;\n  pendingGetMultinvioContract = true;\n  pendingGetFlatServiceContract = true;\n  pendingSubscriptionMultinvioContract = false;\n  pendingSubscriptionFlatServiceContract = false;\n  clauses = {\n    'FLAT-SERVICE' : {\n      schema: {\n        clause1: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Confermo di aver letto e accettato le condizioni dell’iniziativa promozionale Cashback Multidialogo.',\n        },\n        clause2: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Ai sensi degli artt.1341 e 1342 del c.c approvo specificamente le seguenti clausole:',\n          tooltip: \"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\"\n        }\n      },\n      data: {\n        clause1: false,\n        clause2: false\n      }\n    },\n    'MULTINVIO-VOLUMES' : {\n      schema: {\n        clause1: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Confermo di aver letto e accettato le condizioni dell’iniziativa promozionale Cashback Multidialogo.',\n        },\n        clause2: {\n          // readonly: true,\n          disabled: true,\n          control: 'check',\n          description: 'Ai sensi degli artt.1341 e 1342 del c.c approvo specificamente le seguenti clausole:',\n        }\n      },\n      data: {\n        clause1: false,\n        clause2: false\n      }\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.model = model;\n    model.tab.controller = this;\n    this.parent = model.$parent;\n  }\n\n  attached() {\n    this.init();\n    this.controllerTabUserArchive = this.parent.tabs.find((tab) => tab.id === 'userArchive').controller;\n  }\n\n  init() {\n    this.toast.consume();\n    return Promise.all([\n      this.getLatSubscriptedMultinvioContract(),\n      this.getLastSubscriptedFlatServiceContract()\n    ]);\n  }\n\n  setClausesData(contract) {\n    const type = contract.type;\n    const acceptedAt = contract.acceptedAt;\n    Object.keys(this.clauses[type].schema).forEach((key) => {\n      this.clauses[type].data[key] = !!acceptedAt;\n    });\n  }\n\n  setClausesReadonly(contract) {\n    const type = contract.type;\n    Object.keys(this.clauses[type].schema).forEach((key) => {\n      this.clauses[type].schema[key].readonly = contract.acceptedAt ? true : !this.clauses[type].schema[key].readonly;\n    });\n  }\n\n  getLastSubscriptedFlatServiceContract() {\n    this.pendingFlatServiceContract = true;\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      if (response.hasNext === \"YES\") {\n        this.getNextFlatServiceContract(response.gracePeriodEndAt);\n      } else {\n        this.setClausesData(response);\n        this.setClausesReadonly(response);\n        this.flatServiceContract = response;\n        this.pendingFlatServiceContract = false;\n      }\n    }).catch((error) => {\n      if (error.statusCode === 404) {\n        this.getNextFlatServiceContract();\n      } else {\n        console.log('GET last-accepted-flat-service', error);\n        this.pendingFlatServiceContract = false;\n        this.toast.show('Errore caricamento contratto!', 'error');\n      }\n    });\n  }\n\n  getNextFlatServiceContract(gracePeriodEndAt = null) {\n    return this.api.get('users/me/cashback-contracts/next-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.setClausesReadonly(response);\n      this.flatServiceContract = response;\n      this.flatServiceContract.lastContractGracePeriodEndsOn = gracePeriodEndAt;\n    }).catch((error) => {\n      console.log('GET next-flat-service', error);\n      this.toast.show('Errore caricamento contratto!', 'error');\n    }).finally(() => {\n      this.pendingFlatServiceContract = false;\n    });\n  }\n\n  getLatSubscriptedMultinvioContract() {\n    this.pendingMultinvioContract = true;\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      if (response.hasNext === \"YES\") {\n        this.getNextMultinvioContract(response.gracePeriodEndAt);\n      } else {\n        this.setClausesData(response);\n        this.setClausesReadonly(response);\n        this.multinvioContract = response;\n        this.pendingMultinvioContract = false;\n      }\n    }).catch((error) => {\n      if (error.statusCode === 404) {\n        this.getNextMultinvioContract();\n      } else {\n        console.log('GET last-accepted-multinvio-volumes', error);\n        this.pendingMultinvioContract = false;\n        this.toast.show('Errore caricamento contratto!', 'error');\n      }\n    });\n  }\n\n  getNextMultinvioContract(gracePeriodEndAt = null) {\n    return this.api.get('users/me/cashback-contracts/next-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;  \n      this.setClausesReadonly(response);\n      this.multinvioContract = response;\n      this.multinvioContract.lastContractGracePeriodEndsOn = gracePeriodEndAt;\n    }).catch((error) => {\n      console.log('GET next-multinvio-volumes', error);\n      this.toast.show('Errore caricamento contratto!', 'error');\n    }).finally(() => {\n      this.pendingMultinvioContract = false;\n    });\n  }\n\n  setEndpointDownloadPdf(type) {\n    let context = 'next';\n    if (type === 'FLAT-SERVICE' && this.flatServiceContract?.acceptedAt) context = 'last-accepted';\n    else if (type === 'MULTINVIO-VOLUMES' && this.multinvioContract?.acceptedAt) context = 'last-accepted';\n    return `users/me/cashback-contracts/${context}-${type.toLowerCase()}.pdf`;\n  }\n   \n  downloadPdfContract($event, type) {\n    $event.model.busy = true;\n    const uri = this.setEndpointDownloadPdf(type);\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader(\"Accept\", \"application/pdf\")\n      .withHeader(\"Content-Type\", \"application/pdf\")\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regexp = new RegExp('filename=(.+\\.pdf$)');\n        const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        const anchor = document.createElement(\"a\");\n        const blob = new Blob([xhr.response], { type: 'application/pdf' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show(\"Contratto scaricato correttamente\", 'success');\n      }).catch((error) => {\n        console.log(\"impossibile scaricare il pdf\", error);\n        this.toast.show('impossibile scaricare il contratto', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      })\n  }\n\n  subscribeContract(event, contract) {\n    if (contract.type) {\n      event.model.busy = true;\n      const storageSubscriptions = JSON.parse(localStorage.getItem('cashback-contracts-subscriptions'));\n      if (contract.type === 'FLAT-SERVICE') this.pendingSubscriptionFlatServiceContract = true;\n      else this.pendingSubscriptionMultinvioContract = true;\n      return this.api.post(`users/me/cashback-contracts/next-${contract?.type.toLowerCase()}/acceptances`, {}).then(() => {\n        this.toast.show('Contratto cashback accettato!', 'success');\n        if (storageSubscriptions) {\n          storageSubscriptions[contract.type] = false;\n          localStorage.setItem('cashback-contracts-subscriptions', JSON.stringify(storageSubscriptions));\n        }\n        this.controllerTabUserArchive.init();\n        if (contract.type === 'FLAT-SERVICE') this.getLastSubscriptedFlatServiceContract();\n        else this.getLatSubscriptedMultinvioContract();\n      }).catch((error) => {\n        console.log('POST cashback-contracts', error);\n        this.api.dialogError(error);\n      }).finally(() => {\n        event.model.busy = false;\n        this.pendingSubscriptionMultinvioContract = false;\n        this.pendingSubscriptionFlatServiceContract = false;\n      });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogCreditTransfer {\n  resource = {\n    data: {\n      amount: 0\n    },\n    controls: {},\n    schema: { amount: { control: 'number', label: 'Importo in €', required: true }},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  async saveTransferCreditMovements($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n\n    return this.resource.validate().then(() => {\n      return this.api.post('users/me/cashback-transfer-credit-movements', data).then(() => {\n        this.toast.show('Trasferimento avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-transfer-credit-movements', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount)\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogEditRequest {\n  statusSchema = {\n    'REFUSED' : 'Rifiutata',\n    'CONFIRMED' : 'Confermata'\n  }\n  resource = {\n    data: {},\n    controls: {},\n    schema: {\n      statusReason: {\n        required: true,\n        label: 'Motivo',\n        control: 'text'\n      }\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.record = params.record;\n    this.status = params.status;\n  }\n\n  async saveEditRequest($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n    return this.api.patch(`bo/users/${this.record.userId}/cashback-withdrawal-requests/${this.record.id}`, data).then(() => {\n      this.toast.show(`Richiesta di prelievo ${this.statusSchema[this.status]} con successo!`, 'success');\n      this.controller.ok();\n    }).catch((error) => {\n      console.log('Patch cashback-withdrawal-requests', error);\n      this.api.dialogError(error, this.resource.controls);\n    }).finally(() => {\n      $event.model.busy = true;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    return clone = {\n      ...clone,\n      status: this.status\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogInsertMovement {\n  resource = {\n    controls: {},\n    data: {\n      amount: 0,\n      direction: 'IN'\n    },\n    schema: {\n      user: {\n        control: 'combo', \n        label: 'Utente',\n        datavalue: 'id', \n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' }}\n      },\n      amount: { \n        required: true,\n        label: 'Importo in €', \n        control: 'number'\n      },\n      direction: {\n        control: 'combo', \n        datatext: 'text',\n        datapreload: true,\n        datavalue: 'value', \n        label: 'Tipologia',\n        datamultiple: false,\n        datasource: [{ text: 'Entrata', value: 'IN' }, { text: 'Uscita', value: 'OUT' }]\n      },\n      reason: {\n        required: true,\n        control: 'text', \n        label: 'Causale'\n      }\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.userId = this.params.userId;\n    if (this.userId) {\n      this.resource.data.user = this.userId;\n      this.resource.schema.user.readonly = true;\n    }\n  }\n\n  async saveInsertCreditMovement($event) {\n    $event.model.busy = true;\n    const data = this.parseData(this.resource.data);\n    return this.resource.validate().then(() => {\n      return this.api.post(`bo/users/${this.resource.data.user}/cashback-movements`, data).then(() => {\n        this.toast.show('Trasferimento avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-transfer-credit-movements', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data) {\n    let clone = structuredClone(data);\n    delete clone.user;\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount)\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogWithdrawalRequest {\n  uploadSessionUuid;\n  resource = {\n    controls: {},\n    schema: {\n      amount: { \n        required: true,\n        label: 'Importo in €', \n        control: 'number',\n      },\n      temporaryInvoiceFileUploadUuid: {\n        required: true,\n        control: 'file',\n        label: 'Carica documento PDF',\n        placeholder: 'Seleziona o trascina un file PDF'\n      }\n    },\n    data: {},\n    \n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach((control) => {\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => { \n          control.validate().then((result) => { \n            if (result.valid) {\n              resolve();\n            } else {\n              reject('Control didn\\'t pass validation');\n            }\n          }); \n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: (error) => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, KaDialog, kaToast) {\n    this.api = api;\n    this.dialog = KaDialog;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.setWithdrawalAmount(this.params.billableAmount);\n  }\n\n  setWithdrawalAmount(amount) {\n    const { schema, data } = this.resource;\n    schema.amount.max = data.amount = amount;\n  }\n\n  async saveWithdrawalRequest($event) {\n    $event.model.busy = true;\n    await this.postUploadSessions($event);\n    const file = await this.fileUpload($event, this.resource.data.temporaryInvoiceFileUploadUuid[0]);\n    await this.postWithdrawalRequests($event, file);\n  }\n\n  async postUploadSessions($event) {\n    return this.api.post('users/me/upload-sessions', {}).then((xhr) => {\n      const response = xhr.response;\n      this.uploadSessionUuid = response.id;\n    }).catch((error) => {\n      console.log('Post users/me/upload-sessions', error);\n      this.toast.show('Errore in fase di inizializzazione!', 'success');\n      $event.model.busy = false;\n    });\n  }\n\n  async fileUpload($event, file) {\n    const endpoint = `users/me/upload-sessions/${this.uploadSessionUuid}/uploaded-files`;\n    return new Promise((resolve, reject) => {\n      let attachment = {};\n      new Promise((resolve, reject) => {\n        const reader = new FileReader();\n        reader.readAsDataURL(file);\n        reader.onload = () => {\n          attachment.filename = file.name;\n          attachment.fileData = reader.result;\n          resolve(true);\n        };\n        reader.onerror = (error) => { \n          reject(error); \n        };\n      }).then(() => {\n        return this.api.post(endpoint, attachment).then((xhr) => {\n          attachment.mimeType = file.type;\n          attachment.size = file.size;\n          attachment.id = xhr.response.id;\n          delete attachment.fileData;\n          resolve(attachment);\n        }).catch((error) => {\n          $event.model.busy = false;\n          console.log('Post fileUpload', error);\n          this.toast.show(`Errore durante il caricamento!`, 'error');\n          reject();\n        });\n      }).catch((error) => {\n        $event.model.busy = false;\n        console.log('Promise fileUpload', error);\n        this.toast.show(`Errore durante il caricamento!`, 'error');\n        reject();\n      });\n    });\n  }\n\n  async postWithdrawalRequests($event, file) {\n    const data = this.parseData(this.resource.data, file);\n    return this.resource.validate().then(() => {\n      return this.api.post(`users/me/cashback-withdrawal-requests`, data).then(() => {\n        this.toast.show('Richiesta di prelievo avvenuto con successo!', 'success');\n        this.controller.ok();\n      }).catch((error) => {\n        console.error('Get cashback-withdrawal-requests', error);\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  parseData(data, file) {\n    let clone = structuredClone(data);\n    delete clone.file;\n    return clone = {\n      ...clone,\n      amount: Number(clone.amount),\n      temporaryInvoiceFileUploadUuid: file.id\n    }\n  }\n  \n  downloadStaticResource(filename) {\n    const anchor = document.createElement('a');\n    anchor.download = filename;\n    anchor.href = `/static/downloads/${filename}`;\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n    this.toast.show('File scaricato con successo', 'success');\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class tabMovements {\n  transactionDisabledDate; // new Date('2025-03-01T00:00:01'); // this date MUST be instantiated like new Date('2026-12-03T03:24:00')\n  inhibitionCashbackMessage = `<div class=\"inhibition-cashback\"><p><strong>Grazie per la tua fedeltà!</strong><p/><p>Abbiamo tante novità per te e per questo motivo stiamo aggiornando la tua area cashback.</p><p>A breve sarà nuovamente possibile richiedere il tuo premio e molto altro!<p/><p> Non preoccuparti se in questa fase vedi il tuo saldo non disponibile, è assolutamente normale!<p/><p> Durante questa fase temporanea, infatti, continuerai comunque a maturare il tuo cashback, come di consueto.<p/><p> Al termine dell'aggiornamento visualizzerai il tuo saldo corretto.<p/><p> Multidialogo ti informerà prontamente, appena gli aggiornamenti saranno terminati.</p><p> Grazie per la collaborazione!<p/></div>`;\n  metaResponse;\n  lastAcceptedFlatServiceContract;\n  lastAcceptedMultinvioVolumesContract;\n  sourceTypeSchema = {\n    'IN': {\n      'text': 'Entrata',\n      'values': {\n        'HISTORY': 'Storicizzato',\n        'QUEUE': 'Spedizione MultInvio',\n        'FLAT-SUBSCRIPTION-MULTICAF': 'Abbonamento MultiCaf',\n        'FLAT-SUBSCRIPTION-MULTINVIO': 'Abbonamento MultInvio',\n        'FLAT-SUBSCRIPTION-MULTIFATTURE': 'Abbonamento MultiFatture',\n        'OPERATOR': 'Intervento operatore',\n      }\n    },\n    'OUT': {\n      'text': 'Uscita',\n      'values': {\n        'HISTORY': 'Storiczzato',\n        'TRANSFER-WITHDRAWAL': 'Prelievo',\n        'TRANSFER-CREDIT': 'Trasferimento',\n        'TRANSFER-VOUCHER': 'Trasferimento voucher BrainWare',\n        'OPERATOR': 'Intervento operatore'\n      }\n    }\n  }\n\n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.parent = model.$parent;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTab();\n    this.controllerTabRequests = this.parent.tabs.find((tab) => tab.id === 'requests').controller\n  }\n\n  setEndpoint(userId) {\n    const endpoint = `users/${userId || 'me'}/cashback-movements`;\n    return endpoint;\n  }\n\n  setDirectionDatasource() {\n    const datasource = [{\n      value: 'null',\n      text: 'Tutti'\n    }];\n    Object.entries(this.sourceTypeSchema).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.text });\n    });\n    return datasource\n  }\n\n  setSourceTypeDatasource() {\n    let datasource = [];\n    const schema = structuredClone(this.sourceTypeSchema);\n    const direction = this.searchInterface?.data?.direction || null;\n    const irregularTypes = [\n      'OPERATOR',\n      'FLAT-SUBSCRIPTION-MULTICAF',\n      'FLAT-SUBSCRIPTION-MULTINVIO',\n      'FLAT-SUBSCRIPTION-MULTIFATTURE'\n    ];\n\n    delete schema.IN.values.HISTORY;\n    delete schema.OUT.values.HISTORY;\n\n    if (!direction || direction === 'null') {\n      ['IN', 'OUT'].forEach((direction) => {\n        datasource.push({ value: direction, text: schema[direction].text, optgroup: true });\n        Object.entries(schema[direction].values).forEach(([key, value]) => {\n          if (irregularTypes.includes(key)) {\n            datasource.push({ value: `${key}-${direction}`, text: value });\n          } else {\n            datasource.push({ value: key, text: value });\n          }\n        });\n      });\n    } else {\n      Object.entries(schema[direction].values).forEach(([key, value]) => {\n        if (irregularTypes.includes(key)) {\n          datasource.push({ value: `${key}-${direction}`, text: value });\n        } else {\n          datasource.push({ value: key, text: value });\n        }\n      });\n    }\n\n    return datasource;\n  }\n\n  changeDirection() {\n    this.searchInterface.data.sourceType = null;\n    this.searchInterface.schema.sourceType = {\n      ...this.searchInterface.schema.sourceType,\n      datasource: this.setSourceTypeDatasource()\n    }\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-cashback-movements',\n      endpoint: this.setEndpoint()\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  async initSearchInterface() {\n    let sourceUser = {};\n    const sourceUuids = {\n      control: 'combo',\n      label: 'Generati da',\n      datasource: {\n        table: 'users/me/users?include=user-profiles',\n        query: { search: 'text-search', item: 'uuid-in' }\n      },\n      datavalue: 'uuid',\n      datamultiple: true,\n      datapreload: false,\n      query: 'source-user-uuid-in',\n      datatext: 'profile[0].displayName'\n    };\n\n    this.searchInterface = new SearchInterface({\n      name: 'table-cashback-movements-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          control: 'date',\n          label: 'Inserito dal',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        direction: {\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          label: 'Tipologia',\n          datavalue: 'value',\n          query: 'direction',\n          datamultiple: false,\n          datasource: this.setDirectionDatasource(),\n        },\n        sourceType: {\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: true,\n          query: 'source-in',\n          datasource: this.setSourceTypeDatasource(),\n          label: 'Mostra solo le seguenti operazioni',\n        }\n      },\n      data: {\n        direction: 'null',\n        sourceUser: !this.privileges.isOperator ? true : ''\n      }\n    });\n\n    if (this.privileges.isOperator) {\n      sourceUser = {\n        required: true,\n        label: 'Utente',\n        datavalue: 'id',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: { table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER', query: { search: 'text-search', item: 'id-in' } }\n      }\n    } else {\n      sourceUser = {\n        control: 'check',\n        label: 'Includi generati dal',\n        query: 'source-user-not-me',\n        description: `Mio ${mdt.parsers.contextualize(this.api.user, 'account')}`\n      }\n    }\n\n    this.searchInterface.schema = {\n      sourceUser,\n      ...this.searchInterface.schema,\n      ...(!this.privileges.isOperator && { sourceUuids })\n    }\n\n    return this.searchInterface.initialize();\n  }\n\n  async initTab() {\n    const isOperator = this.privileges.isOperator;\n    let promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (this.api.hasRole('LIST_USER_CASHBACK_CONTRACTS') && !isOperator) {\n      promises.push(this.getLastAcceptedFlatServiceContract(), this.getLastlastAcceptedMultinvioVolumesContract());\n    }\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      if (!isOperator) this.search();\n      if (isOperator && this.searchInterface.data.sourceUser) this.search();\n    }).catch((error) => {\n      console.log('initTab', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n\n  getLastAcceptedFlatServiceContract() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.lastAcceptedFlatServiceContract = response;\n    });\n  }\n\n  getLastlastAcceptedMultinvioVolumesContract() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      this.lastAcceptedMultinvioVolumesContract = response;\n    });\n  }\n\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n\n    if (this.privileges.isOperator) {\n      this.tableInterface.endpoint = this.setEndpoint(data.sourceUser);\n    } else {\n      data.sourceUser = data.sourceUser ? 'NO' : 'YES';\n      if (data.sourceUuids?.length && data.sourceUser === 'NO') {\n        data.sourceUuids.push(this.api.user.uuid);\n      }\n    }\n\n    const tableInterface = await this.searchInterface.search(data);\n    this.metaResponse = tableInterface?.originalResponse?.meta;\n  }\n\n  async reset() {\n    await this.searchInterface.reset(true);\n    this.searchInterface.data.direction = 'null';\n    this.search();\n  }\n\n  isTransactionDisabledUntilDate(disabledUntilDate) {\n    let isDisabled = false;\n    if (disabledUntilDate) {\n      const currentDate = new Date();\n      isDisabled = currentDate < disabledUntilDate.getTime() ? true : false;\n    }\n    return isDisabled;\n  }\n\n  isTransactionDisabledAfterDate(disabledStartDate) {\n    let isDisabled = false;\n    if (disabledStartDate) {\n      const currentDate = new Date();\n      isDisabled = currentDate > disabledStartDate.getTime() ? true : false;\n    }\n    return isDisabled;\n  }\n\n  getCashbackTransferEligibilityCheck($event, scope) {\n    if (this.isTransactionDisabledAfterDate(this.transactionDisabledDate)) {\n      this.openTemporaryDialog(this.inhibitionCashbackMessage);\n    } else {\n      $event.model.busy = true;\n      this.api.get(`users/me/cashback-transfer-eligibility-check?scope=${scope}`).then(() => {\n        if (scope === 'TRANSFER-CREDIT') return this.dialogCreditTransfer();\n        // if (scope === 'TRANSFER-VOUCHER') return this.dialogTransferVoucher();\n        if (scope === 'TRANSFER-WITHDRAWAL') return this.dialogWithdrawalRequest();\n      }).catch((xhr) => {\n        console.log('Get cashback-transfer-eligibility-check', xhr);\n        return this.api.dialogError(xhr);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  }\n\n  openTemporaryDialog(bodyMessage) {\n    this.dialog.open({\n      title: 'Attenzione',\n      class: 'medium',\n      type: 'alert',\n      body: bodyMessage,\n    });\n  }\n\n  dialogWithdrawalRequest() {\n    return this.dialog.open({\n      class: 'medium withdrawal-request',\n      title: 'Preleva saldo fatturabile',\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/withdrawal-request'),\n      viewModelParams: {\n        billableAmount: this.metaResponse.billableAmount\n      }\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n        this.controllerTabRequests.search();\n      }\n    });\n  }\n\n  dialogCreditTransfer() {\n    return this.dialog.open({\n      class: 'small credit-transfer',\n      title: 'Trasferisci sul mio credito servizio',\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/credit-transfer')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n  // dialogTransferVoucher() {\n  //   return this.dialog.open({\n  //     class: 'small transfer-voucher',\n  //     title: 'Aquista voucher BrainWare',\n  //     viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/transfer-voucher')\n  //   }).whenClosed((response) => {\n  //     if (!response.wasCancelled) {\n  //       this.search();\n  //     }\n  //   });\n  // }\n\n  dialogInsertMovement() {\n    const userId = this.searchInterface.data.sourceUser || null;\n    return this.dialog.open({\n      class: 'small insert-movement',\n      title: 'Inserisci movimento',\n      viewModelParams: { userId },\n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/insert-movement')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n\n  dialogServiceDetail(record) {\n    return this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio abbonamento',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail'),\n      viewModelParams: { ownerId: record.sourceUserId, flatServiceUuid: record.sourceFlatServiceSubscriptionUuid }\n    });\n  }\n\n  navigateToQueueDetail(record) {\n    return this.router.navigate(`spedizioni/reportistica/${record.sourceUserId}/${record.sourceQueueUuid}`);\n  }\n\n  navigateToLegacyReport(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    return this.api.get(`users/me/cross-login-tokens/current`).then((xhr) => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=mi_report&multiqueue_uuid=${record.sourceQueueUuid}`);\n    }).catch(xhr => {\n      console.error('Error - GET cross-login-tokens/current', xhr);\n      this.api.dialogError(xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n\n  movementDetail(record) {\n    if (record.sourceUserId) {\n      if (record.sourceFlatServiceSubscriptionUuid) {\n        return this.dialogServiceDetail(record);\n      } else if (record.sourceQueueUuid) {\n        // The queue detail currently links to legacy but will be replaced\n        return this.navigateToLegacyReport(record);\n        // return this.navigateToQueueDetail(record);\n      }\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface}  from 'classes/md-table';\n\n@inject(Api, KaDialog, KaToast)\nexport class tabRequests {\n  status = {\n    'PENDING' : 'In attesa',\n    'REFUSED' : 'Rifiutata'\n  }\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    model.tab.controller = this;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTab();\n  }\n\n  setEndpoint() {\n    const path = this.privileges.isOperator ? 'bo' : 'users/me';\n    const endpoint = `${path}/cashback-withdrawal-requests`;\n    return endpoint;\n  }\n\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-cashback-requests',\n      endpoint: this.setEndpoint()\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  async initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-cashback-requests-search',\n      table: this.tableInterface,\n      schema: {\n        user: {\n          label: 'Utente',\n          control: 'combo', \n          datavalue: 'uuid',\n          query: 'user-uuid',\n          datapreload: false,\n          datamultiple: false,\n          datatext: 'profile[0].displayName',\n          datasource: { \n            table: 'bo/users?include=user-profiles', \n            query: { search: 'text-search', item: 'uuid-in' }\n          }\n        }\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n\n  async initTab() {\n    await this.initTableInterface();\n    await this.initSearchInterface();\n    this.search();\n  }\n\n  async search() {\n    return this.searchInterface.search();\n  }\n\n  async reset() {\n    await this.searchInterface.reset(true);\n    return this.search();\n  }\n\n  async deleteRequest($event, record) {\n    return this.api.delete(`users/me/cashback-withdrawal-requests/${record.id}`).then(() => {\n      this.search();\n      this.toast.show('Richiesta eliminata con successo!', 'success');\n    }).catch((xhr) => {\n      console.log('Delete cashback-withdrawal-requests', xhr);\n      return this.api.dialogError(xhr);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  dialogDeleteRequest($event, record) {\n    $event.model.busy = true;\n    return this.dialog.open({ \n      class: 'small', \n      type: 'confirm', \n      title: 'Attenzione!', \n      body: `Confermi di voler eliminare questa richiesta di prelievo?`}).whenClosed((response) => {\n      if (!response.wasCancelled) return this.deleteRequest($event, record);\n      $event.model.busy = false;\n    });\n  }\n\n  dialogEditRequest($event, record, status) {\n    $event.model.busy = true;\n    const statusSchema = { 'REFUSED': 'Rifiuta', 'CONFIRMED': 'Conferma' };\n    return this.dialog.open({\n      class: 'small edit-request',\n      title: `${statusSchema[status]} richiesta di prelievo`,\n      viewModelParams: { record, status }, \n      viewModel: PLATFORM.moduleName('views/cashback/transactions/dialogs/edit-request')\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.search();\n      }\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { PLATFORM, inject } from 'aurelia-framework';\nimport { KaToast } from 'ka-components';\n\n@inject(Api, Router, KaToast)\nexport class vmTransactions {\n  privileges = {};\n  tabs = [\n    {\n      id: 'movements',\n      label: 'Movimenti',\n      vm: PLATFORM.moduleName('views/cashback/transactions/tabs/movements')\n    },\n    {\n      id: 'requests',\n      label: 'Richieste',\n      vm: PLATFORM.moduleName('views/cashback/transactions/tabs/requests')\n    }\n  ];\n\n  constructor(api, router, KaToast) {\n    this.api = api;\n    this.router = router;\n    this.toast = KaToast;\n    this.privileges.tabs = this.tabs.reduce((accumulator, value) => ({ ...accumulator, [value.id]: false }), {});\n    this.tools = {\n      downloadDocument: ($event, userId, id) => {\n        $event.model.busy = true;\n        this.toast.show('Caricamento in corso', 'loading');\n        let uri = `/users/${userId || 'me'}/cashback-withdrawal-requests/${id}/downloads/invoice.pdf`;\n    \n        return this.api.client.createRequest(uri)\n        .asGet()\n        .withHeader('Accept', 'application/pdf')\n        .withHeader('Content-Type', 'application/pdf')\n        .withResponseType('blob')\n        .send()\n        .then((xhr) => {\n          let regexp = new RegExp('filename=(.+\\.pdf$)', 'i');\n          let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n          let anchor = document.createElement('a');\n          let blob = new Blob([xhr.response], { type: 'application/pdf' });\n          let url = URL.createObjectURL(blob);\n    \n          anchor.href = url;\n          anchor.download = matches?.[1] || \"Fattura per richiesta trasferimento cashback.pdf\",\n          document.body.appendChild(anchor);\n          anchor.click();\n          document.body.removeChild(anchor);\n          this.toast.show(`Documento scaricato con successo!`, 'success');\n        }).catch((error) => {\n          this.toast.show(`Impossibile scaricare il file!`, 'error');\n          console.log('Get downloads/invoice', error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_CASHBACK_MOVEMENT', 'LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST');\n    \n    if (this.api.hasRole('LIST_USER_CASHBACK_MOVEMENTS', 'LIST_ANY_USER_CASHBACK_MOVEMENT')) {\n      ['movements'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n    if (this.api.hasRole('LIST_USER_CASHBACK_WITHDRAWAL_REQUESTS', 'LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')) {\n      ['requests'].forEach((id) => { this.privileges.tabs[id] = true; });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogOrderDetail {\n  order;\n\n  constructor(api, dialogController) {\n    this.api = api;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.userId = params.userId,\n    this.orderUuid = params.orderUuid,\n    this.orderStatuses = params.orderStatuses,\n    this.paymentMethods = params.paymentMethods;\n    this.downloadOrderInvoice = params.downloadOrderInvoice;\n    this.endpoint = `users/${this.userId}/orders/${this.orderUuid}`;\n  }\n\n  attached() {\n    this.setOrder();\n  }\n\n  getOrder() {\n    return this.api.get(this.endpoint).catch((error) => {\n      console.error('getOrder', error);\n    });\n  }\n\n  setOrder() {\n    this.getOrder().then((xhr) => {\n      this.order = xhr.response;\n    });\n  }\n\n  copyText(text, item) {\n    return navigator.clipboard.writeText(text),\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { KaDialog } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(KaDialog, DialogController)\nexport class PaymentInstruction { \n\n  constructor(dialog, dialogController) {\n    this.dialog = dialog;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.instruction = params.order.paymentCoors;\n    this.order = params.order;\n  }  \n}\n","import { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { MfApi } from 'services/mf-api';\n\nexport class SettleInvoice {\n  pendingInit;\n  error = {\n    load: { found: false, msg: 'Errore in fase di caricamento' },\n    confirm: { found: false, msg: 'Errore in fase di invio della richiesta' }\n  }\n  settle = null;\n\n  static inject = [MfApi, KaDialog, DialogController, KaToast];\n  constructor(mfApi, dialog, dialogController, toast) {\n    this.dialog = dialog;\n    this.controller = dialogController;\n    this.mfApi = mfApi;\n    this.toast = toast;\n  }\n  activate(params) {\n    this.invoice = params.record;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    this.mfApi.post(`documents/${this.invoice.document_id}/checkinsolutomd`).then((xhr) => {\n      if (xhr.response && xhr.response.seen !== null && xhr.response.seen !== undefined) {\n        this.settle = { seen: parseInt(xhr.response.seen, 10), html: xhr.response.html };\n        this.error.load.found = false;\n      } else {\n        this.error.load.found = true;\n        this.toast.show('Errore nel caricamento!', 'error');\n      }\n    }).catch(error => {\n      console.error(error);\n      this.error.load.found = true;\n      this.toast.show('Errore nel caricamento!', 'error');\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  confirmInvoice($event) {\n    $event.model.busy = true;\n    return this.mfApi.post(`documents/${this.invoice.document_id}/payinsolutomd`).then((xhr) => {\n      if (xhr.response && xhr.response.html !== null && xhr.response.html !== undefined) {\n        this.invoice.settle = 'Pagamento con bonifico richiesto';\n        this.settle.seen = 1; \n        this.error.confirm.found = false;\n        this.controller.ok();\n        this.toast.show('Pagamento con bonifico richiesto con successo!', 'success');\n      } else {\n        this.error.confirm.found = true;\n        this.toast.show('Errore nella richiesta!', 'error');\n      }\n    }).catch(error => {\n      console.error('confirmInvoice', error);\n      this.error.confirm.found = true;\n    }).finally(() => {\n      $event.model.busy = true;\n    });\n  }\n}\n","import mdt from 'services/md-tools';\nimport { Api } from 'services/api';\nimport { MfApi } from 'services/mf-api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MfFileDownload } from 'services/mf-files';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class ViewInvoicesList {\n  mdt = mdt;\n  isPendingInit;\n  suppliers = [];\n  defaultSettings = { \n    date_to: null,\n    date_from: mdt.helpers.setDateRange() \n  };\n  documentTypes = [\n    { value: 'I', text: 'Fattura' },\n    { value: 'R', text: 'Ricevuta' },\n    { value: 'C', text: 'Nota di credito' }\n  ];\n  paymentStatuses = [\n    { value: 'P', text: 'Pagato', class: 'success' },\n    { value: 'NP', text: 'Non pagato', class: 'error' },\n    { value: 'PP', text: 'Pagato parzialmente', class: 'pending' },\n    { value: 'G', text: 'Girata a terzi', class: 'pending' },\n    { value: 'I', text: 'Insoluto', class: 'error' },\n    { value: 'ND', text: 'ND', class: 'pending' },\n    { value: 'C', text: 'Contabilizzazione', class: '' },\n    { value: 'A', text: 'Addebito CC', class: 'secondary' },\n    { value: 'PB', text: 'SDD Pagato con bonifico', class: 'success' },\n    { value: 'PDC', text: 'SDD Prelievo da deposito cauzionale', class: 'success' },\n    { value: 'PNC', text: 'SDD Emessa nota di credito', class: 'success' }\n  ];\n\n  static inject = [Api, MfApi, KaDialog, KaToast];\n  constructor(api, mfApi, kaDialog, kaToast) {\n    this.api = api;\n    this.mfApi = mfApi;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.api = this.mfApi.api;\n    this.mfFileDownload = new MfFileDownload(this.api, this.mfApi, this.toast);\n  }\n\n  attached() {\n    this.init();\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.mfApi,\n      name: 'invoices-table',\n      endpoint: 'documents'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response?.forEach?.((record) => { this.parseData(record) });\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'invoices-table-search',\n      table: this.tableInterface,\n      schema: {\n        doctype: {\n          control: 'combo',\n          datatext: \"text\",\n          datavalue: \"value\",\n          label: 'Tipo documento',\n          datasource: this.documentTypes,\n          query: 'doctype'\n        },\n        supplier_id: {\n          control: 'combo',\n          label: 'Fornitore',\n          datatext: 'name',\n          datavalue: 'id',\n          datamultiple: false,\n          datasource: [],\n          query: 'supplier_id'\n        },\n        name: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'name',\n        },\n        fiscal_code: {\n          control: 'text',\n          label: 'Codice fiscale',\n          query: 'fiscal_code'\n        },\n        payment_status: {\n          label: 'Stato del pagamento',\n          control: 'combo',\n          datasource: this.paymentStatuses,\n          query: 'payment_status'\n        },\n        source: {\n          query: 'source',\n          control: 'combo',\n          label: 'Sorgente',\n          datamultiple: false,\n          datasource: [{ value: 'ZEN', text: 'Caricate manualmente' }]\n        },\n        number: {\n          control: 'text',\n          label: 'Numero',\n          query: 'number'\n        },\n        date_from: {\n          label: 'Documenti dal',\n          control: 'date',\n          query: 'date_from'\n        },\n        date_to: {\n          label: 'al',\n          control: 'date',\n          query: 'date_to'\n        }\n      },\n      data: structuredClone(this.defaultSettings)\n    });\n    return this.searchInterface.initialize();\n  }\n\n  init() {\n    this.isPendingInit = true;\n    let promises = [this.getSuppliers(), this.initTableInterface(), this.initSearchInterface()];\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        if (!xhr.value && xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      this.searchInterface.search().then(() => {\n        this.isPendingInit = false;\n      });\n    }).catch((error) => {\n      this.isPendingInit = false;\n      console.error('Init', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n  async reset() {\n    await this.searchInterface.reset(false, false);\n    this.searchInterface.data = { date_from: mdt.helpers.setDateRange(), date_to: null };\n    this.searchInterface.search();\n  }\n  getSuppliers() {\n    const endpoint = 'suppliers';\n    const params = { enabled: 1, add_external: 1, order_by: 'name', order_type: 'ASC' };\n    return this.mfApi.get(endpoint, params).then((xhr) => {\n      const suppliers = xhr.response;\n      const multidialogo = { id: '1', name: 'MultiDialogo S.r.l.'};\n      if (suppliers.find((supplier) => supplier.id !== '1')) {\n        suppliers.unshift(multidialogo);\n      }\n      this.setSuppliersDatasource(suppliers);\n    }).catch((error) => {\n      console.error('getSuppliers', error);\n    });\n  }\n  dialogSettleInvoice(record) {\n    return this.dialog.open({\n      viewModelParams: { record },\n      class: 'medium settle-invoice',\n      title: 'Salda con bonifico',\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/settle-invoice')\n    });\n  }\n  setSuppliersDatasource(suppliers) {\n    const datasource = Array.isArray(suppliers) ? suppliers : [];\n    this.searchInterface.schema.supplier_id = Object.assign({}, this.searchInterface.schema.supplier_id, { datasource });\n  }\n\n  // Parse functions\n  parseData(record) {\n    record.doctype_label = (this.documentTypes.find(item => item.value === record.doctype) || { text: 'ND' }).text;\n    record.supplier = (this.searchInterface.schema.supplier_id.datasource.find(item => String(item.id) === String(record.mfsuppliers_id)) || { name: 'ND', fiscal_code: 'ND' });\n    record.payment_status_label = (this.paymentStatuses.find(item => item.value === record.payment_status || item.value === record.status) || { text: 'ND' }).text;\n    record.payment_status_class = (this.paymentStatuses.find(item => item.value === record.payment_status || item.value === record.status) || { class: 'warning' }).class;\n    record.commodity = record.commodity && record.commodity.length ? record.commodity.split(',') : [];\n    record.report = record.report_filename !== null && record.report_filename.length > 0;\n\n    let codici = [];\n    let supplier = this.suppliers.find(item => String(item.id) === String(record.mfsuppliers_id));\n    if (supplier && supplier.pr && record.prcodes) {\n      codici = record.prcodes.split(',');\n    }\n    else if (record.pods && record.pods.length) {\n      codici = record.pods.split(',');\n    }\n    else {\n      codici.push(record.comp_code);\n    }\n\n    record.codici_importazione = codici;\n\n    if (record.mfsuppliers_id === '1' && record.payment === 'SDD' && record.payment_status === 'I') {\n      if (!record.sdd_request_pay || parseInt(record.sdd_request_pay, 10) === 0) {\n        record.settle = 'Salda con bonifico';\n      }\n      else if (parseInt(record.sdd_request_pay, 10) === 1) {\n        record.settle = 'Pagamento con bonifico richiesto';\n      }\n    }\n    return record;\n  }\n  parseDateQuery() {\n    const date_to = this.searchInterface.data.date_to?.substring?.(0, 10);\n    const date_from = this.searchInterface.data.date_from?.substring?.(0, 10);\n    return {\n      ...this.searchInterface.data,\n      ...(this.searchInterface.data.date_to && { date_to }),\n      ...(this.searchInterface.data.date_from && { date_from })\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n\n@inject(Router, Api, KaToast, KaDialog, MdDatasources)\nexport class ViewOrders {\n  isOperator;\n  isMasterUser;\n  totalGrossAmount;\n  DEFAULT_DATE_RANGE_DAYS = 365;\n  orderStatuses = {\n    'A' : { text: \"In attesa di pagamento\", class: \"pending\" },\n    'C' : { text: \"Pagato\", class: \"success\" },\n    'I' : { text: \"Insoluto\", class: \"error\"}\n  }\n\n  constructor(router, api, toast, dialog, mdDatasources) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n    this.mdDatasources = mdDatasources;\n  }\n\n  activate() {\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_ORDER');\n    this.isMasterUser = this.api.user.group.includes('MASTER_USER');\n  }\n\n  attached() {\n    this.paymentMethods = this.getPaymentMethod();\n    this.init();\n  }\n\n  getPaymentMethod() {\n    const paymentMethods = [...this.mdDatasources.paymentMethods];\n    paymentMethods.push({\n      code: 'LICENZACAL',\n      label: 'Prelievo da deposito cauzionale'\n    });\n    const mappedMethods = new Map(\n      paymentMethods.map(method => [method.code, method.label])\n    );\n    return mappedMethods;\n  }\n\n  getPaymentMethodDatasource = () => {\n    const cleanedPayments = this.mdDatasources?.paymentMethods?.filter((method) => {\n      return method.code !== \"E-PAYMENT\" && method.code !== \"PAYPAL\";\n    }).map((method) => {\n      const { code, label } = method;\n      const paymentMethod = {\n        text: label,\n        value: code\n      };\n      return paymentMethod;\n    });\n\n    const staticPaymentMethods = [\n      { text: 'Prelievo da deposito cauzionale', value: 'LICENZACAL' },\n    ];\n\n    const paymentMethods = [...cleanedPayments, ...staticPaymentMethods];\n    return paymentMethods;\n  };\n\n  init() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      if (!this.isOperator) this.search();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'orders-table',\n      endpoint: null,\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', (event) => {\n      this.totalGrossAmount = event.xhr.originalResponse.meta.totalGrossAmount;\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'orders-table-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali ordini vuoi visualizzare?',\n          datasource: this.isMasterUser ? this.getContextDatasource() : [],\n          datatext: \"text\",\n          datavalue: \"value\",\n          required: !this.isOperator,\n        },\n        owner: {\n          datavalue: 'id', \n          control: 'combo',\n          datapreload: false,\n          datamultiple: false,\n          required: !!this.isOperator,\n          label: 'Utente',\n          datatext: 'profile[0].displayName',\n          datasource: { \n            table: `${this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, \n            query: { search: 'text-search', item: 'id-in'}\n          }\n        },\n        orderNumber: {\n          label: 'Numero ordine',\n          control: 'text',\n          query: 'order-id-in',\n          required: !!this.isOperator,\n        },\n        paymentStatus: {\n          label: 'Stato del pagamento',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'CONFIRMED', text: 'Confermato' },\n            { value: 'PENDING', text: 'In attesa di pagamento' },\n            { value: 'UNSOLVED', text: 'Insoluto' }\n          ],\n          query: 'status'\n        },\n        createdAtGte: {\n          label: 'Ordine creato dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: this.getPaymentMethodDatasource(),\n          query: 'payment-method'\n        }\n      },\n      data: {\n        owner: null,\n        context: !this.isOperator ? 'USER&SUBUSERS' : null,\n        orderNumber: null,\n        paymentMethod: null,\n        paymentStatus: 'null',\n        createdAtLte: this.setDefaultDateRange(),\n        createdAtGte: this.setDefaultDateRange(this.DEFAULT_DATE_RANGE_DAYS)\n      }\n    });\n    \n    return this.searchInterface.initialize();\n  }\n\n  search() {\n    const { owner, orderNumber, context } = this.searchInterface.data;\n    this.updateValidationRules(owner, orderNumber);\n    this.tableInterface.endpoint = this.getOrdersEndpoint(owner, context, orderNumber);\n    this.searchInterface.search().then(() => {\n      if (this.isOperator) {\n        this.searchInterface.controls.owner.required = (this.searchInterface.controls.orderNumber.required = true);\n      }\n    });\n  }\n\n  setDefaultDateRange(days) {\n    const currentDate = new Date();\n\n    if (days) {\n      currentDate.setDate(currentDate.getDate() - days);\n    }\n    return currentDate.toISOString();\n  }\n\n  contextChanged() {\n    this.setOwnerValue();\n  }\n\n  setOwnerValue() {\n    if (this.isMasterUser && this.searchInterface.data.context !== 'SUBUSERS') {\n      this.searchInterface.data.owner = null;\n    }\n  }\n\n  ownerChanged() {\n    this.setContextSchema();\n    this.setContextValue();\n  }\n\n  setContextSchema() {\n    if (this.isOperator) {\n      const { owner } = this.searchInterface.data;  \n      if (!owner) {\n        this.searchInterface.data.context = null;\n      } else {\n        this.searchInterface.schema.context = Object.assign({}, this.searchInterface.schema.context, { datasource: this.getContextDatasource() });\n      }\n    }\n  }\n\n  setContextValue () {\n    if (this.isOperator && this.searchInterface.controls.owner?.control?.valueModel?.parentId) {\n      this.searchInterface.data.context = 'USER';\n    } else if (this.isOperator) {\n      this.searchInterface.data.context = 'USER&SUBUSERS';\n    }\n  }\n\n  getContextDatasource() {\n    if (this.isOperator) {\n      let datasource = [{\n        value: 'USER',\n        text: `Gli ordini dell'utente`\n      }];\n      if (!this.searchInterface.controls.owner?.control?.valueModel?.parentId) {\n        datasource = [{\n          value: 'USER&SUBUSERS',\n          text: 'Gli ordini di tutti'\n        },\n        ...datasource,\n        { \n          value: 'SUBUSERS', \n          text: `Gli ordini dei sottoutenti` \n        }];\n      }\n      return datasource;\n    } else if(this.isMasterUser) {\n      return [{ \n        value: 'USER&SUBUSERS', \n        text: `Gli ordini di tutti` \n      }, { \n        value: 'USER', \n        text: `Gli ordini del mio ${mdt.parsers.contextualize(this.api.user, 'account')}` \n      }, { \n        value: 'SUBUSERS', \n        text: `Gli ordini dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}` \n      }];\n    }\n  }\n\n  getContextSuffix() {\n    const context = this.searchInterface?.data?.context;\n    let suffix = '';\n    if (context === 'SUBUSERS' && (this.isOperator || !this.searchInterface.data.owner)) {\n      suffix = '/~subs';\n    } else if (context === 'USER&SUBUSERS') {\n      suffix = '/~all';\n    }\n    return suffix;\n  }\n\n  updateValidationRules(owner, orderNumber) {\n    if (this.isOperator) {\n      if (!owner && orderNumber) {\n        this.searchInterface.controls.owner.required = false;\n      } else if (owner && !orderNumber) {\n        this.searchInterface.controls.orderNumber.required = false;\n      }\n    }\n  }\n\n  getOrdersEndpoint(owner, context, orderNumber) {\n    if (this.isOperator && !owner && orderNumber) {\n      return 'bo/orders';\n    }\n    const contextSuffix = this.getContextSuffix();\n    const isUserSpecific = this.isOperator || (context === 'SUBUSERS' && owner);\n    const basePath = isUserSpecific ? `users/${owner}` : 'users/me';\n    return `${basePath}/orders${contextSuffix}`;\n  }\n\n  resetDateRange(days) {\n    this.searchInterface.data.createdAtLte = this.setDefaultDateRange();\n    this.searchInterface.data.createdAtGte = this.setDefaultDateRange(days);\n  }\n\n  reset() {\n    this.searchInterface.reset(false, false);\n    this.searchInterface.data.paymentStatus = 'null';\n    this.resetDateRange(this.DEFAULT_DATE_RANGE_DAYS);\n    this.tableInterface.data = null;\n    this.totalGrossAmount = null;\n    if (!this.isOperator) {\n      this.searchInterface.data.context = 'USER&SUBUSERS';\n      this.search();\n    } else {\n      this.searchInterface.data.context = null;\n    }\n  }\n  \n  copyText(text, item) {\n    return navigator.clipboard.writeText(text),\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  dialogPaymentInstructions(order) {\n    return this.dialog.open({\n      viewModelParams: { order },\n      class: 'medium payment-instructions',\n      title: order.status === 'A' ? 'Istruzioni di pagamento' : 'Salda con bonifico',\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/payment-instructions')\n    });\n  }\n\n  dialogOrderDetail(order) {\n    return this.dialog.open({\n      viewModelParams: { \n        userId: order.userId,\n        orderUuid: order.uuid,\n        orderStatuses: this.orderStatuses,\n        paymentMethods: this.getPaymentMethod(),\n        downloadOrderInvoice: this.downloadOrderInvoice.bind(this)\n      },\n      class: 'large order-detail',\n      title: `Dettaglio ordine`,\n      viewModel: PLATFORM.moduleName('views/contabilita/dialogs/order-detail')\n    });\n  }\n\n  downloadOrderInvoice(order) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    const uri = `users/${order.userId}/orders/${order.uuid}/downloads/invoice.pdf`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader(\"Accept\", \"application/pdf\")\n      .withHeader(\"Content-Type\", \"application/pdf\")\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regexp = new RegExp('filename=(.+\\.pdf$)');\n        const disposition = xhr.headers.headers['content-disposition'].value;\n        const matches = disposition ? disposition.match(regexp) : null;\n        const filename = (matches && matches[1]) ? matches[1] : 'invoice.pdf';\n        const anchor = document.createElement(\"a\");\n        const blob = new Blob([xhr.response], { type: 'application/pdf' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = filename;\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show(\"Fattura scaricata correttamente\", 'success');\n      }).catch((error) => {\n        console.error(error);\n        this.toast.show('Impossibile scaricare la fattura', 'error');\n      }).finally(() => {\n        this.toast.consume();\n      })\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router, activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {Navigation} from '../app/app-navigation'\n\n@inject(Router, Api, Navigation)\nexport class Dashboard {\n  constructor(router, api, navigation) {\n    this.api = api;\n    this.router = router;\n    this.navigation = navigation;\n  }\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate() {}\n\n  attached() {\n    if (this.api.user.group === 'MASTER_USER') this.sendEnabled = true;\n  }\n}\n","import { Api } from 'services/api';\nimport { Aurelia } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { FidelityCardsModel } from '../../classes/models/fidelityCards';\n\nexport class ViewActivation {\n  statuses;\n  isPendingInit;\n  fidelityCards;\n  userPromotions;\n  fidelityCardsModel;\n  userCurrentFidelityCard;\n  templateCard = PLATFORM.moduleName('views/fidelity-cards/templates/card');\n\n  static inject = [Api, Aurelia, KaDialog, KaToast];\n  constructor(api, aurelia, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.aurelia = aurelia;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n    this.fidelityCardsModel = new FidelityCardsModel(this.api, this.toast);\n    this.statuses = this.fidelityCardsModel.statuses;\n  }\n\n  attached() {\n    this.init();\n  }\n  init() {\n    this.isPendingInit = true;\n    this.getFidelityCards().then((xhr) => {\n      const response = xhr.response;\n      this.userCurrentFidelityCard = this.setUserFidelityCard(response);\n      this.fidelityCards = this.parseFidelityCards(response);\n      this.userPromotions = this.setUserPromotions();\n      this.viewActivation = this;\n      this.isPendingInit = false;\n    }).catch((error) => {\n      this.isPendingInit = false;\n      console.error('getFidelityCards', error);\n    });\n  }\n  getFidelityCards() {\n    const path = 'users/me/fidelity-cards';\n    return this.api.get(path);\n  }\n\n  // Parse functions\n  parseFidelityCards(fidelityCards) {\n    fidelityCards.forEach?.((card) => {\n      const status = card.status;\n      card.statusClass = this.statuses?.[status]?.class;\n      card.statusLabel = this.statuses?.[status]?.label;\n      if (card.activable === 'YES') {\n        card.statusDescription = `Puoi attivare la Fidelity Card ${card.title}`;\n      } else {\n        card.statusDescription = `Non puoi attivare la Fidelity Card ${card.title} ${this.userCurrentFidelityCard ? 'perchè hai già attivato una Fidelity Card più vantaggiosa' : ''}`;\n      }\n      if (card.revocable === 'YES') {\n        card.revocableMessage = `Per richiesta di recesso inviare comunicazione a <a href=\"mailto:fidelity@multidialogo.it\">fidelity@multidialogo.it</a>`;\n      }\n      switch (status) {\n        case 'GRACE-PERIOD':\n          card.statusDescription = `La Fidelity Card ${card.title} è in periodo di tolleranza, sarà possibile rinnovare entro il ${this.dateFormat(card?.gracePeriodEndAt, 'DD/MM/YY')}`;\n          break;\n        case 'ACTIVE':\n          card.statusDescription = `${card?.statusLabel} dal ${this.dateFormat(card?.activatedAt, 'DD/MM/YY')} al ${this.dateFormat(card?.expireAt, 'DD/MM/YY')}`;\n          break;\n      }\n    });\n    return fidelityCards;\n  }\n  dateFormat(data, format = null) {\n    return this.aurelia?.resources?.valueConverters?.dateFormat?.toView?.(data, format);\n  }\n\n  // Set functions\n  setUserFidelityCard(response) {\n    return response?.find?.((card) => ['ACTIVE','GRACE-PERIOD'].includes(card?.status));\n  }\n  setUserPromotions() {\n    let userPromotions = [];\n    this.fidelityCards.forEach?.((card) => {\n      if (!card?.status) {\n        const code = card.code;\n        const title = card.title;\n        if (card.promotion) {\n          card.promotion.card = { title, code };\n          userPromotions.push(card.promotion);\n        }\n      }\n    });\n    return userPromotions;\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\n\nexport class DialogFidelityCardActivation {\n  disclosure;\n  isActivable;\n  isPendingInit;\n  isPendingActivation;\n  isAcknowledgementPending;\n  elementDialogHeaderH2;\n  resource = {\n    schema: {\n      acknowledgement: {\n        control: 'check'\n      }\n    },\n    data: {}\n  };\n\n  changeAcknowledgement() {\n    this.isAcknowledgementPending = true;\n    this.postDisclosureAcceptances().finally(() => {\n      this.isAcknowledgementPending = false;\n    });\n  }\n\n  static inject = [DialogController];\n  constructor(controller) {\n    this.controller = controller;\n  }\n  activate(params) {\n    this.params = params;\n    this.api = params.api;\n    this.card = params.card;\n    this.toast = params.toast;\n    this.dialog = params.dialog;\n    this.userFidelityCard = params.userFidelityCard;\n    this.fidelityCardsModel = params.fidelityCardsModel;\n  }\n  attached() {\n    this.elementDialogHeaderH2 = document.querySelector('ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2');\n    this.init();\n  }\n\n  // Init functions\n  init() {\n    this.isPendingInit = true;\n    this.appendElementFidelityCardTitle();\n    this.appendElementFidelityCardPrice();\n    this.getFidelityCardDisclosure().then((xhr) => {\n      this.disclosure = xhr.response;\n      this.resource.schema.acknowledgement.description = this.disclosure.acknowledgementStatement;\n    }).catch((error) => {\n      console.error('getFidelityCardDisclosure', error);\n    }).finally(() => {\n      this.isPendingInit = false;\n    });\n  }\n  appendElementFidelityCardTitle() {\n    let span = document.createElement('span');\n    span.classList.add('card-title');\n    span.innerHTML = `Informativa card <strong>${this.card.title}</strong>`;\n    this.elementDialogHeaderH2.append(span);\n  }\n  appendElementFidelityCardPrice() {\n    let div = document.createElement('div');\n    div.classList.add('new-tag');\n    if (this.card?.price === 0) div.classList.add('success');\n    div.innerHTML = this.card?.price === 0 ? 'Gratuita' : `Prezzo ${this.card?.price}€/Anno`;\n    this.elementDialogHeaderH2.append(div);\n  }\n\n  // Http functions\n  getFidelityCardDisclosure() {\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure`;\n    return this.api.client.createRequest(path)\n      .asGet()\n      .withHeader('Content-Type', 'application/json')\n      .send()\n  }\n  postDisclosureAcceptances() {\n    const disclosureAccepted = this.resource.data.acknowledgement ? 'YES' : 'NO';\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure-acceptances`;\n    return this.api.post(path, { disclosureAccepted }).then((xhr) => {\n      this.isActivable = xhr?.response?.fidelityCardUuid === this.card.id;\n    }).catch((error) => {\n      console.error('postDisclosureAcceptances', error);\n      this.api.dialogError(error);\n    });\n  }\n  fidelityCardActivation($event) {\n    $event.model.busy = this.isPendingActivation = true;\n    this.fidelityCardsModel?.activation(this.card).then(() => {\n      this.controller.ok();\n    }).finally(() => {\n      $event.model.busy = this.isPendingActivation = false;\n    });\n  }\n\n  // Useful functions\n  acceptDisclosure($event) {\n    if (this.userFidelityCard?.code && this.userFidelityCard.code !== this.card.code) {\n      return this.dialogSwitchingActivation().whenClosed((response) => {\n        if (!response.wasCancelled) return this.fidelityCardActivation($event);\n      });\n    } else return this.fidelityCardActivation($event);\n    \n  }\n\n  // Dialog functions\n  dialogSwitchingActivation() {\n    const body = `<span class=\"d-block mb-3\">Stai passando dalla <strong>Fidelity Card ${this.userFidelityCard?.name}</strong> alla <strong>Fidelity Card ${this.card.name}.</strong></span><span>Confermi di voler continuare?</span>`;\n    return this.dialog.open({ \n      body,\n      class: 'small', \n      type: 'confirm', \n      title: 'Attenzione!',\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogFidelityCardActivation {\n  static inject = [Api, DialogController, KaToast];\n  constructor(api, controller, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.controller = controller;\n  }\n  activate(params) {\n    this.params = params;\n    this.card = params.card;\n  }\n  confirm($event) {\n    $event.model.busy = true;\n    let value = this.card.autoRenewEnabled === 'YES' ? 'NO' : 'YES';\n    return this.api.patch(`users/me/fidelity-cards/${this.card.code}/auto-renew`, { value }).then(() => {\n      switch (value) {\n        case 'YES':\n          this.toast.show(`Hai attivato il rinnovo automatico`, 'success');\n          break;\n        case 'NO':\n        this.toast.show(`Hai disattivato il rinnovo automatico`, 'success');\n          break;\n      }\n      this.controller.ok();\n    }).catch((error) => {\n      console.error('patchAutoRenew', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { MdFileDownload } from 'services/md-files';\n\nexport class viewTemplateCard {\n  templateFidelityCard = PLATFORM.moduleName('views/fidelity-cards/templates/fidelity-card');\n\n  activate(model) {\n    this.model = model;\n    this.card = model.card;\n    this.parent = model.parent;\n    this.dialog = this.parent.dialog;\n    this.fidelityCardsModel = this.parent.fidelityCardsModel;\n    this.mdFileDownload = new MdFileDownload(this.parent.api, this.parent.toast);\n  }\n\n  disclosureDownload($event, card) {\n    const path = `users/me/fidelity-cards/${this.card.code}/disclosure`;\n    this.mdFileDownload.fileDownload(path, card, 'pdf', $event);\n  }\n\n  // Set functions\n  setActivationButtonMessage(card, context = null) {\n    const activationMessage = `${card.status === 'GRACE-PERIOD' ? 'Rinnova ' : !!this.parent?.userCurrentFidelityCard ? 'Passa a ' : 'Attiva '}${card.title}`;\n    if (context === 'tooltip' && card.activable === 'NO') return card.statusDescription;\n    return activationMessage;\n  }\n  setSelfRenewTooltip(card) {\n    if (card.autoRenewEnabled === 'YES') {\n      return 'La Fidelity Card si rinnoverà automaticamente alla scadenza';\n    }\n    return 'Rinnovo automatico inattivo. La Fidelity Card potrà essere rinnovata manualmente';\n  }\n\n  // Dialog functions\n  dialogCardActivation($event, card) {\n    $event.model.busy = true;\n    const userCurrentFidelityCard = this.parent?.userCurrentFidelityCard;\n    this.dialog.open({\n      title: ' ',\n      class: 'fidelity-card-activation',\n      viewModelParams: { \n        card,\n        api: this.parent.api, \n        userCurrentFidelityCard,\n        toast: this.parent.toast,\n        dialog: this.parent.dialog,\n        fidelityCardsModel: this.fidelityCardsModel\n      },\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-card-activation')\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) this.parent.init();\n      $event.model.busy = false;\n    });\n  }\n  dialogCardManagement($event, card) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Gestione rinnovo',\n      viewModelParams: { card },\n      class: 'fidelity-card-renewal-management',\n      viewModel: PLATFORM.moduleName('views/fidelity-cards/dialogs/fidelity-card-renewal-management')\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) this.parent.init();\n      $event.model.busy = false;\n    });\n  }\n  dialogGracePeriodInformation(card) {\n    if (card.gracePeriod) {\n      return this.dialog.open({ \n        type: 'alert', \n        class: 'small', \n        title: 'Attenzione!', \n        body: `<p class=\"m-0\">La tua <strong>fidelity card ${card.name}</strong> é Scaduta. Hai tempo fino al <strong>${card.gracePeriod}</strong> per rinnovarla, nel frattempo continuerai a maturare punti Multicoin che potranno essere utilizzati solo al rinnovo. <strong>Terminato il periodo di tolleranza, i punti Multicoin accumulati in questo intervallo saranno azzerati.</strong></p>`\n      });\n    }\n  }\n\n  // Http functions\n  fidelityCardRenew($event, card) {\n    $event.model.busy = true;\n    this.fidelityCardsModel.renew(card).then(() => {\n      this.parent.init();\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","export class viewTemplateFidelityCard{\n  templateFidelityCard = PLATFORM.moduleName('views/fidelity-cards/templates/fidelity-card');\n  \n  activate(model) {\n    this.model = model;\n    this.card = model.card;\n  }\n}\n","import { DialogController } from 'aurelia-dialog';\nimport { Router } from \"aurelia-router\";\nimport mdt from 'services/md-tools';\n\nexport class DialogHelpServicesAgreement {\n  mdt = mdt;\n  services = {\n    'MultiDialogo': {\n      target: \"\",\n      text: \"MultiDialogo\"\n    },\n    'MultiInvio': {\n      text: \"MultiInvio\",\n      target: \"https://termsofservice.multidialogo.it/multidialogo/multinvio/condizioni-contrattuali/\"\n    },\n    'Multinforma': {\n      text: \"Multinforma\",\n      target: 'https://termsofservice.multidialogo.it/multidialogo/multinforma/condizioni-contrattuali/'\n    }\n  }\n\n  resource = {\n    schema: {\n      service: {\n        control: 'combo',\n        label: 'Seleziona il servizio',\n        datasource: this.setDatasourceServices(),\n        datatext: 'text',\n        datavalue: 'value'\n      }\n    },\n    data: {\n      service: 'MultiDialogo',\n    }\n  }\n\n  static inject = [DialogController, Router];\n  constructor(controller, router) {\n    this.controller = controller;\n    this.router = router;\n  }\n\n  setDatasourceServices() {\n    let datasource = [];\n    for (const [key, value] of Object.entries(this.services)) {\n      datasource.push({ value: key, text: value.text, target: value.target });\n    }\n    return datasource;\n  }\n\n  openServiceAgreement() {\n    const selectedService = this.resource.data.service;\n\n    const serviceData = this.resource.schema.service.datasource.find(x => x.value === selectedService);\n\n    if (selectedService !== 'MultiDialogo') {\n      window.open(serviceData.target, '_blank');\n    } else {\n      this.router.navigateToRoute('impostazioni/agreements', { id: 'last' });\n    }\n\n    this.controller.ok();\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Router, Api, KaToast, KaDialog)\nexport class Help {\n  urls = {\n    privacy: \"https://termsofservice.multidialogo.it/multidialogo/privacy-policy/\",\n    mailTo: \"mailto:assistenza@multidialogo.it\",\n    sla: \"https://termsofservice.multidialogo.it/multidialogo/sla/\",\n    knowledge: \"https://docs.multidialogo.it/s/\"\n  }\n\n  constructor(router, api, toast, dialog) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.supportTickets.reload();\n  }\n\n  supportTickets = {\n    data: null,\n    reload: () => {\n      this.api.get(`users/me/support-tickets`).then(xhr => {\n        let response = xhr.response.filter(x => x.expired === false);\n        this.supportTickets.data = response && response.length > 0 ? response[0] : null;\n      }).catch(error => {\n        console.log('Errore GET support-tickets', error);\n      });\n    },\n    request: () => {\n      this.api.post(`users/me/support-tickets`, {}).then(() => {\n        this.toast.show('Codice assistenza generato!', 'success');\n        this.supportTickets.reload();\n      }).catch(error => {\n        console.log('Errore POST support-tickets', error);\n        this.toast.show('Impossibile generare codice assistenza!', 'error');\n      });\n    }\n  };\n\n  dialogHelpServicesAgreement() {\n    return this.dialog.open({\n      title: 'Condizioni e termini contrattuali',\n      class: 'help-services-agreement small',\n      viewModel: PLATFORM.moduleName('views/help/dialogs/help-services-agreement')\n    });\n  }\n\n  openExternalLink(target) {\n    window.open(target, \"_blank\");\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { activationStrategy } from 'aurelia-router';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdUser } from 'services/md-user';\n\n@inject(Router, Api, KaToast, KaDialog, MdUser)\nexport class ViewAgreements {\n  redirect = null;\n  agreement = {\n    route: PLATFORM.moduleName('views/_agreement/agreement'),\n    view: {},\n    back: false\n  }\n\n  constructor(router, api, toast, dialog, mdUser) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdUser = mdUser;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init(this.params?.id);\n  }\n\n  init(id) {\n    if (id && id === 'last') this.agreement.back = true;\n    let url = id === 'last' ? 'accepted-user-agreements/last' : 'user-agreements/current';\n    this.allClausesAccepted = false;\n\n    // Current agreement\n    this.api.get(`users/me/${url}`).then((xhr) => {\n      const response = xhr.response;\n      this.agreement.view = (response?.constructor === Object && Object.keys(response || '')?.length === 0) ? null : response;\n      if (this.agreement.view?.clauses?.length) {\n        this.agreement.view.clauses.forEach(clause => { clause.accepted = false; });\n\n        // Clauses already accepted\n        this.api.get(`users/me/user-agreements/${this.agreement.view.uuid}/clause-acceptances`).then(xhr => {\n          this.acceptances = xhr.response;\n          if (this.acceptances?.length) {\n            this.agreement.view.clauses.forEach(clause => {\n              if (this.acceptances.find(x => x.userAgreementClauseUuid === clause.id)) clause.accepted = true;\n            });\n          }\n        }).catch(error => {\n          console.log('Clause acceptances', error);\n        });\n      }\n    }).catch(error => {\n      let status = [404, 405, 406, 407, 408, 409, 410];\n      if (status.includes(error.statusCode)) {\n        this.agreement.view = null;\n        this.redirect = localStorage.getItem(`u${this.api.user.id}-eula-href`);\n        console.log('checkAgreements - no current agreement', error, `u${this.api.user.id}-eula-href refirect href`, this.redirect);\n        this.toast.show('condizioni di servizo accettate', 'success');\n      } else {\n        console.log('Agreements subscription', error);\n        this.toast.show('Sottoscrizione fallita', 'error');\n      }\n    })\n  }\n\n  accept(event) {\n    if (!this.acceptances) return\n    event.model.busy = true;\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: 'Stai accettando le nostre condizioni di servizio. Continua per poter accedere alla piattaforma.'}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        let promises = [];\n        this.agreement.view.clauses.forEach(clause => {\n          if (clause.accepted && !this.acceptances.find(x => x.userAgreementClauseUuid === clause.id)) {\n            promises.push(this.api.post(`users/me/user-agreements/${this.agreement.view.uuid}/clause-acceptances`, [{ userAgreementClauseUuid: clause.id }]));\n          }\n        });\n        Promise.all(promises).then(() => {\n          this.init();\n          event.model.busy = false;\n          this.mdUser.checkFlow.getCheck('checkAgreements').hasPassed = true;\n        }).catch(errors => {\n          console.log('Agreements approval promises', errors);\n        });\n      } else event.model.busy = false;\n    });\n  }\n\n  areAllClausesAccepted() {\n    console.log('agreement.view.clauses', this.agreement);\n    setTimeout(() => {\n      if (this.agreement.view.clauses.some(clause => clause.accepted === false)) {\n        return this.allClausesAccepted = false;\n      } else return this.allClausesAccepted = true;\n    }, 0);\n  }\n\n  cancel() {\n    this.router.navigateToRoute('help');\n  }\n}\n\n","import { inject, bindable } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniEmail {\n  @bindable() prefsel = null;\n  environment = environment;\n  multinvioDigitalSelfUsages;\n  isMultinvioDigitalSelfUsagesEnded = false;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n  \n  attached() {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR') {\n      this.getMultinvioDigitalSelfUsages().then((xhr) => {\n        this.multinvioDigitalSelfUsages = xhr.response;\n        this.isMultinvioDigitalSelfUsagesEnded = this.multinvioDigitalSelfUsages?.usage >= this.multinvioDigitalSelfUsages?.limit;\n      }).catch((error) => {\n        console.error('current-year', error);\n      });\n    }\n  }\n\n  getMultinvioDigitalSelfUsages() {\n    return this.api.get('users/me/multinvio-digital-self-usages/current-year');\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      displayAddress: { control: 'text', label: 'Email mittente', readonly: true },\n      displayName: { control: 'text', label: 'Denominazione mittente' },\n      notificationAddress: { control: 'text', label: 'Indirizzo per notifiche' },\n      emailForwarding: {\n        certified: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con PEC' },\n        notCertified: { control: 'check', label: 'Abilita l\\'invio delle comunicazioni a tutte le caselle mail presenti in anagrafica' },\n      },\n      certifiedAddresses: { control: 'text' }\n    },\n    data: {},\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && !!x.response.requested?.sender?.email) || (!this.preferences.isCal && !!x.response.current?.sender?.email);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'email'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.hasInheritedPEC = x.response.requested && !x.response.requested.sender?.email?.certifiedAddresses?.length && !!x.response.current?.sender?.email?.certifiedAddresses?.length;\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/email`, { enableOverride: !this.preferences.isOverride }).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => { }).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/email`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  pec = {\n    selected: false,\n    endpoint: null,\n    schema: {\n      label: { label: 'Etichetta', control: 'text' },\n      address: { label: \"Indirizzo\", control: 'text' },\n      username: { label: \"Username\", control: 'text' },\n      password: { label: 'Password', control: 'password' },\n      smtpServer: { label: 'Server SMTP', control: 'text' },\n      smtpPort: { label: 'Porta SMTP', control: 'number' }\n    },\n    data: {\n      smtpPort: 465\n    },\n    reload: () => {\n      this.pec.selected = false;\n      this.pec.data = {};\n      this.preferences.reload();\n    },\n    add: () => {\n      this.pec.selected = true;\n    },\n    edit: (item) => {\n      this.pec.selected = true;\n      this.pec.data = item;\n    },\n    delete: (item) => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare l\\'indirizzo selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/me/preferences/sender/email/certified-addresses/${item.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.pec.reload();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = JSON.parse(JSON.stringify(this.pec.data));\n      let url = data.uuid ? `users/${this.prefsel}/preferences/sender/email/certified-addresses/${data.uuid}` : `users/${this.prefsel}/preferences/sender/email/certified-addresses`;\n      let method = data.uuid ? `patch` : `post`;\n      if (data && Object.entries(data).length) {\n        if (data.smtpPort) data.smtpPort = parseInt(data.smtpPort);\n        this.pec.resource.save(data, url, method).then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.pec.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  }\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\nimport {KaToast, KaDialog} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniFax {\n  @bindable() prefsel = null;\n  environment = environment;\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    console.log('PREFSEL changed', value);\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      cover: {control: 'textarea', label: 'Copertina' },\n      name: { control: 'text', label: 'Nome mittente' },\n      prefix: { control: 'combo', label: 'Prefisso', datasource: [{value: '+39', text: '+39'}], datavalue: 'value', datatext: 'text', datapreload: true },\n      number: { control: 'number', label: 'Numero di fax' }\n    },\n    data: {},\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.fax) || (!this.preferences.isCal && x.response.current?.sender?.fax);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'fax'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/fax`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        if (data.number) data.prefix = data.prefix || '+39';\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/fax`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniGenerali {\n  @bindable() prefsel = null;\n  environment = environment;\n  mdt = mdt;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n    this.preferences.reload();\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    console.log('PREFSEL changed', value);\n    setTimeout(() => {\n      this.mobileNumbers.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      masterUserCreditSharing: { control: 'check', datamultiple: false, description: 'Attivo' },\n      sdi: {\n        code: { control: 'text' },\n        genericSubuserCode: { control: 'text' }\n      },\n      debtGuarantorDisplayName: { control: 'text', label: 'Garante deposito' },\n      debtGuarantorUuid: {\n        label: 'Garante deposito', \n        control: 'combo',  \n        datatext: 'profile[0].displayName',\n        datavalue: 'uuid', \n        datamultiple: false,\n        datapreload: false,\n        datasource: { table: `bo/users?include=user-profiles&user-group-in=MASTER_USER`, query: { search: 'text-search', item: 'uuid-in'} },\n        query: 'parent-uuid-in'\n      },\n      enableCreditPartialUsage: { control: 'check', datamultiple: false, label: 'Usa il credito residuo per il pagamento delle spedizioni', description: 'Attivo' },\n      enableToPayQueueDutiesForSubuserAtCheckout: { control: 'check', datamultiple: false, description: 'Attivo' },\n      registerBillsAsManagementMovement: { control: 'check', datamultiple: false, label: 'Le fatture delle spedizioni verranno registrate come movimento di gestione, senza la suddivisione per costi personali' }\n    },\n    data: {},\n    checks: {\n      masterUserCreditSharing: false\n    },\n    writeEnabled: false,\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/me/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.email) || (!this.preferences.isCal && x.response.current?.sender?.email);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['payment'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.checks.masterUserCreditSharing = this.preferences.data.masterUserCreditSharing?.scopes?.includes('QUEUE-DUTIES');\n      });\n      this.writeEnabled = this.api.hasRole('MODIFY_USERS_PRIVILEDGED_PREFERENCES');\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.preferences.data;\n      if (this.preferences.checks.masterUserCreditSharing === true) {\n        if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n        if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') < 0) data.masterUserCreditSharing.scopes.push('QUEUE-DUTIES');\n      } else if (this.preferences.checks.masterUserCreditSharing === false) {\n        if (!data.masterUserCreditSharing) data.masterUserCreditSharing = { scopes: []};\n        if (data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES') > -1) data.masterUserCreditSharing.scopes.splice(data.masterUserCreditSharing.scopes.indexOf('QUEUE-DUTIES'), 1);\n      }\n      data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data.debtGuarantorDisplayName) delete data.debtGuarantorDisplayName;\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/me/preferences/payment`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  mobileNumbers = {\n    endpoint: null,\n    schema: {\n      //internationalPrefix: { control: 'number', label: 'Prefisso'},\n      internationalPrefix: { control: 'combo', label: 'Prefisso', datasource: [{value: '+39', text: '+39'}], datavalue: 'value', datatext: 'text', datapreload: true },\n      number: { control: 'number', label: 'Numero di telefono'},\n      confirmationCode: { control: 'text', label: 'Codice di sicurezza ricevuto tramite SMS'}\n    },\n    records: [],\n    optedIn: null,  // List of all mobile numbers already registred and verified\n    optedOut: null, // List of all mobile numbers already registred but not yet verified\n    uuid: null,\n    data: {\n      internationalPrefix: '+39',\n      number: null,\n      confirmationCode: null\n    },\n    reset: () => {\n      this.mobileNumbers.data.number = null;\n      this.mobileNumbers.reload();\n    },\n    reload: () => {\n      this.mobileNumbers.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences/mobile-numbers`).then(x => {\n        this.mobileNumbers.records = x.response;\n        this.mobileNumbers.optedIn = x.response.filter(x => x.status === 'opted-in');\n        this.mobileNumbers.optedOut = x.response.filter(x => x.status === 'opted-out');\n        this.mobileNumbers.uuid = (this.mobileNumbers.optedIn[0] || this.mobileNumbers.optedOut[0] || { uuid: null}).uuid;\n      });\n    },\n    request: ($event) => {\n      $event.model.busy = true;\n      // Normalize data\n      this.mobileNumbers.data.internationalPrefix = String(this.mobileNumbers.data.internationalPrefix);\n      this.mobileNumbers.data.number = String(this.mobileNumbers.data.number);\n      // Override data\n      let overrideData = Object.assign({}, this.mobileNumbers.data);\n      overrideData.number = overrideData.internationalPrefix + overrideData.number;\n      delete overrideData.internationalPrefix;\n      delete overrideData.confirmationCode;\n      // Save data through md-resource\n      this.mobileNumbers.resource.save(overrideData, `users/${this.prefsel}/preferences/mobile-numbers`).then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch(() => {\n        this.toast.show('Impossibile inviare richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    resend: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(`users/${this.prefsel}/preferences/mobile-numbers`, {number: record.number}).then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    confirm: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(`users/${this.prefsel}/preferences/mobile-numbers/${record.uuid}/opt-ins`, {confirmationCode: record.confirmationCode}).then(() => {\n        this.toast.show('Conferma inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare conferma!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    revoke: ($event, record) => {\n      $event.model.busy = true;\n      this.api.post(`users/${this.prefsel}/preferences/mobile-numbers/${record.uuid}/opt-outs`, {}).then(() => {\n        this.toast.show('Revoca inviata con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile inviare revoca!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    delete: ($event, record) => {\n      $event.model.busy = true;\n      this.api.delete(`users/${this.prefsel}/preferences/mobile-numbers/${record.uuid}`, {}).then(() => {\n        this.toast.show('Numero eliminato con successo!', 'success');\n        this.mobileNumbers.reset();\n      }).catch((x) => {\n        this.toast.show('Impossibile eliminare il numero!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {Toolbar} from '../app/app-toolbar';\n\n@inject(Api, Toolbar)\nexport class Impostazioni {\n\n  constructor(api, toolbar) {\n    this.api = api;\n    this.modules = toolbar.items.find(x => x.settings === true).nav;\n  }\n\n  attached() {\n  }\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\nimport {KaToast, KaDialog} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniMultibox {\n  @bindable() prefsel = null;\n  environment = environment;\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      firstname: { control: 'text', label: 'Nome' },\n      lastname: { control: 'text', label: 'Cognome' },\n      companyName: { control: 'text', label: 'Nome azienda' },\n      addressee: { control: 'text', label: 'Destinatario azienda' },\n      streetAddress: { control: 'text', label: 'Indirizzo' },\n      zipCode: { control: 'text', label: 'CAP' },\n      admLvl2: { control: 'text', label: 'Provincia' },\n      admLvl3: { control: 'text', label: 'Città' },\n      envelope: {\n        packagePresentation: { control: 'combo', label: 'Proprietà buste', datasource: [{value: 'CLOSED', text: 'Chiuse'}, {value: 'OPEN', text: 'Aperte'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        recipientList: {\n          subject: { control: 'text', label: 'Oggetto foglio destinatari' }\n        }\n      },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con Multibox' }\n    },\n    data: {},\n    checks: {\n      recipientList: false\n    },\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.multibox) || (!this.preferences.isCal && x.response.current?.sender?.multibox);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'multibox'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        this.preferences.checks.recipientList = this.preferences.data.envelope.recipientList?.subject && this.preferences.data.envelope.recipientList?.subject.length > 0 ? true : false;\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/multibox`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      if (this.preferences.checks.recipientList === false) {\n        this.preferences.data.envelope.recipientList = {subject: null};\n      }\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/multibox`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n}\n","import {inject, bindable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport mdt from 'services/md-tools';\nimport {KaToast, KaDialog} from 'ka-components';\nimport datasets from 'md-datasets.json';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniMulticerta {\n  @bindable() prefsel = null;\n  environment = environment;\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n \n  attached() {\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    console.log('PREFSEL changed', value);\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      multicertaInvitation: { control: 'check', label: 'Invia automaticamente in email l\\'invito a scaricare l\\'app quando effettui una spedizione postale' },\n      deadline: {\n        acknowledgement: { control: 'combo', label: 'Utilizzare il canale alternativo solo se lo stato di consegna Multicerta non è ancora:', datasource: [{value: 'read', text: 'Letto'}, {value: 'none', text: 'Nessun canale alternativo'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        duration: { control: 'combo', label: 'Dopo quanto tempo impostare il canale alternativo?', datasource: [{value: '3600', text: '1 ora'}, {value: '7200', text: '2 ore'}, {value: '10800', text: '3 ore'}, {value: '21600', text: '6 ore'}, {value: '43200', text: '12 ore'}, {value: '86400', text: '1 giorno'}, {value: '172800', text: '2 giorni'}, {value: '259200', text: '3 giorni'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        legalAcknowledgement: { control: 'combo', label: 'Utilizzare il canale alternativo solo se lo stato di consegna Multicerta non è ancora:', datasource: [{value: 'notified', text: 'Notificato'}, {value: 'identified', text: 'Identificato (aperto)'}, {value: 'read', text: 'Letto'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        legalDuration: { control: 'combo', label: 'Dopo quanto tempo impostare il canale alternativo?', datasource: [{value: '3600', text: '1 ora'}, {value: '7200', text: '2 ore'}, {value: '10800', text: '3 ore'}, {value: '21600', text: '6 ore'}, {value: '43200', text: '12 ore'}, {value: '86400', text: '1 giorno'}, {value: '172800', text: '2 giorni'}, {value: '259200', text: '3 giorni'}], datavalue: 'value', datatext: 'text', datapreload: true }\n      },\n      postage: {\n        type: { control: 'combo', label: 'Affrancatura default', datasource: [{value: 'PRIORITARIA', text: 'Prioritaria'}, {value: 'PRIORITARIA1', text: 'Prioritaria 1'}, {value: 'RACCOMANDATA', text: 'Raccomandata'}, {value: 'RACCOMANDATA1', text: 'Raccomandata 1'}, {value: 'RACCOMANDATAAR', text: 'Raccomandata A/R'}, {value: 'RACCOMANDATA1AR', text: 'Raccomandata 1 A/R'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        legalType: { control: 'combo', label: 'Affrancatura default', datasource: [{value: 'PRIORITARIA', text: 'Prioritaria'}, {value: 'PRIORITARIA1', text: 'Prioritaria 1'}, {value: 'RACCOMANDATA', text: 'Raccomandata'}, {value: 'RACCOMANDATA1', text: 'Raccomandata 1'}, {value: 'RACCOMANDATAAR', text: 'Raccomandata A/R'}, {value: 'RACCOMANDATA1AR', text: 'Raccomandata 1 A/R'}], datavalue: 'value', datatext: 'text', datapreload: true }\n      },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata con Multicerta' }\n    },\n    data: {},\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.multicerta) || (!this.preferences.isCal && x.response.current?.sender?.multicerta);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'multicerta'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/multicerta`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/multicerta`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n}\n","import { inject, bindable } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniNotifiche {\n  @bindable() prefsel = null;\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.pushPreferences.isOverride = null;\n      this.uiPreferences.isOverride = null;\n      this.uiPreferences.reload();\n      this.emailPreferences.reload();\n      this.pushPreferences.reload();\n      this.privacyConsent.reload();\n    }, 0);\n  }\n\n  uiPreferences = {\n    endpoint: null,\n    schema: {\n      email: { \n        control: 'list', \n        datasource: { \n          model: { \n            view: 'address', \n            schema: [ { field: 'address', control: 'text', label: 'Indirizzo email' } ] \n          } \n        }, \n        label: 'Inserire gli indirizzi email sui quali ricevere le notifiche di sistema',\n        max: 3\n      }\n    },\n    data: {},\n    reload: () => {\n      this.uiPreferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.uiPreferences.isOverride === null) {\n          this.uiPreferences.isOverride = (this.uiPreferences.isCal && x.response.requested?.notification?.email?.length) || (!this.uiPreferences.isCal && x.response.current?.notification?.email?.length)\n        };\n        this.uiPreferences.data = mdt.preferences.mergeModelData(this.uiPreferences.schema, ['notification'], x.response);\n        this.uiPreferences._data = JSON.parse(JSON.stringify(this.uiPreferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      if (this.uiPreferences.data.email) {\n        this.api.patch(`users/${this.prefsel}/preferences/notification`, {email: []}).then(x => {\n          this.uiPreferences.isOverride = !this.uiPreferences.isOverride;\n        }).catch(e => {}).finally(() => {\n          this.uiPreferences.reload();\n          $event.model.busy = false;\n        });\n      }\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.uiPreferences.data;\n       data = mdt.helpers.diffObject(this.uiPreferences._data, this.uiPreferences.data);\n      if (data && Object.entries(data).length) {\n       this.uiPreferences.resource.save(data, `users/${this.prefsel}/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.uiPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  emailPreferences = {\n    endpoint: null,\n    schema: {\n      credit: {\n        enabled: { control: 'check' },\n        serviceThreshold: { control: 'number', label: 'Soglia minima servizio €' },\n        postageThreshold: { control: 'number', label: 'Soglia minima affrancatura €' },\n      },\n      dailyDigest: {\n        queue: null\n      },\n      directDebit: {\n        sdd: {\n          enabled: { control: 'check' },\n          threshold: { control: 'number', label: 'Soglia minima deposito cauzionale €' },\n        }\n      },\n      bouncedEmailsDigest: {\n        enabled: { control: 'check' },\n      }\n    },\n    data: {},\n    checks: {\n      dailyDigest: false\n    },\n    reload: () => {\n      this.api.get(`users/me/preferences`).then(x => {\n        this.emailPreferences.data = mdt.preferences.mergeModelData(this.emailPreferences.schema, ['notification'], x.response);\n        this.emailPreferences._data = JSON.parse(JSON.stringify(this.emailPreferences.data));\n        this.emailPreferences.checks.dailyDigest = this.emailPreferences.data.dailyDigest?.queue?.includes('BLOCKED');\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.emailPreferences.data;\n      if (this.emailPreferences.checks.dailyDigest === true) {\n        if (!data.dailyDigest) data.dailyDigest = { queue: []};\n        if (data.dailyDigest.queue.indexOf('BLOCKED') < 0) data.dailyDigest.queue.push('BLOCKED');\n      } else if (this.emailPreferences.checks.dailyDigest === false) {\n        if (!data.dailyDigest) data.dailyDigest = { queue: []};\n        if (data.dailyDigest.queue.indexOf('BLOCKED') > -1) data.dailyDigest.queue.splice(data.dailyDigest.queue.indexOf('BLOCKED'), 1);\n      }\n      data = mdt.helpers.diffObject(this.emailPreferences._data, this.emailPreferences.data);\n      if (data && Object.entries(data).length) {\n        if (data.credit?.postageThreshold) data.credit.postageThreshold = parseInt(data.credit.postageThreshold, 10);\n        if (data.credit?.serviceThreshold) data.credit.serviceThreshold = parseInt(data.credit.serviceThreshold, 10);\n        this.emailPreferences.resource.save(data, `users/me/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.emailPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  pushPreferences = {\n    endpoint: null,\n    schema: {\n      appPush: {\n        blocked: { control: 'check' },\n        refused: { control: 'check' },\n        delivered: { control: 'check' }\n      }\n    },\n    data: {},\n    checks: {\n      dailyDigest: false\n    },\n    reload: () => {\n      this.pushPreferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.pushPreferences.isOverride === null) this.pushPreferences.isOverride = (this.pushPreferences.isCal && x.response.requested?.notification?.appPush) || (!this.pushPreferences.isCal && x.response.current?.notification?.appPush);\n        this.pushPreferences.data = mdt.preferences.mergeModelData(this.pushPreferences.schema, ['notification'], x.response);\n        this.pushPreferences._data = JSON.parse(JSON.stringify(this.pushPreferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/notification`, {appPush: {enableOverride: !this.pushPreferences.isOverride}}).then(x => {\n        this.pushPreferences.isOverride = !this.pushPreferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.pushPreferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = this.pushPreferences.data;\n      data = mdt.helpers.diffObject(this.pushPreferences._data, this.pushPreferences.data);\n      if (data && Object.entries(data).length) {\n        this.pushPreferences.resource.save(data, `users/${this.prefsel}/preferences/notification`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.pushPreferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n\n  privacyConsent = {\n    data: null,\n    reload: () => {\n      this.api.get(`users/${this.prefsel}/preferences`).then(xhr => {\n        const response = xhr.response;\n        this.privacyConsent.data = response.current?.notification?.commercial;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      const data = { commercial: this.privacyConsent.data };\n      this.api.patch(`users/${this.prefsel}/preferences/notification`, data).then(() => {\n        this.toast.show('Modifiche salvate con successo!', 'success');\n        this.privacyConsent.reload();\n      }).catch(xhr => {\n        console.log('PATCH preferences/notification', xhr);\n        this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class PostaDialogConfirm {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport environment from 'environment';\nimport { TableInterface } from 'classes/md-table';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { activationStrategy } from 'aurelia-router';\nimport { MdDatasources } from 'services/md-datasources';\nimport { inject, bindable, PLATFORM } from 'aurelia-framework';\n\n@inject(Api, MdDatasources, KaToast, KaDialog)\nexport class ImpostazioniPosta {\n  @bindable() prefsel = null;\n  envelopeLogoUuid;\n  dataset = {\n    postalOrders: {},\n    watermarks: {}\n  };\n  data = {\n    postalOrders: {},\n    watermarks: {}\n  };\n  environment = environment;\n\n  constructor(api, MdDatasources, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n    this.vmCover = PLATFORM.moduleName('views/print-backoffice/copertine');\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.envelopeLogoUuid = params?.envelopeLogoUuid;\n  }\n \n  attached() {\n    this.postalOrders.tableInterface = new TableInterface({ \n      name: 'preferences-postal-orders-table', \n      client: this.api, \n      endpoint: null, \n      query: null \n    });\n    this.postalOrders.tableInterface.initialize();\n\n    this.watermarks.tableInterface = new TableInterface({ \n      name: 'preferences-watermarks-table', \n      client: this.api, \n      endpoint: 'users/me/preferences/sender/letter/watermarks', \n      query: null \n    });\n    this.watermarks.tableInterface.initialize().then(() => { \n      this.watermarks.tableInterface.load(); \n    });\n\n    this.watermarks.tableInterface.events.addEventListener('dataLoaded', () => {\n      for (let record of this.watermarks.tableInterface.data) {\n        this.watermarks.previews[record.uuid] = '';\n        if (record.previews && record.previews[0]) {\n          this.api.get(this.watermarks.uriBuild(record.previews[0].webPath)).then(x => {\n            this.watermarks.previews[record.uuid] = x.response.fileData;\n          });\n        }\n      }\n    });\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n      this.postalOrders.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      print: {\n        frontBack: { control: 'check', label: 'Stampa Fronte/Retro' },\n        colorMode: { control: 'check', label: 'Stampa a colori' },\n        sheetFormat: { control: 'combo', label: 'Formato', datasource: [{value: 'A3'}, {value: 'A4'}], datavalue: 'value', datatext: 'value', datapreload: true },\n        weight: { control: 'combo', label: 'Grammatura', datasource: [{value: 80, text: '80 g/m²'}], datavalue: 'value', datatext: 'text', datapreload: true },\n        staple: { control: 'check', label: 'Pinzatura' }\n      },\n      postage: {\n        code: { control: 'combo', label: 'Affrancatura', datasource: [/* array loaded from this.preferences.reload() function */], datavalue: 'code', datatext: 'description', datapreload: true },\n        vectors: [{\n          postageCode: null,\n          vector: null\n        }],\n        vectorEnablings: [{\n          vector: null,\n          enabledAt: null,\n          disabledAt: null\n        }],\n        expectReceipt: { control: 'check', label: 'Desidero ricevere una scansione digitale della cartolina di ritorno' },\n        topicOnReturnReceipt: { control: 'check', label: 'Riportare il promemoria invio nelle cartoline di ritorno' }\n      },\n      streetAddress: { control: 'text', label: 'Indirizzo' },\n      zipCode: { control: 'text', label: 'CAP' },\n      displayName: { control: 'text', label: 'Mittente' },\n      admLvl2: { control: 'text', label: 'Provincia' },\n      admLvl3: { control: 'text', label: 'Città' },\n      countryCode: { control: 'text', label: 'Nazione' },\n      emailForwarding: { control: 'check', label: 'Anticipa tramite mail la comunicazione inviata per posta' }\n    },\n    datasources: { vectors: [], postages: [] },\n    data: {},\n    nexive: {\n      enabled: false,\n      enabledAt: null\n    },\n    reload: () => {\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.letter) || (!this.preferences.isCal && (x.response.current?.sender?.letter && !(x.response.current.sender.letter.watermarks && Object.keys(x.response.current.sender.letter).length === 1) ));\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'letter'], x.response);\n        // Adjust some of the values\n        // data.postage.vectors\n        let _prioritaria = this.preferences.data.postage.vectors.find(x => x.postageCode === 'P');\n        let _raccomandata = this.preferences.data.postage.vectors.find(x => x.postageCode === 'R');\n        let vectors = {\n          prioritaria: _prioritaria ? _prioritaria.vector.toUpperCase() : null,\n          raccomandata: _raccomandata ? _raccomandata.vector.toUpperCase() : null\n        };\n        this.preferences.data.vectors = vectors;\n        this.preferences.processPostages(false);\n        this.preferences.processVectors();\n        // other\n        this.preferences.data.postage.topicOnReturnReceipt = (this.preferences.data.postage.topicOnReturnReceipt || false) === true;\n        this.preferences.data.print.colorMode = this.preferences.data.print.colorMode === 'color';\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n        \n        //console.log('nexive', nexive, this.preferences.data.postage.vectorEnablings);\n        \n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/letter`, {enableOverride: !this.preferences.isOverride}).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => {}).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data.vectors) {\n        data.postage.vectors = [];\n        if (data.vectors.prioritaria) data.postage.vectors.push({postageCode: 'P', vector: data.vectors.prioritaria});\n        if (data.vectors.raccomandata) data.postage.vectors.push({postageCode: 'R', vector: data.vectors.raccomandata});\n        delete(data.vectors);\n      }\n      if (data.print && typeof data.print.colorMode !== undefined) data.print.colorMode = data.print.colorMode ? 'color' : 'bw';\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/letter`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    },\n    processVectors: () => {\n      const postalServices = this.mdDatasources?.postalServices;\n      if (postalServices?.vectors) {\n        let nexive = this.preferences.data.postage.vectorEnablings.filter(x => x.vector.toUpperCase() === 'NEXIVE' && x.enabledAt);\n        let vectors = JSON.parse(JSON.stringify(this.mdDatasources.postalServices.vectors));\n        if (nexive.length === 1) {\n          this.preferences.nexive = { enabled: true, enabledAt: nexive[0].enabledAt };\n          this.preferences.datasources.vectors = vectors;\n        } else {\n          this.preferences.nexive = { enabled: false, enabledAt: null };\n          let nexiveIndex = vectors.findIndex(x => x.code === 'NEXIVE');\n          if (nexiveIndex >= 0) vectors.splice(nexiveIndex, 1);\n          this.preferences.datasources.vectors = vectors;\n        }\n      }\n    },\n    processPostages: (reset = true) => {\n      const postalServices = this.mdDatasources?.postalServices;\n      if (postalServices?.postages) {\n        const vectors = this.preferences.data.vectors;\n        let postages = [];\n        if (vectors.prioritaria) {\n          Array.prototype.push.apply(postages, this.mdDatasources.postalServices.postages.filter(x => x.vector.code === vectors.prioritaria && x.code.startsWith('P')));\n        }\n        if (vectors.raccomandata) {\n          Array.prototype.push.apply(postages, this.mdDatasources.postalServices.postages.filter(x => x.vector.code === vectors.raccomandata && (x.code.startsWith('R') || x.code.startsWith('AR'))));\n        }\n        this.preferences.datasources.postages = postages;\n        this.preferences.resource.controls['postage.code'].datasource = this.preferences.datasources.postages;\n        if (reset) this.preferences.data.postage.code = null;\n      }\n    },\n    toggleNexive: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/letter/postage/vector-enablings`, { vector: 'NEXIVE', enabled: !this.preferences.nexive.enabled }).then(x => {\n        this.preferences.reload();\n      }).catch(e => {}).finally(() => {\n        $event.model.busy = false;\n      });\n    }\n  };\n\n  postalOrders = {\n    endpoint: null,\n    schema: {\n      statusCode: {\n        label: 'Stato',\n        control: 'combo',\n        datasource: [{\n          text: 'Inviato',\n          value: 'PENDING'\n        }, {\n          text: 'In revisione',\n          value: 'PENDING_REVISION'\n        }, {\n          text: 'In attesa di approvazione',\n          value: 'PENDING_POST_OFFICE_REVISION'\n        }, {\n          text: 'Approvato',\n          value: 'APPROVED'\n        }, {\n          text: 'Rifiutato',\n          value: 'REFUSED'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      createdAt: {\n        label: 'Data inserimento',\n        control: 'date',\n        datatype: 'datetime',\n        utc: true\n      },\n      postalAccount: {\n        label: 'Numero conto corrente',\n        control: 'number',\n        min: 12\n      },\n      postalAccountHolder: {\n        label: 'Intestatario conto corrente',\n        control: 'text'\n      }\n    },\n    data: {},\n    prefsel: null,\n    tableInterface: null,\n    toggle: () => {\n      this.postalOrders.isToggle = !!!this.postalOrders.isToggle || false;\n      if (!this.postalOrders.isToggle) {\n        this.postalOrders.prefsel = null;\n      }\n    },\n    reset: () => {\n      Object.keys(this.postalOrders.data).forEach(k => this.postalOrders.data[k] = null);\n    },\n    reload: () => {\n      this.postalOrders.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.postalOrders.tableInterface.endpoint = `users/${this.prefsel}/preferences/sender/payments/postal-orders`;\n      this.postalOrders.tableInterface.load();\n    },\n    confirm: () => {\n      if (this.api.user.id === this.prefsel) {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/impostazioni/posta-dialog-confirm'),\n        }, true).whenClosed(response => {\n          console.log(response);\n          if (!response.wasCancelled) {\n            if (response.output) {\n              this.prefsel = response.output.id;\n            }\n            this.postalOrders.data.postalAccountHolder = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : response.output.displayName;\n            this.postalOrders.prefsel = this.prefsel;\n          }\n        });\n      } else {\n        this.postalOrders.data.postalAccountHolder = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : this.prefSelector?.data?.displayName;\n        this.postalOrders.prefsel = this.prefsel;\n      }\n    },\n    send: ($event) => {\n      $event.model.busy = true;\n      this.postalOrders.resource.save(this.postalOrders.data, `users/${this.prefsel}/preferences/sender/payments/postal-orders`, 'post').then(x => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.postalOrders.tableInterface.load();\n        this.postalOrders.toggle();\n        this.postalOrders.reset();\n      }).catch(e => {\n        this.toast.show('Errore nell\\'invio della richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    delete: (record) => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare il bollettino selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${this.prefsel}/preferences/sender/payments/postal-orders/${record.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.postalOrders.tableInterface.load();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    }\n  };\n\n  watermarks = {\n    endpoint: null,\n    schema: {\n      statusCode: {\n        label: 'Stato ',\n        control: 'combo',\n        datasource: [{\n          text: 'Caricato',\n          value: 'PENDING'\n        }, {\n          text: 'In attesa di approvazione',\n          value: 'PENDING_APPROVAL'\n        }, {\n          text: 'In attesa di revisione',\n          value: 'PENDING_REVISION'\n        }, {\n          text: 'In attesa di conferma',\n          value: 'PENDING_CONFIRMATION'\n        }, {\n          text: 'Approvato',\n          value: 'APPROVED'\n        }, {\n          text: 'Rifiutato',\n          value: 'REFUSED'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      label: {\n        label: 'Titolo',\n        control: 'text'\n      },\n      createdAt: {\n        label: 'Data inserimento',\n        control: 'date',\n        datatype: 'datetime',\n        utc: true\n      },\n      default: {\n        label: 'Predefinito',\n        control: 'check'\n      },\n      text: {\n        label: 'Testo',\n        control: 'textarea'\n      },\n      colorMode: {\n        label: 'Colori',\n        control: 'combo',\n        datasource: [{\n          text: 'Colori',\n          value: 'color'\n        }, {\n          text: 'Bianco e nero',\n          value: 'bw'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      },\n      /* notificationEmail: {\n        label: 'Email notifica',\n        control: 'text'\n      }, */\n      fileUri: {\n        label: 'File',\n        control: 'file'\n      },\n      fileData: {\n        label: 'File immagine del logo',\n        control: 'file'\n      }\n    },\n    data: {},\n    previews: {},\n    tableInterface: null,\n    toggle: () => {\n      this.watermarks.isToggle = !!!this.watermarks.isToggle || false;\n    },\n    reset: () => {\n      Object.keys(this.watermarks.data).forEach(k => this.watermarks.data[k] = null);\n    },\n    send: ($event) => {\n      $event.model.busy = true;\n      this.watermarks.resource.save(this.watermarks.data, `users/me/preferences/sender/letter/watermarks`, 'post').then(x => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.watermarks.tableInterface.load();\n        this.watermarks.toggle();\n        this.watermarks.reset();\n        this.dialog.open({\n          title: 'Caricamento riuscito!',\n          class: 'small',\n          type: 'confirm',\n          body: `Il logo deve essere inviato per approvazione presso il centro stampa prima di poter essere utilizzato.<br><strong>Vuoi inviarlo adesso?</strong>`\n        }, true).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.watermarks.setStatus(x.response, 'PENDING_APPROVAL');\n          }\n        });\n      }).catch(e => {\n        this.toast.show('Errore nell\\'invio della richiesta!', 'error');\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    setDefault: (record) => {\n      this.api.patch(`users/me/preferences/sender/letter/watermarks/${record.uuid}`, {default: true}).then(() => {\n        this.toast.show('Record aggiornato con successo!', 'success');\n        this.watermarks.tableInterface.load();\n      }).catch(x => {\n        this.api.dialogError(x);\n      });\n    },\n    setStatus: (record, status) => {\n      this.api.patch(`users/me/preferences/sender/letter/watermarks/${record.uuid}`, {statusCode: status}).then(() => {\n        this.toast.show('Record aggiornato con successo!', 'success');\n        this.watermarks.tableInterface.load();\n        if (status === 'APPROVED') {\n          this.dialog.open({\n            title: 'Logo approvato!',\n            class: 'small',\n            type: 'confirm',\n            body: `Vuoi impostare questo logo come predefinito?`\n          }, true).whenClosed(response => {\n            if (!response.wasCancelled) {\n              this.watermarks.setDefault(record);\n            }\n          });\n        }\n        \n      }).catch(x => {\n        this.api.dialogError(x);\n      });\n    },\n    delete: (record) => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare il logo selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/me/preferences/sender/letter/watermarks/${record.uuid}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.watermarks.tableInterface.load();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    },\n    download: (record) => {\n      if (!record.fileUri) return;\n      this.toast.show('Caricamento in corso', 'loading', true);\n      this.api.get(this.watermarks.uriBuild(record.fileUri)).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${x.response.filename}`;\n        anchor.href = x.response.fileData;\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    },\n    uriBuild: (path, absolute = false) => {\n      path = path.replace(this.api.baseUrl, '');\n      path = path.replace('/api/v0.0.1/', '');\n      return absolute ? this.api.baseUrl + path : path;\n    },\n    getImage: (path) => {\n      this.toast.show('Caricamento in corso', 'loading', true);\n      this.api.get(this.watermarks.uriBuild(path)).then(x => {\n        let anchor = document.createElement('a');\n        anchor.download = `${x.response.filename}`;\n        anchor.href = x.response.fileData;\n        //anchor.target = '_blank';\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.consume();\n      });\n    }\n  };\n}\n","import { inject, bindable } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport environment from 'environment';\n\n@inject(Api, KaToast, KaDialog)\nexport class ImpostazioniSms {\n  @bindable() prefsel = null;\n  environment = environment;\n  dataset = {\n    smsAliases: {}\n  };\n  staticTooltipSms = {\n    subtitle: 'Alias SMS',\n    href: 'https://docs.multidialogo.it/s/article/Configurazione-Alias-invio-SMS',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  }\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.smsAliases.tableInterface = new TableInterface({ name: 'preferences-sms-aliases-table', client: this.api, endpoint: null, query: null });\n    this.smsAliases.tableInterface.initialize();\n  }\n\n  prefselChanged(value, old) {\n    if (value === old) return;\n    console.log('PREFSEL changed', value);\n    setTimeout(() => {\n      this.preferences.isOverride = null;\n      this.preferences.reload();\n      this.smsAliases.reload();\n    }, 0);\n  }\n\n  preferences = {\n    endpoint: null,\n    schema: {\n      type: null,\n      display: { control: 'combo', label: 'Tipo visualizzazione mittente', datasource: [{ value: 'NUMBER', text: 'Numero' }, { value: 'ALIAS', text: 'Alias' }], datavalue: 'value', datatext: 'text', datapreload: true },\n      prefix: { control: 'combo', label: 'Prefisso', datasource: [{ value: '+39', text: '+39' }], datavalue: 'value', datatext: 'text', datapreload: true },\n      numberUuid: { control: 'combo', label: 'Numero di cellulare', datasource: {}, datatext: 'number', datavalue: 'uuid', datamultiple: false, datapreload: true },\n      aliasUuid: { control: 'combo', label: 'Alias', datasource: {}, datatext: 'displayName', datavalue: 'uuid', datamultiple: false, datapreload: true }\n    },\n    data: null,\n    aliases: [],\n    reload: () => {\n      this.preferences.data = null;\n      this.preferences.schema.numberUuid.datasource = { table: `users/${this.prefsel}/preferences/mobile-numbers?status=opted-in` };\n      this.preferences.schema.aliasUuid.datasource = { table: `users/${this.prefsel}/preferences/sender/sms-aliases?statusCode-in=COMPLETED` };\n      this.preferences.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.api.get(`users/${this.prefsel}/preferences`).then(x => {\n        if (this.preferences.isOverride === null) this.preferences.isOverride = (this.preferences.isCal && x.response.requested?.sender?.sms) || (!this.preferences.isCal && x.response.current?.sender?.sms);\n        this.preferences.data = mdt.preferences.mergeModelData(this.preferences.schema, ['sender', 'sms'], x.response);\n        this.preferences._data = JSON.parse(JSON.stringify(this.preferences.data));\n      });\n    },\n    override: ($event) => {\n      $event.model.busy = true;\n      this.api.patch(`users/${this.prefsel}/preferences/sender/sms`, { enableOverride: !this.preferences.isOverride }).then(x => {\n        this.preferences.isOverride = !this.preferences.isOverride;\n      }).catch(e => { }).finally(() => {\n        this.preferences.reload();\n        $event.model.busy = false;\n      });\n    },\n    save: ($event) => {\n      $event.model.busy = true;\n      let data = mdt.helpers.diffObject(this.preferences._data, this.preferences.data);\n      if (data && Object.entries(data).length) {\n        this.preferences.resource.save(data, `users/${this.prefsel}/preferences/sender/sms`, 'patch').then(x => {\n          this.toast.show('Modifiche salvate con successo!', 'success');\n          this.preferences.reload();\n        }).catch(e => {\n          this.toast.show('Errore nel salvataggio delle modifiche!', 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      else $event.model.busy = false;\n    }\n  };\n  smsAliases = {\n    endpoint: null,\n    schema: {\n      displayName: {\n        label: 'Mittente SMS',\n        control: 'text'\n      },\n      companyName: {\n        label: 'Azienda',\n        control: 'text'\n      },\n      vatCode: {\n        label: 'Partita IVA',\n        control: 'text'\n      },\n      fiscalCode: {\n        label: 'Codice fiscale',\n        control: 'text'\n      },\n      streetAddress: {\n        label: 'Indirizzo',\n        control: 'text'\n      },\n      zipCode: {\n        label: 'CAP',\n        control: 'text'\n      },\n      admLvl3: {\n        label: 'Città',\n        control: 'text'\n      },\n      admLvl2: {\n        label: 'Provincia',\n        control: 'text'\n      },\n      country: {\n        label: 'Nazione',\n        control: 'combo',\n        datasource: {\n          table: 'geo/countries',\n          query: {\n            search: 'text-search',\n            item: 'code'\n          }\n        },\n        datatext: 'name',\n        datavalue: 'code',\n        datapreload: false\n      },\n      email: {\n        label: 'Email',\n        control: 'text'\n      },\n      pec: {\n        label: 'PEC',\n        control: 'text'\n      },\n      phoneNumber: {\n        label: 'Telefono',\n        control: 'text'\n      },\n      requestedAt: {\n        label: 'Data richiesta',\n        control: 'date',\n        datatype: 'datetime',\n        utc: true\n      },\n      status: {\n        label: 'Stato attivazione',\n        control: 'combo',\n        datasource: [{\n          text: 'In attesa di registrazione',\n          value: 'PENDING'\n        }, {\n          text: 'Richiesta registrata',\n          value: 'REGISTERED'\n        }, {\n          text: 'Attivo',\n          value: 'COMPLETED'\n        }],\n        datatext: 'text',\n        datavalue: 'value',\n        datapreload: true\n      }\n    },\n    data: {},\n    tableInterface: null,\n    toggle: () => {\n      this.smsAliases.isToggle = !!!this.smsAliases.isToggle || false;\n      if (this.smsAliases.isToggle) {\n        this.smsAliases.data.companyName = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : this.prefSelector.data?.displayName || null;\n        this.smsAliases.data.displayName = String(this.prefsel) === String(this.api.user.id) ? this.api.user.displayName : this.prefSelector.data?.displayName || null;\n        this.smsAliases.data.country = 'Italy';\n      }\n    },\n    reset: () => {\n      Object.keys(this.smsAliases.data).forEach(k => this.smsAliases.data[k] = null);\n    },\n    reload: () => {\n      this.smsAliases.isCal = String(this.prefsel) !== String(this.api.user.id);\n      this.smsAliases.endpoint = `users/${this.prefsel}/preferences/sender/sms-aliases`;\n      this.smsAliases.tableInterface.endpoint = `users/${this.prefsel}/preferences/sender/sms-aliases`;\n      if (this.smsAliases.tableInterface && !this.smsAliases.tableInterface.isLoading) this.smsAliases.tableInterface.load();\n    },\n    send: ($event) => {\n      $event.model.busy = true;\n      this.smsAliases.resource.save().then(() => {\n        this.toast.show('Richiesta inviata con successo!', 'success');\n        this.smsAliases.tableInterface.load();\n        this.smsAliases.toggle();\n        this.smsAliases.reset();\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    },\n    delete: (record) => {\n      console.log('RECORD', record);\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        type: 'confirm',\n        body: 'Confermi di voler eliminare l\\'Alias sms selezionato selezionato?'\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`${this.smsAliases.endpoint}/${record.id}`).then(() => {\n            this.toast.show('Record eliminato con successo!', 'success');\n            this.smsAliases.tableInterface.load();\n          }).catch(x => {\n            this.api.dialogError(x);\n          });\n        }\n      });\n    }\n  };\n}\n","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog } from 'ka-components';\n\n@inject(Aurelia, Router, Api, KaDialog)\nexport class vmEmailConfirm {\n  constructor(aurelia, router, api, dialog) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.dialog = dialog;\n    this.api = api;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.api.post(`users/login`, { emailConfirmationCode: this.params.code, grantType: 'firstAccessLogin' }).then(xhr => {\n      const response = xhr.response;\n      this.api.user = null;\n      localStorage.clear();\n      sessionStorage.clear();\n      this.api.accessToken = response.token;\n      this.api.refreshToken = response.refreshToken;\n      return this.api.startUser();\n    }).catch(xhr => {\n      let response = null;\n      console.log('POST email-confirmations', xhr);\n      try { response = JSON.parse(xhr?.response) } finally {\n        return this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'large', \n          type: 'alert', \n          body: response?.detail ? response.detail : xhr?.response \n        }).whenClosed(() => {\n          return location.href = '/login';\n        });\n      }\n    });\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmLandingOfferta {\n  offer = null;\n  offerExpired = null;\n  currentDate = new Date().toISOString();\n  promoOffers = { 'email': null, 'redeemCodes': [] };\n  localStorageOffer = JSON.parse(localStorage.getItem('promo-offers')) || localStorage.setItem('promo-offers', JSON.stringify(this.promoOffers));\n  resource = {\n    controls: {},\n    schema: {\n      email: {\n        label: 'Email', \n        control: 'text',\n        placeholder: 'Inserisci un indirizzo email',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        control.validator.errors = [];\n        control.element.classList.remove('error');\n        promises.push(new Promise((resolve, reject) => {\n          if (control.validate)\n            control.validate().then(result => {\n              if (result.valid) resolve();\n              else reject('Control didn\\'t pass validation');\n            });\n          else if (control.input?.validate) control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => { mdt.parsers.apiError(error, this.resource.controls); }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.api.get(`promotion-offers/${this.params.code}`).then((xhr) => {\n      this.offer = xhr.response;\n    }).catch((xhr) => {\n      if (xhr.statusCode === 410) this.offerExpired = true;\n      else location.href = '/not-found';\n    });\n\n    if (this.api.isAuthenticated) {\n      this.api.get(`users/me/promotion-offer-activations/${this.params.code}`).then((xhr) => {\n        this.authUserRedeemDate = this.aurelia.resources.valueConverters.dateFormat.toView(xhr.response.redeemedAt, 'DD/MM/YYYY');\n        this.offerStatus = 'AUTH-USER-ACTIVATED';\n      }).catch(error => {\n        if (error.statusCode === 403) this.offerStatus = 'SUBUSER-WITHOUT-PERMISSIONS';\n      });\n    }\n  }\n\n  attached() {\n    this.reroute = encodeURIComponent(this.router.currentInstruction.fragment);\n    if (this.localStorageOffer?.email && this.localStorageOffer?.redeemCodes.includes(this.params.code)) this.offerStatus = 'EMAIL-ALREADY-STORED';\n  }\n\n  activateOffer() {\n    this.resource.validate().then(() => {\n      let data = { email: this.resource.data.email, redeemCode: this.params.code };\n      let endpoint = this.api.isAuthenticated ? 'users/me/promotion-offer-activations' : 'promotion-offer-activations';\n\n      this.api.post(endpoint, data).then(() => {\n        // set local storage data\n        if (data.email) this.promoOffers.email = data.email;\n        if (!this.promoOffers.redeemCodes.includes(data.redeemCode)) this.promoOffers.redeemCodes.push(data.redeemCode);\n        this.updateLocalStorage();\n\n        if (this.api.isAuthenticated) this.offerStatus = 'AUTH-USER-ACTIVATED-NOW'; \n        else this.offerStatus = 'GUEST-USER-ACTIVATED';\n      }).catch(error => {\n        // conflict case - if the submitted email is already used, overwrite promo-offers in local storage\n        if (error.statusCode === 409) {\n          if (!this.promoOffers.redeemCodes.includes(data.redeemCode) && data.email) this.promoOffers.email = data.email; \n          this.updateLocalStorage();\n          this.offerStatus = 'EMAIL-ALREADY-STORED';\n        }\n        if (error.statusCode !== 423) this.resource.error(error);\n      });\n    })\n  }\n\n  updateLocalStorage() {\n    localStorage.setItem('promo-offers', JSON.stringify(this.promoOffers));\n    this.localStorageOffer = JSON.parse(localStorage.getItem('promo-offers'));\n  }\n}","import { Aurelia, inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmLandingRegistrazione {\n  mdt = mdt;\n  clients;\n  legalForms;\n  legalFormTypes;\n  legalFormSelected;\n  editableUsername = false;\n  oldSelectedCountryCode;\n  pendingAttached = true;\n\n  get phoneNumberRequired() {\n    return !this.resource.data.profile.mobilePhoneNumber;\n  }\n  get mobilePhoneNumberRequired() {\n    return !this.resource.data.profile.phoneNumber;\n  }\n  \n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.priceList = {\n      schema: {\n        definitive: {\n          label: 'Listino definitivo applicato',\n          control: 'text',\n          readonly: true,\n          required: true,\n        },\n        temporary: {\n          label: 'Listino temporaneo applicato',\n          control: 'text',\n          readonly: true,\n          required: this.prospectUuid,\n        }\n      },   \n      data: {}\n    };\n    this.resource = {\n      controls: {},\n      schema: {\n        passwordConfirm: {\n          control: 'password', \n            label: 'Conferma password',\n            validationRule: {\n              satisfies: () => { return this.resource.data.password === this.resource.data.passwordConfirm; },\n              withMessage: 'Le password non coincidono',\n            },\n            required: true\n        },\n        password: {\n          control: 'password', \n          label: 'Password',\n          min: 8,\n          required: true\n        },\n        clientUuid: {\n          label: 'Gestionale utilizzato',\n          control: 'combo',\n          datatext: 'name',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: true,\n          datasource: [],\n          required: true\n        },\n        profile: {\n          username: {\n            control: 'text',\n            label: 'Username',\n            required: true\n          },\n          email: {\n            control: 'text', \n            label: 'Email',\n            required: true\n          },\n          pec: {\n            control: 'text', \n            label: 'PEC',\n            required: false\n          },\n          businessType: {\n            label: 'Attività',\n            control: 'combo',\n            datatext: 'label',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: true,\n            datasource: [\n              { label: 'Amministratore di condominio', code: 'BUILDING-ADMINISTRATOR' },\n              { label: 'Altro', code: 'OTHER' },\n            ],\n            required: true\n          },\n          companyLegalFormCode: {\n            label: 'Forma giuridica',\n            control: 'combo',\n            datatext: 'label',\n            datavalue: 'code', \n            datamultiple: false,\n            datapreload: false,\n            datasource: [],\n            required: true\n          },\n          fiscalCode: {\n            control: 'text', \n            label: 'Codice fiscale',\n            required: false\n          },\n          vatCode: {\n            control: 'text', \n            label: 'Partita iva',\n            required: true\n          },\n          phoneNumber: {\n            control: 'text',\n            label: 'Telefono fisso'\n          },\n          mobilePhoneNumber: {\n            control: 'text',\n            label: 'Cellulare'\n          },\n          holderName: {\n            firstname: {\n              control: 'text', \n              label: 'Nome',\n              required: false\n            },\n            lastname: {\n              control: 'text', \n              label: 'Cognome',\n              required: false\n            },\n            companyName: { \n              control: 'text',\n              label: 'Denominazione',\n              required: false\n            },\n          },\n          location: {\n            streetAddress: {\n              control: 'text', \n              label: 'Indirizzo',\n              required: true\n            },\n            countryCode: { \n              label: 'Nazione', \n              control: 'combo',  \n              datatext: 'name',\n              datavalue: 'code', \n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: `geo/countries`, query: { search: 'text-search', item: 'code' }},\n              required: true\n            },\n            admLvl1Uuid: {\n              label: 'Regione',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            admLvl2Uuid: {\n              label: 'Provincia',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            admLvl3Uuid: {\n              label: 'Comune',\n              control: 'combo',\n              datatext: 'endonym',\n              datavalue: 'uuid',\n              datamultiple: false,\n              datapreload: false,\n              datasource: { table: null, query: { search: 'text-search', item: 'uuid' }}\n            },\n            zipCode: {\n              label: 'CAP',\n              control: 'text',\n              required: true\n            }\n          }\n        }\n      }, \n      data: {\n        group: \"MASTER_USER\",\n        profile: {\n          businessType: 'BUILDING-ADMINISTRATOR',\n          location: {\n            countryCode: 'IT'\n          },\n        },\n        privacyConsent: {\n          commercialContact: null,\n          thirdPartyDisclosure: null\n        }\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        this.api.dialogError(error, this.resource.controls);\n      }\n    }\n  }\n\n  activate(params) {\n    this.params = params;\n    this.prospectUuid = this.params.prospectUuid || null;\n    this.api.logout(true); // API calls need not to be authenticated\n  }\n\n  attached() {\n    this.oldSelectedCountryCode = this.resource.data.profile.location.countryCode;\n    this.init();\n    this.getPriceLists();\n  }\n\n  async init() {\n    let promises = [\n      this.setClientUuidDatasource(),\n      this.setBusinessTypeDatasource(),\n      this.setCompanyLegalFormCodeDatasource(),\n    ];\n    if (this.prospectUuid) {\n      promises.push(this.load())\n    };\n    return Promise.all(promises).catch((error) => {\n      console.error(`Init`, error);\n      this.toast.show('Errore durante il caricamento dei dati!', 'error');\n    }).finally(() => {\n      this.pendingAttached = false;\n      this.changeEmail();\n    });\n  }\n\n  async getPriceLists() {\n    const url = this.prospectUuid ? `price-lists/default?prospect-uuid=${this.prospectUuid}` : 'price-lists/default/';\n    return this.api.get(url).then((xhr) => {\n      let priceListResponse = xhr.response;\n      this.priceList.data.definitive = priceListResponse.definitivePriceList;\n      this.priceList.data.temporary = priceListResponse?.temporaryPriceList;\n    }).catch((error) => {\n      console.error('Error in getPriceLists(): ', url, error);\n    });\n  }\n\n  async setClientUuidDatasource() {\n    return this.api.get('clients?declarable=YES').then((xhr) => { \n      this.clients = xhr.response;\n      this.resource.schema.clientUuid.datasource = this.clients;\n    });\n  }\n\n  async setCompanyLegalFormCodeDatasource() {\n    const countryCode = this.resource.data.profile.location.countryCode;\n    const promises = [\n      this.api.get('legal-form-types'),\n      this.api.get(`legal-forms?country-code=${countryCode}&self-sufficient-account=YES&available-for-registration=YES`)\n    ];\n    return Promise.all(promises).then((xhrs) => {\n      this.legalFormTypes = xhrs[0]?.response || null;\n      this.legalForms = xhrs[1]?.response || null;\n\n      if (this.legalFormTypes?.length) {\n        let optgroup = {};\n        let companyLegalFormCodeDatasource = [];\n        this.legalFormTypes.forEach(type => {\n          let legalFormsForThisType = this.legalForms?.filter(x => x.type === type.code) || null;\n\n          if (legalFormsForThisType?.length) {\n            optgroup = { code: type.code, label: type.label, optgroup: true };\n            companyLegalFormCodeDatasource.push(optgroup);\n            legalFormsForThisType.forEach(form => {\n              form = { code: form.code, label: form.label };\n              companyLegalFormCodeDatasource.push(form);\n            });\n          }\n        });\n        this.resource.schema.profile.companyLegalFormCode = Object.assign({}, this.resource.schema.profile.companyLegalFormCode, { datasource: companyLegalFormCodeDatasource });\n      }\n    });\n  }\n\n  async setBusinessTypeDatasource() {\n    return this.api.get(`user-business-types`).then((xhr) => {\n      let businessTypes = xhr.response;\n      this.resource.schema.profile.businessType = Object.assign({}, this.resource.schema.profile.businessType, { datasource: businessTypes });\n    });\n  }\n\n  async load() {\n    return this.api.get(`user-prospects/${this.prospectUuid}`).then((xhr) => {\n      // Parse prospect data\n      const response = xhr.response;\n      this.resource.data = {\n        ...this.resource.data,\n        ...(response.clientUuid && { clientUuid: response.clientUuid }),\n      }\n      this.resource.data.privacyConsent = {\n        commercialContact: response.privacyConsent.commercialContact,\n        thirdPartyDisclosure: response.privacyConsent.thirdPartyDisclosure\n      }\n      this.assignToProfile(response);\n      this.assignToHolderName(response);\n      this.parsePhoneNumber(response);\n    }).catch((error) => {\n      console.error('GET user-prospects', error);\n      if (error.response?.source?.intents && error.response.source.intents[0].subject?.referral) {\n        this.router.navigateToRoute('login', { \n          email: error.response.source.intents[0].subject?.email, \n          source: 'prospect-registration' \n        });\n      }\n    });\n  }\n\n  assignToProfile(response) {\n    const email = response.email;\n    const zipCode = response.zipCode;\n    const vatCode = response.vatCode;\n    const prospectUuid = this.prospectUuid;\n    const fiscalCode = response.fiscalCode;\n    const countryCode = response.countryCode;\n    const admLvl1Uuid = response.admLvl1Uuid;\n    const admLvl2Uuid = response.admLvl2Uuid;\n    const admLvl3Uuid = response.admLvl3Uuid;\n    const streetAddress = response.streetAddress;\n    const legalFormCode = response.legalFormCode;\n    this.resource.data.profile = {\n      ...this.resource.data.profile,\n      email,\n      prospectUuid,\n      username: response.email,\n      ...(zipCode && { zipCode }),\n      ...(vatCode && { vatCode }),\n      ...(fiscalCode && { fiscalCode }),     \n      ...(countryCode && { countryCode }),\n      ...(admLvl1Uuid && { admLvl1Uuid }),\n      ...(admLvl2Uuid && { admLvl2Uuid }),\n      ...(admLvl3Uuid && { admLvl3Uuid }),\n      ...(streetAddress && { streetAddress }),\n      ...(legalFormCode && { companyLegalFormCode }),\n    }\n  }\n\n  assignToLocation(response) {\n    const zipCode = response.zipCode;\n    const countryCode = response.countryCode;\n    const admLvl1Uuid = response.admLvl1Uuid;\n    const admLvl2Uuid = response.admLvl2Uuid;\n    const admLvl3Uuid = response.admLvl3Uuid;\n    const streetAddress = response.streetAddress;\n    if (zipCode || countryCode || admLvl1Uuid || streetAddress) {\n      this.resource.data.profile.location = {\n        ...(zipCode && { zipCode }),  \n        ...(countryCode && { countryCode }),\n        ...(admLvl1Uuid && { admLvl1Uuid }),\n        ...(admLvl2Uuid && { admLvl2Uuid }),\n        ...(admLvl3Uuid && { admLvl3Uuid }),\n        ...(streetAddress && { streetAddress }),\n      }\n    }\n  }\n\n  assignToHolderName(response) {\n    const lastname = response.lastname;\n    const firstname = response.firstname;\n    const companyName = response.companyName;\n    if (companyName || firstname || lastname) {\n      this.resource.data.profile.holderName = {\n        ...(firstname && { firstname }),\n        ...(lastname && { lastname }),\n        ...(companyName && { companyName })\n      }\n    }\n  }\n\n  parsePhoneNumber(response) {\n    const phoneId = response.phoneId;\n    const mobilePhoneId = response.mobilePhoneId;\n    const number = response.phoneId || response.mobilePhoneId;\n    if (number) {\n      const phoneCountryPrefix = response.phoneCountryPrefix || '';\n      const mobilePhoneCountryPrefix = response.mobilePhoneCountryPrefix || '';\n      this.resource.data.profile = {\n        ...this.resource.data.profile,\n        ...(phoneId && { phoneNumber: `${phoneCountryPrefix}${number}` }),\n        ...(mobilePhoneId && { mobilePhoneNumber: `${mobilePhoneCountryPrefix}${number}` }),\n      }\n    }\n  }\n\n  changeEmail() {\n    if (!this.editableUsername) this.resource.data.profile.username = this.resource.data.profile.email;\n  }\n\n  changeUsername() {\n    this.editableUsername = true;\n  }\n\n  changeLegalForm() {\n    this.legalFormSelected = this.legalForms.find(legalForm => legalForm.code === this.resource.data.profile.companyLegalFormCode);\n    this.resource.controls['profile.vatCode'].required = this.legalFormSelected.vatCodeNeeded === 'REQUIRED';\n    this.resource.controls['profile.fiscalCode'].required = this.legalFormSelected.fiscalCodeNeeded === 'REQUIRED';\n    this.resource.controls['profile.holderName.companyName'].required = this.legalFormSelected.companyNameNeeded === 'YES';\n    this.resource.controls['profile.holderName.firstname'].required = this.resource.controls['profile.holderName.lastname'].required = this.legalFormSelected.personNameNeeded === 'YES';\n  }\n\n  setGeo(field) {\n    let childField, lvl, countryCode, countryCodeValueModel;\n    if (field === 'countryCode') {\n      childField = 'admLvl1Uuid';\n      lvl = 1;\n    } else if (field === 'admLvl1Uuid') {\n      childField = 'admLvl2Uuid';\n      lvl = 2;\n    } else if (field === 'admLvl2Uuid') {\n      childField = 'admLvl3Uuid';\n      lvl = 3;\n    } else return; \n    countryCode = this.resource.data.profile.location.countryCode || null;\n    countryCodeValueModel = this.resource.controls['profile.location.countryCode']?.control?.valueModel;\n    if (countryCodeValueModel === undefined) return setTimeout(() => { this.setGeo(field) }, 500);\n    let readonly = true, required = false, url = null;\n    if (countryCode) {\n      url = `geo/countries/${countryCode}/levels/${lvl}/divisions` + (lvl > 1 ? `?parent-uuid=${this.resource.data.profile.location[field]}` : '');\n    }\n    if (this.resource.data.profile.location[field]) {\n      if (countryCodeValueModel.administrativeLevels && countryCodeValueModel.administrativeLevels.find(x => x.level === lvl)) {\n        readonly = false;\n        required = true;\n      } else {\n        this.resource.data.profile.location[childField] = null;\n        this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n      }\n    } else {\n      this.resource.data.profile.location[childField] = null;\n      this.resource.controls[`profile.location.${childField}`].element.dispatchEvent(new Event('change', { bubbles: true })); // legacy ka-control workaround: trigger valueChange\n    }\n    \n    this.resource.schema.profile.location[childField] = Object.assign({}, this.resource.schema.profile.location[childField], { readonly: readonly, datasource: { table: url, query: { search: 'text-search', item: 'uuid'} }});\n    // legacy ka-control workaround: trigger readonlyChanged\n    this.resource.controls[`profile.location.${childField}`].readonly = readonly;\n    this.resource.controls[`profile.location.${childField}`].required = required;\n\n    // Avoid redoing the call for the legal forms if not necessary\n    if (field === 'countryCode' && (this.oldSelectedCountryCode !== countryCode)) {\n      this.setCompanyLegalFormCodeDatasource();\n      this.oldSelectedCountryCode = countryCode;\n    }\n  }\n\n  dialogPrivacyConsent($event) {\n    return this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'medium', \n      type: 'alert', \n      body: 'Necessario indicare una preferenza riguardo l\\'informativa sulla <a target=\"_blank\" href=\"https://www.multidialogo.it/sicurezza/informativa\" style=\"color:#ed5a23\">privacy.</a>' \n    }, true).whenClosed(() => { $event.model.busy = false; });\n  }\n\n  async registration($event) {\n    $event.model.busy = true;\n    let data = Object.assign({}, this.resource.data);\n    data = mdt.helpers.removeEmptyAttributes(data);\n    delete data.passwordConfirm;\n\n    return this.resource.validate().then(() => {\n      if (!this.resource.data.privacyConsent.commercialContact || !this.resource.data.privacyConsent.thirdPartyDisclosure) {\n        return this.dialogPrivacyConsent($event);\n      } else {\n        return this.postAnonymousUsers($event);\n      }\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  async postAnonymousUsers($event) {\n    let data = Object.assign({}, this.resource.data);\n    data = mdt.helpers.removeEmptyAttributes(data);\n    delete data.passwordConfirm;\n\n    return this.api.post('anonymous-users', data).then(() => {\n      this.toast.show('Utente registrato con successo!', 'success');\n      this.api.login(data.profile.username, data.password).then(() => {\n      }).catch((error) => {\n        console.warn('Login failed', error);\n        this.toast.show('Autenticazione utente fallita!', 'error');\n      });\n    }).catch((error) => {\n      console.error('POST anonymous-users', error);\n      this.resource.error(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast, KaDialog} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\n\n@inject(Api, KaToast, KaDialog)\nexport class MulticertaInvite {\n  endpoint = 'users/me/multicerta-invitations';\n  data = {};\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  attached() {\n    this.data.mittente = this.api.user.profile.displayName;\n    this.data.email = this.api.user.profile.email;\n\n    /* Table interface */\n    this.multicertaInviteTableInterface = new TableInterface({\n      name: 'multicerta-invite-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n\n    /* Table Search */\n    this.multicertaInviteSearchInterface = new SearchInterface({\n      name: 'multicerta-invite-table-search',\n      table: this.multicertaInviteTableInterface,\n      schema: {\n        email: {\n          label:   \"Email\",\n          control: \"text\",\n          query: 'email-like'\n        }\n      },\n      data: {}\n    });\n\n    /* Initialize & Search function */\n    this.multicertaInviteTableInterface.initialize().then(() => {\n      this.multicertaInviteSearchInterface.initialize().then(() => {\n        this.multicertaInviteSearchInterface.search().catch(error => { console.error('TableSearchInterface-search multicertaInvite failed', error); });\n      }).catch(error => { console.error('TableSearchInterface-initialize multicertaInvite failed', error); });\n    }).catch(error => { console.error('TableInterface-initialize multicertaInvite failed', error); });\n  }\n\n  test($event) {\n    $event.model.busy = true;\n    let data = {\n      displayName: this.data.mittente || this.api.user.profile.displayName,\n      demoRecipient: this.data.email\n    };\n    this.api.post(this.endpoint, data).then(x => {\n      this.toast.show(`Invito di prova inviato con successo all'indirizzo ${data.demoRecipient}!`, 'success');\n      this.multicertaInviteTableInterface.load();\n    }).catch(x => {\n      console.warn(x);\n      this.toast.show(`Errore nell'invio dell'invito di prova all'indirizzo ${data.demoRecipient}!`, 'error');\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  send($event) {\n    if (!this.data.file || this.data.file.length === 0) return this.toast.show('Carica il file csv!', 'error');\n    $event.model.busy = true;\n    let reader = new FileReader();\n    reader.readAsDataURL(this.data.file[0]);\n    reader.onload = () => {\n      let data = {\n        displayName: this.data.mittente || this.api.user.profile.displayName,\n        fileData: reader.result\n      };\n      this.api.post(this.endpoint, data).then(x => {\n        this.toast.show('Inviti inviati con successo!', 'success');\n        this.multicertaInviteTableInterface.load();\n        this.data.file = null;\n      }).catch(x => {\n        console.warn(x);\n        let response = JSON.parse(x.response);\n        let errorMessages = [];\n        if (response.status === 400 && response.source) {\n          if (response.source.parameters) {\n            for (let parameter of response.source.parameters) {\n              if (parameter.messages && parameter.messages.length) {\n                for (let message of parameter.messages) {\n                  errorMessages.push(message);\n                }\n              }\n            }\n          }\n        }\n        else errorMessages.push('Errore nell\\'invio degli inviti!');\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'alert', body: errorMessages.join('<br>')});\n        this.data.file = null;\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    };\n    reader.onerror = (error) => {\n      console.log('Error: ', error);\n      this.toast.show('Errore nel caricamento del file!', 'error');\n      $event.model.busy = false;\n    };\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, Router, KaDialog, KaToast)\nexport class vmPointsTransactionHistory {\n  sourceTypes;\n  selectedUser;\n  isPendingInit;\n  contextDatasource;\n  isMdCounterVisible;\n  userCurrentFidelityCard;\n  sourceUserUuidDatasource;\n  isSelectedUserBuildingAdministartor;\n  infoTooltipStatus = '<ul class=\"points-transaction-history-info-tooltip-status\"><li>Bloccati: Presenza di un insoluto. I punti sbloccati appena effettuato il pagamento dell\\’ordine.</li><li>Da Trasferire: Movimento in attesa. I punti verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione.</li><li>Trasferiti: Complimenti! I punti sono disponibili sulla tua area Multicoin</li></ul>';\n  infoTooltipPoints = 'I punti in attesa di trasferimento verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione';\n  multicoinPoints = {\n    'totalAmount' : {\n      amount: 0,\n      class: 'total',\n      text: 'Totale maturati',\n      description: 'Il Totale dei punti Multicoin maturati quest\\'anno: la somma dei punti non trasferiti, trasferiti e bloccati'\n    },\n    'totalPending':{\n      amount: 0,\n      class: 'pending',\n      text: 'Da trasferire',\n      description: 'Totale dei punti che verranno trasferiti sul tuo saldo disponibile entro la fine del mese successivo alla data di maturazione'\n    },\n    'totalTransferred': {\n      amount: 0,\n      class: 'success',\n      text: 'Trasferiti',\n      description: 'Totale dei punti che sono stati trasferiti quest\\'anno sulla tua area Multicoin'\n    },\n    'totalBlocked': {\n      amount: 0,\n      class: 'error',\n      text: 'Bloccati',\n      description: 'Totale dei punti bloccati. Verranno sbloccati appena effettuato il pagamento dell’ordine'\n    }\n  };\n  staticTooltipFidelityCard = {\n    target: '_self',\n    title: 'Fidelity Card', \n    subtitle: 'Attivazione',\n    message: 'Vai alla sezione Fidelity Card e scopri di più!',\n    href: '/fidelity-cards/activation', \n    icon: { \n      order: 0, \n      width: 1.5, \n      height: 1.5, \n      color: '#ff0000', \n      type: 'icon', \n      weight: 'far', \n      margin: [0, 0.5, 0, 0], \n      class: 'fa-exclamation-circle', \n    }\n  };\n  staticTooltipMulticoin = {\n    subtitle: 'Multicoin e punteggio', \n    href: 'https://docs.multidialogo.it/s/article/Consultazione-punti-Multicoin-in-Multidialogo ',\n    icon: {\n      type: 'svg', \n      order: 0, \n      width: 2, \n      height: 2, \n      margin: [0, 0.3, 0, 0]\n    }\n  };\n\n\n  changeSourceUserUuid() {\n    if (this.searchInterface.data.sourceUserUuid) {\n      this.searchInterface.data.context = 'YES'\n    }\n  }\n  changeSourceUserId() {\n    this.selectedUser = null;\n    this.isSelectedUserBuildingAdministartor = false;\n    setTimeout(() => {\n      if (this.searchInterface.data.sourceUserId) {\n        this.selectedUser = this.searchInterface.controls.sourceUserId.control.valueModel;\n        this.isSelectedUserBuildingAdministartor = this.selectedUser?.profile?.[0]?.businessType === 'BUILDING-ADMINISTRATOR';\n        this.setContextDatasource();\n      } else {\n        this.searchInterface.data.context = 'null';\n      }\n    }, 800);\n  }\n  changeContext() {\n    if (this.searchInterface.data.context !== 'YES') {\n      this.searchInterface.data.sourceUserUuid = null;\n    }\n  }\n  \n  constructor(api, router, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.router = router;\n    this.dialog = kaDialog;\n    this.defaultSearchSettings = {\n      status: 'null',\n      context: 'null',\n      sourceType: 'null',\n      createdAtGte: this.setDateRange(),\n      createdAtLte: this.setDateRange(364)\n    };\n    this.sourceUserUuidDatasource = {\n      table: 'users/me/users?include=user-profiles&status=ACTIVE',\n      query: { search: 'text-search', item: 'id-in' }\n    };\n    this.sourceUserIdDatasource = {\n      table: 'bo/users?include=user-profiles&status=ACTIVE&user-group-in=MASTER_USER',\n      query: { search: 'text-search', item: 'id-in' }\n    };\n    this.sourceTypes = {\n      'QUEUE': 'Spedizione',\n      'FLAT-SUBSCRIPTION-MULTINVIO': 'Servizio Multinvio',\n      'FLAT-SUBSCRIPTION-MULTINFORMA': 'Servizio Multinforma',\n    };\n    this.transactionStatuses = [\n      {\n        value: 'BLOCKED',\n        text: 'Bloccati',\n        class: 'error',\n        explanation: 'Trasferimento fallito:',\n        description: 'Punti che non possono essere trasferiti verso Multicoin'\n      },\n      {\n        value: 'PENDING',\n        text: 'Da trasferire',\n        class: 'pending',\n        explanation: 'In attesa di trasferimento',\n        description: 'Punti maturati ma non ancora trasferiti su Multicoin'\n      },\n      {\n        value: 'TRANSFERRED',\n        text: 'Trasferiti',\n        class: 'success',\n        explanation: 'Trasferimento verso Multicoin',\n        description: 'Punti già trasferiti verso Multicoin'\n      },\n      {\n        value: 'ACCREDITED',\n        text: 'Trasferimento',\n        class: 'secondary',\n        explanation: 'Totale trasferito in Multicoin',\n        description: 'Punti già trasferiti verso Multicoin'\n      }\n    ];\n  }\n  activate() {\n    this.isOperator = this.api.hasRole('LIST_ANY_USER');\n  }\n  attached() {\n    this.isMdCounterVisible = this.setMdCounterVisibility();\n    this.initTabs();\n  }\n\n  // Init functions\n  async initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      endpoint: this.setEndpoint(),\n      name: 'table-points-transaction-history'\n    });\n    return this.tableInterface.initialize();\n  }\n  async initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-multicoin-movements-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          control: 'date',\n          label: 'Inserito dal:',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'Al:',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        sourceType: {\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          query: 'source-in',\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Originato da',\n          datasource: this.setSourceTypesDatasource()\n        },\n        status: {\n          label: 'Stato',\n          query: 'status',\n          datatext: 'text',\n          control: 'combo',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          datasource: this.setTransactionStatusesDatasource()\n        },\n        context: {\n          required: true,        \n          datasource: [],\n          control: 'combo',\n          datatext: 'text',\n          datapreload: true,\n          datavalue: 'value',\n          datamultiple: false,\n          label: 'Originato da',\n          query: 'source-user-not-me',\n          label: 'Quali movimenti vuoi visualizzare?'\n        }\n      },\n      data: structuredClone(this.defaultSearchSettings)\n    });\n    if (this.isOperator) {\n      this.sourceTypes['MULTICOIN-TRANSFER'] = 'Trasferimento verso Multicoin';\n      this.searchInterface.schema.sourceUserId = {\n        required: true,\n        label: 'Utenti',\n        datavalue: 'id',\n        control: 'combo',\n        datapreload: false,\n        datamultiple: false,\n        datatext: 'profile[0].displayName',\n        datasource: this.sourceUserIdDatasource,\n      }\n    } else {\n      this.searchInterface.schema.sourceUserUuid = {\n        control: 'combo',\n        datavalue: 'uuid',\n        datapreload: false,\n        datamultiple: false,\n        query: 'source-subuser-uuid-in',\n        datatext: 'profile[0].displayName',\n        datasource: this.sourceUserUuidDatasource,\n        label: `${mdt.parsers.contextualize(this.api.user, 'Utente')}`\n      }\n    }\n    this.setContextDatasource();\n    return this.searchInterface.initialize();\n  }\n  async initTabs() {\n    this.isPendingInit = true;\n    let promises = [this.initTableInterface(), this.initSearchInterface()];\n    if (!this.isOperator && this.api.hasRole('LIST_USER_FIDELITY_CARDS')) {\n      promises.push(mdt.fidelityCards.userCurrentFidelityCard(this.api));\n    }\n    Promise.allSettled(promises).then((xhrs) => {\n      xhrs.forEach((xhr) => {\n        this.userCurrentFidelityCard = xhrs?.find?.((xhr) => xhr?.status === 'fulfilled' && xhr?.value?.response?.type === 'fidelity-card-activations')?.value?.response;\n        if (!xhr.value && xhr.status === 'rejected' && xhr.reason.statusCode !== 404) {\n          throw xhr.reason;\n        }\n      });\n      if (!this.isOperator) this.search();\n      else if (this.isOperator && this.searchInterface.data.sourceUserId) this.search();\n      else this.isPendingInit = false;\n    }).catch((error) => {\n      console.log('initTab', error);\n      this.toast.show('Errore al caricamento della pagina!', 'error');\n    });\n  }\n\n  // Get functions\n  async search() {\n    const data = structuredClone(this.searchInterface.data);\n    if (this.isOperator) this.tableInterface.endpoint = this.setEndpoint(data.sourceUserId);\n    return this.searchInterface.search(data).then((response) => {\n      this.multicoinPoints.totalAmount.amount = response?.originalResponse?.meta?.totalAmount || 0;\n      this.multicoinPoints.totalPending.amount = response?.originalResponse?.meta?.totalPendingAmount || 0;\n      this.multicoinPoints.totalBlocked.amount = response?.originalResponse?.meta?.totalBlockedAmount || 0;\n      this.multicoinPoints.totalTransferred.amount = response?.originalResponse?.meta?.totalTransferredAmount || 0;\n    }).finally(() => {\n      this.isPendingInit = false;\n    });\n  }\n  async reset() {\n    await this.searchInterface.reset(true);\n    this.searchInterface.data = structuredClone(this.defaultSearchSettings);\n    this.search();\n  }\n\n  // Set functions\n  setMdCounterVisibility() {\n    const storedRecord = sessionStorage.getItem(btoa('table-multicoin-movements-search-data'));\n    return !storedRecord && !this.isOperator;\n  }\n  setEndpoint(userId) {\n    const endpoint = `users/${userId || 'me'}/multicoin-movements`;\n    return endpoint;\n  }\n  setDateRange(days = 0) {\n    const currentDate = new Date(new Date().getFullYear(), 0, 1);\n    currentDate.setDate(currentDate.getDate() + days);\n    return currentDate.toISOString();\n  }\n  setTransactionStatusesDatasource() {\n    const datasource = [{ value: 'null', text: 'Qualsiasi' }];\n    this.transactionStatuses.forEach((item) => {\n      datasource.push({ value: item.value, text: item.text });\n    });\n    return datasource;\n  }\n  setSourceTypesDatasource() {\n    const datasource = [{ value: 'null', text: 'Qualsiasi' }];\n    for (const [value, text] of Object.entries(this.sourceTypes)) {\n      datasource.push({ value, text });\n    }\n    return datasource;\n  }\n  getTransactionStatus(record, property) {\n    let recordStatus = record;\n    if (typeof record === 'object' && !Array.isArray(record) && record !== null) recordStatus = record.status;\n    return this.transactionStatuses?.find?.((status) => status.value === recordStatus)?.[property];\n  }\n  setContextDatasource() {\n    let datasource = [{ value: 'null', text: 'Tutti' }];\n    let user = { value: 'NO', text: `I movimenti del`};\n    let subusers = { value: 'YES', text: `I movimenti dei ` };\n    if (!this.isOperator) {\n      user.text += ` mio ${mdt.parsers.contextualize(this.api.user, 'account')}`;\n      subusers.text += `miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}`;\n    } else {\n      const displayAccount = this.isSelectedUserBuildingAdministartor ? 'lo studio' : 'l\\'utente';\n      const displaySubusers = this.isSelectedUserBuildingAdministartor ? 'condomìni' : 'sottoutenti';\n      user.text += `${displayAccount}`;\n      subusers.text += `suoi ${displaySubusers}`;\n    }\n    datasource.push(user);\n    datasource.push(subusers);\n    return this.searchInterface.schema.context = Object.assign({}, this.searchInterface.schema.context, { datasource });\n  }\n\n  // Dialogs\n  dialogReason(record) {\n    this.dialog.open({\n      type: 'alert',\n      class: 'medium',\n      body: record?.reason,\n      title: 'Dettaglio origine'\n    });\n  }\n  dialogLockedAccreditation(record) {\n    const bodyMessage = record?.reason || 'Impossibile accreditare. Contatta l\\'assistenza.';\n    this.dialog.open({\n      title: 'Dettaglio',\n      class: 'medium',\n      type: 'alert',\n      body: bodyMessage,\n    });\n  }\n  detail(record, $event) {\n    switch (true) {\n      case !!record.legacySmsQueueId:\n        this.navigateToLegacySMSreport(record, $event);\n        break;\n      case !!record.sourceQueueUuid:\n        this.navigateToQueueDetail(record);\n        break;\n      case !!record.sourceFlatServiceSubscriptionUuid:\n        this.dialogFlatServiceSubscriptionDetail(record);\n        break;\n    }\n  }\n  dialogFlatServiceSubscriptionDetail(record) {\n    const ownerId = record.sourceUserId;\n    const flatServiceUuid = record.sourceFlatServiceSubscriptionUuid;\n    return this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio servizio in abbonamento',\n      viewModelParams: { ownerId, flatServiceUuid },\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail')\n    });\n  }\n\n  // Utility functions\n  navigateToQueueDetail(record) {\n    return this.router.navigate(`spedizioni/reportistica/${record.sourceUserId}/${record.sourceQueueUuid}`);\n  }\n  navigateToLegacySMSreport(record, $event) {\n    $event.model.busy = true;\n    mdt.legacy.getCrossLoginTokenCurrent(this.api).then((xhr) => {\n      const token = xhr.response?.token;\n      return window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=mi_queue_report_detail&mi_queue_id=${record.legacySmsQueueId}`);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class NotificheAnteprima {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.notification = params.notification;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n@inject(Api, KaDialog, KaToast)\nexport class vmNotifiche {\n  mdt = mdt;\n  tabs = [\n    {\n      id: 'elencoNotificheMie',\n      label: 'Le mie notifiche',\n      vm: PLATFORM.moduleName('views/notifiche-ui/tabs/elenco-notifiche-mie')\n    },\n    {\n      id: 'elencoNotificheUtenti',\n      label: null,\n      vm: PLATFORM.moduleName('views/notifiche-ui/tabs/elenco-notifiche-utenti')\n    }\n  ];\n\n  tools = {\n    kaTabsCounter: (alerts) => {\n      // Storage\n      if (alerts) {\n        localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify({ \n          totalUnreadNotifications: alerts.totalUnreadNotificationsCount ? parseInt(alerts.totalUnreadNotificationsCount, 10) : null, \n          myUnreadNotifications: alerts.totalMineUnreadNotificationsCount ?  parseInt(alerts.totalMineUnreadNotificationsCount,10): null, \n          subusersUnreadNotifications: alerts.totalSubuserUnreadNotificationsCount ? parseInt(alerts.totalSubuserUnreadNotificationsCount, 10) : null \n        }));\n      }\n      let storage = localStorage.getItem(btoa('ui-notifications-counter')) ? JSON.parse(localStorage.getItem(btoa('ui-notifications-counter'))) : null;\n      let myUnreadNotifications = storage && storage.myUnreadNotifications && storage.myUnreadNotifications !== 'error' ? parseInt(storage.myUnreadNotifications, 10) : null;\n      let subusersUnreadNotifications = storage && storage.subusersUnreadNotifications && storage.subusersUnreadNotifications !== 'error' ? parseInt(storage.subusersUnreadNotifications, 10) : null;\n\n      // Ka tabs\n      let kaTabs = document.querySelectorAll('ka-tabs#main > nav > a');\n      if (kaTabs) {\n        for (let i = 0; i < kaTabs.length; i++) {\n          let counter = kaTabs[i].querySelector('span');\n          if (counter) counter.remove();\n          // Mine\n          if (i === 0 && myUnreadNotifications) {\n            if (!kaTabs[i].classList.contains('alert')) kaTabs[i].classList.add('alert');\n            kaTabs[i].insertAdjacentHTML('beforeend', `<span>${myUnreadNotifications}</span>`);\n          }\n          // Subusers\n          if (!this.privileges.isOperator) {\n            if (i === 1 && subusersUnreadNotifications) {\n              if (!kaTabs[i].classList.contains('alert')) kaTabs[i].classList.add('alert');\n              kaTabs[i].insertAdjacentHTML('beforeend', `<span>${subusersUnreadNotifications}</span>`);\n            }\n          }\n        } \n      }\n    },\n    getAlerts: () => {\n      let limit = 100;\n      return new Promise((resolve, reject) => {\n        this.api.get(`users/me/ui-notification-alerts?limit=${limit}`).then(xhr => {\n          let alerts = xhr.response;\n          let metaAlerts = xhr.originalResponse.meta;\n\n          // Ka tabs\n          this.tools.kaTabsCounter(metaAlerts);\n\n          // Subusers alert (if total subusers are more than ${limit})\n          if (!this.privileges.isOperator && alerts.length > 1) {\n            let total = xhr.originalResponse.meta.total;\n            if (total > limit) {\n              let offset = limit;\n              const fetchSubusers = () => {\n                this.api.get(`users/me/ui-notification-alerts?limit=${limit}&offset=${offset}`).then(y => {\n                  alerts = alerts.concat(y.response);\n                  offset += limit;\n                  if (offset < total) fetchSubusers();\n                  else {\n                    alerts = alerts.filter(x => x.legacyOwnerId !== this.api.user.id);\n                    return resolve(alerts);\n                  }\n                }).catch(error => {\n                  console.log('ERROR ui-notifications-alerts get', error);\n                  let storage = { totalUnreadNotifications: 'error', myUnreadNotifications: 'error', subusersUnreadNotifications: 'error' };\n                  localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n                  this.api.dialogError(error);\n                  return reject();\n                });\n              };\n              fetchSubusers();   \n            } else {\n              alerts = xhr.response.filter(x => x.legacyOwnerId !== this.api.user.id);\n              return resolve(alerts);\n            }\n          } else {\n            return resolve(alerts); \n          } \n        }).catch(error => {\n          console.log('ERROR ui-notifications-alerts get', error);\n          let storage = { totalUnreadNotifications: 'error', myUnreadNotifications: 'error', subusersUnreadNotifications: 'error' };\n          localStorage.setItem(btoa('ui-notifications-counter'), JSON.stringify(storage));\n          this.api.dialogError(error);\n          return reject();\n        });\n      });\n    },\n    getUser: (user) => {\n      return new Promise((resolve, reject) => {\n        this.api.get(`users/${user.legacyOwnerId}?include=user-profiles`).then(xhr => {\n          let user = { legacyOwnerId: xhr.response.id, ownerDisplayName: xhr.response.profile[0].displayName };\n          localStorage.setItem(btoa('ui-notifications-user'), JSON.stringify(user));\n          return resolve();\n        }).catch(() => {\n          console.log('ERROR ui-notifications-user get', error);\n          this.api.dialogError(error);\n          return reject();\n        });\n      }); \n    },\n    preview: (notification, user = null) => {\n      return new Promise((resolve, reject) => {\n        if (!notification) return reject();\n        this.dialog.open({\n          title: notification.title,\n          class: 'notificheui-anteprima',\n          viewModel: PLATFORM.moduleName('views/notifiche-ui/dialogs/notifiche-anteprima'),\n          viewModelParams: { notification }\n        }, true).whenClosed(() => {\n          let load = false;\n          if (!notification.readByMeAt) load = true;\n          if (this.privileges.isOperator && notification.userUuid !== this.api.user.uuid) load = false;\n          if (load) { this.tools.notificationsReadStatus(notification, user).then(() => {\n              return resolve(load); \n            }).catch(() => {\n              return reject();\n            })\n          } else {\n            return resolve(load);\n          }\n        });\n      });     \n    },\n    notificationsReadStatus: (notification, user) => {\n      return new Promise((resolve, reject) => {\n        let data = { read: 'YES' };\n        data.read = notification.readByMeAt ? 'NO' : 'YES';\n\n        this.api.patch(`users/${user?.legacyOwnerId || 'me'}/ui-notifications/${notification.uuid}`, data).then(() => {\n          return resolve(); \n        }).catch(error => {\n          console.log('ERROR ui-notifications patch', error);\n          this.api.dialogError(error);\n          return reject();\n        });\n      });\n    },\n    setAllAsRead: (notificationsTableInterface) => {\n      let promises = [];\n      notificationsTableInterface.data.forEach(record => {\n        promises.push(this.api.patch(`${notificationsTableInterface.endpoint}/${record.uuid}`, { read: 'YES' }));\n      });\n      return Promise.all(promises).then(() => {\n        this.toast.show('Operazione effettuata con successo!', 'success');\n      }).catch((errors) => {\n        console.error('ERRORS ui-notifications - patch', errors);\n        this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n      });\n    },\n    takeOver: (notification) => {\n      return new Promise((resolve, reject) => {\n        if (notification.assigneeUuid) {\n        this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `<strong>Questa notifica è già assegnata ad un altro utente</strong><br>Confermi di volerla prendere in carico?`}).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.api.patch(`bo/ui-notifications/bulk-assign/${notification.shareCode}`, {}).then(() => {\n              this.toast.show('Notifica presa in carico con successo!', 'success');\n              return resolve();\n            }).catch(error => {\n              console.error('ERRORS ui-notifications/bulk-assign - patch', error);\n              this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n              return reject();\n            });\n          }\n        });\n      } else {\n        this.api.patch(`bo/ui-notifications/bulk-assign/${notification.shareCode}`, {}).then(() => {\n          this.toast.show('Notifica presa in carico con successo!', 'success');\n          return resolve();\n        }).catch(error => {\n          console.error('ERRORS ui-notifications/bulk-assign - patch', error);\n          this.toast.show('Si sono verificati errori durante l\\'operazione!', 'error');\n          return reject();\n        });\n      }\n      });\n    },\n    notificationTooltip: (notification) => {\n      return `<div class=\"notification-tooltip\"><strong class=\"title\">${notification.title}</strong><p class=\"content\">${notification.plainTextBody}</p></div>`;\n    },\n  }\n\n  constructor(api, dialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n    this.tools.kaTabsCounter();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elencoNotificheMie: false, elencoNotificheSottoutenti: false, elencoNotificheUtenti: false  }};\n    this.privileges.isOperator = false;\n    if (this.api.hasRole('LIST_USER_UI_NOTIFICATION')) {\n      this.privileges.tabs.elencoNotificheMie = true;\n      this.privileges.tabs.elencoNotificheUtenti = this.api.user.group === 'MASTER_USER' ? true : false;\n      this.tabs.find(tab => tab.id === 'elencoNotificheUtenti').label = `Le notifiche dei miei ${this.mdt.parsers.contextualize(this.api.user, 'utenti')}`;\n    }\n    if (this.api.hasRole('LIST_ANY_USER_UI_NOTIFICATION')) {\n      this.privileges.isOperator = this.privileges.tabs.elencoNotificheUtenti = true;\n      this.tabs.find(tab => tab.id === 'elencoNotificheUtenti').label = `Le notifiche degli utenti`;      \n    }\n  }\n}\n","import {Aurelia, inject, observable} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmElencoNotificheMie {\n  mdt = mdt;\n  pending = true;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    \n    // INIT notifications TableInterface\n    this.myNotificationsTableInterface = new TableInterface({\n      name: 'myNotificationsTableInterface',\n      client: this.api,\n      endpoint: `users/me/ui-notifications`\n    });\n    this.myNotificationsTableInterface.initialize().catch(error => { console.log('myNotificationsTableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.myNotificationsSearchInterface = new SearchInterface({\n      name: 'myNotificationsSearchInterface',\n      table: this.myNotificationsTableInterface,\n      schema: {\n        readBy: {\n          control: 'combo',  \n          label: 'Stato di lettura della notifica', \n          datasource: [{ value: 'null', text: 'Tutte le notifiche' }, { value: 'NOT-ME', text: 'Da leggere' }],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          query: 'read-by'\n        },\n        templateCode: {\n          control: 'combo',  \n          label: 'Addebitabile a', \n          datasource: null,\n          datavalue: 'code', \n          datatext: 'label', \n          datapreload: false,\n          datamultiple: false,\n          query: 'template-code'\n        }\n      },\n      data: {\n        readBy: 'NOT-ME',\n        templateCode: 'null'\n      }\n    });\n    this.myNotificationsSearchInterface.initialize().then(() => {\n      this.getTemplates().then(() => { this.setTemplate(); });\n    }).catch(error => { \n      console.log('ERROR searchInterface initialization failed', error);\n    });\n  }\n\n  readByChanged() {\n    this.pending = true;\n    this.getNotifications();\n  }\n\n  getTemplates() {\n    return this.api.get('system-notification-templates?channel=ui').then(xhr => {\n      this.templates = xhr.response;\n      this.myNotificationsSearchInterface.schema.templateCode.datasource = this.templates;\n    }).catch(error => {\n      console.log('ERROR system-notification-templates get', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  setTemplate(templateCode) {\n    this.pending = true;\n    if (templateCode) {\n      this.myNotificationsSearchInterface.data.templateCode = templateCode === 'all-templates' ? null : templateCode;\n    } else {\n      templateCode = this.myNotificationsSearchInterface.data.templateCode;\n    }\n\n    // Select templates\n    setTimeout(() => {\n      let oldSelectedTemplate = document.querySelector('.templates > .selected');\n      oldSelectedTemplate?.classList.remove('selected');\n      let newSelectedTemplate = document.getElementById(templateCode || 'all-templates');\n      newSelectedTemplate?.classList.add(\"selected\");\n    }, 0);\n\n    this.getNotifications();\n  }\n\n  getNotifications() {\n    return this.myNotificationsSearchInterface.search().catch(error => {\n      console.log('ERROR searchInterface search', error);\n      this.toast.show('Errore durante il caricamento delle notifiche!', 'error');\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  preview(notification, $event) {\n    if (!notification.readByMeAt) $event.model.busy = true;\n    this.tools.preview(notification).then(load => {\n      this.pending = true;\n      $event.model.busy = false;\n      if (load) {\n        this.tools.getAlerts().then(() => {\n          this.getNotifications();\n        }).catch(() => { \n          this.pending = false;\n         });\n      } else {\n        this.pending = false;\n      }\n    }).catch(() => { \n      $event.model.busy = false;\n    });\n  }\n\n  notificationsReadStatus(notification) {\n    this.pending = true;\n    this.tools.notificationsReadStatus(notification).then(() => {\n      this.tools.getAlerts().then(() => {\n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  setAllAsRead(myNotificationsTableInterface) {\n    this.pending = true;\n    this.tools.setAllAsRead(myNotificationsTableInterface).finally(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  takeOver(notification, $event) {\n    this.pending = true;\n    $event.model.busy = true;\n    this.tools.takeOver(notification).then(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications().then(() => {\n          $event.model.busy = false;\n        }).catch(() => { \n          this.pending = false;\n          $event.model.busy = false;\n        });\n      }).catch(() => { \n        this.pending = false;\n        $event.model.busy = false;\n      });\n    }).catch(() => { \n      this.pending = false;\n      $event.model.busy = false;\n    });\n  }\n}\n","import {Aurelia, inject, observable} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmElencoNotificheUtenti {\n  mdt = mdt;\n  pending = null;\n  subusers = null;\n  _subusers = null;\n  @observable() searchSubuser = null;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n\n    // INIT notifications TableInterface\n    this.userNotificationsTableInterface = new TableInterface({\n      name: 'userNotificationsTableInterface',\n      client: this.api,\n      endpoint: null\n    });\n    this.userNotificationsTableInterface.initialize().catch(error => { console.log('userNotificationsTableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.userNotificationsSearchInterface = new SearchInterface({\n      name: 'userNotificationsSearchInterface',\n      table: this.userNotificationsTableInterface,\n      schema: {\n        readBy: {\n          control: 'combo',  \n          label: 'Stato di lettura della notifica', \n          datasource: [{ value: 'null', text: 'Tutte le notifiche' }, { value: 'NOT-ME', text: 'Da leggere' }],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          query: 'read-by'\n        },\n        user: {\n          label: 'Utente',\n          control: 'combo',\n          datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' }},\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        }\n      },\n      data: {\n        readBy: 'NOT-ME',\n        user: null\n      }\n    });\n    this.userNotificationsSearchInterface.initialize().then(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || (this.privileges.isOperator ? { legacyOwnerId: null, ownerDisplayName: null } : null);\n        this.searchSubuser = localStorage.getItem(btoa('ui-notifications-subuser')) ? JSON.parse(localStorage.getItem(btoa('ui-notifications-subuser'))).searchSubuser : null;\n        if (!this.privileges.isOperator && this.user) this.setSubuser();\n        else this.pending = false;\n      });\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  searchSubuserChanged(value) {\n    let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n    oldSelectedSubuser?.classList.remove('selected');\n    this._subusers = value ? this.subusers.filter(x => x.ownerDisplayName.toLowerCase().includes(value.toLowerCase())) : this.subusers;\n    localStorage.setItem(btoa('ui-notifications-subuser'), JSON.stringify({ searchSubuser: value || null }));\n\n    if (this._subusers.filter(x => x?.legacyOwnerId === this.user?.legacyOwnerId).length) {\n      setTimeout(() => {\n        let newSelectedSubuser = this.user?.legacyOwnerId ? document.getElementById(this.user.legacyOwnerId) : null;\n        newSelectedSubuser?.classList.add(\"selected\");\n      }, 0);\n    }\n  }\n\n  searchUser() {\n    if (this.userNotificationsSearchInterface.data.user) {\n      this.user = { legacyOwnerId: this.userNotificationsSearchInterface.data.user, ownerDisplayName: null };\n      this.tools.getUser(this.user).then(() => {\n        this.pending = true;\n        this.getNotifications();\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || null;\n      }).catch(() => { \n        this.pending = false;\n      });\n    } else {\n      this.pending = true;\n      setTimeout(() => {\n        this.user = { legacyOwnerId: null, ownerDisplayName: null };\n        localStorage.setItem(btoa('ui-notifications-user'), JSON.stringify(this.user));\n        this.userNotificationsTableInterface.data = [];\n        this.pending = false;\n      }, 200);\n    }\n  }\n\n  setSubuser(user) {\n    // Select subuser\n    setTimeout(() => {\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      let newSelectedSubuser = null;\n      if (user) newSelectedSubuser = document.getElementById(user.legacyOwnerId);\n      else if (this.user) newSelectedSubuser = document.getElementById(this.user.legacyOwnerId);\n      oldSelectedSubuser?.classList.remove('selected');\n      newSelectedSubuser?.classList.add(\"selected\");\n    }, 0);\n\n    if (user) {\n      this.tools.getUser(user).then(() => {\n        this.user = JSON.parse(localStorage.getItem(btoa('ui-notifications-user'))) || null;\n        this.getNotifications();\n      });\n    } else {\n      this.getNotifications();\n    }\n  }\n\n  readByChanged() {\n    this.pending = true;\n    this.getNotifications();\n  }\n\n  getNotifications() {\n    if (!this.user || !this.user.legacyOwnerId) return this.pending = false;\n    this.userNotificationsTableInterface.endpoint = `users/${this.user.legacyOwnerId}/ui-notifications`;\n    return this.userNotificationsSearchInterface.search().catch(error => {\n      console.log('ERROR searchInterface search', error);\n      this.toast.show('Errore durante il caricamento delle notifiche!', 'error');\n    }).finally(() => {\n      this.pending = false;\n    });\n  }\n\n  preview(notification, $event) {\n    if (!notification.readByMeAt) $event.model.busy = true;\n    this.tools.preview(notification, this.user).then(load => {\n      this.pending = true;\n      $event.model.busy = false;\n      if (load) {\n        this.tools.getAlerts().then(alerts => {\n          this.subusers = [...alerts];\n          this.getNotifications();\n        }).catch(() => { \n          this.pending = false;\n         });\n      } else {\n        this.pending = false;\n      }\n    }).catch(() => { \n      $event.model.busy = false;\n    });\n  }\n\n  notificationsReadStatus(notification) {\n    this.pending = true;\n    this.tools.notificationsReadStatus(notification, this.user).then(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.getNotifications();\n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  setAllAsRead(userNotificationsTableInterface) {\n    this.pending = true;\n    this.tools.setAllAsRead(userNotificationsTableInterface).finally(() => {\n      this.tools.getAlerts().then(alerts => {\n        this.subusers = [...alerts];\n        this.getNotifications(); \n      }).catch(() => { this.pending = false; });\n    }).catch(() => { this.pending = false; });\n  }\n\n  takeOver(notification, $event) {\n    this.pending = true;\n    $event.model.busy = true;\n    this.tools.takeOver(notification).then(() => {\n      this.tools.getAlerts().then(() => { \n        this.getNotifications().then(() => {\n          $event.model.busy = false;\n        }).catch(() => { \n          this.pending = false;\n          $event.model.busy = false;\n        });\n      }).catch(() => { \n        this.pending = false;\n        $event.model.busy = false;\n      });\n    }).catch(() => { \n      this.pending = false;\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { MdFileViewer, MdFileDownload } from 'services/md-files';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaDialog, KaToast, MdFileViewer)\nexport class viewCopertine {\n  isSubuser;\n  isOperator;\n  isMasterUser;\n  isPrintOperator;\n  IsUserSearchFieldVisible;\n  searchInterfaceData = {\n    status: 'null',\n    target: 'null'\n  };\n  coverStatuses = {\n    \"PENDING\": { \n      text: 'In attesa', \n      class: 'pending' \n    },\n    \"REFUSED\": { \n      text: 'Rifiutata', \n      class: 'error' \n    },\n    \"APPROVED\": { \n      text: 'Approvata', \n      class: 'success' \n    }\n  };\n\n  constructor(router, api, kaDialog, kaToast) {\n    this.router = router;\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.mdFileDownload = new MdFileDownload(api, kaToast);\n    this.mdFileViewer = new MdFileViewer(api, kaDialog, kaToast);\n  }\n\n  activate(model) {\n    this.model = model;\n    this.setPrivileges();\n    this.setIsUserSearchFieldVisible();\n  }\n\n  attached() {\n    this.initView();\n  }\n\n  // Init methods\n  initView() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      this.getCovers();\n    });\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-interface-covers'\n    });\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'covers-table-search',\n      table: this.tableInterface,\n      schema: {\n        target: {\n          required: true,\n          control: 'combo',\n          query: 'associated-users',\n          label: 'Quali copertine visualizzare?',\n          datasource: [\n            { text: 'Tutte', value: 'null' },\n            { text: 'Associate al mio Studio', value: 'SELF' },\n            { text: 'Associate ai miei condomini', value: 'SUBUSERS' }\n          ]\n        },\n        user: {\n          datavalue: 'id',\n          control: 'combo',\n          datapreload: false,\n          datamultiple: false,\n          datatext: 'profile[0].displayName',\n          label: this.setSearchInterfaceUserLabel(),\n          datasource: {\n            table: this.setSearchInterfaceUserEndpoint(),\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        label: {\n          query: 'label',\n          control: 'text',\n          label: 'Titolo copertina'\n        },\n        status: {\n          query: 'status',\n          control: 'combo',\n          label: 'Stato omologazione',\n          datasource: this.setSearchInterfaceSchemaStatusDatasource()\n        },\n        createdAtGte: {\n          control: 'date',\n          query: 'created-at-gte',\n          label: 'Copertina inserita dal'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        }\n      },\n      data: structuredClone({\n        ...this.searchInterfaceData,\n        ...(this.isSubuser && { target: 'SELF' })\n      })\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Get methods\n  getCovers() {\n    this.setTableInterfaceCoversEndpoint();\n    return this.searchInterface.search();\n  }\n  resetCovers() {\n    this.searchInterface.reset(false, false);\n    this.searchInterface.data.status = this.searchInterfaceData.status;\n    this.searchInterface.data.target = this.isSubuser ? 'SELF' : this.searchInterfaceData.target;\n    return this.getCovers();\n  }\n\n  // Change methods\n  changeSearchInterfaceDataTarget() {\n    this.setIsUserSearchFieldVisible();\n    if (['SELF','null'].includes(this.searchInterface.data.target)) this.searchInterface.data.user = null;\n  }\n  changeSearchInterfaceDataUser() {\n    if (this.searchInterface.data.target !== 'SELF' && this.searchInterface.data.user && (this.isOperator || !this.isPrintOperator)) {\n      this.searchInterface.data.target = this.searchInterface.data.user;\n    } else if (!this.searchInterface.data.user && !this.isOperator && !this.isPrintOperator) {\n      this.searchInterface.data.target = 'SUBUSERS';\n    }\n  }\n\n  // Set methods\n  setIsUserSearchFieldVisible() {\n    this.IsUserSearchFieldVisible = !this.isSubuser && (this.isOperator || this.isPrintOperator || !['null', 'SELF'].includes(this.searchInterface?.data?.target));\n  }\n  setPrivileges() {\n    const userGroup = this.api.user.group;\n    switch (userGroup) {\n      case 'PRINT_BACKOFFICE':\n        this.isPrintOperator = true;\n        break;\n      case 'EXECUTIVE_OPERATOR':\n        this.isOperator = true;\n        break;\n      case 'BACKOFFICE':\n        this.isOperator = true;\n        break;\n      case 'BASIC_USER':\n        this.isSubuser = true;\n        break;\n      case 'MASTER_USER':\n        this.isMasterUser = true;\n        break;\n    }\n  }\n  setSearchInterfaceUserLabel() {\n    let label = 'Utente';\n    if (!this.isOperator && !this.isPrintOperator) {\n      label = mdt.parsers.contextualize(this.api.user, 'Utente');\n    }\n    return label;\n  }\n  setSearchInterfaceUserEndpoint() {\n    const baseUrl = this.isOperator || this.isPrintOperator ? 'bo/users' : 'users/me/users';\n    return `${baseUrl}?status=ACTIVE&include=user-profiles`;\n  }\n  setTableInterfaceCoversEndpoint() {\n    let baseUrl = 'users/me';\n    if (this.isOperator || this.isPrintOperator) {\n      baseUrl = this.searchInterface.data.user ? `users/${this.searchInterface.data.user}` : 'bo/users';\n    }\n    this.tableInterface.endpoint = `${baseUrl}/preferences/sender/letter-covers`;\n  }\n  setSearchInterfaceSchemaStatusDatasource() {\n    const datasource = [{ text: 'Qualsiasi', value: 'null' }];\n    for (const [key, value] of Object.entries(this.coverStatuses)) {\n      datasource.push({ text: value.text, value: key });\n    }\n    return datasource;\n  }\n\n  // Dialog methods\n  dialogManageCover($event, record) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Dati copertina',\n      class: 'medium manage-cover',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/manage-cover'),\n      viewModelParams: { cover: record }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.getCovers();\n      }\n    });\n  }\n  dialogAddCover($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Aggiungi nuova copertina',\n      class: 'medium add-cover',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/add-cover'),\n      viewModelParams: { user: this.api.user }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.toast.show('Copertina aggiunta con successo', 'success');\n        this.getCovers();\n      }\n    });\n  }\n  dialogUserAssociationsWithTheCover(record, $event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica associazione',\n      class: 'user-associations-with-the-cover medium',\n      viewModel: PLATFORM.moduleName('views/print-backoffice/dialogs/user-associations-with-the-cover'),\n      viewModelParams: { cover: record }\n    }).whenClosed((response) => {\n      $event.model.busy = false;\n      if (!response.wasCancelled) {\n        this.getCovers();\n      }\n    });\n  }\n  dialogDeleteCover(recordUuid) {\n    this.dialog.open({ \n      title: 'Attenzione!', \n      class: 'small', \n      type: 'confirm', \n      body: 'Se sicuro di voler cancellare questa copertina?' }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.deleteCover(recordUuid).then(() => {\n          this.toast.show(`Copertina eliminata con successo!`, 'success');\n          this.getCovers();\n        }).catch((error) => {\n          console.error(\"error deleting cover\", error);\n          this.toast.show(`Errore durante l'eliminazione`, 'error');\n        });\n      }\n    });\n  }\n\n  // Features\n  deleteCover(recordUuid) {\n    return this.api.delete(`users/me/preferences/sender/letter-covers/${recordUuid}`);\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogAddCover {\n  mdt = mdt;\n\n  static inject = [Api, DialogController];\n  selectedSubuserProfiles;\n  staticTooltipCover = {\n    title: 'Copertina',\n    href: 'https://docs.multidialogo.it/s/article/LE-COPERTINE-SU-MULTIDIALOGO',\n    icon: { type: 'svg', order: 1, width: 2, height: 2, margin:[0, 0, 0, 0.3] }\n  };\n\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n    this.resource = this.initResource();\n  }\n  activate(params) {\n    this.params = params;\n    this.user = params.user;\n  }\n\n  // Init methods\n  initResource() {\n    return {\n      controls: {},\n      schema: {\n        label: {\n          required: true,\n          control: 'text',\n          label: 'Titolo copertina',\n          placeholder: 'Denominazione generica della copertina'\n        },\n        fileData: {\n          required: true,\n          control: 'file',\n          label: 'Copertina',\n          placeholder: 'File PDF di 4 pagine in formato A4',\n          validationRule: {\n            satisfies: () => { return this.resource.data?.fileData?.[0]?.type === 'application/pdf'; },\n            withMessage: 'Caricare un file PDF.',\n          },\n        },\n        weight: {\n          readonly: true,\n          control: 'combo',\n          label: 'Grammatura',\n          datasource: [{ text: 'carta 80 gr' , value: 80 }]\n        },\n        colorMode: {\n          required: true,\n          label: 'Stampa',\n          control: 'combo',\n          datasource: [\n            { text: 'a colori' , value: 'COLOR' },\n            { text: 'in bianco e nero' , value: 'BW' }\n          ]\n        },\n        associations: {\n          target: {\n            required: true,\n            control: 'combo',\n            label: 'Associa la copertina a',\n            datasource: [\n              { text: 'Il mio Studio' , value: 'SELF' },\n              { text: 'I miei Condomini' , value: 'SUBUSERS' },\n            ]\n          },\n          items: {\n            datavalue: 'id',\n            control: 'combo',\n            datamultiple: true,\n            datapreload: false,\n            datatext: 'profile[0].displayName',\n            datasource: {\n              table: 'users/me/users?status=ACTIVE&include=user-profiles',\n              query: { search: 'text-search', item: 'id-in' },\n            },\n            label: `Associa ad uno o più ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} *`,\n            validationRule: {\n              satisfies: () => { return this.setResourceSchemaItemsValidationRule(); },\n              withMessage: `Aggiungere almeno un ${this.mdt.parsers.contextualize(this.api.user, 'utente')}`,\n            },\n          },\n          presets: {\n            datasource: [],\n            control: 'combo',\n            datamultiple: true,\n            label: `Configura come predefinita: puoi selezionare solo i ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} associati`\n          }\n        }\n      },\n      data: {\n        weight: 80,\n        colorMode: 'BW',\n        associations: {\n          presets: [],\n          target: 'SELF',\n        }\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach((control) => {\n          control.validator.errors = [];\n          control.element.classList.remove('error');\n          promises.push(new Promise((resolve, reject) => { \n            control.validate().then((result) => { \n              if (result.valid) resolve(); \n              else reject('Control didn\\'t pass validation'); \n            }); \n          }));\n        });\n        return Promise.all(promises);\n      }\n    }\n  }\n\n  // Change methos\n  changeAssociationsTarget() {\n    if (this.resource.data.associations.target === 'SELF') this.selectedSubuserProfiles = [];\n    this.setResourceSchemaPresetsDatasource();\n    this.resource.data.associations.items = [];\n\n  }\n  changeAssociationsItems() {\n    this.selectedSubuserProfiles = [];\n    this.resource?.controls?.['associations.items']?.control?.valueModel?.forEach((record) => {\n      let item = { \n        ...record, \n        profile: record.profile[0] \n      }\n      this.selectedSubuserProfiles.push(item);\n    });\n    this.resource.data.associations.presets = [];\n    return this.setResourceSchemaPresetsDatasource();\n  }\n\n  // Set methods\n  setResourceSchemaItemsValidationRule() {\n    return (this.resource.data?.associations?.target === 'SUBUSERS' && this.resource.data?.associations?.items?.length) || this.resource.data?.associations?.target === 'SELF';\n  }\n  setResourceSchemaPresetsDatasource() {\n    let datasource = [];\n    this.selectedSubuserProfiles.forEach((record) => {\n      const item = { \n        text: record.profile.displayName, \n        value: record.uuid \n      };\n      datasource.push(item);\n    });\n    if (this.resource.data.associations.target === 'SELF' && !datasource.length) datasource.push({ text: 'Il mio Studio', value: 'SELF' });\n    this.resource.schema.associations.presets = Object.assign({}, this.resource.schema.associations.presets, { datasource });\n  }\n  setFileData() {\n    return new Promise((resolve, reject) => {\n      const reader = new FileReader();\n      reader.readAsDataURL(this.resource.data?.fileData?.[0]);\n      reader.onloadend = () => {\n        const fileData = reader.result;\n        resolve(fileData);\n      };\n      reader.onerror = reject;\n    });\n  }\n  setPayload(fileData) {\n    const associatedSubusers = [];\n    let payload = structuredClone(this.resource.data);\n    switch (payload.associations.target) {\n      case 'SUBUSERS':\n        this.selectedSubuserProfiles?.forEach((record) => {\n          const item = { \n            userUuid: record.uuid,\n            default: this.resource.data.associations?.presets?.includes(record.uuid) ? 'YES' : 'NO'\n          };\n          associatedSubusers.push(item);\n        });\n        payload.associations.items = associatedSubusers;\n        break;\n      case 'SELF':\n        payload.associations.default = payload.associations.presets?.includes('SELF') ? 'YES' : 'NO';  \n        delete payload.associations.items;\n        break;\n    } \n    payload.fileData = fileData;\n    delete payload.associations.presets;\n    return payload;\n  }\n\n  // Post methods\n  postCover($event, payload) {\n    $event.model.busy = true;\n    return this.api.post(`users/${this.user.id}/preferences/sender/letter-covers`, payload).then(() => {\n      this.controller.ok();\n    }).catch((error) => {\n      console.log('postCover', error);\n      this.api.dialogError(error, this.resource.controls);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  // Features\n  addCover($event) {\n    this.resource.validate().then(() => {\n      this.setFileData().then((fileData) => {\n        const payload = this.setPayload(fileData);\n        this.postCover($event, payload);\n      });\n    }).catch((error) => {\n      console.log('addCover', error);\n      this.api.dialogError(error, this.resource.controls);\n    })\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdFileViewer } from 'services/md-files';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogManageCover {\n  static inject = [Api, DialogController, KaToast, KaDialog];\n  constructor(api, controller, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.controller = controller;\n    this.mdFileViewer = new MdFileViewer(this.api, this.dialog, this.toast);\n  }\n\n  activate(params) {\n    this.params = params;\n    this.cover = params.cover;\n    this.initResource();\n  }\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        label: {\n          readonly: true,\n          control: 'text',\n          label: 'Titolo'        \n        },\n        cover: {\n          readonly: true,\n          control: 'text',\n          label: 'Autore'        \n        },\n        refusalReason: {\n          control: 'text',\n          label: 'Motivazione del rifiuto *'\n        },\n        weight: {\n          readonly: true,\n          control: 'combo',\n          label: 'Grammatura',\n          datasource: [{ text: 'carta 80 gr' , value: 80 }]\n        },\n        color: {\n          readonly: true,\n          control: 'combo',\n          label: 'Stampa',\n          datasource: [\n            { text: 'bianco e nero' , value: 'BW' },\n            { text: 'a colori' , value: 'COLOR' }\n          ]\n        },\n        status: {\n          required: true,\n          control: 'combo',\n          label: 'Omologa copertina',\n          datasource: [\n            { text: 'Rifiuta' , value: 'REFUSED' },\n            { text: 'Approva' , value: 'APPROVED' }\n          ]\n        }\n      },\n      data: {\n        label: this.cover.label,\n        weight: this.cover.weight,\n        color: this.cover.colorMode,\n        status: this.setCoverStatus(),\n        cover: this.cover.authorDisplayName\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          control.validator.errors = [];\n          control.element.classList.remove('error');\n          promises.push(new Promise((resolve, reject) => { \n            control.validate().then((result) => { \n              if (result.valid) resolve(); \n              else reject('Control didn\\'t pass validation'); \n            }); \n          }));\n        });\n        return Promise.all(promises);\n      }\n    }\n  }\n  setCoverStatus() {\n    return ['REFUSED', 'APPROVED'].includes(this.cover.status) ? this.cover.status : 'APPROVED';\n  }\n  setPayload() {\n    return {\n      status: this.resource.data.status,\n      ...(this.resource.data.status === 'REFUSED' && { refusalReason: this.resource.data.refusalReason })\n    }\n  }\n  patchLetterCover() {\n    const payload = this.setPayload();\n    return this.api.patch(`users/me/preferences/sender/letter-covers/${this.cover.uuid}`, payload);\n  }\n  manageCover() {\n    this.patchLetterCover().then(() => {\n      this.controller.ok();\n      this.toast.show(`Copertina omologata con successo!`, 'success');\n    }).catch((error) => {\n      console.error('manageCover', error);\n      this.toast.show('Errore in fase di omologazione', 'error');\n      this.api.dialogError(error, this.resource.controls);\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaToast } from 'ka-components'\nimport { DialogController, DialogService } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\nexport class DialogUserAssociationsWithTheCover {\n  resource;\n  mdt = mdt;\n  currentItems = {};\n\n  static inject = [Api, DialogController, KaToast, DialogService];\n  constructor(api, controller, toast, dialogService) {\n    this.api = api;\n    this.mdt = mdt;\n    this.toast = toast;\n    this.controller = controller;\n    this.dialogService = dialogService;\n  }\n  activate(params) {\n    this.cover = params.cover;\n    this.initResource();\n    this.initTableInterface();\n    this.initSearchInterface();\n  }\n\n  // Init\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        target: {\n          required: true,\n          control: 'combo',\n          label: 'Associa la copertina a',\n          datasource: [\n            { text: 'Il mio Studio' , value: 'SELF' },\n            { text: 'I miei Condomini' , value: 'SUBUSERS' }\n          ]\n        },\n        default: {\n          control: 'check',\n          label: 'Imposta come',\n          description: 'Predefinita per lo Studio'\n        }\n      },\n      data: {\n        target: this.cover.associations.target,\n        default: this.cover.associations.default === 'YES'\n      }\n    }\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-associable-users',\n      endpoint: `users/me/preferences/sender/letter-covers/${this.cover.uuid}/associable-users`\n    });\n    this.tableInterface.parseResponse = (response) => {\n      response?.forEach((record, index) => {\n        response[index].isDefault = this.normalizeItemDefault(record.isDefault);\n        response[index].isAssociated = this.normalizeItemAssociation(record.isAssociated);\n        if (!this.currentItems[record.uuid]) this.currentItems[record.uuid] = response[index];\n      });\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'table-search-associable-users',\n      table: this.tableInterface,\n      schema: {\n        items: {\n          control: 'text',\n          query: 'text-search',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente')\n        },\n      },\n      data: {}\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Normalize methods\n  normalizeItemDefault(itemDeafault) {\n    return itemDeafault === 'YES';\n  }\n  normalizeItemAssociation(itemAssociation) {\n    return itemAssociation === 'YES';\n  }\n\n  // Change methods\n  changeTarget() {\n    if (this.resource.data.target === 'SUBUSERS') {\n      this.searchInterface.search();\n    }\n  }\n\n  setPayload() {\n    const target = this.resource.data.target;\n    const payload = { target };\n    switch (payload.target) {\n      case 'SELF':\n        payload.default = this.resource.data.default ? 'YES' : 'NO';\n        break;\n      case 'SUBUSERS':\n        payload.items = []\n        Object.values(this.currentItems)?.forEach((record) => {\n          if (record.isAssociated) {\n            payload.items.push({\n              userUuid: record.uuid,\n              default: record.isDefault ? 'YES' : 'NO'\n            });\n          }\n        });\n        break;\n    }   \n    return payload;\n  }\n\n  // Features\n  saveUserAssociationsWithCover() {\n    const payload = this.setPayload();\n    const endpoint = `users/me/preferences/sender/letter-covers/${this.cover.uuid}/associations/current`;\n    return this.api.put(endpoint, payload).then(() => {\n      this.controller.ok();\n      this.toast.show(`Modifica salvata con successo`, 'success');\n    }).catch((error) => {\n      console.log(endpoint, error);\n      this.toast.show('Errore durante il salvataggio', 'error');\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmAutorizzazioni {\n  tabs = [\n    {\n      id: 'mav',\n      label: 'MAV BANCARI',\n      vm: PLATFORM.moduleName('views/riscossioni/autorizzazioni/tabs/mav')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    const mav = this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']);\n    this.privileges = { tabs: { mav } };\n\n    if (this.api.hasRole('MODIFY_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isBankOperator = true;\n    } \n    else if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isOperator = true;\n    }\n    else if (this.api.hasRole('LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n      this.privileges.isUser = true;\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogMavApproval {\n  mdt = mdt;\n  resource = {\n    controls: {},\n    schema: {\n      status: {\n        label: 'Stato richiesta',\n        control: 'combo',\n        datasource: [\n          { value: 'PENDING-ACTIVATION', text: 'Approva' },\n          { value: 'REFUSED', text: 'Rifiuta' },\n          { value: 'ACTIVE', text: 'Conferma' }\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        datamultiple: false,\n        required: true\n      },\n      refusalReason: {\n        label: 'Motivazione del rifiuto',\n        control: 'text',\n        required: true\n      },\n      trusteeServiceCode: {\n        label: 'Codice servizio',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {\n      status: 'PENDING-ACTIVATION',\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.request = params.request;\n    if (this.request.status === 'PENDING-ACTIVATION') {\n      this.resource.schema.status.datasource = [\n        { value: 'ACTIVE', text: 'Conferma' },\n        { value: 'REFUSED', text: 'Rifiuta' }\n      ];\n      this.resource.data.status = 'ACTIVE';\n    } else if (this.request.status === 'ACTIVE') {\n      this.resource.schema.status.datasource = [{ value: 'REFUSED', text: 'Rifiuta' }];\n\n      this.resource.data.status = 'REFUSED';\n    } else {\n      this.resource.schema.status.datasource = [\n        { value: 'PENDING-ACTIVATION', text: 'Approva' },\n        { value: 'REFUSED', text: 'Rifiuta' }\n      ];\n      this.resource.data.status = 'PENDING-ACTIVATION';\n    }\n\n    if (this.request?.trustee?.serviceCode) {\n      this.resource.data.trusteeServiceCode = this.request.trustee.serviceCode;\n      this.resource.schema.trusteeServiceCode.readonly = true;\n    }\n  }\n\n  save($event) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      if (this.resource.data.status === 'ACTIVE') {\n        if (this.resource.data.refusalReason) delete this.resource.data.refusalReason;\n        if (this.request.trustee.serviceCode) delete this.resource.data.trusteeServiceCode;\n      }\n      else if (this.resource.data.status === 'REFUSED') {\n        if (this.resource.data.trusteeServiceCode) delete this.resource.data.trusteeServiceCode;\n      }\n\n      this.api.patch(`bo/users/${this.request.owner.id}/billing-profiles/${this.request.billingProfileUuid}/mav-order-self-printing-authorizations/${this.request.uuid}`, this.resource.data).then(() => {\n        this.controller.ok(this.resource.data.status);\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n    }).catch(() => {\n      setTimeout(() => { $event.model.busy = false; }, 300);\n    });\n  }\n}\n","import {inject, observable} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {DialogController} from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast, DialogController)\nexport class UtentiDialogCreateRequest {\n  mdt = mdt;\n  pending = false;\n  \n  resource = {\n    controls: {},\n    schema: {\n      context: {\n        control: 'combo',\n        label: 'Chi è il proprietario del profilo di fatturazione?',\n        datasource: [],\n        datavalue: 'value',\n        datatext: 'text',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      },\n      subuser: { \n        control: 'combo', \n        label: null,\n        datasource: { table: 'users/me/users?include=user-profiles&status=ACTIVE', query: { search: 'text-search', item: 'id-in'} },\n        datavalue: 'id', \n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: true\n      },\n      billingProfile: {\n        control: 'combo', \n        label: 'Seleziona un profilo di fatturazione',\n        datasource: [],\n        datavalue: 'uuid', \n        datatext: 'identifier',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    }\n  }\n\n  constructor(api, dialog, toast, dialogController) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate() {\n    this.pending = true;\n    this.resource.schema.context.datasource = [\n      { value: 'USER', text: 'Me stesso'},\n      { value: 'SUBUSER', text: `Un mio ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}` }\n    ];\n    this.resource.schema.subuser.label = `Seleziona un ${this.mdt.parsers.contextualize(this.api.user, 'sottoutente')}`;\n    this.resource.data.context = 'USER';\n  }\n\n  setUserId(mode = null) {\n    let userId = this.resource.data?.context === 'USER' ? 'me' : this.resource.data?.context === 'SUBUSER' ? this.resource.data.subuser : null;\n    if (mode !== 'soft') {\n      this.pending = true;\n      return this.userIdChanged(userId);\n    } else return userId;\n  }\n\n  userIdChanged(userId) {\n    this.resource.data.billingProfile = null;\n    this.resource.schema.billingProfile.datasource = [];\n    if (userId === 'me') {\n      this.resource.data.subuser = null;\n      this.getBillingProfiles(userId);\n    } else if (this.resource.data?.subuser) {\n      this.getBillingProfiles(userId);\n    } else if (!this.resource.data?.subuser) {\n      setTimeout(() => { this.pending = false; }, 600);\n    }\n  }\n\n  subuserChanged(userId = null) {\n    if (this.resource.data?.context === 'SUBUSER' && this.resource.data.subuser) {\n      this.pending = true;\n      this.setUserId();\n    }\n  }\n\n  getBillingProfiles(userId) {\n    this.api.get(`users/${userId}/billing-profiles`).then(xhr => {\n      let billingProfiles = xhr.response;\n      billingProfiles.forEach(profile => {\n        profile.identifier = `${profile.label} - IBAN: ${profile.payments?.banking?.iban || 'mancante'}`\n      });\n      this.resource.schema.billingProfile.datasource = billingProfiles;\n      this.pending = false;\n    }).catch(error => {\n      console.log('ERROR - billing-profiles - GET', error);\n      this.controller.cancel();\n      this.api.dialogError(error);\n    });\n  }\n\n  send($event, userId = null) {\n    $event.model.busy = true;\n    this.resource.validate().then(() => {\n      userId = this.setUserId('soft');\n      this.isBuildingAdminCreatingMavRequest($event, userId);\n    }).catch(() => {\n      $event.model.busy = false;\n    });\n  }\n\n  isBuildingAdminCreatingMavRequest($event, userId) {\n    if (this.api.user.profile.businessType === 'BUILDING-ADMINISTRATOR' && userId === 'me') {\n      this.dialog.open({ \n        title: 'Attenzione!', \n        class: 'small', \n        type: 'confirm', \n        body: `<span>Stai inviando una richiesta di autorizzazione stampa in proprio MAV su una posizione bancaria dichiarata come appartenente allo studio.<span class=\"d-block mt-3\">Se invece intendi avviarla per pagamenti legati ad una posizione condominiale è necessario partire dalla posizione di fatturazione del condominio.</span><strong class=\"d-block mt-3\">Continuando attiverai una richiesta di autorizzazione stampa in proprio MAV per pagamenti verso lo Studio.</strong></span>`}).whenClosed(response => {\n        if (!response.wasCancelled) this.sendMavAuthorizationRequest($event, userId);\n        else $event.model.busy = false;\n      });\n    } else {\n      this.sendMavAuthorizationRequest($event, userId);\n    }\n  }\n\n  sendMavAuthorizationRequest($event, userId) {\n    return this.api.post(`users/${userId}/billing-profiles/${this.resource.data.billingProfile}/mav-order-self-printing-authorizations`, {}).then(() => {\n      this.controller.ok();\n    }).catch(error => {\n      console.log('ERROR mav-order-self-printing-authorizations - POST', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { MavRequest } from 'classes/mavRequest';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { Aurelia, inject } from 'aurelia-framework';\nimport environment from '../../../../environment';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmMav {\n  mdt = mdt;\n  environment = environment;\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.mavRequestModel = new MavRequest(this.privileges.isOperator || this.privileges.isBankOperator);\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-mav-autorizzazioni-table',\n      client: this.api,\n      endpoint: 'bo/users/billing-profiles/mav-order-self-printing-authorizations'\n    });\n    this.tableInterface.initialize();\n\n    this.searchInterface = new SearchInterface({\n      name: 'tab-mav-richieste-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Richiesta inviata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        trusteeDisplayName: {\n          label: 'Richiedente',\n          control: 'text',\n          query: 'trustee-text-search'\n        },\n        trusteeServiceCode: {\n          label: 'Codice servizio',\n          control: 'text',\n          query: 'service-code-in'\n        },\n        trusteeSubServiceCode: {\n          label: 'Codice sottoservizio',\n          control: 'text',\n          query: 'sub-service-code-in'\n        },\n        ownerDisplayName: {\n          label: 'Proprietario del conto',\n          control: 'text',\n          query: 'owner-text-search'\n        },\n        status: {\n          control: 'combo',\n          datatext: 'text',\n          query: 'status-in',\n          datavalue: 'status',\n          label: 'Stato richiesta',\n          datasource: this.mavRequestModel.setDatasourceMavAuthorizationStatus([], this.privileges.isBankOperator ? ['PENDING-DOCUMENT-INTERNAL-APPROVAL'] : [])\n        }\n      },\n      data: {\n        createdAtGte: null,\n        createdAtLte: null,\n        ...(this.privileges.isBankOperator && { status: 'PENDING-APPROVAL,PENDING-DOCUMENT-DOWNLOAD' })\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.search();\n    });\n  }\n  \n  // MAV request creation\n  isMAVrequestCreatable() {\n    return this.privileges.isUser && this.api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION');\n  }\n  dialogMAVRequestCreation() {\n    return this.dialog.open({\n      title: `Richiedi autorizzazione stampa MAV`,\n      class: 'small mav-create-request',\n      viewModel: PLATFORM.moduleName('views/riscossioni/autorizzazioni/dialogs/mav-create-request'),\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.mdt?.general?.dialogMavTiming(this.dialog)?.whenClosed(() => {\n          this.searchInterface.search();\n        });\n      }\n    });\n  }\n \n  // MAV requests CSV download\n  isMAVrequestsCSVDownloadable() {\n    return this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION']);\n  }\n  MAVrequestsCSVDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let query = null;\n    let limit = this.tableInterface.limit;\n    let offset = this.tableInterface.offset !== 0 ? `&offset=${this.tableInterface.offset}` : '';\n    if (this.searchInterface?.table?._query) query = `${decodeURIComponent(decodeURIComponent(this.searchInterface.table._query))}`;\n    let path = 'bo/users/billing-profiles/mav-order-self-printing-authorizations.csv'\n    let uri = `${path}${query ? '?'+query+'&limit='+limit : '?limit='+limit}${offset}`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/csv')\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        let regexp = new RegExp('filename=(.+\\.csv$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        \n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: 'text/csv' });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n      }).catch((error) => {\n        console.error('mav-order-self-printing-authorizations/mine.csv', error);\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'small', \n          type: 'alert', \n          body: '<strong>Errore nel download del file!</strong><br><p class=\"m-0 mt-3\">Riprova o contatta l\\'assistenza.</p>'\n        });\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  // MAV document collection\n  IsMAVcollectionDownloadDisabled(status) {\n    return ['PENDING-DOCUMENT-INTERNAL-APPROVAL'].includes(status);\n  }\n  MAVcollectionDownload(request) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let uri = `bo/users/${request.owner.id}/billing-profiles/${request.billingProfileUuid}/mav-order-self-printing-authorizations/${request.uuid}/document-downloads`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/zip')\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        let regexp = new RegExp('filename=(.+\\.zip$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        \n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: \"application/zip\" });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.searchInterface.search();\n      }).catch((error) => {\n        console.log('document-downloads', error);\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'small', \n          type: 'alert', \n          body: '<strong>Errore nel download del file!</strong><br><p class=\"m-0 mt-3\">Il download non è possibile se tutti i documenti necessari alla richiesta stampa in proprio MAV non sono stati approvati internamente.</p>'\n        });\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  // MAV Request approval\n  IsMAVrequestApprovalDisabled(status) {\n    return ['PENDING-DOCUMENT-DOWNLOAD','REFUSED','DELETED'].includes(status);\n  }\n  MAVrequestApproval(request) {\n    return this.dialog.open({\n      viewModelParams: { request },\n      class: 'small documenti-approval',\n      title: `Gestione richiesta di autorizzazione`,\n      viewModel: PLATFORM.moduleName('views/riscossioni/autorizzazioni/dialogs/mav-approval'),\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.searchInterface.search();\n        const output = response.output;\n        const MAVrequestApprovalStatus = this.setMAVrequestApprovalStatus(output);\n        const toastContext = ['PENDING-ACTIVATION','ACTIVE'].includes(output) ? 'success' : 'error';\n        this.toast.show(`Hai ${MAVrequestApprovalStatus} la richiesta di autorizzazione!`, toastContext);\n      }\n    });\n  }\n  setMAVrequestApprovalStatus(output) {\n    return output === 'PENDING-ACTIVATION' ? 'approvato' : output === 'ACTIVE' ? 'attivato' : 'rifiutato';\n  }\n\n  // DELETE Mav Request\n  isMAVRequestDeletionDisabled(request) {\n    if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return request.status !== 'ACTIVE';\n    else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) return !request.subServiceCode;\n  }\n  dialogDeleteMAVRequest($event, request) {\n    return this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: `<p class=\"m-0\">Stai dismettendo una richiesta di autorizzazione MAV<strong class=\"d-block\">Confermi di voler procedere?</strong></p>`}).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          if (this.api.hasRole('SOFT_DELETE_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n            this.operatorDeleteMAVRequest($event, request.uuid);\n          } \n          else if (this.api.hasRole('DELETE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) {\n            this.userDeleteMAVRequest($event, request);\n          }\n        }\n      });\n  }\n  operatorDeleteMAVRequest($event, requestUuid) {\n    $event.model.busy = true;\n    return this.api.delete(`bo/users/mav-order-self-printing-authorizations/${requestUuid}`).then(() => {\n      this.searchInterface.search();\n      this.toast.show('Richiesta dismessa con successo!', 'success');\n    }).catch((error) => {\n      console.error('bo/users/mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n  userDeleteMAVRequest($event, request) {\n    $event.model.busy = true;\n    return this.api.delete(`users/${request.owner.id}/mav-order-self-printing-authorizations/${request.uuid}`).then(() => {\n      this.searchInterface.search();\n      this.toast.show('Richiesta dismessa con successo!', 'success');\n    }).catch((error) => {\n      console.error('mav-order-self-printing-authorizations', error);\n      this.api.dialogError(error);\n    }).finally(() => {\n      $event.model.busy = false;\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Api, DialogController)\nexport class DialogDownloadReceipts {\n  constructor(api, controller){\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmTracciatiEsitoPagamento {\n  tabs = [\n    {\n      id: 'mav',\n      label: 'MAV BANCARI',\n      vm: PLATFORM.moduleName('views/riscossioni/pagamento/tabs/mav')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { mav: false }};\n\n    if (this.api.hasRole(['LIST_MAV_ORDER_SELF_PRINTING_AUTHORIZATION', 'LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION'])) {\n      this.privileges.tabs.richieste = true;\n      if (this.api.hasRole('LIST_ANY_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')) this.privileges.isOperator = true;\n    }\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Api, KaToast, KaDialog)\nexport class vmTracciatiEsito {\n  endpoint = 'mav-payment-order-receipts/mine';\n  selectedArray;\n\n  select = {\n    recordsSelected: {},\n    allRecordsSelected: false,\n    someRecordsSelected: false,\n    someRecords: (record) => {\n      this.select.recordsSelected[record.uuid] = !this.select.recordsSelected[record.uuid];\n      this.select.someRecordsSelected = Object.values(this.select.recordsSelected).some((record) => record === true);\n      this.select.allRecordsSelected = this.visibleRecordsUuids?.every?.((uuid) => this.select.recordsSelected?.[uuid] === true);\n      this.selectedArray = Object.keys(this.select.recordsSelected)?.filter?.((key) => this.select.recordsSelected?.[key] === true);\n    },\n    allRecords: () => {\n      this.select.allRecordsSelected = !this.select.allRecordsSelected;\n      this.select.someRecordsSelected = this.select.allRecordsSelected;\n      this.visibleRecordsUuids.forEach((uuid) => {\n        this.select.recordsSelected[uuid] = this.select.allRecordsSelected;\n      });\n      this.selectedArray = Object.keys(this.select.recordsSelected)?.filter?.((key) => this.select.recordsSelected?.[key] === true);\n    }\n  }\n\n  constructor(api, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.init();\n  }\n  \n  init() {\n    this.tableInterface = new TableInterface({\n      name: 'tracciati-esito-mav-table',\n      client: this.api,\n      endpoint: this.endpoint\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.visibleRecordsUuids = [];\n      response.forEach((record) => {\n        this.visibleRecordsUuids.push(record.uuid);\n        if (this.select.recordsSelected[record.uuid] !== true) {\n          this.select.recordsSelected[record.uuid] = false;\n        }\n      });\n      this.select.allRecordsSelected = this.visibleRecordsUuids?.every?.((uuid) => this.select.recordsSelected?.[uuid] === true);\n      return response;\n    };\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error); });\n\n    this.searchInterface = new SearchInterface({\n      name: 'tracciati-esito-mav-search',\n      table: this.tableInterface,\n      schema: {\n        iban: {\n          label: 'IBAN',\n          control: 'text',\n          query: 'iban-code'\n        },\n        billingProfileOwnerDisplayName: {\n          label: 'Intestatari',\n          control: 'combo',\n          datasource: { table: 'users/me/users?include=user-profiles', query: { search: 'text-search', item: 'uuid-in'} },\n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: true,\n          description: 'Seleziona uno o più intestatari',\n          query: 'owner-uuid-in'\n        },\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        createdAtStart: {\n          label: 'Periodo dal', \n          control: 'date',  \n          query: 'created-at-gte'\n        },\n        createdAtEnd:  {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        },\n        accounted: {\n          label: 'Stato contabilizzazione',\n          control: 'combo',\n          datasource: [{ value: 'YES', text: 'Contabilizzati' }, { value: 'NO', text: 'Non contabilizzati' }],\n          query: 'accounted'\n\n        },\n        downloaded: {\n          label: '',\n          control: 'check',\n          label: 'Tracciati',\n          query: 'downloaded',\n          description: 'Escludi i tracciati scaricati'\n        },\n        showDisabled: {\n          control: 'check',\n          query: \"show-disabled\",\n          label: 'Autorizzazioni',\n          description: 'Mostra le autorizzazioni dismesse'\n        }\n      },\n      data: {\n        createdAtGte: null,\n        createdAtLte: null,\n        downloaded: true\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.search();\n    }).catch(error => { \n      console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  search() {\n    const data = structuredClone(this.searchInterface.data);\n    if(data.accounted === true) data.accounted = 'NO';\n    if(data.downloaded === true) data.downloaded = 'NO';\n    if (data.showDisabled === true) data.showDisabled = \"YES\";\n    this.searchInterface.search(data);\n  }\n\n  download(file) {\n    this.toast.show('Caricamento in corso', 'loading');\n    let uri = `mav-payment-order-receipts/downloads/${file.uuid}`;\n\n    this.api.client.createRequest(uri)\n    .asGet()\n    .withHeader('Accept', 'text/plain')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.txt$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: \"text/plain\" });\n      let url = URL.createObjectURL(blob);\n\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }).catch(xhr => {\n      this.toast.show(`Impossibile scaricare il file!`, 'error');\n      console.log('ERROR - mav-payment-order-receipts download - GET', xhr);\n    });\n  }\n\n  accountFor(record) {\n    let data = {'accounted': (record.accounted === 'YES') ? 'NO' : 'YES'};\n    this.api.patch(`mav-payment-order-receipts/${record.uuid}`, data).then(() => {\n      this.toast.show(`Operazione effettuata con successo!`, 'success');\n      this.tableInterface.load();\n    });\n  }\n\n  resetSelectedCbis() {\n    this.select.recordsSelected = {};\n    this.select.someRecordsSelected = false;\n    this.select.allRecordsSelected = false;\n  }\n\n  exportSelectedCbis() {\n    let data = { receiptUuidIn: null };\n    data.receiptUuidIn = this.selectedArray;\n\n    if (this.searchInterface.data.accounted === 'YES') {\n      this.downloadSelectedCbis(false, data.receiptUuidIn);\n    } else {\n      this.dialog.open({\n        title: `Attenzione!`,\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/riscossioni/pagamento/dialogs/account-for-receipts'),\n        viewModelParams: {}\n      }).whenClosed((response) => {\n        if (!response.wasCancelled) {\n          this.downloadSelectedCbis(response.output, data.receiptUuidIn);\n        }\n      });\n    }\n  }\n\n  downloadSelectedCbis(markReceiptsAsAccountedOnSuccess, receiptUuidIn) {\n    let data = { markReceiptsAsAccountedOnSuccess, receiptUuidIn };\n    this.api.client.createRequest('mav-payment-order-receipts/merged-downloads/')\n    .asPost()\n    .withContent(data)\n    .withHeader('Accept', 'text/plain')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let regexp = new RegExp('filename=(.+\\.txt$)');\n      let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: \"text/plain\" });\n      let url = URL.createObjectURL(blob);\n\n      anchor.href = url;\n      anchor.download = matches[1];\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      \n      this.search();\n      this.toast.show(`Documento scaricato con successo!`, 'success');\n    }).catch(xhr => {\n      this.toast.show(`Impossibile scaricare il documento!`, 'error');\n      console.log('ERROR - mav-payment-order-receipts - downlaod merged file of selected cbis - POST', xhr);\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmAbbonamenti {\n  mdt = mdt;\n  isPendingInitTabs;\n  flatServiceProducts;\n  userCurrentFidelityCard;\n  showMigrationsTab = null;\n  isGetFlatServiceTypesPending;\n  tabs = [\n    {\n      id: 'gestione',\n      label: 'Gestione servizi',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-gestione')\n    },\n    {\n      id: 'attivabili',\n      label: 'Servizi attivabili',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-attivabili')\n    },\n    {\n      id: 'volture',\n      label: 'volture',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/volture')\n    },\n    {\n      id: 'attivi',\n      label: 'Servizi attivi',\n      vm: PLATFORM.moduleName('views/servizi/abbonamenti/tabs/abbonamenti-attivi')\n    }\n  ];\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = kaDialog;\n    this.tools = this.setTools();\n  }\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n  init() {\n    this.privileges = this.setPrivileges();\n    let promises = [this.showOrHideMigrationsTab(),this.getFlatServiceProducts()];\n    if (this.params.id) promises.push(this.getUser);\n    if (!this.privileges.isOperator && this.privileges.isMaster) {\n      promises.push(this.getLastServiceContractSubscribed());\n      if (this.api.hasRole('LIST_USER_FIDELITY_CARDS')) {\n        promises.push(mdt.fidelityCards.userCurrentFidelityCard(this.api));\n      }\n    }\n    return Promise.allSettled(promises).then((xhrs) => {\n      this.flatServiceProducts = xhrs?.find?.((xhr) => xhr?.status === 'fulfilled' && xhr?.value?.response?.[0]?.type === 'products')?.value?.response;\n      this.userCurrentFidelityCard = xhrs?.find?.((xhr) => xhr?.status === 'fulfilled' && xhr?.value?.response?.type === 'fidelity-card-activations')?.value?.response;\n      this.setPrivilegesTabs();\n      this.isPendingInitTabs = true;\n    });\n  }\n  async showOrHideMigrationsTab() {\n    return Promise.all([\n      this.api.get(`users/${this.api.user.id}/flat-services-activations?acknowledged=NO&limit=0`),\n      this.api.get(`users/${this.api.user.id}/subusers/flat-services-activations?acknowledged=NO&limit=0`)\n    ]).then((responses) => {\n      const [mineResponse, subusersResponse] = responses;\n      const mineHasElements = mineResponse.response.length > 0;\n      const subusersHasElements = subusersResponse.response.length > 0;\n      this.showMigrationsTab = (mineHasElements || subusersHasElements);\n    }).catch((error) => {\n      console.error('Failure to check presence of at least one element in either response', error);\n    });\n  }\n\n  // Set functions\n  setPrivileges() {\n    const privileges = {\n      isOperator: this.api.hasRole('LIST_ANY_USER'),\n      isMaster: this.api.user.group === 'MASTER_USER',\n      isBasicUser: this.api.user.group === 'BASIC_USER'\n    };\n    return privileges;\n  }\n  setPrivilegesTabs() {\n    this.privileges.tabs = {};\n    this.privileges.tabs = { attivi: false, attivabili: false, gestione: false, volture: false };\n    if (this.api.hasRole(['LIST_USER_FLAT_SERVICE_SUBSCRIPTIONS', 'LIST_ANY_USER_FLAT_SERVICE_SUBSCRIPTION'])) {\n      this.privileges.tabs.attivi = true;\n      if (this.privileges.isMaster && this.showMigrationsTab) {\n        this.privileges.tabs.volture = true;\n      }\n    }\n    if (!this.privileges.isOperator && this.api.hasRole(['CREATE_USER_FLAT_SERVICE_SUBSCRIPTIONS'])) {\n      this.privileges.tabs.attivabili = true;\n    }\n    if (this.api.hasRole(['LIST_ANY_FLAT_SERVICE'])) {\n      this.privileges.tabs.gestione = true;\n    }\n  }\n  setTools() {\n    return {\n      getFlatServiceTypes: (productCode) => {\n        let endpoint = 'flat-service-types';\n        this.isGetFlatServiceTypesPending = true;\n        if (productCode) endpoint += `?product-code-in=${productCode}`;\n        return this.api.get(endpoint).catch(() => {\n          console.error('getFlatServiceTypes', error);\n        }).finally(() => {\n          this.isGetFlatServiceTypesPending = false;\n        });\n      },\n      enabledUntil: (date) => {\n        return !mdt?.helpers?.isDateGreaterThan?.(new Date(), new Date(date));\n      },\n      copyText: (text, context = 'Testo') => {\n        if (!text) return;\n        navigator.clipboard.writeText(text);\n        this.toast.show(`${context} copiato con successo!`, 'success');\n      },\n      dialogCashbackSubscriptionRequired: ($event, action = 'activation') => {\n        return this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-cashback-contract-subscription-required'),\n          viewModelParams: { action }\n        }, true).whenClosed(() => {\n          $event.model.busy = false;\n        });\n      },\n      dialogFidelityCardRequired: ($event) => {\n        return this.dialog.open({\n          title: 'Attenzione!',\n          class: 'abbonamenti-fidelity-card-required',\n          viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required'),\n        }, true).whenClosed(() => {\n          $event.model.busy = false;\n        });\n      }\n    }\n  }\n\n  // Get functions\n  getFlatServiceProducts() {\n    return this.api.get('products').catch((error) => {\n      console.error('getFlatServiceProducts', error);\n    });\n  }\n  getUser() {\n    return this.api.get(`users/${this.params.id}?include=user-profiles`).then((xhr) => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      resolve(this.requestedUserData = response);\n    }).catch((error) => {\n      console.error('GET users', error);\n    });\n  }\n  getLastServiceContractSubscribed() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-flat-service').then((xhr) => {\n      const response = xhr.response;\n      this.privileges.lastAcceptedServiceContract = {\n        ...response,\n        isCashbackContractNeverBeenSigned: false\n      };\n    }).catch((error) => {\n      console.error('getLastServiceContractSubscribed', error);\n      if (error.statusCode === 404) {\n        return this.getLastMultinvioContractSubscribed();\n      } else {\n        this.privileges.lastAcceptedServiceContract = null;\n      }\n    });\n  }\n  getLastMultinvioContractSubscribed() {\n    return this.api.get('users/me/cashback-contracts/last-accepted-multinvio-volumes').then((xhr) => {\n      const response = xhr.response;\n      if (response?.rescindedAt) {\n        this.privileges.lastAcceptedServiceContract = {\n          ...response,\n          isCashbackContractNeverBeenSigned: false\n        };\n      } else {\n        this.privileges.lastAcceptedServiceContract = { isCashbackContractNeverBeenSigned: true };\n      }    \n    }).catch((error) => {\n      console.error('getLastMultinvioContractSubscribed', error);\n      this.privileges.lastAcceptedServiceContract = (error.statusCode === 404) ? { isCashbackContractNeverBeenSigned: true } : null;\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface, TableSelectionInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Api, MdDatasources, KaToast, KaDialog)\nexport class ServiceDialogAbbonamentiAttivazioneSottoutenti {\n  service;\n  mdt = mdt;\n  activations;\n  isServicePayableBy;\n  activationSummary = [];\n  pendingBillingProfiles;\n  pendingActivation = false;\n  failedActivationsCount = 0;\n  successfulActivationsCount = 0;\n  userBillingProfileDatasource = [];\n  recordBillingProfilePending = false;\n  resourcePayment = {\n    schema: {\n      payment: {\n        label: 'Metodo di pagamento',\n        control: 'combo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'code',\n        datatext: 'label'\n      }\n    },\n    data: {}\n  }\n  resourceBillingProfile = {\n    controls: {},\n    schema: {\n      billingProfile: {\n        label: 'Profilo di fatturazione',\n        control: 'combo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'value',\n        datatext: 'text'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, MdDatasources, toast, dialog) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n  }\n  activate(params) {\n    this.params = params;\n    this.service = params.service;\n    this.isServicePayableBy = params.payable;\n  }\n  attached() {\n    this.initServiceDialog();\n  }\n\n  // Init\n  initServiceDialog() {\n    this.setResourcePaymentDatasource();\n    this.setResourcePaymentData(this.resourcePayment.schema.payment.datasource);\n    // Payment methods\n    this.resourcePayment.schema.payment.datasource = this.mdDatasources.paymentMethods.filter(paymentMethod => this.service.paymentMethods.includes(paymentMethod.code));\n    if (this.resourcePayment.schema.payment.datasource.length) this.resourcePayment.data.payment = this.resourcePayment.schema.payment.datasource[0].code;\n    // I make this call at the beginning because if the Master does not have a billing profile he must make one\n    return this.setUserBillingProfile().then(() => {\n      this.initTableInterface();\n      this.initTableSelectionInterface();\n      this.initSearchInterface().then(() => {\n        return this.searchInterface.reset();\n      })\n    })\n  }\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      limit: 100, \n      client: this.api,\n      endpoint: 'users/me/users',\n      name: 'activable-flat-subusers-table',\n      query: `without-subscriptions-with-type-code=${this.service.type}&include=user-profiles&status=ACTIVE`\n    });\n\n    this.tableInterface.parseResponse = (records) => {\n      if (records.length) {\n        this.pendingBillingProfiles = true;\n        records.forEach((record, index) => {\n          record._selection = {};\n          record._resource = structuredClone(this.resourceBillingProfile);\n\n          // Checks if it is the last record to end the loading state\n          const isLastRecord = records.length === (index + 1);\n\n          // if the service is payable by MASTER. User billing profiles only.\n          if (this.isServicePayableBy === 'MASTER') {\n            record._selection.isDisabled = false;\n            record._resource.schema.billingProfile.datasource = this.userBillingProfileDatasource;\n            record._resource.data.billingProfile = (this.userBillingProfileDatasource.find(x => x.default === true) || { value: null }).value;\n            if (isLastRecord) this.pendingBillingProfiles = false;\n          } \n          \n          // if the service is payable by SUBUSER. Subuser billing profiles only.\n          else {\n            let promises = [];\n            promises.push(this.setSubusersBillingProfiles(record));\n\n            // Checks if it is the last record to end the loading state\n            const isLastRecord = records.length === (index + 1);\n            if (isLastRecord) this.getAllSubuserBillingProfiles(promises);\n          }\n        });\n      }\n      return records;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'activable-flat-subusers-table-search',\n      table: this.tableInterface,\n      schema: {\n        textSearch: { \n          control: 'text', \n          label: `Denominazione, ID, CF o IVA del ${this.mdt.parsers.contextualize(this.api.user, 'utente')}`,\n          query: 'text-search'\n        }\n      },\n      data: {}\n    });\n\n    return this.searchInterface.initialize();\n  }\n  initTableSelectionInterface() {\n    return this.tableSelectionInterface = new TableSelectionInterface({ table: this.tableInterface });\n  }\n\n  // Get\n  getBillingProfiles(userId = 'me') {\n    return this.api.get(`users/${userId}/billing-profiles`);\n  }\n  getAllSubuserBillingProfiles(promises) {\n    Promise.any(promises).then(() => {\n      this.pendingBillingProfiles = false;\n    }).catch((xhrs) => {\n      console.log('getAllSubuserBillingProfiles', xhrs);\n    });\n  }\n  \n  // Set\n  setResourcePaymentDatasource() {\n    const usablePaymentMethods = this.mdDatasources.paymentMethods.filter((paymentMethod) => this.service.paymentMethods.includes(paymentMethod.code));\n    this.resourcePayment.schema.payment.datasource = usablePaymentMethods;\n  }\n  setResourcePaymentData(usablePaymentMethods) {\n    if (usablePaymentMethods.length) {\n      this.resourcePayment.data.payment = usablePaymentMethods[0].code;\n    }\n  }\n  dialogMissingBillingProfile() {\n    this.dialog.open({ \n      title: 'Attenzione!', \n      class: ',medium', \n      type: 'alert', \n      body: 'È necessario impostare un profilo di fatturazione' \n    }).whenClosed(() => {\n      // if it does not have a billing profile I send it to the billing view\n      location.href = '/gestione/profilo/me/fatturazione';\n    });\n  }\n  setUserBillingProfile() {\n    return new Promise((resolve, reject) => {\n      if (this.isServicePayableBy === 'MASTER') {\n        this.getBillingProfiles().then((xhr) => {\n          const response = xhr.response;\n          if (!response.length) {\n            this.dialogMissingBillingProfile();\n          } else {\n            response.forEach((billingProfile) => {\n              this.userBillingProfileDatasource.push(this.setBillingProfileDatasourceItem(billingProfile));\n            });\n          }\n          return resolve();\n        }).catch((error) => { \n          console.error(error);\n          this.api.dialogError(error);\n          this.controller.cancel();\n          return reject();\n        });\n      } else resolve();\n    });\n  }\n  setBillingProfileDatasourceItem(billingProfile) {\n    return { \n      value: billingProfile.uuid,\n      default: !!billingProfile.default,\n      text: `${billingProfile.name || billingProfile.label || billingProfile.lasttName || billingProfile.firstName} - ${billingProfile.taxCode || billingProfile.fiscalCode || billingProfile.vatCode}${billingProfile.default ? ' (predefinito)' : ''}`\n    }\n  }\n  setEachSubuserBillingProfile(response) {\n    let datasource = [];\n    response.forEach((billingProfile) => {\n      datasource.push(this.setBillingProfileDatasourceItem(billingProfile));\n    });\n    return datasource;\n  }\n  setSubusersBillingProfiles(record) {  \n    return this.getBillingProfiles(record.id).then((xhr) => {\n      const response = xhr.response;\n      if (response.length) {\n        record._selection.isDisabled = false;\n        record._resource.schema.billingProfile.datasource = this.setEachSubuserBillingProfile(response);\n        const defaultBillingProfileUuid = response.find((billingProfile) => billingProfile.default)?.uuid;\n        record._resource.data.billingProfile = defaultBillingProfileUuid || null;\n      } else {\n        record._selection.isDisabled = true;\n        record._resource.schema.billingProfile.datasource = [{ value: 'NONE', text: 'Nessun profilo di fatturazione disponibile' }];\n        record._resource.data.billingProfile = 'NONE';\n      }\n    }).catch((error) => {\n      console.log(`${record.id}/billing-profiles`, error);\n      record._selection.isDisabled = true;\n    });\n  }\n  setFailedActivationDetail(xhr, record) {\n    let error = JSON.stringify(xhr);\n    // Change the names of the fields, on which there is an error on the server side, before showing them to the user (WRIKE:830139458)\n    error = error.replace(/paymentMethod/g, 'Problemi con il metodo di pagamento scelto');\n    try { \n      return record._failedActivationXhr = JSON.parse(error); \n    } catch {\n      return 'Dettaglio errore non disponibile';\n    };\n  }\n  setFlatServicesActivationsPayload(record) {\n    const payload = {\n      flatServiceUuid: this.service.id,\n      paymentMethod: this.resourcePayment.data.payment,\n      payeeBillingProfileUuid: record._resource.data.billingProfile,\n      payeeUserUuid: this.isServicePayableBy === 'MASTER' ? this.api.user.uuid : record.uuid\n    }\n    if (this.service.autoRenewable === true && (payload.paymentMethod === 'SDD' || payload.paymentMethod === 'ON-SIGHT')) {\n      payload.autoRenew = 'ENABLED';\n    }\n    return payload;\n  }\n  setActivationSummary() {\n    this.activations.forEach((newActivation) => {\n      if (!this.activationSummary.length || this.activationSummary.every((item) => item.uuid !== newActivation.uuid)) {\n        this.activationSummary.push(newActivation);\n      }\n    });\n  }\n  setFailedActivationsCount() {\n    this.failedActivationsCount = this.activationSummary.filter((record) => record._selection.feedback.status === 'error')?.length;\n  };\n  setSuccessfulActivationsCount() {\n    this.successfulActivationsCount = this.activationSummary.filter((record) => record._selection.feedback.status === 'success')?.length;\n  };\n\n  // Utility\n  activateSelectedRecords() {\n    if (!this.pendingActivation) {\n      let promises = [];\n      this.activations = [];\n      this.pendingActivation = true;\n\n      this.tableSelectionInterface.selectedRecords.forEach((record) => {\n        record._selection.feedback = {};\n        record._selection.isDisabled = true;\n        record._selection.isSelected = false;\n        const payload = this.setFlatServicesActivationsPayload(record)\n\n        promises.push(this.api.post(`users/${record.id}/flat-services-activations`, payload).then(() => {\n          record._selection.feedback.status = 'success';\n        }).catch((error) => {\n          console.log(`${record.id}/flat-services-activations`, error);\n          record._selection.feedback.status = 'error';\n          this.setFailedActivationDetail(error, record);\n        }).finally(() => {\n          this.activations.push(record);\n        }));\n      });\n\n      return Promise.all(promises).finally(() => { \n        this.pendingActivation = false;\n        this.setActivationSummary();\n        this.setFailedActivationsCount();\n        this.setSuccessfulActivationsCount();\n      });\n    }\n  }\n  showFailedActivationDetail(record) { \n    if (record._failedActivationXhr) return this.api.dialogError(record._failedActivationXhr);\n  }\n  exportActivationsReport() {\n    let csv = [`id servizio;id ${this.mdt.parsers.contextualize(this.api.user, 'utente')};denominazione;cf/iva;tipo pagamento;id account fatturazione;id profilo fatturazione;stato attivazione;messaggio errore`];\n    this.activationSummary.forEach((record) => {\n      csv.push([\n        `\"${this.service.id}\"`,\n        `\"${record.id}\"`,\n        `\"${record.profile?.[0].displayName}\"`,\n        `\"${record.profile?.[0].fiscalCode || record.profile[0].vatCode}\"`,\n        `\"${this.resourcePayment.data.payment}\"`,\n        `\"${this.isServicePayableBy === 'MASTER' ? this.api.user.uuid : record.uuid}\"`,\n        `\"${record._resource.data.billingProfile}\"`,\n        `\"${record._selection.feedback.status === 'error' ? 'Non attivato' : 'Attivato'}\"`,\n        `\"${record._failedActivationXhr ? this.parseFailedActivationDetailMessage(record._failedActivationXhr) : ''}\"`\n      ].join(';').trim());\n    });\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = 'report-attivazione-abbonamenti.csv';\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n  }\n  parseFailedActivationDetailMessage(xhr) {\n    let errorDetail;\n    try { \n      return errorDetail = JSON.parse(xhr?.response)?.detail;\n    } catch { \n      return errorDetail = 'Dettaglio errore non disponibile';\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {MdDatasources} from 'services/md-datasources';\n\n@inject(Api, MdDatasources)\nexport class ServiceDialogAbbonamentiAttivazione {\n  schema = {\n    payment: {\n      label: 'Metodo di pagamento',\n      control: 'combo',\n      datasource: [],\n      datapreload: true,\n      datamultiple: false,\n      datavalue: 'code',\n      datatext: 'label'\n    },\n    billing: {\n      label: 'Profilo di fatturazione',\n      control: 'combo',\n      datasource: [],\n      datapreload: true,\n      datamultiple: false,\n      datavalue: 'value',\n      datatext: 'text'\n    }\n  };\n  data = {};\n  error = null;\n  \n  constructor(api, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.payeeUserId = params.payableByUserId;\n\n    // Payment methods\n    this.schema.payment.datasource = this.mdDatasources.paymentMethods.filter(x => params.service.paymentMethods.includes(x.code));\n    if (this.schema.payment.datasource.length) this.data.payment = this.schema.payment.datasource[0].code;\n\n    // Get billing profiles\n    this.api.get(`users/${this.payeeUserId}/billing-profiles`).then((xhr) => {\n      const response = xhr.response;\n      if (!response.length) throw new Error('Zero length');\n      let billingDatasource = [];\n      response.forEach((value) => {\n        billingDatasource.push({ value: value.uuid, text: `${value.name || value.label || value.lasttName || value.firstName} - ${value.taxCode || value.fiscalCode || value.vatCode}${value.default ? ' (predefinito)' : ''}`});\n        if (value.default) this.data.billing = value.uuid;\n      });\n      this.schema.billing.datasource = billingDatasource;\n    }).catch(() => {\n      this.error = { message: 'Nessun profilo di fatturazione trovato da associare al pagamento del servizio' };\n    });\n    \n  }\n}\n","import { Api } from 'services/api';\nimport { inject } from 'aurelia-framework';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, MdDatasources)\nexport class ServiceDialogAbbonamentiAutorinnovo {\n  updateDatasourcePending;\n  resource = {\n    controls: {},\n    schema: {\n      autoRenewPaymentMethod: {\n        control: 'combo',\n        label: 'Metodo di pagamento dell\\'autorinnovo',\n        datasource: [],\n        datapreload: true,\n        datamultiple: false,\n        datavalue: 'code',\n        datatext: 'label'\n      }\n    },\n    data: {}\n  }\n  \n  constructor(api, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    if (this.params.autoRenew === 'DISABLED') this.updateDatasource();\n  }\n\n  updateDatasource() {\n    this.updateDatasourcePending = true;\n    this.api.get(`users/${this.params.ownerId || 'me'}/flat-services-activations/${this.params.id}`).then((xhr) => {\n      let response = xhr.response;\n      if (response.allowedAutoRenewPaymentMethods?.length) {\n        const filteredPaymentMethods = this.mdDatasources.paymentMethods.filter(method => response.allowedAutoRenewPaymentMethods.includes(method.code));\n        if (filteredPaymentMethods.length) {\n          this.resource.schema.autoRenewPaymentMethod = Object.assign({}, this.resource.schema.autoRenewPaymentMethod, { datasource: filteredPaymentMethods });\n          this.resource.data.autoRenewPaymentMethod = this.resource.schema.autoRenewPaymentMethod.datasource[0]?.code;\n        }\n      }\n    }).catch((error) => {\n      console.log('GET flat-services-activations', error);\n    }).finally(() => {\n      this.updateDatasourcePending = false;\n    });\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Router, DialogController)\nexport class ServiceDialogAbbonamentiCashbackContractSubscriptionRequired {\n  constructor(router, dialogController) {\n    this.router = router;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  goToCashbackContracts() {\n    this.router.navigateToRoute('cashback/contracts');\n    this.controller.cancel();\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, DialogController, MdDatasources)\nexport class ServiceDialogAbbonamentiDetail {\n  ownerId;\n  resource;\n  mdt = mdt;\n  flatService;\n  pendingInit;  \n  paymentMethods;\n  flatServiceUuid;\n  statuses = {\n    'ACTIVE' : 'Attivo',\n    'PENDING' : 'In attesa di pagamento',\n    'SUSPENDED' : 'Sospeso',\n    'EXPIRED' : 'Scaduto',\n    'TERMINATED' : 'Terminato'\n  }\n\n  constructor(api, dialogController, MdDatasources) {\n    this.api = api;\n    this.mdDatasources = MdDatasources;\n    this.controller = dialogController;\n    this.paymentMethods = this.mdDatasources.paymentMethods;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.ownerId = this.params.ownerId;\n    this.flatServiceUuid = this.params.flatServiceUuid;\n\n    this.init();\n  }\n\n  setStatusDatasource() {\n    const datasource = []\n    for (const [key, value] of Object.entries(this.statuses)) {\n      datasource.push({ value: key, text: value });\n    }\n    return datasource;\n  }\n\n  setPaymentMethodDatasource() {\n    const datasource = [];\n    this.paymentMethods.forEach((method) => {\n      datasource.push({ text: method.label, value: method.code });\n    });\n    return datasource;\n  }\n\n  async init() {\n    this.resource = {\n      controls: {},\n      schema: {\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          readonly: true\n        },\n        flatServiceProductCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' },\n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          readonly: true\n        },\n        flatServiceType: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          readonly: true\n        },\n        flatServiceTitle: {\n          control: 'text',\n          label: 'Titolo',\n          readonly: true\n        },\n        flatServiceDescription: {\n          control: 'text',\n          label: 'Descrizione',\n          readonly: true\n        },\n        orderId: {\n          control: 'number',\n          label: 'Id ordine',\n          readonly: true\n        },\n        ownerDisplayName: {\n          control: 'text',\n          label: 'Nome proprietario',\n          readonly: true\n        },\n        ownerId: {\n          control: 'number',\n          label: 'Id proprietario',\n          readonly: true\n        },\n        ownerFiscalCode: {\n          control: 'text',\n          label: 'Codice fiscale proprietario',\n          readonly: true\n        },\n        ownerParentDisplayName: {\n          control: 'text',\n          label: `${mdt.parsers.contextualize(this.api.user, 'Account')}`,\n          readonly: true\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato attivazione',\n          datasource: this.setStatusDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          readonly: true\n        },\n        statusReason: {\n          control: 'text',\n          label: 'Motivo',\n          readonly: true\n        },\n        paymentMethod: {\n          control: 'combo',\n          label: 'Metodi di pagamento',\n          datasource: this.setPaymentMethodDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          readonly: true\n        },\n        activatedAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          readonly: true\n        },\n        expireAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          readonly: true\n        },\n        autoRenew: {\n          control: 'combo', \n          label: 'Autorinnovo', \n          datasource: [\n            { value: 'ENABLED', text: 'Attivo' }, \n            { value: 'DISABLED', text: 'Disabilitato'}\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          readonly: true\n        },\n        autoRenewable: {\n          control: 'check',  \n          label: 'Rinnovo del servizio', \n          description: 'Con possibilità di autorinnovo',\n          readonly: true,\n        },\n        flatServicePrice: {\n          control: 'number',\n          label: 'Prezzo in €',\n          readonly: true\n        },\n        flatServiceCashbackAmount: {\n          control: 'number',\n          label: 'Cashback in €',\n          readonly: true,\n        },\n        flatServiceMulticoinPoint: {\n          control: 'number',\n          label: 'Punti Multicoin',\n          readonly: true,\n        },\n        payeeDisplayName: {\n          control: 'text',\n          label: 'Fatturazione a',\n          readonly: true\n        }\n      },\n      data: {}\n    }\n\n    this.pendingInit = true;\n    await this.getFlatService().finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  async getFlatService() {\n    const url = `users/${this.ownerId}/flat-services-activations/${this.flatServiceUuid}`;\n    return this.api.get(url).then((xhr) => {\n      let response = xhr.response;\n      this.setResourceData(response);\n    }).catch((error) => {\n      console.error('GET flat-services-activations', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  setResourceData(response) {\n    Object.keys(response).forEach((key) => {\n      const dataProperty = {};\n      dataProperty[key] = response[key];\n      if (dataProperty[key] === 'NO') dataProperty[key] = false;\n      if (dataProperty[key] === 'YES') dataProperty[key] = true;\n      this.resource.data = {\n        ...this.resource.data,\n        ...((response[key] || response[key] === 0) && dataProperty)\n      }\n    });\n  }\n}\n","import moment from 'moment';\nimport { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { inject } from 'aurelia-framework';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport { MdDatasources } from 'services/md-datasources';\n\n@inject(Api, KaDialog, KaToast, DialogController, MdDatasources)\nexport class ServiceDialogAbbonamentiEditor {\n  service;\n  pendingInit;\n  paymentMethods;\n  payers = [\n    { value: 'MASTER', text: 'Utenti' }, \n    { value: 'SUBUSER', text: 'Sottoutenti' }, \n    { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }\n  ];\n\n  constructor(api, kaDialog, kaToast, dialogController, MdDatasources) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n    this.paymentMethods = this.getPaymentMethods(MdDatasources);\n  }\n\n  getPaymentMethods(MdDatasources) {\n    MdDatasources?.paymentMethods.forEach((method) => { method.readonly = method.availableByDefault; });\n    return MdDatasources?.paymentMethods;\n  }\n\n  // Control type (label: Piano) related to productCode (label: Prodotto)\n  changeProductCode(value) {\n    if (!this.params?.uuid) {\n      if (this.resource.controls?.type) {\n        this.resource.data.type = null;\n        this.resource.controls.type.comboItems = null;\n        this.resource.controls.type.comboItemsSource = null;\n      }\n      this.resource.controls.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n    }\n  }\n\n  \n  changeActivableByPrivilegedUserOnly() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid) {\n      const payableByDatasource = [ ...this.payers ];\n      if (data.activableByPrivilegedUserOnly === 'SPONSOR') {\n        payableByDatasource.push({ value: 'SPONSOR', text: 'Offerta dallo Sponsor' });\n        this.resource.schema.payableBy = Object.assign({}, this.resource.schema.payableBy, { datasource: payableByDatasource });\n        if (data.paymentMethods.every((method) => method !== 'ON-SIGHT')) data.paymentMethods.push('ON-SIGHT');\n        data.payableBy = 'SPONSOR';\n      } else {\n        if (data.payableBy === 'SPONSOR') data.payableBy = null;\n        if (data.paymentMethods.some((method) => method === 'ON-SIGHT')) {\n          const item = data.paymentMethods.find((method) => method === 'ON-SIGHT');\n          const index = data.paymentMethods.indexOf(item);\n          data.paymentMethods.splice(index, 1);\n        }\n      }\n    };\n    return this.resource.data = data;\n  }\n\n  changeSubscriptionExpireAt() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid && data.subscriptionExpireAt && !data.endAt) {\n      data.endAt = data.subscriptionExpireAt;\n    }\n    return this.resource.data = data;\n  }\n\n  changePaymentMethods() {\n    const data = { ...this.resource.data };\n    if (!this.params?.uuid) {\n      const isFreeCharge = data.paymentMethods.includes('FREE-CHARGE');\n      if (isFreeCharge) {\n        data.vatAmount = data.price = 0;\n        data.activableByPrivilegedUserOnly = 'YES';\n        data.paymentMethods = ['MIGRATION', 'FREE-CHARGE'];\n      }\n      this.resource.controls.price.control.readonly = isFreeCharge;\n      this.resource.controls.price.control.schema.readonly = isFreeCharge\n      this.resource.controls.vatAmount.control.readonly = isFreeCharge;\n      this.resource.controls.activableByPrivilegedUserOnly.control.readonly = isFreeCharge;\n    }\n    return this.resource.data = data;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.init();\n  }\n\n  getDefaultPaymentMethods() {\n    return this.paymentMethods.filter(method => method?.availableByDefault).map(method => method?.code);\n  }\n\n  initResource() {\n    this.resource = {\n      controls: {},\n      schema: {\n        productCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' },\n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        type: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          client: this.api,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        activableByPrivilegedUserOnly: {\n          control: 'combo',  \n          label: 'Attivabile da', \n          datasource: [\n            { value: 'NO', text: 'Proprietario account' }, \n            { value: 'YES', text: 'Solo utente privilegiato' }, \n            { value: \"SPONSOR\", text: 'Sponsor' }\n          ],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        sponsorUuid: {\n          control: 'combo', \n          label: 'Sponsor', \n          datasource: { table: 'bo/users?include=user-profiles&user-group-in=SPONSOR' }, \n          datavalue: 'uuid', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        activableOn: {\n          control: 'combo',  \n          label: 'Sottoscrivibile da', \n          datasource: this.payers,\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        allowableBusinessTypes: {\n          control: 'combo',\n          label: 'Vincola a specifiche attività',\n          datasource: [],\n          datatext: 'label',\n          datavalue: 'code', \n          datamultiple: true,\n          datapreload: true,\n          required: false,\n          readonly: this.params ? true : false\n        },\n        subscriptionExpiryType: {\n          control: 'combo',\n          label: 'Tipologia scadenza sottoscrizione',\n          datasource: [\n            { value: 'DAYS', text: 'Durata in giorni' },\n            { value: 'DATE', text: 'Scadenza fissa' }\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        duration: {\n          control: 'number',\n          label: 'Durata gg. sottoscrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        subscriptionExpireAt: {\n          control: 'datetime',\n          label: 'Data scadenza sottoscrizione',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        autoRenewable: {\n          control: 'check',  \n          label: 'Rinnovo del servizio', \n          description: 'Con possibilità di autorinnovo',\n          readonly: this.params ? true : false,\n        },\n        price: {\n          control: 'number',\n          label: 'Prezzo in €',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        vatAmount: {\n          control: 'number',\n          label: 'IVA in €',\n          required: this.params ? false : true,\n          readonly: this.params ? true : false,\n          min: 0\n        },\n        payableBy: {\n          control: 'combo',  \n          label: 'Addebitabile a',\n          datasource: [\n            { value: 'MASTER', text: 'Utenti' },\n            { value: 'SUBUSER', text: 'Sottoutenti' }, \n            { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }\n          ],\n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        paymentMethods: {\n          control: 'combo',  \n          label: 'Metodi di pagamento',\n          datasource: this.paymentMethods,\n          datavalue: 'code', \n          datatext: 'label', \n          datapreload: true,\n          datamultiple: true,\n          required: this.params ? false : true,\n          readonly: this.params ? true : false\n        },\n        startAt: {\n          control: 'datetime',\n          label: 'Inizio periodo di validità',\n          required: this.params ? false : true\n        },\n        endAt: {\n          control: 'datetime',\n          label: 'Termine periodo di validità',\n          placeholder: 'Illimitato',\n          required: false\n        },\n        promotionNeeded: {\n          control: 'combo', \n          label: 'Promozione', \n          datasource: [\n            { value: 'YES', text: 'Necessaria per l\\'attivazione' }, \n            { value: 'NO', text: 'Non necessaria per l\\'attivazione'}\n          ], \n          datavalue: 'value', \n          datatext: 'text', \n          datapreload: true,\n          datamultiple: false,\n          required: this.params ? false : true\n        },\n        createPortabilityPromotionOnActivation: {\n          control: 'check',  \n          label: 'Promozione di portabilità', \n          description: 'Crea promozione di portabilità',\n        },\n        associatedPromoCodes: {\n          control: 'combo', \n          label: 'Promozioni associate', \n          datasource: { table: 'bo/promotions', query: { search: 'code-like', item: 'code-in' } }, \n          datavalue: 'code', \n          datatext: 'code', \n          datapreload: false,\n          datamultiple: true,\n          required: this.params ? false : true\n        },\n        cashbackAmount: {\n          control: 'number',\n          label: 'Cashback in €',\n          readonly: this.params ? true : false\n        },\n        multicoinPoint: {\n          control: 'number',\n          label: 'Punti Multicoin',\n          readonly: this.params ? true : false,\n        }\n      },\n      data: {\n        price: 20,\n        duration: 0,\n        vatAmount: 0,\n        vault: 'EUR',\n        multicoinPoint: 0,\n        autoRenewable: false,\n        subscriptionExpiryType: 'DATE',\n        startAt: this.params ? null : moment().utc().format(),\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          if (!control) return;\n          promises.push(new Promise((resolve, reject) => {\n            console.log(control);\n            if (control.validate)\n              control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n            else if (control.input?.validate)\n              control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n          }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      }\n    }\n  }\n\n  async init() {\n    this.pendingInit = true;\n    this.initResource();\n    this.resource.data.paymentMethods = this.getDefaultPaymentMethods();\n    let promises = [this.setAllowableBusinessTypesDatasource()];\n    if (this.params?.uuid) promises.push(this.getFlatService());\n    await Promise.all(promises).then((xhrs) => {\n      const flatService = xhrs[1] ? xhrs[1][0] : null;\n      if (flatService) {\n        this.flatService = flatService;\n        this.flatServiceDataParse();\n      }\n    }).finally(() => {\n      this.pendingInit = false;\n    });\n  }\n\n  setAllowableBusinessTypesDatasource() {\n    return this.api.get(`user-business-types?public=YES`).then((xhr) => {\n      let response = xhr.response;\n      return this.resource.schema.allowableBusinessTypes = Object.assign({}, this.resource.schema.allowableBusinessTypes, { datasource: response });\n    }).catch((error) => {\n      console.error('SetAllowableBusinessTypesDatasource failed', error);\n      return this.api.dialogError(error);\n    });\n  }\n\n  getFlatService() {\n    return this.api.get(`bo/flat-services?uuid-in=${this.params.uuid}`).then((xhr) => {\n      let response = xhr.response;\n      return response;\n    }).catch((error) => {\n      console.error('GetFlatService failed', error); \n      return this.api.dialogError(error);\n    });\n  }\n\n  flatServiceDataParse() {\n    const flatService = { ...this.flatService };\n    let data = {\n      code: flatService.code,\n      type: flatService.type,\n      productCode: flatService.productCode,\n      title: flatService.title,\n      subscriptionExpiryType: flatService.subscriptionExpireAt ? 'DATE' : 'DAYS',\n      subscriptionExpireAt: flatService?.subscriptionExpireAt || null,\n      activableByPrivilegedUserOnly: flatService?.sponsorUuid ? 'SPONSOR' : flatService.activableByPrivilegedUserOnly,\n      activableOn: flatService?.activableOnUser && flatService?.activableOnSubuser ? 'PARENT-OR-SUBUSER' : !flatService?.activableOnSubuser ? 'MASTER' : 'SUBUSER',\n      duration: flatService.duration,\n      autoRenewable: flatService.autoRenewable,\n      price: flatService.price,\n      vatAmount: flatService.vatAmount,\n      payableBy: flatService?.payableBySponsor ? 'SPONSOR' : flatService?.payableByUser && flatService?.payableBySubuser ? 'PARENT-OR-SUBUSER' : !flatService?.payableBySubuser ? 'MASTER' : 'SUBUSER',\n      paymentMethods: flatService.paymentMethods,\n      startAt: flatService.startAt,\n      endAt: flatService.endAt || null,\n      promotionNeeded: flatService.promotionNeeded,\n      createPortabilityPromotionOnActivation: flatService.createPortabilityPromotionOnActivation === 'YES' ? true : false\n    };\n    if (flatService.description) data.description = flatService.description;\n    if (flatService.sponsorUuid) data.sponsorUuid = flatService.sponsorUuid;\n    if (flatService.cashbackAmount) data.cashbackAmount = flatService.cashbackAmount;\n    if (flatService.multicoinPoint) data.multicoinPoint = flatService.multicoinPoint;\n    if (flatService.allowableBusinessTypes) data.allowableBusinessTypes = flatService.allowableBusinessTypes;\n    if (flatService.associatedPromoCodes) data.associatedPromoCodes = flatService.associatedPromoCodes.length ? Array.from(flatService.associatedPromoCodes) : [];\n    return this.resource.data = data;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      let endpoint = 'bo/flat-services';\n      let data = structuredClone(this.resource.data);\n\n      if (this.params) {\n        endpoint = `bo/flat-services/${this.params.uuid}`;\n        data = {\n          startAt: this.resource.data.startAt,\n          endAt: this.resource.data.endAt || null,\n          promotionNeeded: this.resource.data.promotionNeeded,\n          createPortabilityPromotionOnActivation: this.resource.data.createPortabilityPromotionOnActivation\n        }\n        if (this.flatService.startAt === data.startAt) delete data.startAt;\n        if (this.flatService.endAt === data.endAt) delete data.endAt;\n\n        this.api.patch(endpoint, data).then(() => {\n          if (!this.resource.data.associatedPromoCodes) this.resource.data.associatedPromoCodes = [];\n          let addedPromoCode = this.flatService.associatedPromoCodes ? this.resource.data.associatedPromoCodes.filter(x => !this.flatService.associatedPromoCodes.includes(x)) : this.resource.data.associatedPromoCodes;\n          let removedPromoCode = this.flatService.associatedPromoCodes ? this.flatService.associatedPromoCodes.filter(x => !this.resource.data.associatedPromoCodes.includes(x)) : [];\n\n          this.api.get(`bo/promotions?code-in=${addedPromoCode.concat(removedPromoCode).toString()}`).then(xhr => {\n            let promises = [];\n            xhr.response.forEach(promo => {\n              if (addedPromoCode.includes(promo.code)) promises.push(this.api.post(`bo/promotions/${promo.uuid}/flat-services`, { flatServiceUuid: this.params.uuid }));\n              else if (removedPromoCode.includes(promo.code)) promises.push(this.api.delete(`bo/promotions/${promo.uuid}/flat-services/${this.params.uuid}`));\n            });\n            Promise.all(promises).then(() => {\n              this.toast.show('Servizio modificato con successo!', 'success'); \n              this.controller.ok();\n            })\n          }).catch(error => { \n            console.error('Activation of promotions failed', error); \n            this.resource.error(error);\n          })\n        }).catch(error => { \n          console.error('Edit service failed', error); \n          this.resource.error(error);\n        })\n      } else {\n        if (this.resource.data.activableByPrivilegedUserOnly === 'SPONSOR') data.activableByPrivilegedUserOnly = 'NO';\n        data.createPortabilityPromotionOnActivation = this.resource.data.createPortabilityPromotionOnActivation === true ? 'YES' : 'NO';\n        data.activableOnUser = ['MASTER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.activableOn);\n        data.activableOnSubuser = ['SUBUSER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.activableOn);\n        data.payableByUser = ['MASTER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.payableBy);\n        data.payableBySubuser = ['SUBUSER', 'PARENT-OR-SUBUSER'].includes(this.resource.data.payableBy);\n        data.payableBySponsor = ['SPONSOR'].includes(this.resource.data.payableBy);\n\n        // Transform string into number\n        if (data.price) data.price = +this.resource.data.price;\n        if (data.duration) data.duration = +this.resource.data.duration;\n        if (data.vatAmount) data.vatAmount = +this.resource.data.vatAmount;\n        if (data.multicoinPoint) data.multicoinPoint = +this.resource.data.multicoinPoint;\n\n        if (data.subscriptionExpiryType === 'DAYS') delete data.subscriptionExpireAt\n        if (data.subscriptionExpiryType === 'DATE') delete data.duration\n        delete data.subscriptionExpiryType\n        \n        delete data.payableBy;\n        delete data.activableOn;\n        if (!this.resource.data.SponsorUuid) delete data.SponsorUuid;\n\n        this.api.post(endpoint, data).then(() => { \n          this.toast.show('Servizio creato con successo!', 'success'); \n          this.controller.ok(); \n        }).catch(error => { \n          console.error('Create service failed', error);\n          this.resource.error(error);\n        });\n      }\n    });\n  }\n}\n","import { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogController } from 'aurelia-dialog';\n\n@inject(Router, DialogController)\nexport class ServiceDialogFidelityCardActivationSubscriptionRecommended {\n  constructor(router, dialogController) {\n    this.router = router;\n    this.controller = dialogController;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  goToFidelityCardsActivation() {\n    this.router.navigateToRoute('fidelity-cards/activation');\n    this.controller.cancel();\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\n\n@inject(Api)\nexport class ServiceDialogLog {\n  constructor(api) {\n    this.api = api;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.logs = params.operationLog;\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaToast)\nexport class ServiceDialogModifyServiceExpiration {\n  resource = {\n    controls: {},\n    schema: {\n      applyStatusAt: {\n        label: 'Data scadenza',\n        control: 'date',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.resource.data.applyStatusAt = params.service?.expireAt || null;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.patch(`users/${this.params.service.ownerId || 'me'}/flat-services-activations/${this.params.service.id}`, { status: 'EXPIRED', applyStatusAt: this.resource.data.applyStatusAt, statusReason: 'Scadenza modificata da un operatore' }).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\nimport { DateTime } from 'luxon';\n\n@inject(Api, KaToast)\nexport class ServiceDialogAbbonamentiStatoServizio {\n  resource = {\n    controls: {},\n    schema: {\n      statusReason: {\n        label: 'Messaggio per il cliente',\n        control: 'textarea',\n        required: true\n      },\n      applyStatusAt: {\n        label: 'A partire da quando?',\n        control: 'datetime',\n        required: true\n      },\n      confirm: {\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?',\n        control: 'check',\n        required: true\n      }\n    },\n    data: {\n      applyStatusAt: DateTime.now().toUTC().set({seconds: 0, milliseconds: 0}).toISO({ suppressMilliseconds: true })\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  /* Messages */\n  messages =  {\n    ACTIVE: 'Riattiva una sottoscrizione a un servizio in stato di temporanea sospensione.',\n    TERMINATED: 'Chiude definitivamente una sottoscrizione ad un servizio, per riattivare il servizio sarà necessario avviare una nuova sottoscrizione.',\n    SUSPENDED: 'Sospende temporaneamente una sottoscrizione a un servizio. Non sarà comunque possible attivarne un\\'altro della stessa tipologia fino alla scandenza.'\n  }\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.message = this.messages[this.params.status];\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      let data = {\n        status: this.params.status,\n        statusReason: this.resource.data.statusReason,\n        applyStatusAt: this.resource.data.applyStatusAt\n      };\n      if (this.params.status !== 'SUSPENDED') delete data.applyStatusAt;\n      this.api.patch(`users/${ this.params.service.ownerId || 'me' }/flat-services-activations/${this.params.service.id}`, data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.params.dialog.ok();\n      }).catch(error => {\n        console.error();\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiAttivabili {\n  mdt = mdt;\n  searchedData;\n  endpoint = null;\n  staticTooltipServices = {\n    subtitle: 'Servizi attivabili',\n    href: 'https://docs.multidialogo.it/s/article/Gestione',\n    icon: {\n      order: 0,\n      width: 2,\n      height: 2,\n      type: 'svg',\n      margin: [0, 0.3, 0, 0],\n    }\n  }\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    this.requestedUserData = model.requestedUserData;\n    this.lastAcceptedServiceContract = this.privileges.lastAcceptedServiceContract;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  async init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-attivabili-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-attivabili-search',\n      table: this.tableInterface,\n      schema: {\n        activable: {\n          control: 'combo',\n          label: 'Quali servizi attivabili visualizzare?',\n          datasource: [\n            { value: 'MASTER', text: 'I miei servizi attivabili' },\n            { value: 'SUBUSER', text: 'I servizi attivabili dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          required: true\n        },\n        payable: {\n          control: 'combo',\n          label: 'Fatturazione',\n          datasource: [\n            { value: 'MASTER', text: 'Fatturazione ' + this.mdt.parsers.contextualize(this.api.user, 'all\\'account') },\n            { value: 'SUBUSER', text: 'Fatturazione ' + this.mdt.parsers.contextualize(this.api.user, 'all\\'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          required: true,\n          query: 'payable-by'\n        },\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'code-in'\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        payable: 'SUBUSER',\n        activable: 'SUBUSER',\n        multicoinPoint: 'null'\n      }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n      return this.search().finally(() => {\n        this.parent.isPendingInitTabs = false;\n      });\n    });\n  }\n\n  setEndpoint() {\n    let endpoint;\n    const baseUrl = `users/${this.requestedUserData?.id || 'me'}`;\n    const suffixUrl = `${this.searchInterface?.data?.activable === 'SUBUSER' ? 'subusers-activable-flat-services' : 'activable-flat-services'}`;\n\n    if (this.requestedUserData) {\n      endpoint = `${baseUrl}/activable-flat-services`;\n    } else {\n      endpoint = `${baseUrl}/${suffixUrl}`;\n    }\n    if (this.lastAcceptedServiceContract?.rescindedAt) this.tableInterface.query = 'has-cashback=NO';\n    return endpoint;\n  }\n\n  async search() {\n    this.endpoint = this.tableInterface.endpoint = this.setEndpoint();\n    if (this.requestedUserData && !this.searchInterface.data.payable) this.searchInterface.data.payable = 'MASTER';\n    if (!this.requestedUserData && this.searchInterface.data.activable === 'MASTER') this.searchInterface.data.payable = 'MASTER';\n\n    return this.searchInterface.search().then(() => {\n      this.searchedData = { ...this.searchInterface.data };\n    });\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    if (this.requestedUserData) this.searchInterface.data.payable = 'MASTER';\n    else this.searchInterface.data.activable = this.searchInterface.data.payable = 'SUBUSER';\n    this.search();\n  }\n\n  activateService($event, service) {\n    if ($event.model) $event.model.busy = true;\n    let activateOnUserId, payableByUserId, payableByUserUuid;\n    const isServiceCashbackGracePeriod = this.lastAcceptedServiceContract?.gracePeriodEndAt ? true : false;\n    const isCashbackContractNeverBeenSigned = this.lastAcceptedServiceContract?.isCashbackContractNeverBeenSigned;\n\n    if (service.multicoinPoint && !this.parent.userCurrentFidelityCard) {\n      this.tools.dialogFidelityCardRequired($event);\n    } else if (this.requestedUserData) {\n      activateOnUserId = this.requestedUserData.id;\n      payableByUserId = this.searchedData.payable === 'MASTER' ? this.requestedUserData.parentId : this.requestedUserData.id;\n      payableByUserUuid = this.searchedData.payable === 'MASTER' ? this.requestedUserData.parentUuid : this.requestedUserData.uuid;\n    } else if (this.searchedData.activable === 'MASTER') {\n      activateOnUserId = payableByUserId = this.api.user.id;\n      payableByUserUuid = this.api.user.uuid;\n    } else if (this.searchedData.activable === 'SUBUSER') {\n      if ((isCashbackContractNeverBeenSigned || isServiceCashbackGracePeriod) && service.cashbackAmount) {\n        return this.tools.dialogCashbackSubscriptionRequired($event);\n      } else {\n        return this.openDialogSubuserServiceActivation($event, service);\n      }\n    }\n\n    if (activateOnUserId && payableByUserId && payableByUserUuid) {\n      if ((isCashbackContractNeverBeenSigned || isServiceCashbackGracePeriod) && service.cashbackAmount) {\n        return this.tools.dialogCashbackSubscriptionRequired($event);\n      } else {\n        return this.openDialogUserServiceActivation($event, service, payableByUserId, payableByUserUuid, activateOnUserId);\n      }\n    }\n  }\n\n  openDialogSubuserServiceActivation($event, service) {\n    return this.dialog.open({\n      title: 'Attivazione servizio in abbonamento',\n      class: 'abbonamenti-attivazione-sottoutenti',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti'),\n      viewModelParams: { service, payable: this.searchedData.payable }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.parent.tabs.find((tab) => tab.id === 'attivi').controller.search();\n        this.tableInterface.load();\n      }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  openDialogUserServiceActivation($event, service, payableByUserId, payableByUserUuid, activateOnUserId) {\n    return this.dialog.open({\n      title: 'Attivazione servizio in abbonamento',\n      class: 'small abbonamenti-attivazione',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-attivazione'),\n      viewModelParams: { service, payableByUserId }\n    }, true).whenClosed((response) => {\n      if (!response.wasCancelled && response.output) {\n        let data = {\n          flatServiceUuid: service.id,\n          payeeUserUuid: payableByUserUuid,\n          payeeBillingProfileUuid: response.output.billing,\n          paymentMethod: response.output.payment\n        }\n\n        if (service.autoRenewable === true && data.paymentMethod === 'SDD') data.autoRenew = 'ENABLED';\n        this.api.post(`users/${activateOnUserId}/flat-services-activations`, data).then(() => {\n          this.toast.show('Servizio attivato con successo!', 'success');\n          this.parent.tabs.find(tab => tab.id === 'attivi').controller.search();\n          this.tableInterface.load();\n        }).catch((error) => {\n          this.api.dialogError(error);\n        }).finally(() => {\n          if ($event.model) $event.model.busy = false;\n        });\n      } else if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { HttpClient } from 'aurelia-http-client';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiAttivi {\n  mdt = mdt;\n  statuses = {\n    'ACTIVE': 'Attivo',\n    'PENDING': 'In attesa di pagamento',\n    'SUSPENDED': 'Sospeso',\n    'EXPIRED': 'Scaduto',\n    'TERMINATED': 'Terminato'\n  }\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.tools = model.tools;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.requestedUserData = model.requestedUserData;\n    this.lastAcceptedServiceContract = this.privileges.lastAcceptedServiceContract;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  setStatusDatasource() {\n    const datasource = [{ value: 'null', text: 'Tutti' }]\n    for (const [key, value] of Object.entries(this.statuses)) {\n      datasource.push({ value: key, text: value });\n    }\n    return datasource;\n  }\n\n  async init() {\n    await this.initTableInterface();\n    await this.initSearchInterface();\n    this.searchActiveUsersChange();\n\n    this.productCodeChanged(this.searchInterface.data.productCode);\n\n    if (!this.privileges.isOperator || (this.privileges.isOperator && this.searchInterface.data.user && this.searchInterface.data.context)) {\n      this.search();\n    }\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-attivi-table',\n      client: this.api,\n      endpoint: null\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      response.forEach((service) => {\n        this.isServiceAutoRenewDisabled(service);\n      });\n\n      return response;\n    };\n\n    return this.tableInterface.initialize();\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-attivi-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali servizi attivi visualizzare?',\n          datasource: [\n            { value: 'USER', text: (this.privileges.isOperator ? 'I servizi attivi dell\\'utente' : 'I miei servizi attivi') },\n            { value: 'SUB-USER', text: (this.privileges.isOperator ? 'I servizi attivi dei sottoutenti' : 'I servizi attivi dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti')) }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: {\n          control: 'combo',\n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in' } },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.privileges.isOperator\n        },\n        user_active: {\n          control: 'check',\n          label: ' ',\n          description: `Includi solo ${this.mdt.parsers.contextualize(this.api.user, 'utenti')} attivi`\n        },\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'flat-service-code-in'\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato attivazione',\n          datasource: this.setStatusDatasource(),\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'status-in'\n        },\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        cashbackAmount: {\n          label: 'Cashback',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con cashback' },\n            { value: 'NO', text: 'Servizi senza cashback' }\n          ],\n          query: 'has-cashback'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        status: 'ACTIVE',\n        user_active: true,\n        cashbackAmount: 'null',\n        multicoinPoint: 'null',\n        context: !this.privileges.isOperator ? 'SUB-USER' : null\n      }\n    });\n    return this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n    });\n  }\n\n  searchActiveUsersChange() {\n    return this.searchInterface.schema.user.datasource.table = `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?${this.searchInterface.data.user_active ? 'status=ACTIVE&' : ''}include=user-profiles`;\n  }\n\n  search() {\n    this.updateTableInterfaceEndpoint();\n    this.updateTableInterfaceQuery();\n    this.searchInterface.search();\n  }\n\n  updateTableInterfaceEndpoint() {\n    // Base endpoint\n    let endpoint = 'users';\n    // users/(me|{id})\n    if (this.requestedUserData) endpoint += `/${this.requestedUserData.id}`;\n    else if (this.searchInterface.data.context === 'USER' && !this.privileges.isOperator) endpoint += '/me';\n    else if (this.searchInterface.data.context === 'USER' && this.privileges.isOperator) endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user) endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) endpoint += '/me';\n    // users/(me|{id})/(subusers?)\n    if (this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) endpoint += '/subusers';\n    // users/(me|{id})/(subusers?)/flat-services-activations\n    endpoint += '/flat-services-activations';\n    return this.tableInterface.endpoint = endpoint;\n  }\n  updateTableInterfaceQuery() {\n    const isOperatorActiveSubusersWorthy = this.privileges.isOperator && this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user_active;\n    const isUserActiveSubusersWorthy = !this.privileges.isOperator && this.searchInterface.data.context === 'SUB-USER' && !this.searchInterface.data.user && this.searchInterface.data.user_active;\n    const queryParams = [];\n    if (this.privileges.isMaster) queryParams.push('acknowledged=YES');\n    if (isOperatorActiveSubusersWorthy || isUserActiveSubusersWorthy) queryParams.push('owner-status-in=ACTIVE');\n    return this.tableInterface.query = queryParams.join('&') || null;\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.searchInterface.data.status = 'ACTIVE';\n    if (!this.privileges.isOperator && !this.requestedUserData) this.searchInterface.data.context = 'SUB-USER';\n    if (!this.privileges.isOperator) this.search();\n  }\n\n  showLogs(item) {\n    this.dialog.open({\n      title: 'Elenco log',\n      class: 'large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-log'),\n      viewModelParams: item\n    }, true);\n  }\n\n  showBankTransfer(item) {\n    const legacyApi = new HttpClient();\n    legacyApi.configure(client => {\n      client.withBaseUrl(`${ENVIRONMENT.APP_URL_LEGACY}api/`);\n      client.withHeader('Accept', 'application/json');\n      client.withHeader('Authorization', this.api.accessToken);\n    });\n    legacyApi.get(`getPaymentDetail.php?order-id=${item.orderId}`).then(xhr => {\n      let response = JSON.parse(xhr.response);\n      this.dialog.open({\n        title: 'Dettagli per il pagamento mezzo bonifico',\n        type: 'alert',\n        class: 'small',\n        body: `Per completare l'attivazione del servizio è necessario effettuare il versamento di <strong>${response.totalAmount}€</strong> sul conto corrente:<br><br>\n        BENEFICIARIO: ${response.creditorCompany}<br>\n        IBAN: ${response.creditorIban}<br>\n        CAUSALE: ${response.reason}<br>\n        IMPORTO: ${response.totalAmount}<br><br>\n        Il tuo ordine sarà confermato non appena riceveremo il bonifico. L'operazione potrebbe richiedere qualche giorno.`\n      }, true);\n    });\n\n  }\n\n  editExpiration($event, item) {\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica scadenza servizio',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-scadenza'),\n      viewModelParams: { service: item }\n    }, true).whenClosed(() => {\n      this.search();\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  editStatus($event, action, item) {\n    let data = null;\n    if (action === 'sospendi') data = { status: 'SUSPENDED' };\n    if (action === 'riattiva') data = { status: 'ACTIVE' };\n    if (action === 'termina') data = { status: 'TERMINATED' };\n    if (data) {\n      $event.model.busy = true;\n      this.dialog.open({\n        title: `${action.charAt(0).toUpperCase() + action.slice(1)} servizio`,\n        class: 'small abbonamenti-stato-servizio',\n        viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio'),\n        viewModelParams: { service: item, status: data.status }\n      }, true).whenClosed(() => {\n        this.search();\n        $event.model.busy = false;\n      });\n    }\n  }\n\n  dialogAutoRenew($event, service) {\n    this.dialog.open({\n      viewModelParams: service,\n      class: 'small abbonamenti-autorinnovo',\n      title: (service.autoRenew === 'ENABLED' ? 'Disattiva autorinnovo' : 'Attiva autorinnovo'),\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo')\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        let data = { autoRenew: service.autoRenew === 'ENABLED' ? 'DISABLED' : 'ENABLED' };\n        if (service.autoRenew === 'DISABLED') data.autoRenewPaymentMethod = response.output.autoRenewPaymentMethod;\n\n        this.api.patch(`users/${service.ownerId || 'me'}/flat-services-activations/${service.id}`, data).then(() => {\n          this.toast.show(`Autorinnovo ${service.autoRenew === 'DISABLED' ? 'attivato' : 'disattivato'} con successo!`, 'success');\n          this.search();\n        }).catch(error => {\n          this.api.dialogError(error);\n        }).finally(() => { $event.model.busy = false; });\n      }\n      $event.model.busy = false;\n    });\n  }\n\n  editRenewal($event, service) {\n    $event.model.busy = true;\n    if (service.autoRenew === 'DISABLED' && (this.lastAcceptedServiceContract?.gracePeriodEndAt || this.lastAcceptedServiceContract?.rescindedAt) && service.flatServiceCashbackAmount) {\n      this.tools.dialogCashbackSubscriptionRequired($event, 'autoRenew');\n    } else {\n      this.dialogAutoRenew($event, service);\n    }\n  }\n\n  renew($event, item) {\n    $event.model.busy = true;\n    let data = {\n      autoRenew: item.autoRenew,\n      flatServiceUuid: item.flatServiceUuid,\n      payeeUserUuid: item.payeeUserUuid,\n      payeeBillingProfileUuid: item.payeeBillingProfileUuid,\n      paymentMethod: item.paymentMethod\n    }\n    this.api.post(`users/${item.ownerId || 'me'}/flat-services-activations/${item.id}/renewals`, data).then(() => {\n      this.toast.show(`Servizio rinnovato con successo!`, 'success');\n      this.search();\n    }).catch(x => {\n      this.api.dialogError(x);\n    }).finally(() => { $event.model.busy = false; });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  csvDownload() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n\n    // Uri build\n    let query = '';\n    if (this.searchInterface?.table?._query) query = `?${decodeURIComponent(this.searchInterface.table._query)}`;\n    let path = `${this.tableInterface.endpoint}.csv`;\n    let uri = `${path}${query}`;\n\n    this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'application/csv')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        // Filename\n        let regexp = new RegExp('filename=(.+\\.csv$)');\n        let matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n\n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: 'text/csv' });\n        let url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n      }).catch(xhr => {\n        console.log('ERROR - flat-services-activations.csv download - GET', xhr);\n      }).finally(() => {\n        this.toast.consume();\n      });\n  }\n\n  isServiceAutoRenewDisabled(service) {\n    service.isAutoRenewDisabled = false; //this should be setted to false by default otherwise all buttons will be disabled because isAutoRenewDisabled = undefined;\n    const currentDate = new Date();\n\n    //I apply this check only in case of autoRenew === 'ENABLED'\n    if (service?.autoRenew === 'ENABLED') {\n      const expireAt = new Date(service?.expireAt); //expireAt date should be parsed as Date object otherwise addition / substraction ops on date couldn't be done;\n      const condition = expireAt.setDate(expireAt.getDate() - 30); //condition = the epic asked that button should be disabled if expireAt is lower tha 30 days\n      service.isAutoRenewDisabled = condition < currentDate; //so if expireAt - 30 days > today it means that expireAt is greater than 30 days so btn will not be disabled\n    }\n\n    return service;\n  }\n\n  /* dialogServiceDetail(service) {\n    this.dialog.open({\n      class: 'large abbonamenti-detail',\n      title: 'Dettaglio abbonamento',\n      viewModelParams: { ownerId: service.ownerId, flatServiceUuid: service.id },\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-detail'),\n    });\n  } */\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmAbbonamentiGestione {\n  mdt = mdt;\n  endpointServices = 'bo/flat-services';\n\n  productCodeChanged() {\n    this.searchInterface.data.type = null;\n    this.setFlatServiceTypesDatasource();\n  }\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.parent = model.parent;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.initTabs();\n  }\n\n  initTabs() {\n    this.tableInterface = new TableInterface({\n      name: 'tab-abbonamenti-gestione-table',\n      client: this.api,\n      endpoint: this.endpointServices,\n      query: null\n    });\n    this.tableInterface.initialize();\n\n    this.searchInterface = new SearchInterface({\n      name: 'tab-abbonamenti-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        productCode: {\n          control: 'combo',\n          label: 'Prodotto',\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          datamultiple: false,\n          query: 'product-code-in',\n          datasource: this.parent?.flatServiceProducts || []\n        },\n        type: {\n          datasource: [],\n          label: 'Piano',\n          control: 'combo',\n          query: 'type-in',\n          datavalue: 'code',\n          datapreload: true,\n          datamultiple: false,\n          datatext: 'description'\n        },\n        code: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'code-in'\n        },\n        title: {\n          control: 'text',\n          label: 'Titolo',\n          query: 'title-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n        activableOn: {\n          control: 'combo',\n          label: 'Sottoscrivibile da',\n          datasource: [{ value: 'MASTER', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }, { value: '', text: 'Utenti e Sottoutenti' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          query: 'activable-on'\n        },\n        payableBy: {\n          control: 'combo',\n          label: 'Addebitabile a',\n          datasource: [{ value: 'SPONSOR', text: 'Sponsor' }, { value: 'MASTER', text: 'Utenti' }, { value: 'SUBUSER', text: 'Sottoutenti' }, { value: 'PARENT-OR-SUBUSER', text: 'Utenti e Sottoutenti' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          datamultiple: false,\n          query: 'payable-by'\n        },\n        cashbackAmount: {\n          label: 'Cashback',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con cashback' },\n            { value: 'NO', text: 'Servizi senza cashback' }\n          ],\n          query: 'has-cashback'\n        },\n        multicoinPoint: {\n          label: 'Multicoin',\n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'YES', text: 'Servizi con punti Multicoin' },\n            { value: 'NO', text: 'Servizi senza punti Multicoin' }\n          ],\n          query: 'has-multicoin'\n        }\n      },\n      data: {\n        cashbackAmount: 'null',\n        multicoinPoint: 'null',\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      this.setFlatServiceTypesDatasource();\n      this.searchInterface.search().finally(() => {\n        this.parent.isPendingInitTabs = false;\n      });\n    });\n  }\n\n  createService() {\n    if (!this.api.hasRole('CREATE_FLAT_SERVICES')) return;\n    this.dialog.open({\n      title: 'Crea nuovo servizio in abbonamento',\n      class: 'abbonamenti-editor large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-editor')\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n    });\n  }\n\n  editService($event, service) {\n    if (!this.api.hasRole('MODIFY_FLAT_SERVICES')) return;\n    if ($event.model) $event.model.busy = true;\n    this.dialog.open({\n      title: 'Servizio in abbonamento',\n      class: 'abbonamenti-editor large',\n      viewModel: PLATFORM.moduleName('views/servizi/abbonamenti/dialogs/abbonamenti-editor'),\n      viewModelParams: { uuid: service.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n      if ($event.model) $event.model.busy = false;\n    });\n  }\n\n  serviceDescription(description) {\n    this.dialog.open({ title: 'Descrizione servizio', class: 'medium', type: 'alert', body: `${description}` });\n  }\n\n  setFlatServiceTypesDatasource() {\n    const productCode = this.searchInterface.data?.productCode;\n    this.tools.getFlatServiceTypes(productCode).then((xhr) => {\n      const datasource = xhr?.response || [];\n      this.searchInterface.schema.type = Object.assign({}, this.searchInterface.schema.type, { datasource });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { TableInterface, SearchInterface, TableSelectionInterface } from 'classes/md-table';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmVolture {\n  mdt = mdt;\n  isInitializing = true;\n  isLoading = false;\n  context = null;\n  contextUser = {};\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    model.tab.controller = this;\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.requestedUserData = model.requestedUserData;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.initTableInterface();\n    this.initTableSelectionInterface();\n    this.initSearchInterface();\n    this.productCodeChanged(this.searchInterface.data.productCode);\n  }\n\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'volture-table',\n      client: this.api,\n      endpoint: this.endpoint,\n      query: (this.privileges.isMaster ? 'acknowledged=NO' : null)\n    });\n\n    return this.tableInterface.initialize();\n  }\n\n  initTableSelectionInterface() {\n    this.tableSelectionInterface = new TableSelectionInterface({\n      table: this.tableInterface\n    });\n  }\n\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'volture-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali volture visualizzare?',\n          datasource: [\n            { value: 'USER', text: (this.privileges.isOperator ? 'Le volture dell\\'utente' : 'Le mie volture')},\n            { value: 'SUB-USER', text: (this.privileges.isOperator ? 'Le volture dei sottoutenti' : 'Le volture dei miei ' + this.mdt.parsers.contextualize(this.api.user, 'utenti'))}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.privileges.isOperator\n        },\n        flatServiceCode: {\n          control: 'text',\n          label: 'Codice servizio',\n          query: 'flat-service-code-in'\n        },\n        productCode: {\n          control: 'combo',  \n          label: 'Prodotto', \n          datasource: { table: 'products' }, \n          datavalue: 'code', \n          datatext: 'label',\n          datamultiple: false,\n          datapreload: true,\n          query: 'product-code-in'\n        },\n        type: {\n          control: 'combo', \n          label: 'Piano',\n          datasource: { table: 'flat-service-types' },\n          datavalue: 'code',\n          datatext: 'description',\n          datamultiple: false,\n          datapreload: true,\n          query: 'type-in'\n        }\n      },\n      data: {\n        context: !this.privileges.isOperator ? 'SUB-USER' : null,\n        sdd: 'null'\n      }\n    });\n    \n    return this.searchInterface.initialize().then(() => {\n      if (!this.privileges.isOperator) this.search();\n      else if (this.privileges.isOperator && this.searchInterface.data.user && this.searchInterface.data.context) this.search();\n    });\n  }\n\n  productCodeChanged(value) {\n    // Control \"type\" related to \"productCode\"\n    if (this.searchInterface.controls?.type) {\n      this.searchInterface.data.type = null;\n      this.searchInterface.controls.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n      this.searchInterface.controls.type.comboItemsSource = null;\n      this.searchInterface.controls.type.comboItems = null;\n    } else {\n      this.searchInterface.schema.type.datasource.table = value ? `flat-service-types?product-code-in=${value}` : 'flat-service-types';\n    }\n  }\n\n  search() {\n    this.tableInterface.endpoint = this.buildEndpoint();\n    this.searchInterface.search();\n  }\n\n  buildEndpoint() {\n    // Endpoint\n    this.endpoint = 'users';\n    // users/(me|{id})\n    if (this.requestedUserData) this.endpoint += `/${this.requestedUserData.id}`;\n    else if (this.searchInterface.data.context === 'USER' && !this.privileges.isOperator) this.endpoint += '/me';\n    else if (this.searchInterface.data.context === 'USER' && this.privileges.isOperator) this.endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && this.searchInterface.data.user) this.endpoint += `/${this.searchInterface.data.user}`;\n    else if (this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) this.endpoint += '/me';\n    // users/(me|{id})/(subusers?)\n    if (this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) this.endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && !this.privileges.isOperator && !this.searchInterface.data.user) this.endpoint += '/subusers';\n    else if (!this.requestedUserData && this.searchInterface.data.context === 'SUB-USER' && this.privileges.isOperator) this.endpoint += '/subusers';\n    // users/(me|{id})/(subusers?)/flat-services-activations\n    this.endpoint += '/flat-services-activations';\n    return this.endpoint;\n  }\n\n  reset() {\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n    this.searchInterface.data.status = 'null';\n    if (!this.privileges.isOperator && !this.requestedUserData) this.searchInterface.data.context = 'SUB-USER';\n    if (!this.privileges.isOperator) this.search();\n  }\n\n  confirmSelectedServices($event) {\n    $event.model.busy = true;\n    \n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Alla data di scadenza, i servizi volturati cesseranno istantaneamente. Confermata la voltura, potrai gestire in seguito l'autorinnovo dei servizi appena volturati nella sezione <em>Servizi attivi</em>.`\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        let promises = [];\n        this.tableSelectionInterface.selectedRecords.forEach((record) => {\n          record._selection.isSelected = false;\n          record._selection.feedback = { status: 'In corso' };\n          let data = { acknowledged: \"YES\" };\n\n          promises.push(\n            // the patch wants the flat service activation UUID but its inside the id, here's the reason for the record.id\n            this.api.patch(`users/${record.ownerId}/flat-services-activations/${record.id}`, data).then(() => {\n              record._selection.feedback = { status: 'Completato' };\n            }).catch((error) => {\n              console.error(error);\n              let parsedError = JSON.parse(error.response);\n              record._selection.feedback = { status: 'Errore', message: parsedError.source?.permissions[0]?.messages[0] || parsedError.detail };\n            })\n          );\n        });\n        Promise.all(promises).finally(() => {\n          this.search();\n        });\n      }\n    });\n\n    return $event.model.busy = false;\n  }\n}\n","import {Aurelia, inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\n\nimport mdt from 'services/md-tools';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport moment from 'moment';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class viewCrediti {\n  mdt = mdt;\n  environment = ENVIRONMENT;\n  userId = 'me';\n  currentBalance = null;\n  selectedParentIsMaster = false;\n  migrationMessages = {\n    'MIGRATED-TO-SUBUSER': (item) => `Credito trasferito su condominio ${item.reason.migrationReceiverDisplayName}`,\n    'MIGRATED-FROM-MASTER': () => `Credito trasferito da utente Master`,\n    'MIGRATED-TO-MASTER': () => `Credito trasferito verso utente Master`,\n    'MIGRATED-FROM-SUBUSER': (item) => `Credito trasferito da condominio ${item.reason.migrationReceiverDisplayName}`\n  };\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_CREDIT_TRANSACTION');\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Credit table interface\n    this.creditTableInterface = new TableInterface({\n      name: 'credit-transactions-table',\n      client: this.api,\n      endpoint: null,\n      query: 'sort=-createdAt'\n    });\n\n    // Credit search interface\n    this.creditSearchInterface = new SearchInterface({\n      name: 'credit-transactions-table-search',\n      table: this.creditTableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali movimenti visualizzare?',\n          datasource: [\n            { value: 'me', text: 'I miei movimenti' },\n            { value: 'subusers', text: 'Di un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          required: false\n        },\n        userId: {\n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: (this.isOperator ? 'bo/users' : 'users/me/users') + '?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        parent: { \n          control: 'combo',\n          label: 'Utente',\n          datasource: { table: `bo/users?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datatext: 'profile[0].displayName',\n          datavalue: 'id', \n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        child: {\n          control: 'combo', \n          label: 'Eventuale sottoutente',\n          datasource: { table:'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: false\n        },\n        orderId: {\n          label: 'ID ordine',\n          control: 'text',\n          query: 'reason-order-id',\n          required: false\n        },\n        type: {\n          label: 'Tipologia', \n          control: 'combo',\n          datasource: [\n            { value: 'null', text: 'Tutti'},\n            { value: 'CREDIT', text: 'Entrata'},\n            { value: 'DEBIT', text: 'Uscita'}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'sign',\n          required: false\n        },\n        dateStart: {\n          label: 'Creato dal', \n          control: 'date',\n          query: 'created-at-gte',\n          required: false\n        },\n        dateEnd: {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte',\n          required: false\n        }\n      },\n      data: {\n        type: 'null',\n        dateStart: moment().utc().startOf('month').toISOString(),\n        dateEnd: moment().utc().endOf('month').toISOString()\n      }\n    });\n\n    // Initialize interfaces\n    this.creditTableInterface.initialize().then(() => {\n      this.creditSearchInterface.initialize().then(() => {\n        if (this.isOperator && this.params.user) {\n          this.creditSearchInterface.data.parent = this.params.user;\n          this.creditSearchInterface.data.child = null;\n        }\n        else if (!this.isOperator && this.params.user) {\n          this.creditSearchInterface.data.userId = this.params.user;\n        }\n        // Ricerca in fase di avvio\n        if (this.creditSearchInterface.data.orderId) this.ricerca();\n        else if (this.isOperator && this.creditSearchInterface.data.parent) this.ricerca();\n        else if (!this.isOperator && this.creditSearchInterface.data.context === 'me') this.ricerca();\n        else if (!this.isOperator && this.creditSearchInterface.data.userId) this.ricerca();\n      }).catch(error => { console.log('credit-transactions-search initialize failed', error); });\n    }).catch(error => { console.log('credit-transactions-table initialize failed', error); });\n  }\n\n  setParent() {\n    if (this.creditSearchInterface.controls.parent?.objectValue?.group === 'MASTER_USER') {\n      this.selectedParentIsMaster = true;\n      this.creditSearchInterface.schema.userId.datasource.table = `bo/users?include=user-profiles`+ (this.creditSearchInterface?.data?.parent ? `&parent-uuid-in=${this.creditSearchInterface.data.parent}`: '');\n    } else {\n      this.selectedParentIsMaster = false;\n    }\n    console.log(this.selectedParentIsMaster);\n  }\n\n  ricerca() {\n    // Handle userId\n    if (this.creditSearchInterface.data.context === 'me') {\n      this.userId = 'me';\n    } else if (this.creditSearchInterface.data.userId) {\n      this.userId = this.creditSearchInterface.data.userId;\n    } else if (this.creditSearchInterface.data.child) {\n      this.userId = this.creditSearchInterface.data.child;\n    } else if (this.creditSearchInterface.data.parent) {\n      this.userId = this.creditSearchInterface.data.parent;\n    }\n    // Handle required\n    if (!this.isOperator) {\n      (this.creditSearchInterface.controls.context || this.creditSearchInterface.schema.context).required = !this.creditSearchInterface.data.orderId;\n      this.creditSearchInterface.schema.userId.required = !this.creditSearchInterface.data.orderId && this.creditSearchInterface.data.context !== 'me';\n    } else {\n      this.creditSearchInterface.schema.parent.required = !this.creditSearchInterface.data.orderId;\n    }\n    // Validate\n    this.creditSearchInterface.validate().then(() => {\n      this.creditTableInterface.endpoint = `users/${this.userId}/credit-transactions`;\n      this.userProfile = null;\n      // Search\n      this.creditSearchInterface.search().then(xhr => {\n        // Credit amount\n        this.currentBalance = { filteredNoVatSubjectAmount: xhr.originalResponse.meta.filteredNoVatSubjectAmount, filteredVatSubjectAmount: xhr.originalResponse.meta.filteredVatSubjectAmount, noVatSubjectAmount:  xhr.originalResponse.meta.noVatSubjectAmount, vatSubjectAmount: xhr.originalResponse.meta.vatSubjectAmount };\n        // User profile\n        if (this.userId !== 'me') {\n          let endpoint = this.isOperator ? 'bo/users' : 'users/me/users';\n          this.api.get(`${endpoint}?include=user-profiles&id-in=${this.userId}`).then(xhr => {\n            this.userProfile = xhr.response[0].profile[0];\n            if (this.userProfile.parent && xhr.response[0].parentId) this.userProfile.parent.id = xhr.response[0].parentId;\n            this.userProfile.credit = this.currentBalance;\n          });\n        }\n      }).catch(error => { console.log('credit-transactions-search failed', error); });\n    });\n  }\n\n  ripristina() {\n    this.creditSearchInterface.reset(true).then(() => { this.userId = null; });\n  }\n\n  creditMovement(context) {\n    // Roles\n    if (context === 'transaction' && !this.api.hasRole('CREATE_ANY_USER_CREDIT_TRANSACTION')) return;\n    else if (context === 'transfer' && !this.api.hasRole('CREATE_SUB_USER_CREDIT_TRANSFER')) return;\n\n    if (this.userProfile) {\n      this.dialog.open({\n        title: context === 'transaction' ? 'Movimento credito' : 'Trasferimento credito',\n        class: 'medium',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-credit-movement'),\n        viewModelParams: { context: context, user: this.userProfile }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) this.ricerca();\n      });\n    }\n  }\n\n  getMigrationMessage(item) {\n    if (!item.reason?.migrationVerse) return '';\n\n    const messageTemplate = this.migrationMessages[item.reason.migrationVerse]\n    return messageTemplate ? messageTemplate(item) : '';\n  }\n\n  export() {\n    let records = this.creditTableInterface.data.map(x => {\n      return {\n        \"Data\": this.aurelia.resources.valueConverters.dateFormat.toView(x.createdAt).replace(/\\s/, '-'),\n        \"Account\": this.userProfile ? this.userProfile.displayName : this.api.user.profile.displayName, \n        \"Tipo\": x.sign === 'CREDIT' ? 'Ricarica' : 'Addebito',\n        \"Riferimento\": x.reason?.migrationVerse ? 'TRASFERIMENTO CREDITO' : 'MOVIMENTO CREDITO',\n        \"Importo servizio\": x.amount?.vatSubject,\n        \"Importo affrancatura (esente da IVA)\": x.amount?.noVatSubject\n      }\n    });\n    let csv = [Object.keys(records[0]).join(';')];\n    for (let record of records) {\n      let values = [];\n      for (let k of Object.keys(record)) {\n        let value = record[k];\n        values.push(value);\n      }\n      csv.push(values.join(';'));\n    }\n    csv = csv.join('\\n');\n    let blob = new Blob([csv], {type: 'text/csv'});\n    let anchor = document.createElement('a');\n    anchor.download = `${this.api.user.id}-esportazione-movimenti-credito.csv`;\n    anchor.href = window.URL.createObjectURL(blob);\n    document.body.appendChild(anchor);\n    anchor.click();\n    document.body.removeChild(anchor);\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\n\nimport mdt from 'services/md-tools';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport moment from 'moment';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class viewDeposito {\n  mdt = mdt;\n  environment = ENVIRONMENT;\n  currentBalance = null;\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.isOperator = this.api.hasRole('LIST_ANY_USER_BAILMENT_DEPOSIT_TRANSACTION');\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // Bailment table interface\n    this.bailmentTableInterface = new TableInterface({\n      name: 'bailment-deposit-transactions-table',\n      client: this.api,\n      endpoint: `users/me/bailment-deposit-transactions`,\n      query: null\n    });\n\n    // Bailment search interface\n    this.bailmentSearchInterface = new SearchInterface({\n      name: 'bailment-deposit-transactions-search',\n      table: this.bailmentTableInterface,\n      schema: {\n        userId: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: this.isOperator\n        },\n        orderId: {\n          label: 'ID ordine',\n          control: 'text',\n          query: 'order-id-in'\n        },\n        type: {\n          label: 'Tipologia', \n          control: 'combo',\n          datasource: [\n            { value: 'CREDIT', text: 'Entrata'},\n            { value: 'DEBIT', text: 'Uscita'}\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datapreload: true,\n          query: 'transaction-type'\n        },\n        dateStart: {\n          label: 'Creato dal', \n          control: 'date',\n          query: 'created-at-gte'\n        },\n        dateEnd: {\n          label: 'al', \n          control: 'date',\n          query: 'created-at-lte'\n        }\n      },\n      data: {\n        dateStart: moment().utc().startOf('month').toISOString(),\n        dateEnd: moment().utc().endOf('month').toISOString()\n      }\n    });\n    // Initialize interfaces\n    this.bailmentTableInterface.initialize().then(() => {\n      this.bailmentSearchInterface.initialize().then(() => {\n        if (this.params.user) this.bailmentSearchInterface.data.userId = this.params.user; \n        if (!this.isOperator || this.bailmentSearchInterface.data.userId) this.ricerca();\n      }).catch(error => { console.log('bailment-deposit-transactions-search intialize failed', error); });\n    }).catch(error => { console.log('bailment-deposit-transactions-table initialize failed', error); });\n  }\n\n  ricerca() {\n    if (this.isOperator) {\n      this.userId = this.params.user || this.bailmentSearchInterface.data.userId || null;\n      if (this.userId) this.bailmentTableInterface.endpoint = `users/${this.userId}/bailment-deposit-transactions`;\n    }\n    this.bailmentSearchInterface.search().then(xhr => { \n      this.currentBalance = xhr.originalResponse.meta.currentBalance;\n    }).catch(error => { console.log('bailment-deposit-transactions-search failed', error); });\n  }\n\n  ripristina() {\n    this.bailmentSearchInterface.reset(true).then(() => {\n      this.userId = null;\n      if (!this.isOperator || this.bailmentSearchInterface.data.userId) this.ricerca();\n      else {\n        this.init();\n        this.bailmentSearchInterface.data.userId = null;\n      }\n    });\n  }\n\n  depositTransaction() {\n    if (this.userId) {\n      this.dialog.open({\n        title: 'Ricarica credito Sms/Fax/Posta',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-deposit-transaction'),\n        viewModelParams: { userId: this.userId, userProfile: this.bailmentSearchInterface.controls.userId.objectValue.profile[0] }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) this.ricerca();\n      });\n    }\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogCreditMovement {\n  mdt = mdt;\n  resource = {\n    controls: {},\n    schema: {\n      amount: {\n        vatSubject: {\n          label: 'Importo servizio',\n          control: 'number',\n          required: true,\n          min: 0\n        },\n        noVatSubject: {\n          label: 'Importo affrancatura',\n          control: 'number',\n          required: true,\n          min: 0\n        }\n      },\n      sign: {\n        label: 'Tipologia del movimento',\n        control: 'combo',\n        datasource: [\n          { value: 'CREDIT', text: 'Ricarica'},\n          { value: 'DEBIT', text: 'Addebito'}\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        required: true\n      },\n      reason: {\n        description: {\n          label: 'Causale',\n          control: 'text',\n          required: true\n        },\n      }\n    },\n    data: {\n      amount: { vatSubject: 0, noVatSubject: 0 },\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n    if (this.params.context === 'transfer') {\n      // Modify datasource of sign\n      let signTransaction = { value: 'null', text: `Addebito. Trasferimento da ${this.mdt.parsers.contextualize(this.api.user, 'utente')} ${this.params.user.displayName} a ${this.params.user.parent.displayName}`};\n      this.resource.schema.sign.datasource.push(signTransaction);\n\n      // Modify reason\n      this.resource.schema.reason = { label: 'Causale', control: 'text', required: true }\n\n      // Master user credit\n      this.api.get(`users/${this.params.user.parent.id}/credit-transactions`).then(xhr => {\n        this.masterUser = { noVatSubjectAmount:  xhr.originalResponse.meta.noVatSubjectAmount, vatSubjectAmount: xhr.originalResponse.meta.vatSubjectAmount };\n      });\n    }\n    this.resource.data.sign = this.params.context === 'transaction' ? 'CREDIT' : 'null';\n  }\n\n  save() {\n    // Transaction\n    if (this.params.context === 'transaction') {\n      this.resource.validate().then(() => {\n        this.dialog.open({\n          title: 'Attenzione!',\n          class: 'small',\n          viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-transaction-confirm'),\n        }, true).whenClosed(response => {\n          if (!response.wasCancelled) {\n            this.api.post(`bo/users/${this.params.user.id}/credit-transactions`, this.resource.data).then(() => {\n              this.toast.show(`Movimento inserito con successo!`, 'success');\n              this.params.dialog.ok();\n            }).catch(error => {\n              console.error();\n              this.resource.error(error);\n            });\n          }\n        });\n      });\n    } \n    // Transfer\n    else if (this.params.context === 'transfer') {\n      this.resource.validate().then(() => {\n        delete this.resource.data.sign;\n        this.api.post(`users/${this.params.user.id}/credit-transfer`, this.resource.data).then(() => {\n          this.toast.show(`Trasferimento inserito con successo!`, 'success');\n          this.params.dialog.ok();\n        }).catch(error => {\n          console.error();\n          this.resource.error(error);\n        });\n      });\n    }\n  } \n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogDepositTransaction {\n  resource = {\n    controls: {},\n    schema: {\n      value: {\n        label: 'Importo da movimentare',\n        control: 'number',\n        required: true\n      },\n      type: {\n        label: 'Tipologia del movimento',\n        control: 'combo',\n        datasource: [\n          { value: 'CREDIT', text: 'Entrata'},\n          { value: 'DEBIT', text: 'Uscita'}\n        ],\n        datavalue: 'value',\n        datatext: 'text',\n        datapreload: true,\n        required: true\n      },\n      note: {\n        label: 'Causale',\n        control: 'text',\n        required: true\n      }\n    },\n    data: {\n      value: 0,\n      type: 'CREDIT',\n    },\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        console.log(control);\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, dialog, kaToast) {\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.dialog.open({\n        title: 'Attenzione!',\n        class: 'small',\n        viewModel: PLATFORM.moduleName('views/servizi/credito/dialog-transaction-confirm'),\n        viewModelParams: { cause: 'DEPOSIT' }\n      }, true).whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.post(`bo/users/${this.params.userId}/bailment-deposit-transactions`, this.resource.data).then(() => {\n            this.toast.show(`Movimento inserito con successo!`, 'success');\n            this.params.dialog.ok();\n          }).catch(error => {\n            console.error();\n            this.resource.error(error);\n          });\n        }\n      });\n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class DialogTransactionConfirm {\n  check = {\n    schema: {\n      confirm: {\n        label: 'Accetta e prosegui',\n        description: 'Confermi di aver compreso i termini dell\\'operazione?',\n        control: 'check',\n      }\n    },\n    data: {}\n  };\n\n  constructor(api, kaToast) {\n    this.api = api;\n    this.toast = kaToast;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\nimport mdt from 'services/md-tools';\n@inject(Api, KaDialog, KaToast, DialogController)\n\nexport class ServiceDialogListiniPianificazione {\n  constructor(api, kaDialog, kaToast, dialogController) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n    this.controller = dialogController;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) {\n    this.userId = params.userId;\n  }\n\n  attached() {\n    this.api.get('bo/price-lists').then(xhr => {\n      this.pricelists = xhr.response;\n      this.pricelists[0].label = this.pricelists[0].label + ' - Predefinito';\n      this.init();\n    }).catch(error => {\n      console.log('ERROR - bo/ pricelists - GET', error);\n      this.api.dialogError(error);\n    });\n  }\n\n  init() {\n    this.resource = {\n      controls: {},\n      schema: {\n        code: {\n          label: 'Listino',\n          control: 'combo',\n          datasource: this.pricelists,\n          datavalue: 'code',\n          datatext: 'label',\n          datapreload: true,\n          required: true\n        },\n        startAt: {\n          label: 'Data inizio intervallo',\n          control: 'date'\n        },\n        endAt: {\n          label: 'Data fine intervallo',\n          control: 'date',\n          placeholder: 'Indefinita',\n        }\n      }, \n      data: {\n        code: this.pricelists[0].code,\n      },\n      validate: () => {\n        let promises = [];\n        Object.values(this.resource.controls).forEach(control => {\n          console.log(control);\n          promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n        });\n        return Promise.all(promises);\n      },\n      error: error => {\n        let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n        if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n      }\n    }\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post(`bo/users/${this.userId}/price-list-schedules`, this.resource.data).then(() => {\n        this.toast.show(`Servizio modificato con successo!`, 'success');\n        this.controller.ok();\n      }).catch(error => {\n        this.resource.error(error);\n      });\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmPromozioni {\n  tabs = [\n    {\n      id: 'elenco',\n      label: 'Listini utente',\n      vm: PLATFORM.moduleName('views/servizi/listini/tabs/listini-elenco')\n    }\n  ];\n\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elenco: true }};\n    this.privileges.isOperator = this.privileges.isParent;\n    if (this.api.hasRole('LIST_ANY_USER_PRICE_LIST_SCHEDULE')) this.privileges.isOperator = true;\n    else if (this.api.hasRole('LIST_SUB_USER_PRICE_LIST_SCHEDULES')) this.privileges.isParent = true;\n  }\n}\n","import { Aurelia, inject, observable } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Aurelia, Router, Api, KaDialog, KaToast)\nexport class vmListiniElenco {\n  mdt = mdt;\n  pricelists = null;\n  pricelistDefault = null;\n  pricelistsPending = false;\n  subusers = null;\n  allSubusers = null;\n  @observable() searchSubusers = null;\n\n  searchSubusersChanged(value) {\n    this.data.searchSubusers = value;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n    this.subusers = value ? this.allSubusers.filter(x => x.profile[0].displayName.toLowerCase().includes(value.toLowerCase())) : this.allSubusers;\n\n    // DOM\n    let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n    oldSelectedSubuser?.classList.remove('selected');\n\n    if (!value) this.data.selectedSubuser = null;\n    if (value && this.data.selectedSubuser?.id && this.subusers.find(x => x.id === this.data.selectedSubuser.id)) {\n      // DOM\n      setTimeout(() => {\n        let newSelectedSubuser = document.getElementById(this.data.selectedSubuser.id);\n        newSelectedSubuser?.classList.add(\"selected\");\n      }, 0);\n    }\n  }\n\n  constructor(aurelia, router, api, dialog, toast) {\n    this.aurelia = aurelia;\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n    this.legacyLink = `https://${ENVIRONMENT.APP_DEBUG === 'true' ? 'beta.multidialogo.it' : ENVIRONMENT.APP_DEBUG === 'false' ? 'go.multidialogo.it' : ''}/scriba/utenti/box_listino_mi.html?price-list-code=`\n  }\n\n  attached() {\n    this.schema = {\n      context: {\n        label: 'Quali listini visualizzare?',\n        control: 'combo',\n        datasource: [{ value: 'ME', text: 'I miei listini' }, { value: 'SUBUSERS', text: `I listini dei miei ${this.mdt.parsers.contextualize(this.api.user, 'utenti')}` }],\n        datavalue: 'value',\n        datatext: 'text',\n        datamultiple: false,\n        datapreload: true,\n        required: true\n      },\n      user: {\n        label: 'Utente',\n        control: 'combo',\n        datasource: { table: 'bo/users?include=user-profiles', query: { search: 'text-search', item: 'id-in' }},\n        datavalue: 'id',\n        datatext: 'profile[0].displayName',\n        datamultiple: false,\n        datapreload: false,\n        required: false\n      }\n    }\n    this.data = JSON.parse(sessionStorage.getItem(btoa('price-lists'))) || { context: !this.privileges.isOperator ? 'ME' : null, user: this.params.id, selectedUser: null, selectedSubuser: null, searchSubusers: null };\n    if (this.privileges.isParent) this.getSubusers();\n  }\n\n  setContext() {\n    if (this.data.context === 'ME') {\n      this.data.selectedSubuser = null;\n      this.data.searchSubusers = null;\n\n      // DOM\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      oldSelectedSubuser?.classList.remove('selected');\n\n      this.getPriceLists();\n    } else if (this.data.context === 'SUBUSERS' && !this.data.selectedSubuser) this.pricelists = null;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n  }\n\n  getUser() {\n    if (this.privileges.isOperator) {\n      if (this.data.user) {\n        this.api.get(`users/${this.data.user}?include=user-profiles`).then(xhr => {\n          this.data.selectedUser = { id: xhr.response.id, group: xhr.response.group, businessType: { profile: { businessType: xhr.response.profile[0].businessType }}, displayName: xhr.response.profile[0].displayName };\n          sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n          this.getPriceLists();\n        });\n      } else { \n        this.data.selectedUser = null;\n        sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n      }\n    }\n  }\n\n  getSubusers() {\n    this.api.get('users/me/users?include=user-profiles&status=ACTIVE').then(xhr => {\n      this.allSubusers = this.subusers = xhr.response;\n      this.searchSubusers = this.data.searchSubusers;\n      if (this.data.selectedSubuser) this.selectSubuser(null);\n    }).catch(error => {\n      console.log('ERROR - subusers - GET', error);\n    });\n  }\n\n  selectSubuser(subuser) {\n    if (subuser) {\n      this.data.selectedSubuser = { id: subuser.id, displayName: subuser.profile[0].displayName };\n    }\n    else subuser = this.data.selectedSubuser;\n    sessionStorage.setItem(btoa('price-lists'), JSON.stringify(this.data));\n    \n    // DOM\n    setTimeout(() => {\n      let oldSelectedSubuser = document.querySelector('.subusers > .selected');\n      let newSelectedSubuser = document.getElementById(subuser?.id);\n      oldSelectedSubuser?.classList.remove('selected');\n      newSelectedSubuser?.classList.add(\"selected\");\n    }, 0)\n\n    this.getPriceLists();\n  }\n\n  getPriceLists() {\n    this.pricelistsPending = true;\n    let user = null;\n    let url = `price-list-schedules`;\n    if (this.privileges.isOperator) {\n      user = `users/${this.data.selectedUser.id}`;\n      this.api.get(`bo/${user}/${url}`).then(xhr => {\n        this.pricelists = xhr.response;\n        this.pricelists.forEach(pricelist => { pricelist.createdAt = this.aurelia.resources.valueConverters.dateFormat.toView(pricelist.createdAt, 'DD/MM/YYYY'); });\n        this.pricelistDefault = xhr.originalResponse.meta.priceListDefault;\n        this.pricelistsPending = false;\n      }).catch(error => {\n        this.api.dialogError(error);\n        this.pricelistsPending = false;\n        console.log('ERROR - bo/ price-list-schedules - GET', error);\n      });\n    } else {\n      if (this.api.user?.id || this.data.selectedSubuser?.id) {\n        user = `users/${this.data.context === 'ME' ? this.api.user.id :  this.data.selectedSubuser.id}`;\n        this.api.get(`${user}/${url}/current`).then(xhr => {\n          this.pricelists = [];\n          this.pricelists.push(xhr.response);\n          this.api.get(`${user}/${url}/next`).then(xhr => {\n            this.pricelists.push(xhr.response);\n          }).catch(error => {\n            console.log('ERROR - promise price-list-schedules/next - GET', error);\n          }).finally(() => {\n            this.pricelistsPending = false;\n          });\n        }).catch(error => {\n          console.log('ERROR - price-list-schedules/current - GET', error);\n          this.pricelistsPending = false;\n        });\n      }\n    }\n  }\n\n  newPricelistSchedule() {\n    this.dialog.open({\n      title: 'Pianifica nuovo intervallo',\n      class: 'listini-pianificazione schedule medium',\n      viewModel: PLATFORM.moduleName('views/servizi/listini/dialogs/listini-pianificazione'),\n      viewModelParams: { userId: this.data.selectedSubuser?.id || this.data.selectedUser?.id }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.getPriceLists();\n    }); \n  }\n\n  subusersPricelistSchedule() {\n    this.dialog.open({ title: 'Attenzione!', class: 'small', type: 'confirm', body: `Confermi di voler applicare questa pianificazione su tutti i ${this.mdt.parsers.contextualize(this.data.selectedUser.businessType, 'utenti')} dell'utente <strong>${this.data.selectedUser.displayName}?</strong>`}).whenClosed(response => {\n      if (!response.wasCancelled) {\n        this.api.post(`bo/users/${this.data.selectedUser?.id || 'me'}/bulk-subusers-price-list-schedules`, {}).then(() => {\n          this.toast.show(`Pianificazioni sottoutenti aggiornate con successo!`, 'success');\n        }).catch(error => {\n          console.log('ERROR bulk-subusers-price-list-schedules POST', error);\n          this.api.dialogError(error);\n        })\n      }\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { activationStrategy } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class vmPromozioniAggiungi {\n  mdt = mdt;\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) { \n    this.params = params;\n  }\n\n  attached() {\n    // Table Interface\n    this.tableInterface = new TableInterface({ \n      name: 'promozioni-attivabili-table', \n      client: this.api, \n      endpoint: 'bo/promotions', query: null \n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.response = response;\n      this.response.forEach(element => { element.controls = {}; });\n      return this.response;\n    };\n\n    // Search Interface\n    this.searchInterface = new SearchInterface({\n      name: 'promozioni-attivabili-table-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          control: 'text',\n          label: 'Codice',\n          query: 'code-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n        expireAt: {\n          control: 'date',\n          placeholder: 'Illimitata'\n        }\n      },\n      data: {}\n    });\n\n    // Initialize & Search\n    this.tableInterface.initialize().then(() => { \n      this.searchInterface.initialize().then(() => { \n        this.searchInterface.search(); \n      });\n    });\n  }\n\n  addPromotion(event, promotion) {\n    event.model.busy = true;\n    let data = { promotionUuid: promotion.uuid, expireAt: promotion.expireAt || null };\n    this.api.post(`bo/users/${this.params.user.id}/promotion-activations`, data).then(() => {\n      this.toast.show(`Promozione assegnata con successo!`, 'success');\n      this.params.dialog.ok();\n    }).catch(xhr => {\n      console.error('Errore. Impossibile assegnare promozione', xhr);\n      let errorPayload = mdt.parsers.apiError(xhr, promotion.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }).finally(() => { event.model.busy = false; });\n  }\n\n  copyText(text, context = 'Testo') {\n    if (!text) return;\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${context} copiato con successo!`, 'success');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {activationStrategy} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport mdt from 'services/md-tools';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogCreatePromotion {\n  activableOn = 'Utenti';\n  payableBy = 'Utenti';\n  resource = {\n    controls: {},\n    schema: {\n      code: {\n        control: 'text',\n        label: 'Codice',\n        required: true\n      },\n      description: {\n        control: 'text',\n        label: 'Descrizione',\n        required: true\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        if (!control) return;\n        promises.push(new Promise((resolve, reject) => {\n          console.log(control);\n          if (control.validate)\n            control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); });\n          else if (control.input?.validate)\n            control.input.validate().then(() => resolve()).catch(() => reject('Control didn\\'t pass validation'));\n        }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      let errorPayload = mdt.parsers.apiError(error, this.resource.controls);\n      if (errorPayload) this.dialog.open({ title: 'Attenzione!', class: 'large', type: 'alert', body: '<strong>'+errorPayload.title+':</strong><div style=\"margin-top:1rem;border:1px solid #e0e0e0;padding:1rem;max-height:400px;overflow:auto;background-color:#ffffff\">' + errorPayload.body + '</div>'});\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  determineActivationStrategy() {\n    return activationStrategy.replace;\n  }\n\n  activate(params) { \n    this.params = params;\n  }\n\n  save() {\n    this.resource.validate().then(() => {\n      this.api.post('bo/promotions', this.resource.data).then(() => {\n        this.toast.show('Promozione creata con successo', 'success'); \n        this.params.dialog.ok(); \n      }).catch(error => { console.log('Promotion creation promise failed'); this.resource.error(error); });\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { DateTime } from 'luxon';\n\n@inject(Api, KaDialog, KaToast)\nexport class DialogEditPromotion {\n  resource = {\n    controls: {},\n    schema: {\n      expireAt: {\n        control: 'date',\n        label: 'Scadenza promozione',\n        placeholder: 'Illimitata',\n        validationRule: {\n          satisfies: () => {\n            if (!this.resource.data.expireAt) return true;\n            if (DateTime.fromISO(this.resource.data.expireAt).isValid) {\n              return DateTime.now() < DateTime.fromISO(this.resource.data.expireAt);\n            } else return false;\n          },\n          withMessage: 'La scadenza non pùo essere inferiore ad oggi',\n        },\n      },\n      notes: {\n        control: 'text',\n        label: 'Motivazione'\n      }\n    },\n    data: {},\n    validate: () => {\n      let promises = [];\n      Object.values(this.resource.controls).forEach(control => {\n        promises.push(new Promise((resolve, reject) => { control.validate().then(result => { if (result.valid) resolve(); else reject('Control didn\\'t pass validation'); }); }));\n      });\n      return Promise.all(promises);\n    },\n    error: error => {\n      this.api.dialogError(error, this.resource.controls);\n    }\n  }\n\n  constructor(api, kaDialog, kaToast) {\n    this.api = api;\n    this.dialog = kaDialog;\n    this.toast = kaToast;\n  }\n\n  activate(params) { \n    this.params = params;\n    this.resource.data.expireAt = this.params.promotion.expireAt || null;\n  }\n\n  save() {\n    let data = {...this.resource.data};\n    if (this.params.type === 'TERMINATE') data.expireAt = 'NOW';\n    \n    this.resource.validate().then(() => {\n      this.api.patch(`bo/users/${this.params.userId}/promotion-activations/${this.params.promotion.uuid}`, data).then(() => {\n        this.toast.show('Promozione creata con successo', 'success'); \n        this.params.dialog.ok(); \n      }).catch(xhr => { \n        console.log('Error - PATCH promotion-activations', xhr); \n        this.resource.error(xhr); \n      });\n    });\n  }\n}\n","import { PLATFORM, inject } from 'aurelia-framework';\nimport { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmPromozioni {\n  tabs = [\n    {\n      id: 'assegnate',\n      label: 'Assegnazione promozioni',\n      vm: PLATFORM.moduleName('views/servizi/promozioni/tabs/promozioni-assegnate')\n    }, {\n      id: 'gestione',\n      label: 'Gestione promozioni',\n      vm: PLATFORM.moduleName('views/servizi/promozioni/tabs/promozioni-gestione')\n    }\n  ];\n  tools = {\n    copyText: (text, context = 'Testo') => {\n      if (!text) return;\n      navigator.clipboard.writeText(text);\n      this.toast.show(`${context} copiato con successo!`, 'success');\n    }\n  }\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { assegnate: true, gestione: false }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_ASSOCIATED_PROMOTION');\n\n    if (this.api.hasRole('LIST_PROMOTIONS')) {\n      this.privileges.tabs.gestione = true;\n    }\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmPromozioniAssegnate {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-promozioni-assegnate-table',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-promozioni-assegnate-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali promozioni assegnate visualizzare?',\n          datasource: [\n            { value: 'me', text: 'Le promozioni assegnate a me' },\n            { value: 'subusers', text: 'Le promozioni assegnate a un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users' }?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato',\n          datasource: [{ text: 'Attiva', value: 'ACTIVE' }, { text: 'Terminata', value: 'EXPIRED' }],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          query: 'status'\n        }\n      },\n      data: {\n        status: 'ACTIVE'\n      }\n    });\n    this.searchInterface.initialize().then(() => {\n      if (this.searchInterface.data.context === 'me') this.search();\n      else if (this.searchInterface.data.user) this.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  reset() {\n    this.selectedUserId = null;\n    this.selectedUserData = null;\n    this.tableInterface.reset();\n    this.searchInterface.reset(true);\n  }\n\n  search() {\n    if (this.searchInterface.data.context === 'me') { this.selectedUserId = 'me'; }\n    else if (this.searchInterface.data.user) this.selectedUserId = this.searchInterface.data.user;\n    else {\n      this.selectedUserId = null;\n      this.selectedUserData = null;\n    }\n\n    this.tableInterface.endpoint = `users/${this.selectedUserId}/promotion-activations`;\n    this.searchInterface.search().then(() => {\n      this.getUserProfile();\n    });\n  }\n\n  getUserProfile() {\n    this.api.get(`users/${this.selectedUserId}?include=user-profiles`).then(xhr => {\n      let response = xhr.response;\n      if (response.profile && Array.isArray(response.profile)) response.profile = response.profile[0];\n      this.selectedUserData = response;\n    }).catch(xhr => {\n      console.log('Error GET users', xhr);\n    });\n  }\n\n  addPromotion() {\n    this.dialog.open({\n      title: 'Assegna una promozione a',\n      class: 'large add-promotion',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-assegna'),\n      viewModelParams: { user: this.selectedUserData }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n    });\n  }\n  \n  endsPromotion($event, promotion) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Termina promozione',\n      class: 'edit-promotion small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-modifica'),\n      viewModelParams: { type: 'TERMINATE', userId: this.selectedUserId, promotion }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n      $event.model.busy = false; \n    });\n  }\n\n  editPromotion($event, promotion) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Modifica promozione',\n      class: 'edit-promotion small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-modifica'),\n      viewModelParams: { type: 'EDIT', userId: this.selectedUserId, promotion }\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) this.searchInterface.search();\n      $event.model.busy = false; \n    });\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmPromozioniGestione {\n  mdt = mdt;\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n    this.tools = model.tools;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-promozioni-gestione-table',\n      client: this.api,\n      endpoint: 'bo/promotions',\n      query: null\n    });\n    this.tableInterface.initialize().catch(error => { console.log('tableInterface initialization failed', error) });\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-promozioni-gestione-search',\n      table: this.tableInterface,\n      schema: {\n        code: {\n          control: 'text',\n          label: 'Codice',\n          query: 'code-like'\n        },\n        description: {\n          control: 'text',\n          label: 'Descrizione',\n          query: 'description-like'\n        },\n      },\n      data: {}\n    });\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.search();\n    }).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  createPromotion() {\n    if (!this.api.hasRole('CREATE_PROMOTIONS')) return;\n    this.dialog.open({\n      title: 'Crea una nuova promozione',\n      class: 'small',\n      viewModel: PLATFORM.moduleName('views/servizi/promozioni/dialogs/promozioni-crea'),\n      viewModelParams: {}\n    }, true).whenClosed(response => {\n      if (!response.wasCancelled) { this.searchInterface.search(); }\n    });\n  }\n}\n","import {PLATFORM, inject} from 'aurelia-framework';\nimport {Api} from 'services/api';\nimport {KaToast} from 'ka-components';\n\n@inject(Api, KaToast)\nexport class vmRicariche {\n  tabs = [\n    {\n      id: 'ricariche',\n      label: 'Ricariche',\n      vm: PLATFORM.moduleName('views/servizi/ricariche/tabs/ricariche-elenco')\n    }\n  ];\n\n  constructor(api, toast) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.privilege();\n  }\n\n  privilege() {\n    this.privileges = { tabs: { elenco: true }, buttons: {} };\n    this.privileges.isOperator = this.api.hasRole('LIST_ANY_USER_SHOP_CATALOG_REFILL_PACKAGE');\n  }\n}\n","import {inject} from 'aurelia-framework';\nimport {Router} from 'aurelia-router';\nimport {Api} from 'services/api';\nimport {KaDialog, KaToast} from 'ka-components';\nimport {TableInterface, SearchInterface} from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaDialog, KaToast)\nexport class vmRicaricheElenco {\n  mdt = mdt;\n\n  users = {\n    selected: null,\n    fetched: null\n  };\n\n  constructor(router, api, dialog, toast) {\n    this.router = router;\n    this.api = api;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  activate(model) {\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    // INIT TableInterface\n    this.tableInterface = new TableInterface({\n      name: 'tab-ricariche-elenco-table',\n      client: this.api,\n      endpoint: null,\n      query: null\n    });\n    this.tableInterface.initialize().then(() => { this.tableInterface.limit = 100; }).catch(error => { console.log('tableInterface initialization failed', error) });\n\n    // INIT SearchInterface\n    this.searchInterface = new SearchInterface({\n      name: 'tab-ricariche-elenco-search',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          control: 'combo',\n          label: 'Quali ricariche visualizzare?',\n          datasource: [\n            { value: 'me', text: 'Le ricariche aquistabili da me' },\n            { value: 'subusers', text: 'Le ricariche aquistabili da un mio ' + this.mdt.parsers.contextualize(this.api.user, 'utente') }\n          ],\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          required: true\n        },\n        user: { \n          control: 'combo', \n          label: this.mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: { table: `${ this.privileges.isOperator ? 'bo/users' : 'users/me/users' }?include=user-profiles`, query: { search: 'text-search', item: 'id-in'} },\n          datavalue: 'id', \n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          required: true\n        },\n        types: {\n          control: 'combo',\n          label: 'Tipologia',\n          datasource: [{ code: 'null', title: 'Tutte' }],\n          datavalue: 'code',\n          datatext: 'title',\n          datapreload: true,\n          datamultiple: false,\n          required: true,\n          query: 'type-code'\n        },\n        visible: {\n          control: 'combo',\n          label: 'Pacchetti visualizzabili',\n          datasource: [{ value: 'null', text: 'Tutti' }, { value: 'YES', text: 'Visibili all\\'utente' }],\n          datapreload: true,\n          query: 'visible'\n        }\n      },\n      data: {\n        context: !this.privileges.isOperator ? 'me' : null,\n        types: 'null',\n        visible: !this.api.hasRole('LIST_INVISIBLE_SHOP_CATALOG_REFILL_PACKAGES') ? 'YES' : 'null'\n      }\n    });\n    this.searchInterface.initialize().then(() => {}).catch(error => { console.log('searchInterface initialization failed', error) });\n  }\n\n  userChange() {\n    let userId = null;\n    if (this.searchInterface.data.context === 'me') { \n      userId = this.api.user.id;\n      this.searchInterface.data.user = null;\n    } else if (this.searchInterface.data.user) {\n      userId = this.searchInterface.data.user;\n    } else return;\n\n    if (!this.users[userId]) {\n      this.users[userId] = {\n        id: userId,\n        displayName: null,\n        packageTypes: [],\n        packages: [],\n        cart: JSON.parse(localStorage.getItem(`cart-${userId}`)) || {\n          quantity: 0,\n          amount: { net: 0, vat: 0 },\n          packages: {}\n        }\n      };\n      if (userId === this.api.user.id) {\n        this.users[userId].displayName = this.api.user.profile.displayName;\n      } else {\n        setTimeout(() => { this.users[userId].displayName = this.searchInterface.controls.user.objectValue.profile[0].displayName; }, 500);\n      }\n    }\n\n    this.users.selected = this.users[userId];\n    this.api.get(`users/${userId}/shop/catalog/refill-package-types`).then(xhr => {\n      this.users.selected.packageTypes = xhr.response.filter(x => x.packageCount > 0);\n      this.resetTypesDatasource();\n    });\n  }\n\n  typesChange() {\n    if (!this.searchInterface.data.types) this.searchInterface.data.types = 'null';\n    if (this.users.selected) this.search();\n  }\n\n  resetTypesDatasource() {\n    let datasource = [{ code: 'null', title: 'Tutte' }];\n    this.users.selected.packageTypes.forEach(type => {\n      datasource.push({ code: type.code, title: type.title });\n    });\n    this.searchInterface.controls.types.schemaChanged(Object.assign(this.searchInterface.schema.types, { datasource: datasource }));\n    this.searchInterface.data.types = 'null';\n  }\n\n  search() {\n    this.tableInterface.endpoint = `users/${this.users.selected.id}/shop/catalog/refill-packages`;\n    this.searchInterface.search().then(() => {\n      this.users.selected.packages = [];\n      this.users.selected.packageTypes.forEach(type => {\n        let packages = this.tableInterface.data.filter(x => x.typeCode === type.code);\n        this.users.selected.packages.push(Object.assign({ packages: packages }, type));\n      });\n      this.users.fetched = this.users[this.users.selected.id];\n      this.updateCart();\n    }).catch(error => {\n      console.log('Search error', error);\n    });\n  }\n\n  addToCart(pkg) {\n    this.users.fetched.cart.packages[pkg.code] = 1;\n    this.updateCart();\n  }\n\n  setQuantity(pkg, quantity) {\n    quantity = parseInt(this.users.fetched.cart.packages[pkg.code], 10) + parseInt(quantity, 10);\n    quantity = quantity > 0 ? quantity : 1;\n    this.users.fetched.cart.packages[pkg.code] = quantity;\n    this.updateCart();\n  }\n\n  removeFromCart(pkg) {\n    this.users.fetched.cart.packages[pkg.code] = 0;\n    this.updateCart();\n  }\n\n  getCartPayload() {\n    return Object.entries(this.users.fetched.cart.packages).filter(x => x[1] > 0).map(x => { return { code: x[0], quantity: x[1], type: 'REFILL-PACKAGE' } });\n  }\n\n  emptyCart() {\n    this.users.fetched.cart = {\n      quantity: 0,\n      amount: { net: 0, vat: 0 },\n      packages: {}\n    };\n    this.updateCart();\n  }\n\n  updateCart() {\n    let cartbar = document.querySelector('.cartbar');\n    let data = this.getCartPayload();\n    if (data.length) {\n\n      this.api.post(`users/${this.users.fetched.id}/shop/cart-cost-forecast`, data).then(xhr => {\n        setTimeout(() => { \n          this.users.fetched.cart.quantity = xhr.response.totalBasketItems;\n          this.users.fetched.cart.amount.net = xhr.response.totalBasketNetAmount;\n          this.users.fetched.cart.amount.vat = xhr.response.totalBasketVat;\n          localStorage.setItem(`cart-${this.users.fetched.id}`, JSON.stringify(this.users.fetched.cart));\n        }, 500);\n      }).catch(error => {\n        this.api.dialogError(error);\n        let storageCart = JSON.parse(localStorage.getItem(`cart-${this.users.fetched.id}`));\n        if (storageCart) {\n          this.users.fetched.cart = storageCart;\n        } else {\n          this.emptyCart();\n        }\n      }).finally(() => {\n        if (!(this.getCartPayload()).length) return;\n        if (cartbar.classList.contains('filled')) cartbar.classList.add('added');\n        else setTimeout(() => { cartbar.classList.add('filled'); }, 500);\n        setTimeout(() => { cartbar.classList.remove('added'); }, 1000);\n      });\n    } else {\n      localStorage.removeItem(`cart-${this.users.fetched.id}`);\n      cartbar.classList.remove('filled');\n    }\n  }\n\n  checkout(event) {\n    let data = this.getCartPayload();\n    if (!data.length) return;\n    event.model.busy = true;\n    this.api.post(`users/${this.users.fetched.id}/shop/cart/items`, data).then(() => {\n      this.gotoLegacy();\n    }).catch(error => {\n      this.api.dialogError(error);\n      console.error('Errore. Pacchetti non aggiunti al carrello', error);\n    }).finally(() => {\n      event.model.busy = false;\n    });\n  }\n\n  gotoLegacy() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then(xhr => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=cart&requiredUser=${this.users.fetched.id}`, '_blank');\n      this.emptyCart();\n    }).catch(error => { console.error(error)}).finally(() => { this.toast.consume(); });\n  }\n}\n\n","import { Api } from 'services/api';\nimport { Aurelia } from 'aurelia-framework';\nimport { KaToast } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogBankTransfer {\n  prececkout = null;\n\n  static inject = [Api, Aurelia, KaToast, DialogController];\n  constructor(api, aurelia, toast, controller) {\n    this.api = api;\n    this.aurelia = aurelia;\n    this.toast = toast;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.getPrececkout();\n  }\n\n  getPrececkout() {\n    this.api.get(`users/${this.params.queue.owner.id}/queues/${this.params.queue.uuid}/pre-checkout/current`).then(xhr => {\n      this.prececkout = xhr.response;\n      this.email = {\n        address: this.prececkout.paymentCoors.customerCareEmail,\n        subject: `Pagamento spedizione con causale ${this.prececkout.paymentCoors.confirmationShortCode}`,\n        body: `Comunico di aver eseguito il pagamento tramite bonifico tradizionale per la spedizione relativa a ${this.prececkout.paymentCoors.payeeDisplayName} del ${this.aurelia.resources.valueConverters.dateFormat.toView(this.prececkout.createdAt, 'DD/MM/YYYY HH:mm')}.\\n\\nIn allegato la distinta di  pagamento.\\n\\nSi prega di non modificare il contenuto dell'email.`\n      }\n      this.email.mailto = encodeURI(`mailto:${this.email.address}?subject=${this.email.subject}&body=${this.email.body}`);\n      this.customerCareConfirmation = this.prececkout.paymentCoors.customerCareConfirmation.replace(/SLA\\./, '<a href=\"https://termsofservice.multidialogo.it/multidialogo/sla\" target=\"blank_\">SLA.</a>');\n    }).catch(xhr => {\n      console.error('Error - GET pre-checkout/current', xhr);\n      this.api.dialogError(xhr);\n    });\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n}\n","import { Api } from 'services/api';\nimport { KaToast } from 'ka-components';\nimport {inject} from \"aurelia-framework\";\n\n\n@inject(Api, KaToast )\nexport class DialogLegacyHistory {\n  archiveLabel;\n\n  constructor(api, toast ) {\n    this.api = api;\n    this.toast = toast;\n  }\n\n  resource = {\n    schema: {\n      archive: {\n        control: 'combo',\n        label: 'Canali',\n        datasource: [\n          { value: 'mailing_archive', text: 'Email/PEC' },\n          { value: 'mi_archive', text: 'Posta/Multicerta' },\n        ],\n        datatext: 'text',\n        datavalue: 'value'\n      }\n    },\n    data: {\n      archive: 'mailing_archive',\n    }\n  }\n\n  toLegacyArchive() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n      const token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=${this.resource.data.archive}`);\n    }).catch((error) => { console.error(error) }).finally(() => { this.toast.consume(); });\n  }\n\n  setArchiveLabel() {\n    this.archiveLabel = this.resource.schema.archive.datasource.find(item => item.value === this.resource.data.archive)?.text;\n  }\n\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogMessageCostDetail {\n  costVoices\n  \n  activate(params) {\n    this.costVoices = params.message.costVoices;\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogMessageStatusTransitionsHistory {\n  message;\n  isLoading;\n  messageStatuses = {};\n\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.message = params.message;\n    this.queueMessages = params.queueMessages;\n\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.isLoading = true;\n    this.getMessageStatuses().then((xhr) => {\n      this.setMessageStatuses(xhr.response);\n    }).catch((error) => {\n      console.error('getMessageStatuses', error);\n      this.controller.cancel();\n      this.api.dialogError(xhr);\n    }).finally(() => {\n      this.isLoading = false;\n    });\n  }\n\n  getMessageStatuses() {\n    return this.api.get(`queue-message-status-codes`);\n  }\n\n  setMessageStatuses(response) {\n    response.forEach((status) => { \n      this.messageStatuses[status.code] = status;\n    });\n    return response;\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogQueueCostDetail {\n  costVoices;\n\n  activate(params) {\n    this.costVoices = params.record.costVoices;\n    this.record = params.record;\n  }\n}\n","import { Api } from 'services/api';\nimport { observable } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogMessageStatuses {\n  sendCodes;\n  @observable() sendCodeErrors;\n\n  sendCodeErrorsChanged(value) {\n    let parsedValue;\n    try {\n      parsedValue = JSON.parse(value);\n    } finally {\n      this.sendCodes = parsedValue;\n      console.log(parsedValue);\n    }\n  }\n\n  static inject = [Api, DialogController, KaToast, KaDialog];\n  constructor(api, controller, kaToast, KaDialog) {\n    this.api = api;\n    this.toast = kaToast;\n    this.dialog = KaDialog;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.sendCodes = params.sendCodes;\n  }\n\n  csvDownload($event) {\n    const data = { queuesSendCodes: this.sendCodes };\n    const uri = `users/${this.api.user.id}/queue-outlines/download.csv`;\n    $event.model.busy = true;\n\n    this.api.client.createRequest(uri)\n      .asPost()\n      .withContent(data)\n      .withHeader('Accept', 'application/csv')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        let regex;\n        let filename;\n        const contentDisposition = xhr.headers.headers['content-disposition']?.value;\n        const xQueuesSendCodesErrors = xhr.headers.headers['x-queues-sendcodes-errors']?.value;\n\n        // Filename\n        regex = new RegExp('(?<=filename=)(.*)(?=.csv)');\n        filename = contentDisposition.match(regex);\n\n        // Errors\n        this.sendCodeErrors = xQueuesSendCodesErrors;\n\n        const anchor = document.createElement('a');\n        const blob = new Blob([xhr.response], { type: 'text/csv' });\n        const url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = filename[0];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show('Csv scaricato con successo!', 'success');\n        if (!this.sendCodeErrors) this.controller.ok();\n      }).catch((error) => {\n        console.error('queue-outlines/download.csv - GET', error);\n        this.controller.cancel();\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'small', \n          type: 'alert', \n          body: '<p class=\"m-0\">Non è stato possibile generare il file CSV.<strong class=\"d-block\">Riprova o contatta l\\'assistenza MultiDialogo</strong></p>'\n        });\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n  }\n}\n","import { Api } from 'services/api';\nimport { KaDialog, KaToast } from 'ka-components'\nimport { MdFileViewer } from 'services/md-files';\nimport { TableInterface } from 'classes/md-table';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogReportAttachments {\n  queueUuid;\n  endpoint;\n  errorInit;\n  pendingInit;\n  messageUuid;\n  attachments;\n  globalCover;\n  queueOwnerId;\n  globalStaple;\n  fastDelivery;\n\n  static inject = [Api, DialogController, KaDialog, KaToast];\n  constructor(api, controller, kaDialog, toast) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = kaDialog;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.queueUuid = params.queueUuid;\n    this.messageUuid = params.messageUuid;\n    this.queueOwnerId = params.queueOwnerId;\n    this.messageChannel = params.messageChannel;\n    this.mdFileViewer = new MdFileViewer(this.api, this.dialog, this.toast);\n    this.endpoint = `users/${this.queueOwnerId}/queues/${this.queueUuid}/messages/${this.messageUuid}/file-attachments`;\n  }\n\n  attached() {\n    this.init();\n  }\n\n  init() {\n    this.pendingInit = true;\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      name: 'table-report-attachments',\n      endpoint: this.endpoint\n    });\n    this.tableInterface.initialize().then(() => {\n      this.tableInterface.load().then((xhr) => {\n        this.globalCover = xhr.originalResponse.meta.globalCover;\n        this.globalStaple = xhr.originalResponse.meta.globalStaple;\n        this.fastDelivery = xhr.originalResponse.meta.fastDelivery;\n      }).catch(() => {\n        this.errorInit = true;\n      }).finally(() => {\n        this.pendingInit = false;\n      });\n    });\n  }\n\n  downloadFile(slug, attachment, event) {\n    if (event) event.model.busy = true;\n    const uri = `${this.endpoint}/${attachment.uuid}/${slug}`;\n    const filename = attachment.filename.substring(0, attachment.filename.lastIndexOf('.')) || attachment.filename;\n    const download = `${filename}${slug === 'signed-download' ? '-signed' : ''}`;\n\n    return this.api.client.createRequest(uri)\n        .asGet()\n        .withHeader(\"Accept\", \"application/pdf\")\n        .withHeader(\"Content-Type\", \"application/pdf\")\n        .withResponseType('blob')\n        .send()\n        .then((xhr) => {\n          const anchor = document.createElement(\"a\");\n          const blob = new Blob([xhr.response], { type: 'application/pdf' });\n          const url = URL.createObjectURL(blob);\n\n          anchor.href = url;\n          anchor.download = download;\n          document.body.appendChild(anchor);\n          anchor.click();\n          document.body.removeChild(anchor);\n          this.toast.show('Documento scaricato con successo!', 'success');\n        }).catch((error) => {\n          console.error(uri , error);\n          this.toast.show('Impossibile scaricare il file!', 'error');\n        }).finally(() => {\n          if (event) event.model.busy = false;\n        });\n  }\n}\n","import { Api } from 'services/api';\nimport { DialogController } from 'aurelia-dialog';\n\nexport class DialogReportMultiboxDetail {\n  static inject = [Api, DialogController];\n  constructor(api, controller) {\n    this.api = api;\n    this.controller = controller;\n  }\n\n  activate(params) {\n    this.params = params;\n    this.multibox = params.multibox;\n  }\n}\n","import {Api} from 'services/api';\nimport {KaToast} from 'ka-components'\nimport {DialogController, DialogService} from 'aurelia-dialog';\nimport {SearchInterface, TableInterface} from 'classes/md-table';\n\nexport class DialogReportQueueResend {\n  selectableRecipients = {};\n  numberSelected = 0;\n  errorSearch;\n  allPageSelected;\n  allSelected;\n  pendingSearch;\n\n\n  static inject = [Api, DialogController, KaToast, DialogService];\n  constructor(api, controller, toast, dialogService) {\n    this.api = api;\n    this.toast = toast;\n    this.controller = controller;\n    this.dialogService = dialogService;\n  }\n\n  activate(params) {\n    this.queueOwner = params.queue.owner.id;\n    this.queueUuid = params.queue.uuid;\n  }\n\n  async attached() {\n    await this.setDefaults();\n    this.init();\n  }\n\n  async setDefaults() {\n    this.selectableRecipients = { ...await this.getDeafaultSelectableRecipients()};\n    this.numberSelected = this.getSelectedsCount();\n    this.allSelected = true;\n    this.allPageSelected = true;\n  }\n\n  async getDeafaultSelectableRecipients () {\n    const allUuidsMap = new Map();\n    let selectableRecipients = {};\n    this.allUuids = await this.getAllUuid();\n    this.allUuids.forEach(uuid => allUuidsMap.set(uuid, true));\n    return selectableRecipients = Object.fromEntries(allUuidsMap);\n  }\n\n  async init() {\n    this.tableInterface = new TableInterface({\n      client: this.api,\n      endpoint: `users/${this.queueOwner}/queue-outlines/${this.queueUuid}/recipients`,\n      name: `report-queue-resend-table-${this.queueUuid}`\n    });\n    this.tableInterface.events.addEventListener('dataLoaded', (event) => {\n      this.handlePageSelection();\n    });\n\n    this.searchInterface = new SearchInterface({\n      name: `report-queue-resend-table-search-${this.queueUuid}`,\n      table: this.tableInterface,\n      schema: {\n        textSearch: {\n          control: 'text',\n          label: 'Ricerca destinatario',\n          query: 'text-search-like'\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale',\n          datatext: 'text',\n          datavalue: 'value',\n          datapreload: false,\n          datamultiple: true,\n          query: 'channel-in',\n          datasource: [\n            { text: 'PEC', value: 'pec' },\n            { text: 'Posta', value: 'sendposta' },\n            { text: 'Email', value: 'sendemail' },\n            { text: 'Multibox', value: 'multibox' },\n            { text: 'Multicerta', value: 'multicerta' },\n          ]\n        }\n      },\n      data: {}\n    });\n\n    await this.tableInterface.initialize();\n    await this.searchInterface.initialize();\n    this.search();\n  }\n\n  search() {\n    this.pendingSearch = true;\n    return this.searchInterface.search().then(() => {\n      this.errorSearch = false;\n    }).catch(() => {\n      this.errorSearch = true;\n    }).finally(() => {\n      this.pendingSearch = false;\n    });\n  }\n\n  getAllUuid() {\n    return this.api.get(`users/${this.queueOwner}/queue-outlines/${this.queueUuid}/recipients`).then((xhr) => {\n      const response = xhr.response;\n      return response.map(recipient => recipient.uuid);\n    }).catch((error) => {\n      console.error('GET all recipients uuid', error);\n      return [];\n    });\n  }\n\n  getSelectedsCount = () => Object.values(this.selectableRecipients).filter(value => value).length;\n\n  getSelectedsKeys = () => Object.keys(this.selectableRecipients).filter(key => this.selectableRecipients[key]);\n \n  switchAllSelectedButton = () => this.allSelected = !this.allSelected;\n\n  selectAll(select) {\n    Object.keys(this.selectableRecipients).forEach(key => {\n      this.selectableRecipients[key] = select;\n    });\n    this.numberSelected = this.getSelectedsCount();\n    this.allPageSelected = select;\n    this.switchAllSelectedButton();\n  }\n\n  togglePageSelection($event) {\n    this.tableInterface.data.map(record => {\n      this.selectableRecipients[record.uuid] = $event.target.checked;\n    });\n    this.numberSelected = this.getSelectedsCount();\n  }\n\n  handlePageSelection() {\n    this.allPageSelected = this.tableInterface.data.some(item => !!this.selectableRecipients[item.uuid]);\n  }\n\n  toggleRecipientSelection = () => {\n    this.numberSelected = this.getSelectedsCount();\n    this.handlePageSelection();\n  };\n\n  createNewDraft() {\n\n    let recipientsUuid = [...this.getSelectedsKeys()];\n\n    const data = { recipientsUuid };\n    const endpoint = `users/${this.queueOwner}/queue-outlines/${this.queueUuid}/copy`;\n\n    return this.api.post(endpoint, data).then((xhr) => {\n      const response = xhr.response;\n      const newDraftUuid = response.uuid;\n      this.openCopiedQueueInSenderUi(this.queueOwner, newDraftUuid);\n    }).then(() => {\n      this.controller.ok();\n    }).catch((error) => {\n      console.error('Draft creation failed:', error);\n      this.toast.show(`Errore durante la creazione della bozza!`, 'error');\n    });\n  }\n\n  updateCounter() {\n    return this.api.get(`users/me/queue-drafts-outlines/~all?limit=1&statusCode-in=ACTIVE`).then((xhr) => {\n      localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: xhr.originalResponse.meta.total }));\n    });\n  }\n\n  openCopiedQueueInSenderUi(owner, queueUuid) {\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      const token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${owner}&draft=${queueUuid}&ts=${token}#/recipients` },\n        lock: true\n      }).whenClosed(() => {\n        this.updateCounter();\n      });\n    }).catch(error => {\n      console.error('cross-login-tokens/current', error);\n      this.updateCounter();\n      this.toast.show(`Errore durante l'apertura della bozza!`, 'error');\n    });\n  }\n}\n","import { inject } from 'aurelia-framework';\nimport { Router } from 'aurelia-router';\nimport { Api } from 'services/api';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { DialogService } from 'aurelia-dialog';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\nimport mdt from 'services/md-tools';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService)\nexport class ViewPending {\n  mdt = mdt;\n  context = null;\n  select = {\n    recordsSelected: {},\n    someRecordsSelected: false,\n    allRecordsSelected: false,\n    someRecords: (record) => {\n      this.select.recordsSelected[record.id] = !this.select.recordsSelected[record.id];\n      this.select.allRecordsSelected = Object.values(this.select.recordsSelected).every(x => x === true);\n      this.select.someRecordsSelected = Object.values(this.select.recordsSelected).some(x => x === true);\n    },\n    allRecords: () => {\n      this.select.allRecordsSelected = !this.select.allRecordsSelected;\n      this.select.someRecordsSelected = this.select.allRecordsSelected;\n      Object.keys(this.select.recordsSelected).forEach((key) => {\n        this.select.recordsSelected[key] = this.select.allRecordsSelected ? true : false;\n      });\n    },\n    parseRecordsSelected: (stack, records) => {\n      Object.keys(stack).forEach(key => {\n        if (!records.find(x => x.id === key)) {\n          delete stack[key];\n          delete stack.__observers__[key];\n        }\n      });\n      return stack;\n    }\n  }\n\n  constructor(router, api, toast, dialog, dialogService) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.dialogService = dialogService;\n  }\n\n  activate(params) {\n    this.params = params;\n  }\n\n  attached() {\n    this.updateCounter();\n    let sessionContext = JSON.parse(sessionStorage.getItem(btoa('queue-drafts-table-search-data')))?.context || 'USER';\n    this.context = sessionContext === 'USER' ? '' : (sessionContext === 'SUBUSERS' ? '~subs' : '~all');\n\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'queue-drafts-table',\n      client: this.api,\n      endpoint: null,\n      query: 'statusCode-in=ACTIVE'\n    });\n    this.tableInterface.initialize().catch(error => {\n      return console.log('tableInterface initialization failed', error);\n    });\n\n    // Queues Search interface\n    this.searchInterface = new SearchInterface({\n      name: 'queue-drafts-table-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: [\n            {\n              value: 'USER&SUBUSERS',\n              text: `Tutte`,\n            },\n            {\n              value: 'USER',\n              text: `Le spedizioni del mio ${mdt.parsers.contextualize(this.api.user, 'account')}`,\n            },\n            {\n              value: 'SUBUSERS',\n              text: `Le spedizioni dei miei ${mdt.parsers.contextualize(this.api.user, 'utenti')}`,\n            }\n          ]\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'search-recipients-text'\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: {\n            table: 'users/me/users?include=user-profiles',\n            query: { search: 'text-search', item: 'id-in' }\n          },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        payment_method: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: [\n            { value: 'SDD', text: 'SDD' },\n            { value: null, text: 'Qualsiasi' },\n          ],\n          query: 'payment-method'\n        },\n        send_code: {\n          label: 'Codice spedizione',\n          control: 'text',\n          query: 'sendcode'\n        },\n        short_confirmation_code: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        topic: {\n          label: 'Promemoria',\n          control: 'text',\n          query: 'topic'\n        }\n      },\n      data: {\n        context: 'USER&SUBUSERS'\n      }\n    });\n\n    this.tableInterface.parseResponse = (response) => {\n      // I remove from the recordsSelected the records that are not actually displayed\n      this.select.recordsSelected = this.select.parseRecordsSelected(this.select.recordsSelected, response);\n      this.select.someRecordsSelected = this.select.allRecordsSelected = false;\n      return response;\n    };\n\n    this.searchInterface.initialize().then(() => {\n      this.searchInterface.data.totalGrossGte = 0;\n      return this.search();\n    }).catch(error => {\n      return console.log('searchInterface initialization failed', error);\n    });\n  }\n\n  async search() {\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n\n  setEndpoint() {\n    let contextSuffix = this.searchInterface?.data?.context === 'USER' ? '' :\n      this.searchInterface?.data?.context === 'SUBUSERS' && !this.searchInterface.data.owner ? '~subs' :\n        this.searchInterface?.data?.context === 'SUBUSERS' && this.searchInterface.data.owner ? '' : '~all';\n\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' ? null : this.searchInterface.data.owner;\n    let endpoint = `users/${this.searchInterface.data.owner || 'me'}/queue-drafts-outlines/${contextSuffix}`;\n    return this.tableInterface.endpoint = endpoint;\n  }\n\n  updateCounter() {\n    return this.api.get(`users/me/queue-drafts-outlines/~all?limit=1&statusCode-in=ACTIVE`).then((xhr) => {\n      localStorage.setItem('queue-drafts-outlines', JSON.stringify({ totalQueueDrafts: xhr.originalResponse.meta.total }));\n    });\n  }\n\n  reset() {\n    this.searchInterface.reset();\n    this.searchInterface.data.context = 'USER&SUBUSERS';\n    this.search();\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  // !IMPORTANT this permanently deletes the queue and returns to its draft\n  editDraft(record) {\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      let token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${record.owner.userId}&draft=${record.id}&ts=${token}#/recipients` },\n        lock: true\n      }).whenClosed(() => {\n        this.updateCounter().then(() => { this.search(); });\n      });\n    }).catch(error => {\n      console.error('cross-login-tokens/current', error);\n      this.toast.show(`Errore durante l'apertura della bozza!`, 'error');\n    })\n  }\n\n  deleteDraft(record) {\n    this.dialog.open({\n      title: 'Elimina bozza',\n      class: 'large',\n      type: 'confirm',\n      body: '<p class=\"m-0 p-0\">La bozze verrà eliminata.<br><strong>Vuoi procedere?</strong></p>'\n    })\n      .whenClosed(response => {\n        if (!response.wasCancelled) {\n          this.api.delete(`users/${record.owner.userId}/queue-drafts/${record.id}`).then(() => {\n            this.updateCounter().then(() => { this.search(); });\n            this.toast.show('Bozza eliminata con successo!', 'success');\n          }).catch(error => {\n            console.error('Error DELETE queue-drafts', error);\n            this.api.dialogError(error);\n          });\n        }\n      });\n  }\n\n  deleteSelectedDrafts($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Elimina bozze',\n      class: 'large',\n      type: 'confirm',\n      body: '<p class=\"m-0 p-0\">Le bozze selezionate verranno eliminate.<br><strong>Vuoi procedere?</strong></p>'\n    })\n      .whenClosed(response => {\n        if (!response.wasCancelled) {\n          let promises = [];\n          let selectedDrafts = Object.entries(this.select.recordsSelected).filter(x => x[1] === true);\n          selectedDrafts.forEach(selected => {\n            let draft = this.tableInterface.data.find(x => x.id === selected[0]) || null;\n            if (draft) promises.push(this.api.delete(`users/${draft.owner.userId}/queue-drafts/${draft.id}`));\n          });\n\n          Promise.all(promises).then(() => {\n            this.toast.show('Bozze eliminate con successo!', 'success');\n            this.updateCounter().then(() => { this.search().finally(() => { $event.model.busy = false; }); });\n          }).catch(error => {\n            console.error('Error DELETE queue-drafts', error);\n            $event.model.busy = false;\n            this.toast.show('Errore in fase di eliminazione bozze!', 'error');\n          });\n        } else $event.model.busy = false;\n      })\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { MdDatasources } from 'services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, MdDatasources)\nexport class ViewPending {\n  mdt = mdt;\n  isOperator;\n  contextPath;\n  pendingSearch;\n  paymentMethods;\n  contextDatasource;\n  possiblyRequiredFields = ['shortConfirmationCode', 'shipment', 'owner'];\n\n  constructor(router, api, toast, dialog, dialogService, mdDatasources) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.dialogService = dialogService;\n    this.mdDatasources = mdDatasources;\n    this.isOperator = this.api.hasRole('LIST_ANY_QUEUE');\n  }\n\n  activate(params) {\n    this.params = params;\n    this.paymentMethods = this.setPaymentMethod();\n  }\n\n  attached() {\n    this.setContextPath();\n    this.init();\n  }\n\n  setContextPath() {\n    let sessionContext = JSON.parse(sessionStorage.getItem(btoa('pending-queues-table-search-data')))?.context || 'USER';\n    this.contextPath = sessionContext === 'USER' ? '' : (sessionContext === 'SUBUSERS' ? '~subs' : '~all');\n  }\n\n  setPaymentMethod() {\n    const map = new Map();\n    map.set('CREDIT', { label: 'Credito MultiDialogo' });\n    const paymentMethods = this.mdDatasources.paymentMethods;\n    paymentMethods?.forEach((method) => {\n      if (method.code === 'E-PAYMENT') method.label = 'PayPal';\n      map.set(method.code, method); \n    });\n    return Object.fromEntries(map.entries());\n  }\n\n  changeContext(search = this.pendingSearch === undefined) {\n    let path = '~all';\n    const context = this.searchInterface?.data?.context;\n    if (!this.isOperator && !context) this.searchInterface.data.context = 'USER&SUBUSERS';\n    else if (this.isOperator || context === 'USER') path = '';\n    else if (context === 'SUBUSERS') path = '~subs';\n    this.contextPath = path;\n    if (search) this.search();\n  }\n\n  setEndpoint() {\n    const owner = this.searchInterface?.data?.owner;\n    let endpoint = `users/me/queue-outlines/${this.contextPath}`;\n    if (owner) endpoint = `users/${owner}/queue-outlines`;\n    else if (this.isOperator && !owner) endpoint = `bo/queue-outlines`;\n    return endpoint;\n  }\n\n  setContextDatasource() {\n    const datasource = [];\n    const utenti = mdt.parsers.contextualize(this.api.user, 'utenti');\n    const account = mdt.parsers.contextualize(this.api.user, 'account');\n    const _datasource = {\n      'USER': { text: `Le spedizioni del mio ${account}` },\n      'SUBUSERS': { text: `Le spedizioni dei miei ${utenti}` },\n      'USER&SUBUSERS': { text: `Tutte` }\n    }\n    Object.entries(_datasource).forEach(([key, value]) => {\n      datasource.push({ value: key, text: value.text });\n    });\n    return datasource\n  }\n\n  setPaymentMethodDatasource() {\n    const datasource = [{ text: 'Qualsiasi', value: 'null' }];\n    const paymentMethods = this.mdDatasources.paymentMethods;\n    paymentMethods.forEach((method) => {\n      const IsPaymentMethodAllowed = ['SDD', 'E-PAYMENT', 'BANK-TRANSFER'].includes(method.code);\n      if (IsPaymentMethodAllowed) datasource.push({ text: method.label, value: method.code });\n    });\n    return datasource;\n  }\n\n  init() {\n    // Queues table interface\n    this.tableInterface = new TableInterface({\n      name: 'pending-queues-table',\n      client: this.api,\n      query: 'status=ACCEPTANCE'\n    });\n    this.tableInterface.initialize();\n\n    // Queues Search interface\n    this.searchInterface = new SearchInterface({\n      name: 'pending-queues-table-search',\n      table: this.tableInterface,\n      schema: {\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          required: true,\n          datasource: this.setContextDatasource()\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        owner: {\n          control: 'combo',\n          label: this.isOperator ? 'Utente' : mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datasource: {\n            table: `${this.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`,\n            query: { search: 'text-search', item: 'id-in' }\n          },\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datasource: this.setPaymentMethodDatasource(),\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          control: 'text',\n          label: 'Codice di conferma pagamento',\n          query: 'short-confirmation-code'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n      },\n      data: {\n        owner: null,\n        shipment: null,\n        paymentMethod: 'null',\n        shortConfirmationCode: null\n      }\n    });\n\n    this.searchInterface.data = {\n      ...this.searchInterface.data,\n      ...(this.isOperator && { createdAtLte: this.setDefaultDateRange() }),\n      ...(this.isOperator && { createdAtGte: this.setDefaultDateRange(30) }),\n      ...(!this.isOperator && { context: this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER' })\n    }\n\n    this.searchInterface.initialize()\n      .then(() => { \n        if (this.isOperator && this.isSearchEnabled()) setTimeout(() => { this.changeContext(true) }, 500);\n        else this.params['text-search-like'] && this.reset();\n      }\n    );\n  }\n\n  isOrderAmountShowable(record) {\n    const { orderAmount, grossAmount } = record.costVoices?.total ?? {};\n    return grossAmount && orderAmount && orderAmount !== grossAmount;\n  }\n\n  reset() {\n    this.possiblyRequiredFields.forEach((field) => {\n      this.searchInterface.controls[field].required = false;\n    });\n    if (this.searchInterface?.controls?.context?.required) this.searchInterface.controls.context.required = false;\n    return this.searchInterface.reset(false, false).then(() => {\n      this.searchInterface.data.paymentMethod = 'null';\n      if (this.isOperator) {\n        this.searchInterface.data.createdAtLte = this.setDefaultDateRange();\n        this.searchInterface.data.createdAtGte = this.setDefaultDateRange(30);\n      } else {\n        this.searchInterface.data.context = this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER';\n        if (this.params['text-search-like']) {\n          this.searchInterface.data.shipment = this.params['text-search-like'];\n          let url = window.location.toString();\n          const regex = new RegExp('[&|?]text-search-like=[a-z|0-9|-]{36}');\n          url = url.replace(regex, '');\n          window.history.pushState({}, \"\", url);\n          delete this.params['text-search-like'];\n          this.searchInterface.controls.context.required = true;\n        }\n      }\n      this.changeContext(!this.isOperator);\n    });\n  }\n\n  search() { \n    if (this.isOperator) this.handlePossiblyRequiredFields();\n\n    this.pendingSearch = true;\n    this.tableInterface.endpoint = this.setEndpoint();\n\n    return this.searchInterface.search()\n      .then(() => { if (!this.isOperator) this.badgeUpdate(); })\n      .finally(() => { this.pendingSearch = false; });\n  }\n\n  \n  isSearchEnabled() {\n    return this.possiblyRequiredFields.some((field) => this.searchInterface.data[field]);\n  }\n\n  dialogPossiblyRequiredFields() {\n    const body = 'Seleziona un utente o inserisci un codice spedizione o un codice di conferma pagamento';\n    this.dialog.open({ type: 'alert', class: 'small', title: 'Attenzione!', body });\n  }\n\n  handlePossiblyRequiredFields() {\n    const searchEnabled = this.isSearchEnabled();  \n    const isRequired = !searchEnabled;\n\n    this.possiblyRequiredFields.forEach((field) => { this.searchInterface.controls[field].required = isRequired; });\n    if (!searchEnabled) this.dialogPossiblyRequiredFields();\n  }\n\n  async badgeUpdate() {\n    const xhr = await this.api.get(`users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1`);\n    return localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: xhr.originalResponse.meta.total }));\n  }\n\n  userConfirmOrder(record, $event) {\n    if ($event) $event.model.busy = true;\n    this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n      let token = xhr.response.token;\n      this.dialogService.open({\n        viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n        model: { iframe: `/senderui/?owner=${record.owner.id}&ts=${token}#/costs/${record.owner.id}/${record.uuid}` },\n        lock: true\n      }).whenClosed(() => {\n        if ($event) $event.model.busy = false;\n        this.search();\n      });\n    }).catch((xhr) => {\n      console.error('cross-login-tokens/current', xhr);\n      if ($event) $event.model.busy = false;\n    }).finally(() => {\n      if ($event) setTimeout(() => { $event.model.busy = false; }, 5000);\n    });\n  }\n\n  backofficeConfirmOrder($event, record) {\n    $event.model.busy = true;\n    this.dialog.open({\n      title: 'Attenzione!',\n      class: 'small',\n      type: 'confirm',\n      body: `Sei sicuro di voler confermare l'ordine?`\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        const data = { status: \"PAYMENT-CONFIRMED\" };\n        this.api.patch(`bo/users/${record.owner.id}/orders/queues/${record.uuid}/current`, data).then(() => {\n          this.search();\n          this.toast.show(`Ordine confermato con successo!`, 'success');\n        }).catch(xhr => {\n          console.log('Error - PATCH orders/queues', xhr);\n          this.toast.show(`Errore durante l'apertura della spedizione!`, 'error');\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      } else $event.model.busy = false;\n    });\n  }\n\n  bankTranferCheck(record, reason) {\n    let prefix = '';\n\n    return this.api.get(`users/me/queue-outlines/${record.uuid}`).then((xhr) => {\n      if (xhr.response?.paymentMethod === 'BANK-TRANSFER' ) {\n        prefix = `<p class=\"m-0 p-0 mb-3\"><strong style=\"color: #ed5a23\">Attenzione!</strong> Hai impostato il pagamento tramite bonifico per questa spedizione. Ti ricordiamo di annullare qualsiasi pagamento.</p>`;\n      }\n      if (reason === 'edit') return this.editQueue(record, prefix);\n      if (reason === 'delete') return this.abortQueue(record, prefix);\n    }).catch((error) => {\n      this.api.dialogError(error);\n    });\n  }\n\n  // !IMPORTANT this only changes the status of the queue\n  abortQueue(record, prefix) {\n    const messageHtml = `${prefix}<p class=\"m-0 p-0\">La spedizione sarà cancellata <strong>definitivamente</strong>. Sei sicuro di voler procedere alla cancellazione?</p>`\n    this.dialog.open({\n      title: 'Cancella spedizione',\n      class: 'small',\n      type: 'confirm',\n      body: messageHtml\n    }).whenClosed(response => {\n      if (!response.wasCancelled) {\n        const payload = { status: 'ABORTED-BY-USER' };\n        this.api.patch(`users/${record.owner.id}/queues/${record.uuid}`, payload).then(() => {\n          this.search();\n          this.toast.show('Spedizione eliminata con successo!', 'success');\n        }).catch(error => {\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  // !IMPORTANT this permanently deletes the queue and returns to its draft\n  editQueue(record, prefix) {\n    const messageHtml = `${prefix}<p class=\"m-0 p-0\">La seguente operazione <strong>farà tornare la spedizione allo stato di bozza, cancellando l'attuale spedizione in attesa di pagamento.</strong> Desideri procedere?</p>`;\n    this.dialog.open({\n      title: 'Modifica spedizione',\n      class: 'medium',\n      type: 'confirm',\n      body: messageHtml\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.api.delete(`users/${record.owner.id}/queues/${record.uuid}`).then(() => {\n          this.search();\n          this.api.get(`users/me/cross-login-tokens/current`).then(xhr => {\n            let token = xhr.response.token;\n            this.dialogService.open({\n              viewModel: PLATFORM.moduleName('views/app/dialog-senderui'),\n              model: { iframe: `/senderui/?owner=${record.owner.id}&draft=${record.draftUuid}&ts=${token}#/recipients` },\n              lock: true\n            });\n          }).catch(error => {\n            throw error;\n          })\n        }).catch(error => {\n          this.api.dialogError(error);\n        });\n      }\n    });\n  }\n\n  bankTransferData(queue) {\n    this.dialog.open({\n      title: `Pagamento`,\n      class: 'medium bank-transfer-data',\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/bank-transfer-data'),\n      viewModelParams: { queue }\n    }, true);\n  }\n\n  copyText(text, item) {\n    navigator.clipboard.writeText(text);\n    this.toast.show(`${item} copiato con successo!`, 'success');\n  }\n\n  setDefaultDateRange(days) {\n    // If \"days\"(integer), subtracts days from today's date.\n    const currentDate = new Date();\n\n    if (days) {\n      currentDate.setDate(currentDate.getDate() - days);\n    }\n    return currentDate.toISOString();\n  }\n\n  dialogDeletePayment(record) {\n    this.dialog.open({\n      class: 'small',\n      type: 'confirm',\n      title: 'Attenzione!',\n      body: '<p class=\"m-0\">Prima di continuare, assicurarsi di non avere aperta, in un\\'altra tab o in un altro dispositivo, una sessione di pagamento PayPal relativa a questa spedizione.<br><strong>Confermi di voler procedere?</strong></p>'\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        this.deleteOrder(record);\n      }\n    });\n  }\n\n  // !IMPORTANT this only deletes the order and not the queue\n  deleteOrder(record) {\n    if (!record.loading) {\n      record.loading = true;\n      const queueUuid = record.uuid;\n      const queueOwnerId = record.owner?.id;\n      this.api.delete(`users/${queueOwnerId}/orders/queues/${queueUuid}/current`).then(() => {\n        this.search().finally(() => {\n          record.loading = false;\n        });      \n      }).catch((error) => {\n        console.log('Delete payment ', error);\n        record.loading = false;\n        this.api.dialogError(error);\n      });\n    }\n  }\n}\n","import { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { inject } from 'aurelia-framework';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { QueueMessages } from 'classes/queueMessages';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { MdDatasources } from '../../../services/md-datasources';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, MdDatasources, QueueMessages, QueueProperties)\nexport class ViewReportDetail {\n  queue;\n  sender;\n  vector;\n  statusGroup;\n  previousRoute;\n  postages = {};\n  emailForwarding;\n  usedChannels = [];\n  messageStatuses = {};\n  isEmailForwardingUsed;\n  canQueueBeDiscontinued;\n  isGoBackButtonShowable;\n  urlPosteItaliane = 'https://www.poste.it/cerca/index.html#/risultati-spedizioni/';\n\n  get hasNotificationEmail() { \n    return this.sender.emailNotificationAddresses?.length > 0; \n  }\n  \n  constructor(router, api, toast, dialog, MdDatasources, queueMessages, queueProperties) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.mdDatasources = MdDatasources;\n    this.queueMessages = queueMessages;\n    this.queueProperties = queueProperties;\n  } \n  activate(params, navigationInstruction) {\n    this.previousRoute = navigationInstruction.previousInstruction?.fragment;\n    this.params = params;\n  }\n  attached() {\n    const promises = [this.getQueueOutlines(), this.getSender(), this.initMessages(), this.getPostages()];\n    Promise.allSettled(promises).finally(() => {\n      this.isGoBackButtonShowable = true;\n    });\n  }\n\n  // Init\n  async initMessagesInterface() {\n    this.messagesTableInterface = new TableInterface({\n      client: this.api,\n      name: `table-report-detail-queue-${this.params.queueUuid}-messages`,\n      endpoint: `users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}/messages`\n    });\n\n    this.messagesSearchInterface = new SearchInterface({\n      name: `search-queue-${this.params.queueUuid}-report-detail`,\n      table: this.messagesTableInterface,\n      schema: {\n        textSearch: {\n          control: 'text',\n          label: 'Ricerca destinatario',\n          query: 'label-text-search'\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale',\n          datatext: 'text',\n          datavalue: 'value',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.setChannelDatasource(),\n          query: 'channel'\n        },\n        status: {\n          control: 'combo',\n          label: 'Stato',\n          datatext: 'label',\n          datavalue: 'code',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [],\n          query: 'processing-status'\n        },\n      },\n      data: {}\n    });\n\n    await this.messagesTableInterface.initialize();\n    await this.messagesSearchInterface.initialize();\n    return this.messagesSearchInterface.reset(true);\n  }\n  initMessages() {\n    this.initMessagesInterface().then(() => {\n      this.queueMessages.setQueueMessageStatusCodes(this.api).then(() => {\n        this.messagesSearchInterface.schema.status = Object.assign({}, this.messagesSearchInterface.schema.status, { datasource: this.queueMessages.queueMessageStatusCodes });\n        return this.messagesSearchInterface.search();\n      });\n    }).catch((error) => {\n      console.log('initMessages', error);\n      this.api.dialogError(error);\n    });\n  }\n  reinitializeAfterDeliveryInterruption() {\n    this.queue = null;\n    this.isGoBackButtonShowable = false;\n    const promises = [this.getQueueOutlines(), this.initMessages(), this.getPostages()];\n    return Promise.allSettled(promises).then(() => {\n      this.toast.show(`Consegna interrotta con successo!`, 'success');\n    }).finally(() => {\n      this.isGoBackButtonShowable = true;\n    });\n  }\n\n  // Get\n  getQueueOutlines() {\n    return this.api.get(`users/${this.params.queueOwnerId}/queue-outlines/${this.params.queueUuid}`).then((xhr) => {\n      const response = xhr.response;\n      this.usedChannels = response.usedChannels;\n      this.statusGroup = response.statusGroup;\n      this.queue = response;\n\n      this.setIsEmailForwardingUsed();\n      this.setCanQueueBeDiscontinued();\n    }).catch((error) => {\n      console.error('GET queue-outlines', error);\n    });\n  }\n  getSender() {\n    return this.api.get(`users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}/sender`).then((xhr) => {\n      const response = xhr.response;\n      this.sender = response;\n    }).catch((xhr) => {\n      console.error('GET sender', xhr);\n    });\n  }\n  getPostages() {\n    const postalService = this.mdDatasources?.postalServices;\n\n    if (postalService.vectors) {\n      this.vectors = Object.fromEntries(postalService.vectors.map(vector => [vector.code, vector.name]));\n    }\n    if (postalService.postages) {\n      this.postages =  Object.fromEntries(postalService.postages.map(postage => [postage.code, postage.description]));\n      this.postages = {\n        ...this.postages,\n        'MB': 'Multibox'\n      }\n    }\n\n  }\n\n  // Set\n  setChannelDatasource() {\n    let datasource = Object.values(this.queueProperties.channels).map(({ value, text }) => ({ value, text }));\n    return datasource;\n  }\n  setMessageDialogInterruptDelivery() {\n    let message = '<p class=\"m-0\">L\\'invio o la consegna di ogni messaggio sarà irreversibilmente interrotta.</p>';\n    if (this.isSomeChannelIncluded(['sendposta', 'multibox', 'multicerta'])) {\n      message += '<p class=\"m-0 mt-3\"><strong>È possibile che vengano addebitati costi di stampa. Un resoconto dettagliato dei costi applicati sarà inviato al tuo indirizzo email.</strong></p>';\n    }\n    return message;\n  }\n\n  // Dialogs\n  dialogMessageStatusTransitionsHistory(message, queueMessages) {\n    this.dialog.open({\n      title: 'Storico/Cronologia dei passaggi di stato',\n      class: 'message-status-transitions-history',\n      viewModelParams: { message, queueMessages },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/message-status-transitions-history')\n    }, true);\n  }\n  dialogMessageCostDetail(message) {   \n    this.dialog.open({\n      title: 'Dettaglio costi messaggio',\n      class: 'small message-cost-detail',\n      viewModelParams: { message },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/message-cost-detail')\n    }, true);\n  }\n  dialogAttachments(message) {\n    const messageUuid = message.uuid;\n    const queueUuid = this.params.queueUuid;\n    const queueOwnerId = this.params.queueOwnerId;\n    const messageChannel = message.channel;\n    this.dialog.open({\n      class: 'medium report-attachments',\n      title: 'Elenco allegati',\n      viewModelParams: { queueOwnerId, queueUuid, messageUuid, messageChannel},\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-attachments')\n    }, true);\n  }\n  dialogQueueResend(queue) {\n    this.dialog.open({\n      class: 'report-queue-resend',\n      title: 'Reinvia spedizione',\n      viewModelParams: { queue },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-queue-resend')\n    }, true);\n  }\n  dialogMultibox(multibox) {\n    this.dialog.open({\n      class: 'small report-multibox-detail',\n      title: 'Dettaglio Multibox',\n      viewModelParams: { multibox },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/report-multibox-detail')\n    }, true);\n  }\n  dialogInterruptDelivery($event) {\n    $event.model.busy = true;\n    this.dialog.open({\n      type: 'confirm',\n      title: 'Attenzione!',\n      class: 'small interrupt-delivery',\n      body: this.setMessageDialogInterruptDelivery()\n    }).whenClosed((response) => {\n      if (!response.wasCancelled) {\n        return this.interruptDelivery().then(() => {\n          this.queueProperties.uuidQueueToUpdate = this.queue.uuid;        \n          this.reinitializeAfterDeliveryInterruption();\n        }).catch((error) => {\n          console.error('interruptDelivery', error);\n          this.api.dialogError(error);\n        }).finally(() => {\n          $event.model.busy = false;\n        });\n      }\n      $event.model.busy = false;\n    });\n  }\n\n  // Downloads\n  downloadReceipt3A(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let path = `users/me/queues/${this.params.queueUuid}/messages/${record.uuid}/certificate-download`;\n\n    this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', 'application/pdf')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'application/pdf' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = `${record.legacyId}-ricevuta-3A`;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }).catch(xhr => {\n      console.error('ERROR - certificate-download GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n  downloadCertificatesTSD(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let path = `users/me/queues/${this.params.queueUuid}/messages/${record.uuid}/timestamps-download`;\n\n    this.api.client.createRequest(path)\n    .asGet()\n    .withHeader('Accept', 'application/zip')\n    .withResponseType('blob')\n    .send()\n    .then(xhr => {\n      let anchor = document.createElement('a');\n      let blob = new Blob([xhr.response], { type: 'application/zip' });\n      let url = URL.createObjectURL(blob);\n      anchor.href = url;\n      anchor.download = `${record.legacyId}-certficati-TSD`;\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n    }).catch(xhr => {\n      console.error('ERROR - timestamps-download GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n  downloadDeliveryReceipt(record) {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    let path = `users/${this.queue.owner.id}/queues/${this.params.queueUuid}/messages/${record.uuid}/delivery-receipts/current/download`;\n\n    this.api.client.createRequest(path)\n      .asGet()\n      .withHeader('Accept', 'application/pdf')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        let url;\n        let anchor = document.createElement('a');\n        let blob = new Blob([xhr.response], { type: 'application/pdf' });\n        url = URL.createObjectURL(blob);\n        anchor.href = url;\n        anchor.download = `cartolina-di-ritorno-${record.uuid}`;\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n      }).catch(xhr => {\n      console.error('ERROR - deliveryReceipt-download GET', xhr);\n    }).finally(() => {\n      this.toast.consume();\n    });\n  }\n  downloadQueueSchedule() {\n    const uri = `users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}.pdf`;\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader(\"Accept\", \"application/pdf\")\n      .withHeader(\"Content-Type\", \"application/pdf\")\n      .withResponseType('blob')\n      .send()\n      .then((xhr) => {\n        const regexp = new RegExp('filename=(.+\\.pdf$)');\n        const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        const anchor = document.createElement(\"a\");\n        const blob = new Blob([xhr.response], { type: 'application/pdf' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n        this.toast.show(\"Distinta scaricata correttamente\", 'success');\n      }).catch((error) => {\n        console.error(\"impossibile scaricare il pdf\", error);\n        this.toast.show('impossibile scaricare la distinta', 'error');\n      });\n  }\n  downloadLogMessages($event) {\n    $event.model.busy = true;\n\n    const uri = `users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}/message-log/current.txt`;\n    this.toast.show('Caricamento in corso', 'loading');\n\n    return this.api.client.createRequest(uri)\n      .asGet()\n      .withHeader('Accept', 'text/plain')\n      .withResponseType('blob')\n      .send()\n      .then(xhr => {\n        const regexp = new RegExp('filename=(.+\\.txt$)');\n        const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n        const anchor = document.createElement('a');\n        const blob = new Blob([xhr.response], { type: 'text/plain' });\n        const url = URL.createObjectURL(blob);\n\n        anchor.href = url;\n        anchor.download = matches[1];\n        document.body.appendChild(anchor);\n        anchor.click();\n        document.body.removeChild(anchor);\n\n        this.toast.show(`Documento scaricato con successo!`, 'success');\n\n      }).catch((error) => {\n        this.toast.show(`Impossibile scaricare il file!`, 'error');\n        console.error('ERROR - log-messages download - GET', error);\n      }).finally(() => {\n        $event.model.busy = false;\n      });\n  }\n\n  // Features\n  interruptDelivery() {\n    const data = { status: 'DISCONTINUED' };\n    return this.api.patch(`users/${this.params.queueOwnerId}/queues/${this.params.queueUuid}`, data);\n  }\n\n  // Utilities\n  navigateTo(context, uuid) {\n    let url;\n    switch (context) {\n      case 'queue-detail':\n        url = `spedizioni/reportistica/${this.params.queueOwnerId}/${uuid}`;\n        break;\n      case 'envelope-logo':\n        url = `impostazioni/posta?ka-tab-t=loghi&envelopeLogoUuid=${uuid}`;\n        break;\n      case 'back':\n        if (this.previousRoute === '/spedizioni/reportistica/') {\n          const routePaths = {\n            'ARCHIVE': 'archiviate',\n            'PENDING': 'inviate',\n            'COMPLETED': 'inviate',\n            'ABANDONED': 'annullate'\n          }\n          const context = routePaths[this.statusGroup];\n          const param = context ? `/?ka-tab-main=${context}` : '';\n          url = `spedizioni/reportistica${param}`;\n        }\n        break;\n    }\n    if (url) this.router.navigate(url);\n    return this.router.navigateBack();\n  }\n  shouldShowCostLink(cost) { \n    return cost !== '0,00' \n  }\n  setIsEmailForwardingUsed() { \n    return this.isEmailForwardingUsed = this.queue?.emailForwardingUsed === 'YES'; \n  }\n  isSomeChannelIncluded(channels) {\n    return this.queue?.usedChannels?.some(channel => channels.includes(channel)) ?? false;\n  }\n  setCanQueueBeDiscontinued() {\n    return this.canQueueBeDiscontinued = this.queue?.queueDeliveryCanBeDiscontinued === 'YES'; \n  }\n  canDownloadReceipt(record) { \n    return record.deliveryReceiptAvailable === 'YES' && this.api.hasRole(['DOWNLOAD_POSTAL_DELIVERY_RECEIPT_FILE', 'DOWNLOAD_ANY_POSTAL_DELIVERY_RECEIPT_FILE']); \n  }\n  parseDeadlineEvents(deadlineEvents) {\n    return deadlineEvents === 'RECEIVED-READ' ? 'Not. di lettura' : deadlineEvents === 'RECEIVED-OPENED' ? 'Not. di apertura' : 'Notifica';\n  }\n}\n","import mdt from 'services/md-tools';\nimport { Api } from 'services/api';\nimport { Router } from 'aurelia-router';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { PLATFORM, inject } from 'aurelia-framework';\nimport { QueueProperties } from '../../../classes/queueProperties';\n\n\n@inject(Api, Router, KaToast, KaDialog, QueueProperties)\nexport class vmReport {\n  mdt = mdt;\n  privileges;\n  tabs = [\n    {\n      id: 'inviate',\n      label: 'Inviate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/sent')\n    },\n    {\n      id: 'annullate',\n      label: 'Annullate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/canceled')\n    },\n    {\n      id: 'archiviate',\n      label: 'Archiviate',\n      vm: PLATFORM.moduleName('views/spedizioni/report/tabs/archived')\n    }\n  ];\n\n  constructor(api, router, toast, dialog, queueProperties) {\n    this.api = api;\n    this.toast = toast;\n    this.router = router;\n    this.dialog = dialog;\n    this.queueProperties = queueProperties;\n    this.tools = {\n      isDateLowerThan: (queue) => {\n        return queue.createdAt < '2025-06-03T20:00:00Z';\n      },\n      isLegacyQueueDetail: (queue, privileges) => {\n        // return this.tools.isDateLowerThan(queue) && privileges.isOperator;\n        // legacy restored for users: https://www.wrike.com/open.htm?id=4430658655;\n        return this.tools.isDateLowerThan(queue);\n      },\n      displayPaymentMethods: (record) => {\n        return record.partialCreditPayment && record.paymentMethod ? `CREDIT/${record.paymentMethod}` : `${!record.paymentMethod ? 'N/A' : record.paymentMethod}`;\n      },\n      copyText: (text, item) => {\n        if(text) return navigator.clipboard.writeText(text),\n        this.toast.show(`${item} copiato con successo!`, 'success');\n      },\n      getUserData: (id) => {\n        return this.api.get(`users/${id}?include=user-profiles,user-roles`).catch((error) => {\n          console.error(`GET - users`, error);\n          this.toast.show('Errore durante il caricamento dei dati!', 'error');\n        });\n      },\n      setDefaultDateRange: (days) => {\n        // If \"days\"(integer), subtracts days from today's date.\n        const currentDate = new Date();\n\n        if (days) {\n          currentDate.setDate(currentDate.getDate() - days);\n        }\n        return currentDate.toISOString();\n      },\n      setChannelDatasource: () => {\n        const channels = structuredClone(this.queueProperties.channels);\n        const datasource = channels.map((channel) => ({\n          text: channel.text,\n          value: channel.value.toLowerCase()\n        }));\n        return datasource;\n      },\n      setStatusDatasource: (values) => {\n        const statuses = this.queueProperties?.statuses;\n        const datasource = [{ text: 'Tutti', value: 'null' }];\n        values.forEach((value) => {\n          // if you are looking for a status\n          let status = statuses.filter((status) => status.value === value)?.[0];\n          // if you are looking for grouped statuses (multiple states with the same group)\n          if (!status) {\n            let  groupedStatuses = statuses.filter((status) => status.group === value);\n            let groupedValues = groupedStatuses.reduce((accumulator, current) => {\n              return `${accumulator.value},${current.value}`;\n            });\n            status = { text: groupedStatuses[0].group, value: groupedValues };\n          }\n          datasource.push(Object.assign({}, status));\n        });\n        return datasource;\n      },\n      setContextDatasource: (userData) => {\n        const datasource = [{ value: 'USER', text: `Le spedizioni del mio ${mdt.parsers.contextualize(userData, 'account')}` }];\n        if ((!this.privileges.isOperator && this.api.user.group === 'MASTER_USER') || (this.privileges.isOperator && userData?.group === 'MASTER_USER')) {\n          if (!this.privileges.isOperator && this.api.user.group === 'MASTER_USER') {\n            datasource.unshift({ value: 'USER&SUBUSERS', text: `Tutte` });\n          }\n          datasource.push({ value: 'SUBUSERS', text: `Le spedizioni dei miei ${mdt.parsers.contextualize(userData, 'utenti')}` });\n        } return datasource;\n      },\n      setDefault: (searchInterface, dataProperties) => {\n        searchInterface.data.context = this.privileges.isOperator ? 'null' : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER';\n        dataProperties.forEach((property) => {\n          const key = Object.keys(property)[0];\n          const value = Object.values(property)[0];\n          searchInterface.data[key] = value;\n        });\n      },\n      downloadWorkOrderList: (queue) => {\n        this.toast.show('Caricamento in corso', 'loading', true);\n        const uri = `users/${queue.owner.id}/queues/${queue.uuid}.pdf`;\n\n        return this.api.client.createRequest(uri)\n          .asGet()\n          .withHeader(\"Accept\", \"application/pdf\")\n          .withHeader(\"Content-Type\", \"application/pdf\")\n          .withResponseType('blob')\n          .send()\n          .then((xhr) => {\n            const regexp = new RegExp('filename=(.+\\.pdf$)');\n            const matches = xhr.headers.headers['content-disposition'].value.match(regexp);\n            const anchor = document.createElement(\"a\");\n            const blob = new Blob([xhr.response], { type: 'application/pdf' });\n            const url = URL.createObjectURL(blob);\n\n            anchor.href = url;\n            anchor.download = matches[1];\n            document.body.appendChild(anchor);\n            anchor.click();\n            document.body.removeChild(anchor);\n            this.toast.show(\"Distinta scaricata correttamente\", 'success');\n          }).catch((error) => {\n            console.log(\"impossibile scaricare il pdf\", error);\n            this.toast.show('impossibile scaricare la distinta', 'error');\n          }).finally(() => {\n            this.toast.consume();\n          })\n      },\n      openDialogQueueCsvDownload: (selected) => {\n        this.dialog.open({ \n          title: 'Attenzione!', \n          class: 'queue-csv-download small',\n          viewModelParams: { sendCodes: selected },\n          viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-csv-download')\n        });\n      },\n      setSelectable: (response, oldRecords) => {\n        let data = response ? structuredClone(response) : [];\n        const newRecords = data.reduce((accumulator, value) => ({ ...accumulator, [value.sendCode]: false }), {});\n        return Object.assign({}, newRecords, oldRecords);\n      },\n      setSelected: (selectable) => {\n        let selected = [];\n        for (const [key, value] of Object.entries(selectable)) {\n          if (value) {\n            selected.push(key);\n          }\n        }\n        return selected;\n      },\n      setPageSelection: (response, selected) => {\n        let data = response ? structuredClone(response) : [];\n        const dataSendCodes = data.map((queue) => { return queue['sendCode']; });\n        return !!dataSendCodes.length ? dataSendCodes?.every((sendCode) => selected.includes(sendCode)) : false;\n      },\n      navigateTo: (queueOwnerId, queueUuid, direction, islegacyDetail = false) => {\n        if (islegacyDetail) {\n          this.tools.navigateToLegacyReportDetail(queueUuid);\n        }\n        let url = `spedizioni/reportistica/${queueOwnerId}/${queueUuid}`;\n        if (direction) {\n          this.queueProperties.uuidQueueToUpdate = queueUuid;\n          url = `spedizioni/reportistica/?ka-tab-main=${direction}`;\n        }\n        return this.router.navigate(url);\n      },\n      navigateToLegacyReportDetail: (queueUuid) => {\n        this.toast.show('Caricamento in corso', 'loading', true);\n        return this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n          let token = xhr.response.token;\n          window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=multisend_report_detail&uuid=${queueUuid}`);\n        }).catch((error) => {\n          console.error('navigateToLegacyReport', error);\n        }).finally(() => {\n          this.toast.consume();\n        });\n      }\n    };\n    this.privileges = {\n      tabs: { inviate: false, annullate: false, archiviate: false },\n      isOperator: this.api.hasRole('LIST_ANY_QUEUE')\n    };\n  }\n  activate(params) {\n    this.params = params;\n    this.params.queueMessages = this.queueMessages;\n    this.params.queueProperties = this.queueProperties;\n  }\n  attached() {\n    this.init();\n  }\n  init() {\n    this.pendingInit = true;\n    if (this.privileges.isOperator) return this.getClients();\n    return this.privilege();\n  }\n  privilege() {\n    if (this.api.hasRole('LIST_QUEUE')) {\n      this.privileges.tabs.inviate = this.privileges.tabs.annullate = this.privileges.tabs.archiviate = true;\n    }\n    this.pendingInit = false;\n  }\n  openDialogLegacyHistory() {\n    return this.dialog.open({\n      title: 'Storico spedizioni',\n      class: 'legacy-history small',\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/legacy-history')\n    });\n  }\n  toLegacy() {\n    this.toast.show('Caricamento in corso', 'loading', true);\n    this.api.get('users/me/cross-login-tokens/current').then((xhr) => {\n      let token = xhr.response.token;\n      window.open(`${ENVIRONMENT.APP_URL_LEGACY}crosslogin.php?service-token=${token}&action=mi_report&multiqueue_uuid=${this.params.queueUuid}`);\n    }).catch((error) => { console.error(error) }).finally(() => { this.toast.consume(); });\n  }\n  getClients() {\n    return this.api.get('clients?declarable=YES').then((xhr) => {\n      const response = xhr.response;\n      this.params.clients = response;\n    }).catch((error) => {\n      console.error('clients?declarable=YES', error);\n    }).finally(() => {\n      return this.privilege();\n    });\n  }\n}\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { QueueMessages } from 'classes/queueMessages';\nimport { inject, observable } from 'aurelia-framework';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, QueueProperties, QueueMessages)\nexport class ViewArchived {\n  mdt = mdt;\n  userData;\n  statusMessages;\n\n  // Selection\n  pageSelection = false\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  })\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.tools.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.tools.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n\n  constructor(router, api, toast, dialog, dialogService, queueProperties, queueMessages) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n    this.dialogService = dialogService;\n    this.queueMessages = queueMessages;\n    this.queueProperties = queueProperties;\n  }\n  activate(model) {\n    this.tabs = model.tabs;\n    this.tools = model.tools;\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n  attached() {\n    this.initTableInterface();\n    this.initSearchInterface();\n  }\n\n  // Init\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'table-archived-queues',\n      client: this.api,\n      endpoint: null,\n      query: 'directory=ARCHIVE'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.tools.setSelectable(response, this.selectable);\n      this.selected = this.tools.setSelected(this.selectable);\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-archived-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.tools.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`,\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.params.clients,\n          query: 'client-uuid'\n        },\n        channel: {\n          control: 'combo',\n          label: \"Canale d'invio\",\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.tools.setChannelDatasource(),\n          query: 'channel'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        status: {\n          label: 'Stato',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.tools.setStatusDatasource(['COMPLETED', 'Annullata'], 'group'),\n          query: 'status-in'\n        }\n      },\n      data: {\n        totalGrossGte: 0,\n        paymentMethod: 'null',\n        status: 'null',\n        context: this.privileges.isOperator ? 'null' : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    return this.searchInterface.initialize();\n  }\n\n  // Get\n  search() {\n    const isSearchDisabled = this.privileges.isOperator && !this.searchInterface.data.owner && !this.searchInterface.data.shipment;\n    if (isSearchDisabled) {\n      this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n      return;\n    }\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  reset() {\n    this.searchInterface.reset();\n    this.tools.setDefault(this.searchInterface, [{ paymentMethod: 'null' }, { totalGrossGte: 0 }, { status: 'null'}]);\n    this.search();\n  }\n\n  // Set\n  setContextSuffix() {\n    let contextSuffix = '';\n\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.privileges.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.privileges.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.privileges.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n\n    return this.tableInterface.endpoint = endpoint;\n  }\n  setContext() {\n    if (this.privileges.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.tools.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.tools.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n\n  // Utility\n  vmSentReload() {\n    let vmSent = this.tabs.find(x => x.id === 'inviate').controller.currentViewModel;\n    return vmSent.search();\n  }\n  vmCanceledReload() {\n    let vmCanceled = this.tabs.find(x => x.id === 'annullate').controller.currentViewModel;\n    return vmCanceled.search();\n  }\n  unarchive(queue) {\n    let data = { directory: null };\n    this.api.patch(`users/me/queues/${queue.uuid}`, data).then(() => {\n      this.search();\n      this.vmCanceledReload();\n      this.vmSentReload();\n      this.toast.show('Spedizione disarchiviata con successo', 'success');\n    }).catch(error => {\n      console.log('Error queues/ PATCH', error);\n      this.api.dialogError(error);\n    })\n  }\n}\n\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { inject, observable } from 'aurelia-framework';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, QueueProperties)\nexport class ViewCanceled {\n  mdt = mdt;\n  userData;\n\n  // Selection\n  pageSelection = false\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  })\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.tools.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.tools.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n\n  constructor(router, api, toast, dialog, dialogService, queueProperties) {\n    this.router = router;\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.dialogService = dialogService;\n    this.queueProperties = queueProperties;\n  }\n  activate(model) {\n    this.tabs = model.tabs;\n    this.tools = model.tools;\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n  attached() {\n    this.initTableInterface();\n    this.initSearchInterface();\n  }\n\n  // Init\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      name: 'table-cancelled-queues',\n      client: this.api,\n      endpoint: null,\n      query: 'status=ABANDONED'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.tools.setSelectable(response, this.selectable);\n      this.selected = this.tools.setSelected(this.selectable);\n      return response;\n    };\n    this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-cancelled-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.tools.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles`,\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        channel: {\n          control: 'combo',\n          label: \"Canale d'invio\",\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.tools.setChannelDatasource(),\n          query: 'channel'\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.params.clients,\n          query: 'client-uuid'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        abandonedStatus: {\n          label: 'Stato spedizione',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.tools.setStatusDatasource(['ABORTED-BY-USER', 'DISPATCH-ERROR']),\n          query: 'abandoned-status'\n        }\n      },\n      data: {\n        totalGrossGte: 0,\n        paymentMethod: 'null',\n        abandonedStatus: 'null',\n        context: this.privileges.isOperator ? 'null' : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    //setDefaultDateRange(var) -> var is the amount of days to substract if needed\n    this.searchInterface.data = {\n      ...this.searchInterface.data, \n      ...((this.privileges.isOperator && !this.searchInterface.data.createdAtLte) && { createdAtLte: this.tools.setDefaultDateRange() }), \n      ...((this.privileges.isOperator && !this.searchInterface.data.createdAtGte) && { createdAtGte: this.tools.setDefaultDateRange(30) }) \n    }\n    return this.searchInterface.initialize();\n  }\n\n  // Get\n  search() {\n    const isSearchDisabled = this.privileges.isOperator && !this.searchInterface.data.owner && !this.searchInterface.data.shipment;\n    if (isSearchDisabled) {\n      this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n      return;\n    }\n    this.setEndpoint();\n    return this.searchInterface.search();\n  }\n  reset() {\n    this.searchInterface.reset();\n    this.tools.setDefault(this.searchInterface, [{ paymentMethod: 'null' }, { totalGrossGte: 0 }, { status: 'null' }]);\n    this.search();\n  }\n\n  // Set\n  setContext() {\n    if (this.privileges.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.tools.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.tools.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n  setContextSuffix() {\n    let contextSuffix = '';\n\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.privileges.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.privileges.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.privileges.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n\n    return this.tableInterface.endpoint = endpoint;\n  }\n\n  // Utility\n  vmArchiveReload() {\n    let vmArchived = this.tabs.find(x => x.id === 'archiviate').controller.currentViewModel;\n    return vmArchived.search();\n  }\n  archive(queue) {\n    let data = { directory: \"ARCHIVE\" };\n    this.api.patch(`users/me/queues/${queue.uuid}`, data).then(() => {\n      this.search();\n      this.vmArchiveReload();\n      this.toast.show('Spedizione archiviata con successo', 'success');\n    }).catch(error => {\n      console.log('Error queues/ PATCH', error);\n      this.api.dialogError(error);\n    })\n  }\n}\n\n","import { Api } from 'services/api';\nimport mdt from 'services/md-tools';\nimport { Router } from 'aurelia-router';\nimport { DialogService } from 'aurelia-dialog';\nimport { KaToast, KaDialog } from 'ka-components';\nimport { QueueMessages } from 'classes/queueMessages';\nimport { inject, observable } from 'aurelia-framework';\nimport { QueueProperties } from 'classes/queueProperties';\nimport { TableInterface, SearchInterface } from 'classes/md-table';\n\n@inject(Router, Api, KaToast, KaDialog, DialogService, QueueMessages, QueueProperties)\nexport class ViewSent {\n  mdt = mdt;\n  userData;\n  loadingId;\n\n  // Selection\n  pageSelection = false\n  @observable() selected = []; // Selected queue send codes: array (ex: ['...D12G9','...C25RE']);\n  selectable = {}; // Selectable queue send codes object (ex: { '...D12G9': true, '...C25RE': false  })\n\n  togglePageSelection() {\n    this.tableInterface.data?.forEach((queue) => { this.selectable[queue.sendCode] = this.pageSelection; });\n    this.selected = this.tools.setSelected(this.selectable);\n  }\n  selectedChanged() {\n    setTimeout(() => { this.pageSelection = this.tools.setPageSelection(this.tableInterface.data, this.selected); }, 0);\n  }\n  \n  constructor(router, api, toast, dialog, dialogService, queueMessages, queueProperties) {\n    this.api = api;\n    this.toast = toast;\n    this.dialog = dialog;\n    this.router = router;\n    this.dialogService = dialogService;\n    this.queueMessages = queueMessages;\n    this.queueProperties = queueProperties;\n  }\n  activate(model) {\n    this.tabs = model.tabs;\n    this.tools = model.tools;\n    this.params = model.params;\n    this.privileges = model.privileges;\n  }\n  attached() {\n    this.initTableInterface();\n    this.initSearchInterface().then(() => {\n      if (!this.isOperator && this.params['text-search-like']) this.reset();\n      return !this.privileges.isOperator && this.search();\n    });\n  }\n\n  // Init\n  initTableInterface() {\n    this.tableInterface = new TableInterface({\n      endpoint: null,\n      client: this.api,\n      isLoading: false,\n      name: 'table-sent-queues',\n      query: 'status-in=COMPLETED,PENDING,DISCONTINUED'\n    });\n    this.tableInterface.parseResponse = (response) => {\n      this.selectable = this.tools.setSelectable(response, this.selectable);\n      this.selected = this.tools.setSelected(this.selectable);\n      this.updateWaitingQueuesStorage();\n      return response;\n    };\n    return this.tableInterface.initialize();\n  }\n  initSearchInterface() {\n    this.searchInterface = new SearchInterface({\n      name: 'search-sent-queues',\n      table: this.tableInterface,\n      schema: {\n        context: {\n          label: 'Quali spedizioni visualizzare?',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datasource: this.tools.setContextDatasource(this.api.user),\n          required: true,\n        },\n        owner: {\n          control: 'combo',\n          label: mdt.parsers.contextualize(this.api.user, 'Utente'),\n          datavalue: 'id',\n          datatext: 'profile[0].displayName',\n          datamultiple: false,\n          datapreload: false,\n          datasource: {\n            table: `${this.privileges.isOperator ? 'bo/users' : 'users/me/users'}?include=user-profiles&status=ACTIVE`,\n            query: { search: 'text-search', item: 'id-in' }\n          }\n        },\n        clients: {\n          control: 'combo',\n          label: 'Gestionale utilizzato',\n          datavalue: 'id',\n          datatext: 'name',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.params.clients,\n          query: 'client-uuid'\n        },\n        channel: {\n          control: 'combo',\n          label: 'Canale d\\'invio',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: true,\n          datasource: this.tools.setChannelDatasource(),\n          query: 'channel'\n        },\n        createdAtGte: {\n          label: 'Spedizione creata dal',\n          control: 'date',\n          query: 'created-at-gte'\n        },\n        createdAtLte: {\n          label: 'al',\n          control: 'date',\n          query: 'created-at-lte'\n        },\n        totalGrossGte: {\n          label: 'Importo minimo',\n          control: 'number',\n          query: 'total-gross-gte'\n        },\n        totalGrossLte: {\n          label: 'Importo massimo',\n          control: 'number',\n          query: 'total-gross-lte'\n        },\n        recipient: {\n          label: 'Destinatario',\n          control: 'text',\n          query: 'recipient-text-search-like'\n        },\n        shipment: {\n          label: 'Spedizione',\n          control: 'text',\n          query: 'text-search-like'\n        },\n        paymentMethod: {\n          label: 'Metodo di pagamento',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: [\n            { value: 'null', text: 'Qualsiasi' },\n            { value: 'SDD', text: 'SDD' },\n            { value: 'BANK-TRANSFER', text: 'Bonifico bancario' },\n          ],\n          query: 'payment-method'\n        },\n        shortConfirmationCode: {\n          label: 'Codice di conferma pagamento',\n          control: 'text',\n          query: 'short-confirmation-code'\n        },\n        status: {\n          label: 'Stato',\n          control: 'combo',\n          datavalue: 'value',\n          datatext: 'text',\n          datamultiple: false,\n          datapreload: false,\n          datasource: this.tools.setStatusDatasource(['COMPLETED', 'PENDING', 'DISCONTINUED']),\n          query: 'status-in'\n        },\n      },\n      data: {\n        status: 'null',\n        paymentMethod: 'null',\n        context: this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER'\n      }\n    });\n    this.searchInterface.data = {\n      ...this.searchInterface.data, \n      ...((this.privileges.isOperator && !this.searchInterface.data.createdAtLte) && { createdAtLte: this.tools.setDefaultDateRange() }), \n      ...((this.privileges.isOperator && !this.searchInterface.data.createdAtGte) && { createdAtGte: this.tools.setDefaultDateRange(30) }) \n    }   \n    return this.searchInterface.initialize();\n  }\n\n  // Get\n  search() {\n    if (this.isSearchDisabled()) {\n      return new Promise((resolve) => {\n        this.toast.show(`Seleziona un utente o inserisci un codice spedizione`, 'error');\n        resolve();\n      });\n    }\n    this.setEndpoint();\n    return this.searchInterface.search().then(() => {\n      const queue = this.tableInterface.data.find((record) => record.uuid === this.queueProperties.uuidQueueToUpdate);\n      if (queue) this.updateQueueMessages(queue);\n      else this.queueProperties.uuidQueueToUpdate = null;\n    });\n  }\n  reset() {\n    if (this.searchInterface?.controls?.context?.required) this.searchInterface.controls.context.required = false;\n    return this.searchInterface.reset(false, false).then(() => {\n      const dataDefaultProperties = [\n        { status: 'null' }, \n        { paymentMethod: 'null' },\n        { createdAtLte: this.tools.setDefaultDateRange() },\n        { createdAtGte: this.tools.setDefaultDateRange(30) },\n        { context: this.privileges.isOperator ? null : this.api.user.group === 'MASTER_USER' ? 'USER&SUBUSERS' : 'USER' },\n        { shipment: (!this.privileges.isOperator && this.params['text-search-like']) ? this.params['text-search-like'] : null }\n      ];\n      this.tools.setDefault(this.searchInterface, dataDefaultProperties);\n      if (this.params['text-search-like']) {\n        let url = window.location.toString();\n        const regex = new RegExp('[&|?]text-search-like=[a-z|0-9|-]{36}');\n        url = url.replace(regex, '');\n        window.history.pushState({}, \"\", url);\n        delete this.params['text-search-like'];\n        this.searchInterface.controls.context.required = true;\n      } else {\n        this.search().finally(() => {\n          this.searchInterface.controls.context.required = true;\n        });\n      }\n    });\n  }\n\n  // Set\n  setContextSuffix() {\n    let contextSuffix = '';\n\n    if (this.searchInterface?.data?.context === 'USER') {\n      contextSuffix = '';\n    } else if (this.searchInterface?.data?.context === 'SUBUSERS') {\n      switch (true) {\n        case this.privileges.isOperator:\n          contextSuffix = '~subs';\n          break;\n        case !this.searchInterface.data.owner:\n          contextSuffix = '~subs';\n          break;\n        case this.searchInterface.data.owner:\n          contextSuffix = '';\n          break;\n      }\n    } else {\n      contextSuffix = '~all';\n    }\n\n    if (contextSuffix.length) {\n      contextSuffix = `/${contextSuffix}`;\n    }\n\n    return contextSuffix;\n  }\n  setEndpoint() {\n    const contextSuffix = this.setContextSuffix();\n\n    this.searchInterface.data.owner = this.searchInterface?.data?.context !== 'SUBUSERS' && !this.privileges.isOperator ? null : this.searchInterface.data.owner;\n    let endpoint = this.privileges.isOperator && !this.searchInterface.data.owner ? 'bo/queue-outlines' : `users/${this.searchInterface.data.owner || 'me'}/queue-outlines${contextSuffix}`;\n    return this.tableInterface.endpoint = endpoint;\n  }\n  setContext() {\n    if (this.privileges.isOperator) {\n      this.searchInterface.data.context = null;\n      if (this.searchInterface.data.owner) {\n        this.tools.getUserData(this.searchInterface.data.owner).then((xhr) => {\n          const response = xhr.response;\n          response.profile = response.profile[0];\n          this.userData = response;\n          if (this.userData.parentId) {\n            this.searchInterface.data.context = null;\n          } else {\n            this.searchInterface.schema.context.datasource = this.tools.setContextDatasource(this.userData);\n          }\n        });\n      } else {\n        this.searchInterface.data.context = null;\n        this.userData = null;\n      }\n    }\n  }\n\n  // Dialogs\n  dialogQueueCostDetail(record) {\n    this.dialog.open({\n      title: 'Dettaglio costi spedizione',\n      class: 'small queue-cost-detail',\n      viewModelParams: { record },\n      viewModel: PLATFORM.moduleName('views/spedizioni/dialogs/queue-cost-detail')\n    }, true);\n  }\n\n  // Features\n  archive(queue) {\n    let data = { directory: \"ARCHIVE\" };\n    this.api.patch(`users/me/queues/${queue.uuid}`, data).then(() => {\n      this.search();\n      this.vmArchiveReload();\n      this.toast.show('Spedizione archiviata con successo', 'success');\n    }).catch(error => {\n      console.error('Error queues/ PATCH', error);\n      this.api.dialogError(error);\n    })\n  }\n  vmArchiveReload() {\n    let vmArchived = this.tabs.find(x => x.id === 'archiviate').controller.currentViewModel;\n    return vmArchived.search();\n  }\n  updateWaitingQueuesStorage() {\n    if (!this.api.hasRole('LIST_ANY_QUEUE')) {\n      return this.api.get(`users/me/queue-outlines/~all?status=ACCEPTANCE&limit=1`).then((xhr) => {\n        return localStorage.setItem('queue-outlines', JSON.stringify({ totalQueuesPendingPayment: xhr.originalResponse.meta.total }));\n      });\n    }\n  }\n\n  // Utilities\n  isSearchDisabled() {\n    return this.privileges.isOperator && !this.searchInterface.data.owner && !this.searchInterface.data.shipment;\n  }\n  shouldShowCostLink(cost) { \n    return cost !== '0,00' \n  }\n  updateQueueMessages(record, $event) {\n    if (record && !record.loading) {\n      record.loading = true;\n      this.queueProperties.update(this.api.client, record).then((xhr) => {\n        Object.assign(record, xhr.response);\n        if ($event) this.toast.show('Stato spedizione aggiornato!', 'success');\n      }).catch((error) => {\n        console.error('GET queue-outlines ', error);\n        if ($event) this.toast.show('Errore aggiornamento stato spedizione!', 'error');\n      }).finally(() => {\n        record.loading = false;\n        this.queueProperties.uuidQueueToUpdate = null;\n      });\n    }\n  }\n}\n\n","var charenc = {\n  // UTF-8 encoding\n  utf8: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n    }\n  },\n\n  // Binary encoding\n  bin: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      for (var bytes = [], i = 0; i < str.length; i++)\n        bytes.push(str.charCodeAt(i) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      for (var str = [], i = 0; i < bytes.length; i++)\n        str.push(String.fromCharCode(bytes[i]));\n      return str.join('');\n    }\n  }\n};\n\nmodule.exports = charenc;\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../../modules/es7.array.flat-map');\nmodule.exports = require('../../modules/_core').Array.flatMap;\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","'use strict';\nrequire('../../modules/es6.promise');\nrequire('../../modules/es7.promise.finally');\nmodule.exports = require('../../modules/_core').Promise['finally'];\n","require('../../modules/es7.string.pad-end');\nmodule.exports = require('../../modules/_core').String.padEnd;\n","require('../../modules/es7.string.pad-start');\nmodule.exports = require('../../modules/_core').String.padStart;\n","require('../../modules/es7.string.trim-right');\nmodule.exports = require('../../modules/_core').String.trimRight;\n","require('../../modules/es7.string.trim-left');\nmodule.exports = require('../../modules/_core').String.trimLeft;\n","require('../../modules/es7.symbol.async-iterator');\nmodule.exports = require('../../modules/_wks-ext').f('asyncIterator');\n","require('../modules/es7.global');\nmodule.exports = require('../modules/_core').global;\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.G, { global: require('./_global') });\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n  if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n  return +it;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n  ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? at(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n  var O = toObject(this);\n  var len = toLength(O.length);\n  var to = toAbsoluteIndex(target, len);\n  var from = toAbsoluteIndex(start, len);\n  var end = arguments.length > 2 ? arguments[2] : undefined;\n  var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n  var inc = 1;\n  if (from < to && to < from + count) {\n    inc = -1;\n    from += count - 1;\n    to += count - 1;\n  }\n  while (count-- > 0) {\n    if (from in O) O[to] = O[from];\n    else delete O[to];\n    to += inc;\n    from += inc;\n  } return O;\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n  var O = toObject(this);\n  var length = toLength(O.length);\n  var aLen = arguments.length;\n  var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n  var end = aLen > 2 ? arguments[2] : undefined;\n  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n  while (endPos > index) O[index++] = value;\n  return O;\n};\n","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  var create = $create || asc;\n  return function ($this, callbackfn, that) {\n    var O = toObject($this);\n    var self = IObject(O);\n    var f = ctx(callbackfn, that, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n    var val, res;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      val = self[index];\n      res = f(val, index, O);\n      if (TYPE) {\n        if (IS_MAP) result[index] = res;   // map\n        else if (res) switch (TYPE) {\n          case 3: return true;             // some\n          case 5: return val;              // find\n          case 6: return index;            // findIndex\n          case 2: result.push(val);        // filter\n        } else if (IS_EVERY) return false; // every\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n  };\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n  aFunction(callbackfn);\n  var O = toObject(that);\n  var self = IObject(O);\n  var length = toLength(O.length);\n  var index = isRight ? length - 1 : 0;\n  var i = isRight ? -1 : 1;\n  if (aLen < 2) for (;;) {\n    if (index in self) {\n      memo = self[index];\n      index += i;\n      break;\n    }\n    index += i;\n    if (isRight ? index < 0 : length <= index) {\n      throw TypeError('Reduce of empty array with no initial value');\n    }\n  }\n  for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n    memo = callbackfn(memo, self[index], index, O);\n  }\n  return memo;\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n  var C;\n  if (isArray(original)) {\n    C = original.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n  return new (speciesConstructor(original))(length);\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n  if (!(len in factories)) {\n    for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n    // eslint-disable-next-line no-new-func\n    factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n  } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n  var fn = aFunction(this);\n  var partArgs = arraySlice.call(arguments, 1);\n  var bound = function (/* args... */) {\n    var args = partArgs.concat(arraySlice.call(arguments));\n    return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n  };\n  if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n  return bound;\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n  // fast case\n  var index = fastKey(key);\n  var entry;\n  if (index !== 'F') return that._i[index];\n  // frozen object case\n  for (entry = that._f; entry; entry = entry.n) {\n    if (entry.k == key) return entry;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;         // collection type\n      that._i = create(null); // index\n      that._f = undefined;    // first entry\n      that._l = undefined;    // last entry\n      that[SIZE] = 0;         // size\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear() {\n        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n          entry.r = true;\n          if (entry.p) entry.p = entry.p.n = undefined;\n          delete data[entry.i];\n        }\n        that._f = that._l = undefined;\n        that[SIZE] = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function (key) {\n        var that = validate(this, NAME);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.n;\n          var prev = entry.p;\n          delete that._i[entry.i];\n          entry.r = true;\n          if (prev) prev.n = next;\n          if (next) next.p = prev;\n          if (that._f == entry) that._f = next;\n          if (that._l == entry) that._l = prev;\n          that[SIZE]--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        validate(this, NAME);\n        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n        var entry;\n        while (entry = entry ? entry.n : this._f) {\n          f(entry.v, entry.k, this);\n          // revert to the last existing entry\n          while (entry && entry.r) entry = entry.p;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(validate(this, NAME), key);\n      }\n    });\n    if (DESCRIPTORS) dP(C.prototype, 'size', {\n      get: function () {\n        return validate(this, NAME)[SIZE];\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var entry = getEntry(that, key);\n    var prev, index;\n    // change existing entry\n    if (entry) {\n      entry.v = value;\n    // create new entry\n    } else {\n      that._l = entry = {\n        i: index = fastKey(key, true), // <- index\n        k: key,                        // <- key\n        v: value,                      // <- value\n        p: prev = that._l,             // <- previous entry\n        n: undefined,                  // <- next entry\n        r: false                       // <- removed\n      };\n      if (!that._f) that._f = entry;\n      if (prev) prev.n = entry;\n      that[SIZE]++;\n      // add to index\n      if (index !== 'F') that._i[index] = entry;\n    } return that;\n  },\n  getEntry: getEntry,\n  setStrong: function (C, NAME, IS_MAP) {\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    $iterDefine(C, NAME, function (iterated, kind) {\n      this._t = validate(iterated, NAME); // target\n      this._k = kind;                     // kind\n      this._l = undefined;                // previous\n    }, function () {\n      var that = this;\n      var kind = that._k;\n      var entry = that._l;\n      // revert to the last existing entry\n      while (entry && entry.r) entry = entry.p;\n      // get next entry\n      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n        // or finish the iteration\n        that._t = undefined;\n        return step(1);\n      }\n      // return step by kind\n      if (kind == 'keys') return step(0, entry.k);\n      if (kind == 'values') return step(0, entry.v);\n      return step(0, [entry.k, entry.v]);\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(NAME);\n  }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n  return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n  this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n  return arrayFind(store.a, function (it) {\n    return it[0] === key;\n  });\n};\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.a.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = arrayFindIndex(this.a, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.a.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;      // collection type\n      that._i = id++;      // collection id\n      that._l = undefined; // leak store for uncaught frozen objects\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n        return data && $has(data, this._i) && delete data[this._i];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n        return data && $has(data, this._i);\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var data = getWeak(anObject(key), true);\n    if (data === true) uncaughtFrozenStore(that).set(key, value);\n    else data[that._i] = value;\n    return that;\n  },\n  ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n  var Base = global[NAME];\n  var C = Base;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var proto = C && C.prototype;\n  var O = {};\n  var fixMethod = function (KEY) {\n    var fn = proto[KEY];\n    redefine(proto, KEY,\n      KEY == 'delete' ? function (a) {\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'has' ? function has(a) {\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'get' ? function get(a) {\n        return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n        : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n    );\n  };\n  if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n    new C().entries().next();\n  }))) {\n    // create collection constructor\n    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n    redefineAll(C.prototype, methods);\n    meta.NEED = true;\n  } else {\n    var instance = new C();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~  Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new C();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n    if (!ACCEPT_ITERABLES) {\n      C = wrapper(function (target, iterable) {\n        anInstance(target, C, NAME);\n        var that = inheritIfRequired(new Base(), target, C);\n        if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n        return that;\n      });\n      C.prototype = proto;\n      proto.constructor = C;\n    }\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n    // weak collections should not contains .clear method\n    if (IS_WEAK && proto.clear) delete proto.clear;\n  }\n\n  setToStringTag(C, NAME);\n\n  O[NAME] = C;\n  $export($export.G + $export.W + $export.F * (C != Base), O);\n\n  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n  return C;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n  return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n  return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n  $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n  if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n  var d = this;\n  var y = d.getUTCFullYear();\n  var m = d.getUTCMilliseconds();\n  var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n  return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n    '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n    'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n    ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n  if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n  return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n  var key, own, out, exp;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    // export native or passed\n    out = (own ? target : source)[key];\n    // bind timers to global for call from export context\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // extend global\n    if (target) redefine(target, key, out, type & $export.U);\n    // export\n    if (exports[key] != out) hide(exports, key, exp);\n    if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n  }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n  var re = /./;\n  try {\n    '/./'[KEY](re);\n  } catch (e) {\n    try {\n      re[MATCH] = false;\n      return !'/./'[KEY](re);\n    } catch (f) { /* empty */ }\n  } return true;\n};\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  // #replace needs built-in support for named groups.\n  // #match works fine because it just return the exec results, even if it has\n  // a \"grops\" property.\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n  // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n  var SYMBOL = wks(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n    re.exec = function () { execCalled = true; return null; };\n    if (KEY === 'split') {\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n    }\n    re[SYMBOL]('');\n    return !execCalled;\n  }) : undefined;\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var fns = exec(\n      defined,\n      SYMBOL,\n      ''[KEY],\n      function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n        if (regexp.exec === regexpExec) {\n          if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n            // The native String method already delegates to @@method (this\n            // polyfilled function), leasing to infinite recursion.\n            // We avoid it by directly calling the native @@method method.\n            return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n          }\n          return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n        }\n        return { done: false };\n      }\n    );\n    var strfn = fns[0];\n    var rxfn = fns[1];\n\n    redefine(String.prototype, KEY, strfn);\n    hide(RegExp.prototype, SYMBOL, length == 2\n      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n      // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n      ? function (string, arg) { return rxfn.call(string, this, arg); }\n      // 21.2.5.6 RegExp.prototype[@@match](string)\n      // 21.2.5.9 RegExp.prototype[@@search](string)\n      : function (string) { return rxfn.call(string, this); }\n    );\n  }\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n  var targetIndex = start;\n  var sourceIndex = 0;\n  var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n  var element, spreadable;\n\n  while (sourceIndex < sourceLen) {\n    if (sourceIndex in source) {\n      element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n      spreadable = false;\n      if (isObject(element)) {\n        spreadable = element[IS_CONCAT_SPREADABLE];\n        spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n      }\n\n      if (spreadable && depth > 0) {\n        targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n      } else {\n        if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n        target[targetIndex] = element;\n      }\n\n      targetIndex++;\n    }\n    sourceIndex++;\n  }\n  return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n  var S = target.constructor;\n  var P;\n  if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n    setPrototypeOf(that, P);\n  } return that;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n  // Old FF bug\n  || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n  // Tor Browser bug\n  || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n  return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n  return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n  var $abs = Math.abs(x);\n  var $sign = sign(x);\n  var a, result;\n  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n  a = (1 + EPSILON32 / EPSILON) * $abs;\n  result = a - (a - $abs);\n  // eslint-disable-next-line no-self-compare\n  if (result > MAX32 || result != result) return $sign * Infinity;\n  return $sign * result;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n  return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n  // eslint-disable-next-line no-self-compare\n  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || isEnum.call(O, key)) {\n        result.push(isEntries ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n  var keys = gOPN.f(anObject(it));\n  var getSymbols = gOPS.f;\n  return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n  var string = $trim(String(str), 3);\n  var result = $parseFloat(string);\n  return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n  var string = $trim(String(str), 3);\n  return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","module.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) redefine(target, key, src[key], safe);\n  return target;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n  return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n  var isFunction = typeof val == 'function';\n  if (isFunction) has(val, 'name') || hide(val, 'name', key);\n  if (O[key] === val) return;\n  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if (O === global) {\n    O[key] = val;\n  } else if (!safe) {\n    delete O[key];\n    hide(O, key, val);\n  } else if (O[key]) {\n    O[key] = val;\n  } else {\n    hide(O, key, val);\n  }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (typeof exec === 'function') {\n    var result = exec.call(R, S);\n    if (typeof result !== 'object') {\n      throw new TypeError('RegExp exec method returned something other than an Object or null');\n    }\n    return result;\n  }\n  if (classof(R) !== 'RegExp') {\n    throw new TypeError('RegExp#exec called on incompatible receiver');\n  }\n  return builtinExec.call(R, S);\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/,\n      re2 = /b*/g;\n  nativeExec.call(re1, 'a');\n  nativeExec.call(re2, 'a');\n  return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n  patchedExec = function exec(str) {\n    var re = this;\n    var lastIndex, reCopy, match, i;\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n    match = nativeExec.call(re, str);\n\n    if (UPDATES_LAST_INDEX_WRONG && match) {\n      re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      // eslint-disable-next-line no-loop-func\n      nativeReplace.call(match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n  // eslint-disable-next-line no-self-compare\n  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call\n    arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n  });\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n  if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n  return String(defined(that));\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n  var S = String(defined(string));\n  var p1 = '<' + tag;\n  if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n  var O = {};\n  O[NAME] = exec(createHTML);\n  $export($export.P + $export.F * fails(function () {\n    var test = ''[NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  }), 'String', O);\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n  var S = String(defined(that));\n  var stringLength = S.length;\n  var fillStr = fillString === undefined ? ' ' : String(fillString);\n  var intMaxLength = toLength(maxLength);\n  if (intMaxLength <= stringLength || fillStr == '') return S;\n  var fillLen = intMaxLength - stringLength;\n  var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n  if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n  return left ? stringFiller + S : S + stringFiller;\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n  var str = String(defined(this));\n  var res = '';\n  var n = toInteger(count);\n  if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n  return res;\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n  var exp = {};\n  var FORCE = fails(function () {\n    return !!spaces[KEY]() || non[KEY]() != non;\n  });\n  var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n  if (ALIAS) exp[ALIAS] = fn;\n  $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n  string = String(defined(string));\n  if (TYPE & 1) string = string.replace(ltrim, '');\n  if (TYPE & 2) string = string.replace(rtrim, '');\n  return string;\n};\n\nmodule.exports = exporter;\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n  '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (require('./_cof')(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n  if (it === undefined) return 0;\n  var number = toInteger(it);\n  var length = toLength(number);\n  if (number !== length) throw RangeError('Wrong length!');\n  return length;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nif (require('./_descriptors')) {\n  var LIBRARY = require('./_library');\n  var global = require('./_global');\n  var fails = require('./_fails');\n  var $export = require('./_export');\n  var $typed = require('./_typed');\n  var $buffer = require('./_typed-buffer');\n  var ctx = require('./_ctx');\n  var anInstance = require('./_an-instance');\n  var propertyDesc = require('./_property-desc');\n  var hide = require('./_hide');\n  var redefineAll = require('./_redefine-all');\n  var toInteger = require('./_to-integer');\n  var toLength = require('./_to-length');\n  var toIndex = require('./_to-index');\n  var toAbsoluteIndex = require('./_to-absolute-index');\n  var toPrimitive = require('./_to-primitive');\n  var has = require('./_has');\n  var classof = require('./_classof');\n  var isObject = require('./_is-object');\n  var toObject = require('./_to-object');\n  var isArrayIter = require('./_is-array-iter');\n  var create = require('./_object-create');\n  var getPrototypeOf = require('./_object-gpo');\n  var gOPN = require('./_object-gopn').f;\n  var getIterFn = require('./core.get-iterator-method');\n  var uid = require('./_uid');\n  var wks = require('./_wks');\n  var createArrayMethod = require('./_array-methods');\n  var createArrayIncludes = require('./_array-includes');\n  var speciesConstructor = require('./_species-constructor');\n  var ArrayIterators = require('./es6.array.iterator');\n  var Iterators = require('./_iterators');\n  var $iterDetect = require('./_iter-detect');\n  var setSpecies = require('./_set-species');\n  var arrayFill = require('./_array-fill');\n  var arrayCopyWithin = require('./_array-copy-within');\n  var $DP = require('./_object-dp');\n  var $GOPD = require('./_object-gopd');\n  var dP = $DP.f;\n  var gOPD = $GOPD.f;\n  var RangeError = global.RangeError;\n  var TypeError = global.TypeError;\n  var Uint8Array = global.Uint8Array;\n  var ARRAY_BUFFER = 'ArrayBuffer';\n  var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n  var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n  var PROTOTYPE = 'prototype';\n  var ArrayProto = Array[PROTOTYPE];\n  var $ArrayBuffer = $buffer.ArrayBuffer;\n  var $DataView = $buffer.DataView;\n  var arrayForEach = createArrayMethod(0);\n  var arrayFilter = createArrayMethod(2);\n  var arraySome = createArrayMethod(3);\n  var arrayEvery = createArrayMethod(4);\n  var arrayFind = createArrayMethod(5);\n  var arrayFindIndex = createArrayMethod(6);\n  var arrayIncludes = createArrayIncludes(true);\n  var arrayIndexOf = createArrayIncludes(false);\n  var arrayValues = ArrayIterators.values;\n  var arrayKeys = ArrayIterators.keys;\n  var arrayEntries = ArrayIterators.entries;\n  var arrayLastIndexOf = ArrayProto.lastIndexOf;\n  var arrayReduce = ArrayProto.reduce;\n  var arrayReduceRight = ArrayProto.reduceRight;\n  var arrayJoin = ArrayProto.join;\n  var arraySort = ArrayProto.sort;\n  var arraySlice = ArrayProto.slice;\n  var arrayToString = ArrayProto.toString;\n  var arrayToLocaleString = ArrayProto.toLocaleString;\n  var ITERATOR = wks('iterator');\n  var TAG = wks('toStringTag');\n  var TYPED_CONSTRUCTOR = uid('typed_constructor');\n  var DEF_CONSTRUCTOR = uid('def_constructor');\n  var ALL_CONSTRUCTORS = $typed.CONSTR;\n  var TYPED_ARRAY = $typed.TYPED;\n  var VIEW = $typed.VIEW;\n  var WRONG_LENGTH = 'Wrong length!';\n\n  var $map = createArrayMethod(1, function (O, length) {\n    return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n  });\n\n  var LITTLE_ENDIAN = fails(function () {\n    // eslint-disable-next-line no-undef\n    return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n  });\n\n  var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n    new Uint8Array(1).set({});\n  });\n\n  var toOffset = function (it, BYTES) {\n    var offset = toInteger(it);\n    if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n    return offset;\n  };\n\n  var validate = function (it) {\n    if (isObject(it) && TYPED_ARRAY in it) return it;\n    throw TypeError(it + ' is not a typed array!');\n  };\n\n  var allocate = function (C, length) {\n    if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n      throw TypeError('It is not a typed array constructor!');\n    } return new C(length);\n  };\n\n  var speciesFromList = function (O, list) {\n    return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n  };\n\n  var fromList = function (C, list) {\n    var index = 0;\n    var length = list.length;\n    var result = allocate(C, length);\n    while (length > index) result[index] = list[index++];\n    return result;\n  };\n\n  var addGetter = function (it, key, internal) {\n    dP(it, key, { get: function () { return this._d[internal]; } });\n  };\n\n  var $from = function from(source /* , mapfn, thisArg */) {\n    var O = toObject(source);\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var iterFn = getIterFn(O);\n    var i, length, values, result, step, iterator;\n    if (iterFn != undefined && !isArrayIter(iterFn)) {\n      for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n        values.push(step.value);\n      } O = values;\n    }\n    if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n    for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n      result[i] = mapping ? mapfn(O[i], i) : O[i];\n    }\n    return result;\n  };\n\n  var $of = function of(/* ...items */) {\n    var index = 0;\n    var length = arguments.length;\n    var result = allocate(this, length);\n    while (length > index) result[index] = arguments[index++];\n    return result;\n  };\n\n  // iOS Safari 6.x fails here\n  var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n  var $toLocaleString = function toLocaleString() {\n    return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n  };\n\n  var proto = {\n    copyWithin: function copyWithin(target, start /* , end */) {\n      return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    every: function every(callbackfn /* , thisArg */) {\n      return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n      return arrayFill.apply(validate(this), arguments);\n    },\n    filter: function filter(callbackfn /* , thisArg */) {\n      return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n        arguments.length > 1 ? arguments[1] : undefined));\n    },\n    find: function find(predicate /* , thisArg */) {\n      return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    findIndex: function findIndex(predicate /* , thisArg */) {\n      return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    forEach: function forEach(callbackfn /* , thisArg */) {\n      arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    indexOf: function indexOf(searchElement /* , fromIndex */) {\n      return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    includes: function includes(searchElement /* , fromIndex */) {\n      return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    join: function join(separator) { // eslint-disable-line no-unused-vars\n      return arrayJoin.apply(validate(this), arguments);\n    },\n    lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n      return arrayLastIndexOf.apply(validate(this), arguments);\n    },\n    map: function map(mapfn /* , thisArg */) {\n      return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n      return arrayReduce.apply(validate(this), arguments);\n    },\n    reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n      return arrayReduceRight.apply(validate(this), arguments);\n    },\n    reverse: function reverse() {\n      var that = this;\n      var length = validate(that).length;\n      var middle = Math.floor(length / 2);\n      var index = 0;\n      var value;\n      while (index < middle) {\n        value = that[index];\n        that[index++] = that[--length];\n        that[length] = value;\n      } return that;\n    },\n    some: function some(callbackfn /* , thisArg */) {\n      return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    sort: function sort(comparefn) {\n      return arraySort.call(validate(this), comparefn);\n    },\n    subarray: function subarray(begin, end) {\n      var O = validate(this);\n      var length = O.length;\n      var $begin = toAbsoluteIndex(begin, length);\n      return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n        O.buffer,\n        O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n        toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n      );\n    }\n  };\n\n  var $slice = function slice(start, end) {\n    return speciesFromList(this, arraySlice.call(validate(this), start, end));\n  };\n\n  var $set = function set(arrayLike /* , offset */) {\n    validate(this);\n    var offset = toOffset(arguments[1], 1);\n    var length = this.length;\n    var src = toObject(arrayLike);\n    var len = toLength(src.length);\n    var index = 0;\n    if (len + offset > length) throw RangeError(WRONG_LENGTH);\n    while (index < len) this[offset + index] = src[index++];\n  };\n\n  var $iterators = {\n    entries: function entries() {\n      return arrayEntries.call(validate(this));\n    },\n    keys: function keys() {\n      return arrayKeys.call(validate(this));\n    },\n    values: function values() {\n      return arrayValues.call(validate(this));\n    }\n  };\n\n  var isTAIndex = function (target, key) {\n    return isObject(target)\n      && target[TYPED_ARRAY]\n      && typeof key != 'symbol'\n      && key in target\n      && String(+key) == String(key);\n  };\n  var $getDesc = function getOwnPropertyDescriptor(target, key) {\n    return isTAIndex(target, key = toPrimitive(key, true))\n      ? propertyDesc(2, target[key])\n      : gOPD(target, key);\n  };\n  var $setDesc = function defineProperty(target, key, desc) {\n    if (isTAIndex(target, key = toPrimitive(key, true))\n      && isObject(desc)\n      && has(desc, 'value')\n      && !has(desc, 'get')\n      && !has(desc, 'set')\n      // TODO: add validation descriptor w/o calling accessors\n      && !desc.configurable\n      && (!has(desc, 'writable') || desc.writable)\n      && (!has(desc, 'enumerable') || desc.enumerable)\n    ) {\n      target[key] = desc.value;\n      return target;\n    } return dP(target, key, desc);\n  };\n\n  if (!ALL_CONSTRUCTORS) {\n    $GOPD.f = $getDesc;\n    $DP.f = $setDesc;\n  }\n\n  $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n    getOwnPropertyDescriptor: $getDesc,\n    defineProperty: $setDesc\n  });\n\n  if (fails(function () { arrayToString.call({}); })) {\n    arrayToString = arrayToLocaleString = function toString() {\n      return arrayJoin.call(this);\n    };\n  }\n\n  var $TypedArrayPrototype$ = redefineAll({}, proto);\n  redefineAll($TypedArrayPrototype$, $iterators);\n  hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n  redefineAll($TypedArrayPrototype$, {\n    slice: $slice,\n    set: $set,\n    constructor: function () { /* noop */ },\n    toString: arrayToString,\n    toLocaleString: $toLocaleString\n  });\n  addGetter($TypedArrayPrototype$, 'buffer', 'b');\n  addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n  addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n  addGetter($TypedArrayPrototype$, 'length', 'e');\n  dP($TypedArrayPrototype$, TAG, {\n    get: function () { return this[TYPED_ARRAY]; }\n  });\n\n  // eslint-disable-next-line max-statements\n  module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n    CLAMPED = !!CLAMPED;\n    var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n    var GETTER = 'get' + KEY;\n    var SETTER = 'set' + KEY;\n    var TypedArray = global[NAME];\n    var Base = TypedArray || {};\n    var TAC = TypedArray && getPrototypeOf(TypedArray);\n    var FORCED = !TypedArray || !$typed.ABV;\n    var O = {};\n    var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n    var getter = function (that, index) {\n      var data = that._d;\n      return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n    };\n    var setter = function (that, index, value) {\n      var data = that._d;\n      if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n      data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n    };\n    var addElement = function (that, index) {\n      dP(that, index, {\n        get: function () {\n          return getter(this, index);\n        },\n        set: function (value) {\n          return setter(this, index, value);\n        },\n        enumerable: true\n      });\n    };\n    if (FORCED) {\n      TypedArray = wrapper(function (that, data, $offset, $length) {\n        anInstance(that, TypedArray, NAME, '_d');\n        var index = 0;\n        var offset = 0;\n        var buffer, byteLength, length, klass;\n        if (!isObject(data)) {\n          length = toIndex(data);\n          byteLength = length * BYTES;\n          buffer = new $ArrayBuffer(byteLength);\n        } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n          buffer = data;\n          offset = toOffset($offset, BYTES);\n          var $len = data.byteLength;\n          if ($length === undefined) {\n            if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n            byteLength = $len - offset;\n            if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n          } else {\n            byteLength = toLength($length) * BYTES;\n            if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n          }\n          length = byteLength / BYTES;\n        } else if (TYPED_ARRAY in data) {\n          return fromList(TypedArray, data);\n        } else {\n          return $from.call(TypedArray, data);\n        }\n        hide(that, '_d', {\n          b: buffer,\n          o: offset,\n          l: byteLength,\n          e: length,\n          v: new $DataView(buffer)\n        });\n        while (index < length) addElement(that, index++);\n      });\n      TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n      hide(TypedArrayPrototype, 'constructor', TypedArray);\n    } else if (!fails(function () {\n      TypedArray(1);\n    }) || !fails(function () {\n      new TypedArray(-1); // eslint-disable-line no-new\n    }) || !$iterDetect(function (iter) {\n      new TypedArray(); // eslint-disable-line no-new\n      new TypedArray(null); // eslint-disable-line no-new\n      new TypedArray(1.5); // eslint-disable-line no-new\n      new TypedArray(iter); // eslint-disable-line no-new\n    }, true)) {\n      TypedArray = wrapper(function (that, data, $offset, $length) {\n        anInstance(that, TypedArray, NAME);\n        var klass;\n        // `ws` module bug, temporarily remove validation length for Uint8Array\n        // https://github.com/websockets/ws/pull/645\n        if (!isObject(data)) return new Base(toIndex(data));\n        if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n          return $length !== undefined\n            ? new Base(data, toOffset($offset, BYTES), $length)\n            : $offset !== undefined\n              ? new Base(data, toOffset($offset, BYTES))\n              : new Base(data);\n        }\n        if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n        return $from.call(TypedArray, data);\n      });\n      arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n        if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n      });\n      TypedArray[PROTOTYPE] = TypedArrayPrototype;\n      if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n    }\n    var $nativeIterator = TypedArrayPrototype[ITERATOR];\n    var CORRECT_ITER_NAME = !!$nativeIterator\n      && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n    var $iterator = $iterators.values;\n    hide(TypedArray, TYPED_CONSTRUCTOR, true);\n    hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n    hide(TypedArrayPrototype, VIEW, true);\n    hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n    if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n      dP(TypedArrayPrototype, TAG, {\n        get: function () { return NAME; }\n      });\n    }\n\n    O[NAME] = TypedArray;\n\n    $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n    $export($export.S, NAME, {\n      BYTES_PER_ELEMENT: BYTES\n    });\n\n    $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n      from: $from,\n      of: $of\n    });\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n    $export($export.P, NAME, proto);\n\n    setSpecies(NAME);\n\n    $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n    $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n    if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n    $export($export.P + $export.F * fails(function () {\n      new TypedArray(1).slice();\n    }), NAME, { slice: $slice });\n\n    $export($export.P + $export.F * (fails(function () {\n      return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n    }) || !fails(function () {\n      TypedArrayPrototype.toLocaleString.call([1, 2]);\n    })), NAME, { toLocaleString: $toLocaleString });\n\n    Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n    if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n  };\n} else module.exports = function () { /* empty */ };\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n  var buffer = new Array(nBytes);\n  var eLen = nBytes * 8 - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n  var i = 0;\n  var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n  var e, m, c;\n  value = abs(value);\n  // eslint-disable-next-line no-self-compare\n  if (value != value || value === Infinity) {\n    // eslint-disable-next-line no-self-compare\n    m = value != value ? 1 : 0;\n    e = eMax;\n  } else {\n    e = floor(log(value) / LN2);\n    if (value * (c = pow(2, -e)) < 1) {\n      e--;\n      c *= 2;\n    }\n    if (e + eBias >= 1) {\n      value += rt / c;\n    } else {\n      value += rt * pow(2, 1 - eBias);\n    }\n    if (value * c >= 2) {\n      e++;\n      c /= 2;\n    }\n    if (e + eBias >= eMax) {\n      m = 0;\n      e = eMax;\n    } else if (e + eBias >= 1) {\n      m = (value * c - 1) * pow(2, mLen);\n      e = e + eBias;\n    } else {\n      m = value * pow(2, eBias - 1) * pow(2, mLen);\n      e = 0;\n    }\n  }\n  for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n  e = e << mLen | m;\n  eLen += mLen;\n  for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n  buffer[--i] |= s * 128;\n  return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n  var eLen = nBytes * 8 - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var nBits = eLen - 7;\n  var i = nBytes - 1;\n  var s = buffer[i--];\n  var e = s & 127;\n  var m;\n  s >>= 7;\n  for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n  m = e & (1 << -nBits) - 1;\n  e >>= -nBits;\n  nBits += mLen;\n  for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n  if (e === 0) {\n    e = 1 - eBias;\n  } else if (e === eMax) {\n    return m ? NaN : s ? -Infinity : Infinity;\n  } else {\n    m = m + pow(2, mLen);\n    e = e - eBias;\n  } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n  return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n  return [it & 0xff];\n}\nfunction packI16(it) {\n  return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n  return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n  return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n  return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n  dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n  var numIndex = +index;\n  var intIndex = toIndex(numIndex);\n  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n  var store = view[$BUFFER]._b;\n  var start = intIndex + view[$OFFSET];\n  var pack = store.slice(start, start + bytes);\n  return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n  var numIndex = +index;\n  var intIndex = toIndex(numIndex);\n  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n  var store = view[$BUFFER]._b;\n  var start = intIndex + view[$OFFSET];\n  var pack = conversion(+value);\n  for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n  $ArrayBuffer = function ArrayBuffer(length) {\n    anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n    var byteLength = toIndex(length);\n    this._b = arrayFill.call(new Array(byteLength), 0);\n    this[$LENGTH] = byteLength;\n  };\n\n  $DataView = function DataView(buffer, byteOffset, byteLength) {\n    anInstance(this, $DataView, DATA_VIEW);\n    anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n    var bufferLength = buffer[$LENGTH];\n    var offset = toInteger(byteOffset);\n    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n    this[$BUFFER] = buffer;\n    this[$OFFSET] = offset;\n    this[$LENGTH] = byteLength;\n  };\n\n  if (DESCRIPTORS) {\n    addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n    addGetter($DataView, BUFFER, '_b');\n    addGetter($DataView, BYTE_LENGTH, '_l');\n    addGetter($DataView, BYTE_OFFSET, '_o');\n  }\n\n  redefineAll($DataView[PROTOTYPE], {\n    getInt8: function getInt8(byteOffset) {\n      return get(this, 1, byteOffset)[0] << 24 >> 24;\n    },\n    getUint8: function getUint8(byteOffset) {\n      return get(this, 1, byteOffset)[0];\n    },\n    getInt16: function getInt16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments[1]);\n      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n    },\n    getUint16: function getUint16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments[1]);\n      return bytes[1] << 8 | bytes[0];\n    },\n    getInt32: function getInt32(byteOffset /* , littleEndian */) {\n      return unpackI32(get(this, 4, byteOffset, arguments[1]));\n    },\n    getUint32: function getUint32(byteOffset /* , littleEndian */) {\n      return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n    },\n    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n    },\n    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n    },\n    setInt8: function setInt8(byteOffset, value) {\n      set(this, 1, byteOffset, packI8, value);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      set(this, 1, byteOffset, packI8, value);\n    },\n    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packI16, value, arguments[2]);\n    },\n    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packI16, value, arguments[2]);\n    },\n    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packI32, value, arguments[2]);\n    },\n    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packI32, value, arguments[2]);\n    },\n    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packF32, value, arguments[2]);\n    },\n    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n      set(this, 8, byteOffset, packF64, value, arguments[2]);\n    }\n  });\n} else {\n  if (!fails(function () {\n    $ArrayBuffer(1);\n  }) || !fails(function () {\n    new $ArrayBuffer(-1); // eslint-disable-line no-new\n  }) || fails(function () {\n    new $ArrayBuffer(); // eslint-disable-line no-new\n    new $ArrayBuffer(1.5); // eslint-disable-line no-new\n    new $ArrayBuffer(NaN); // eslint-disable-line no-new\n    return $ArrayBuffer.name != ARRAY_BUFFER;\n  })) {\n    $ArrayBuffer = function ArrayBuffer(length) {\n      anInstance(this, $ArrayBuffer);\n      return new BaseBuffer(toIndex(length));\n    };\n    var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n    for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n      if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n    }\n    if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n  }\n  // iOS Safari 7.x bug\n  var view = new $DataView(new $ArrayBuffer(2));\n  var $setInt8 = $DataView[PROTOTYPE].setInt8;\n  view.setInt8(0, 2147483648);\n  view.setInt8(1, 2147483649);\n  if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n    setInt8: function setInt8(byteOffset, value) {\n      $setInt8.call(this, byteOffset, value << 24 >> 24);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      $setInt8.call(this, byteOffset, value << 24 >> 24);\n    }\n  }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n  'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n  if (Typed = global[TypedArrayConstructors[i++]]) {\n    hide(Typed.prototype, TYPED, true);\n    hide(Typed.prototype, VIEW, true);\n  } else CONSTR = false;\n}\n\nmodule.exports = {\n  ABV: ABV,\n  CONSTR: CONSTR,\n  TYPED: TYPED,\n  VIEW: VIEW\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n  return it;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n  // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n  every: function every(callbackfn /* , thisArg */) {\n    return $every(this, callbackfn, arguments[1]);\n  }\n});\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n  // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  findIndex: function findIndex(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  find: function find(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n  // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n  forEach: function forEach(callbackfn /* , thisArg */) {\n    return $forEach(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n    return NEGATIVE_ZERO\n      // convert -0 to +0\n      ? $native.apply(this, arguments) || 0\n      : $indexOf(this, searchElement, arguments[1]);\n  }\n});\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n  join: function join(separator) {\n    return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n  lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n    // convert -0 to +0\n    if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n    var O = toIObject(this);\n    var length = toLength(O.length);\n    var index = length - 1;\n    if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n    if (index < 0) index = length + index;\n    for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n    return -1;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n  // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n  function F() { /* empty */ }\n  return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n  // 22.1.2.3 Array.of( ...items)\n  of: function of(/* ...args */) {\n    var index = 0;\n    var aLen = arguments.length;\n    var result = new (typeof this == 'function' ? this : Array)(aLen);\n    while (aLen > index) createProperty(result, index, arguments[index++]);\n    result.length = aLen;\n    return result;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n  // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n  reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n    return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n  // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n  reduce: function reduce(callbackfn /* , initialValue */) {\n    return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n  if (html) arraySlice.call(html);\n}), 'Array', {\n  slice: function slice(begin, end) {\n    var len = toLength(this.length);\n    var klass = cof(this);\n    end = end === undefined ? len : end;\n    if (klass == 'Array') return arraySlice.call(this, begin, end);\n    var start = toAbsoluteIndex(begin, len);\n    var upTo = toAbsoluteIndex(end, len);\n    var size = toLength(upTo - start);\n    var cloned = new Array(size);\n    var i = 0;\n    for (; i < size; i++) cloned[i] = klass == 'String'\n      ? this.charAt(start + i)\n      : this[start + i];\n    return cloned;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n  // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n  some: function some(callbackfn /* , thisArg */) {\n    return $some(this, callbackfn, arguments[1]);\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n  // IE8-\n  test.sort(undefined);\n}) || !fails(function () {\n  // V8 bug\n  test.sort(null);\n  // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n  // 22.1.3.25 Array.prototype.sort(comparefn)\n  sort: function sort(comparefn) {\n    return comparefn === undefined\n      ? $sort.call(toObject(this))\n      : $sort.call(toObject(this), aFunction(comparefn));\n  }\n});\n","require('./_set-species')('Array');\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n  toISOString: toISOString\n});\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n  return new Date(NaN).toJSON() !== null\n    || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n  // eslint-disable-next-line no-unused-vars\n  toJSON: function toJSON(key) {\n    var O = toObject(this);\n    var pv = toPrimitive(O);\n    return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n  }\n});\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n  require('./_redefine')(DateProto, TO_STRING, function toString() {\n    var value = getTime.call(this);\n    // eslint-disable-next-line no-self-compare\n    return value === value ? $toString.call(this) : INVALID_DATE;\n  });\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n  if (typeof this != 'function' || !isObject(O)) return false;\n  if (!isObject(this.prototype)) return O instanceof this;\n  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n  while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n  return false;\n} });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n  configurable: true,\n  get: function () {\n    try {\n      return ('' + this).match(nameRE)[1];\n    } catch (e) {\n      return '';\n    }\n  }\n});\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.1.3.6 Map.prototype.get(key)\n  get: function get(key) {\n    var entry = strong.getEntry(validate(this, MAP), key);\n    return entry && entry.v;\n  },\n  // 23.1.3.9 Map.prototype.set(key, value)\n  set: function set(key, value) {\n    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n  }\n}, strong, true);\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n  && Math.floor($acosh(Number.MAX_VALUE)) == 710\n  // Tor Browser bug: Math.acosh(Infinity) -> NaN\n  && $acosh(Infinity) == Infinity\n), 'Math', {\n  acosh: function acosh(x) {\n    return (x = +x) < 1 ? NaN : x > 94906265.62425156\n      ? Math.log(x) + Math.LN2\n      : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n  }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n  return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n  atanh: function atanh(x) {\n    return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n  }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n  cbrt: function cbrt(x) {\n    return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n  }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  clz32: function clz32(x) {\n    return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n  }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n  cosh: function cosh(x) {\n    return (exp(x = +x) + exp(-x)) / 2;\n  }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n  hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n    var sum = 0;\n    var i = 0;\n    var aLen = arguments.length;\n    var larg = 0;\n    var arg, div;\n    while (i < aLen) {\n      arg = abs(arguments[i++]);\n      if (larg < arg) {\n        div = larg / arg;\n        sum = sum * div * div + 1;\n        larg = arg;\n      } else if (arg > 0) {\n        div = arg / larg;\n        sum += div * div;\n      } else sum += arg;\n    }\n    return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n  }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n  return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n  imul: function imul(x, y) {\n    var UINT16 = 0xffff;\n    var xn = +x;\n    var yn = +y;\n    var xl = UINT16 & xn;\n    var yl = UINT16 & yn;\n    return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n  }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log10: function log10(x) {\n    return Math.log(x) * Math.LOG10E;\n  }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log2: function log2(x) {\n    return Math.log(x) / Math.LN2;\n  }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n  return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n  sinh: function sinh(x) {\n    return Math.abs(x = +x) < 1\n      ? (expm1(x) - expm1(-x)) / 2\n      : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n  }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n  tanh: function tanh(x) {\n    var a = expm1(x = +x);\n    var b = expm1(-x);\n    return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n  }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  trunc: function trunc(it) {\n    return (it > 0 ? Math.floor : Math.ceil)(it);\n  }\n});\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, false);\n  if (typeof it == 'string' && it.length > 2) {\n    it = TRIM ? it.trim() : $trim(it, 3);\n    var first = it.charCodeAt(0);\n    var third, radix, maxCode;\n    if (first === 43 || first === 45) {\n      third = it.charCodeAt(2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (it.charCodeAt(1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n        default: return +it;\n      }\n      for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n        code = digits.charCodeAt(i);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if (code < 48 || code > maxCode) return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n  $Number = function Number(value) {\n    var it = arguments.length < 1 ? 0 : value;\n    var that = this;\n    return that instanceof $Number\n      // check on 1..constructor(foo) case\n      && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n        ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n  };\n  for (var keys = require('./_descriptors') ? gOPN(Base) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES6 (in case, if modules with ES6 Number statics required before):\n    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n  ).split(','), j = 0, key; keys.length > j; j++) {\n    if (has(Base, key = keys[j]) && !has($Number, key)) {\n      dP($Number, key, gOPD(Base, key));\n    }\n  }\n  $Number.prototype = proto;\n  proto.constructor = $Number;\n  require('./_redefine')(global, NUMBER, $Number);\n}\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n  isFinite: function isFinite(it) {\n    return typeof it == 'number' && _isFinite(it);\n  }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n  isNaN: function isNaN(number) {\n    // eslint-disable-next-line no-self-compare\n    return number != number;\n  }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n  isSafeInteger: function isSafeInteger(number) {\n    return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n  }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n  var i = -1;\n  var c2 = c;\n  while (++i < 6) {\n    c2 += n * data[i];\n    data[i] = c2 % 1e7;\n    c2 = floor(c2 / 1e7);\n  }\n};\nvar divide = function (n) {\n  var i = 6;\n  var c = 0;\n  while (--i >= 0) {\n    c += data[i];\n    data[i] = floor(c / n);\n    c = (c % n) * 1e7;\n  }\n};\nvar numToString = function () {\n  var i = 6;\n  var s = '';\n  while (--i >= 0) {\n    if (s !== '' || i === 0 || data[i] !== 0) {\n      var t = String(data[i]);\n      s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n    }\n  } return s;\n};\nvar pow = function (x, n, acc) {\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n  var n = 0;\n  var x2 = x;\n  while (x2 >= 4096) {\n    n += 12;\n    x2 /= 4096;\n  }\n  while (x2 >= 2) {\n    n += 1;\n    x2 /= 2;\n  } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n  0.00008.toFixed(3) !== '0.000' ||\n  0.9.toFixed(0) !== '1' ||\n  1.255.toFixed(2) !== '1.25' ||\n  1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n  // V8 ~ Android 4.3-\n  $toFixed.call({});\n})), 'Number', {\n  toFixed: function toFixed(fractionDigits) {\n    var x = aNumberValue(this, ERROR);\n    var f = toInteger(fractionDigits);\n    var s = '';\n    var m = ZERO;\n    var e, z, j, k;\n    if (f < 0 || f > 20) throw RangeError(ERROR);\n    // eslint-disable-next-line no-self-compare\n    if (x != x) return 'NaN';\n    if (x <= -1e21 || x >= 1e21) return String(x);\n    if (x < 0) {\n      s = '-';\n      x = -x;\n    }\n    if (x > 1e-21) {\n      e = log(x * pow(2, 69, 1)) - 69;\n      z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if (e > 0) {\n        multiply(0, z);\n        j = f;\n        while (j >= 7) {\n          multiply(1e7, 0);\n          j -= 7;\n        }\n        multiply(pow(10, j, 1), 0);\n        j = e - 1;\n        while (j >= 23) {\n          divide(1 << 23);\n          j -= 23;\n        }\n        divide(1 << j);\n        multiply(1, 1);\n        divide(2);\n        m = numToString();\n      } else {\n        multiply(0, z);\n        multiply(1 << -e, 0);\n        m = numToString() + repeat.call(ZERO, f);\n      }\n    }\n    if (f > 0) {\n      k = m.length;\n      m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n    } else {\n      m = s + m;\n    } return m;\n  }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n  // IE7-\n  return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n  // V8 ~ Android 4.3-\n  $toPrecision.call({});\n})), 'Number', {\n  toPrecision: function toPrecision(precision) {\n    var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n    return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n  }\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n  return function freeze(it) {\n    return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n  };\n});\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n  return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n  return function isExtensible(it) {\n    return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n  };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n  return function isFrozen(it) {\n    return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n  };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n  return function isSealed(it) {\n    return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n  };\n});\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n  return function preventExtensions(it) {\n    return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n  };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n  return function seal(it) {\n    return $seal && isObject(it) ? $seal(meta(it)) : it;\n  };\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n  require('./_redefine')(Object.prototype, 'toString', function toString() {\n    return '[object ' + classof(this) + ']';\n  }, true);\n}\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n  rApply(function () { /* empty */ });\n}), 'Reflect', {\n  apply: function apply(target, thisArgument, argumentsList) {\n    var T = aFunction(target);\n    var L = anObject(argumentsList);\n    return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n  }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n  function F() { /* empty */ }\n  return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n  rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n  construct: function construct(Target, args /* , newTarget */) {\n    aFunction(Target);\n    anObject(args);\n    var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n    if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n    if (Target == newTarget) {\n      // w/o altered newTarget, optimization for 0-4 arguments\n      switch (args.length) {\n        case 0: return new Target();\n        case 1: return new Target(args[0]);\n        case 2: return new Target(args[0], args[1]);\n        case 3: return new Target(args[0], args[1], args[2]);\n        case 4: return new Target(args[0], args[1], args[2], args[3]);\n      }\n      // w/o altered newTarget, lot of arguments case\n      var $args = [null];\n      $args.push.apply($args, args);\n      return new (bind.apply(Target, $args))();\n    }\n    // with altered newTarget, not support built-in constructors\n    var proto = newTarget.prototype;\n    var instance = create(isObject(proto) ? proto : Object.prototype);\n    var result = Function.apply.call(Target, instance, args);\n    return isObject(result) ? result : instance;\n  }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n  // eslint-disable-next-line no-undef\n  Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n  defineProperty: function defineProperty(target, propertyKey, attributes) {\n    anObject(target);\n    propertyKey = toPrimitive(propertyKey, true);\n    anObject(attributes);\n    try {\n      dP.f(target, propertyKey, attributes);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  deleteProperty: function deleteProperty(target, propertyKey) {\n    var desc = gOPD(anObject(target), propertyKey);\n    return desc && !desc.configurable ? false : delete target[propertyKey];\n  }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n  this._t = anObject(iterated); // target\n  this._i = 0;                  // next index\n  var keys = this._k = [];      // keys\n  var key;\n  for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n  var that = this;\n  var keys = that._k;\n  var key;\n  do {\n    if (that._i >= keys.length) return { value: undefined, done: true };\n  } while (!((key = keys[that._i++]) in that._t));\n  return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n  enumerate: function enumerate(target) {\n    return new Enumerate(target);\n  }\n});\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n    return gOPD.f(anObject(target), propertyKey);\n  }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getPrototypeOf: function getPrototypeOf(target) {\n    return getProto(anObject(target));\n  }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n  var receiver = arguments.length < 3 ? target : arguments[2];\n  var desc, proto;\n  if (anObject(target) === receiver) return target[propertyKey];\n  if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n    ? desc.value\n    : desc.get !== undefined\n      ? desc.get.call(receiver)\n      : undefined;\n  if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n  has: function has(target, propertyKey) {\n    return propertyKey in target;\n  }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n  isExtensible: function isExtensible(target) {\n    anObject(target);\n    return $isExtensible ? $isExtensible(target) : true;\n  }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n  preventExtensions: function preventExtensions(target) {\n    anObject(target);\n    try {\n      if ($preventExtensions) $preventExtensions(target);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n  setPrototypeOf: function setPrototypeOf(target, proto) {\n    setProto.check(target, proto);\n    try {\n      setProto.set(target, proto);\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n  var receiver = arguments.length < 4 ? target : arguments[3];\n  var ownDesc = gOPD.f(anObject(target), propertyKey);\n  var existingDescriptor, proto;\n  if (!ownDesc) {\n    if (isObject(proto = getPrototypeOf(target))) {\n      return set(proto, propertyKey, V, receiver);\n    }\n    ownDesc = createDesc(0);\n  }\n  if (has(ownDesc, 'value')) {\n    if (ownDesc.writable === false || !isObject(receiver)) return false;\n    if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n      if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n      existingDescriptor.value = V;\n      dP.f(receiver, propertyKey, existingDescriptor);\n    } else dP.f(receiver, propertyKey, createDesc(0, V));\n    return true;\n  }\n  return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n  re2[require('./_wks')('match')] = false;\n  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n  return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n  $RegExp = function RegExp(p, f) {\n    var tiRE = this instanceof $RegExp;\n    var piRE = isRegExp(p);\n    var fiU = f === undefined;\n    return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n      : inheritIfRequired(CORRECT_NEW\n        ? new Base(piRE && !fiU ? p.source : p, f)\n        : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n      , tiRE ? this : proto, $RegExp);\n  };\n  var proxy = function (key) {\n    key in $RegExp || dP($RegExp, key, {\n      configurable: true,\n      get: function () { return Base[key]; },\n      set: function (it) { Base[key] = it; }\n    });\n  };\n  for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n  proto.constructor = $RegExp;\n  $RegExp.prototype = proto;\n  require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n  target: 'RegExp',\n  proto: true,\n  forced: regexpExec !== /./.exec\n}, {\n  exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n  configurable: true,\n  get: require('./_flags')\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = defined(this);\n      var fn = regexp == undefined ? undefined : regexp[MATCH];\n      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n    function (regexp) {\n      var res = maybeCallNative($match, regexp, this);\n      if (res.done) return res.value;\n      var rx = anObject(regexp);\n      var S = String(this);\n      if (!rx.global) return regExpExec(rx, S);\n      var fullUnicode = rx.unicode;\n      rx.lastIndex = 0;\n      var A = [];\n      var n = 0;\n      var result;\n      while ((result = regExpExec(rx, S)) !== null) {\n        var matchStr = String(result[0]);\n        A[n] = matchStr;\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n        n++;\n      }\n      return n === 0 ? null : A;\n    }\n  ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = defined(this);\n      var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n      return fn !== undefined\n        ? fn.call(searchValue, O, replaceValue)\n        : $replace.call(String(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n    function (regexp, replaceValue) {\n      var res = maybeCallNative($replace, regexp, this, replaceValue);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var functionalReplace = typeof replaceValue === 'function';\n      if (!functionalReplace) replaceValue = String(replaceValue);\n      var global = rx.global;\n      if (global) {\n        var fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n      var results = [];\n      while (true) {\n        var result = regExpExec(rx, S);\n        if (result === null) break;\n        results.push(result);\n        if (!global) break;\n        var matchStr = String(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n        var matched = String(result[0]);\n        var position = max(min(toInteger(result.index), S.length), 0);\n        var captures = [];\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = [matched].concat(captures, position, S);\n          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n          var replacement = String(replaceValue.apply(undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n      return accumulatedResult + S.slice(nextSourcePosition);\n    }\n  ];\n\n    // https://tc39.github.io/ecma262/#sec-getsubstitution\n  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n    var tailPos = position + matched.length;\n    var m = captures.length;\n    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n    if (namedCaptures !== undefined) {\n      namedCaptures = toObject(namedCaptures);\n      symbols = SUBSTITUTION_SYMBOLS;\n    }\n    return $replace.call(replacement, symbols, function (match, ch) {\n      var capture;\n      switch (ch.charAt(0)) {\n        case '$': return '$';\n        case '&': return matched;\n        case '`': return str.slice(0, position);\n        case \"'\": return str.slice(tailPos);\n        case '<':\n          capture = namedCaptures[ch.slice(1, -1)];\n          break;\n        default: // \\d\\d?\n          var n = +ch;\n          if (n === 0) return match;\n          if (n > m) {\n            var f = floor(n / 10);\n            if (f === 0) return match;\n            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n            return match;\n          }\n          capture = captures[n - 1];\n      }\n      return capture === undefined ? '' : capture;\n    });\n  }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n  return [\n    // `String.prototype.search` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.search\n    function search(regexp) {\n      var O = defined(this);\n      var fn = regexp == undefined ? undefined : regexp[SEARCH];\n      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n    },\n    // `RegExp.prototype[@@search]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n    function (regexp) {\n      var res = maybeCallNative($search, regexp, this);\n      if (res.done) return res.value;\n      var rx = anObject(regexp);\n      var S = String(this);\n      var previousLastIndex = rx.lastIndex;\n      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n      var result = regExpExec(rx, S);\n      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n      return result === null ? -1 : result.index;\n    }\n  ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n  var internalSplit;\n  if (\n    'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n    'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n    'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n    '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n    '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n    ''[$SPLIT](/.?/)[LENGTH]\n  ) {\n    // based on es5-shim implementation, need to rework it\n    internalSplit = function (separator, limit) {\n      var string = String(this);\n      if (separator === undefined && limit === 0) return [];\n      // If `separator` is not a regex, use native split\n      if (!isRegExp(separator)) return $split.call(string, separator, limit);\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var match, lastIndex, lastLength;\n      while (match = regexpExec.call(separatorCopy, string)) {\n        lastIndex = separatorCopy[LAST_INDEX];\n        if (lastIndex > lastLastIndex) {\n          output.push(string.slice(lastLastIndex, match.index));\n          if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n          lastLength = match[0][LENGTH];\n          lastLastIndex = lastIndex;\n          if (output[LENGTH] >= splitLimit) break;\n        }\n        if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n      }\n      if (lastLastIndex === string[LENGTH]) {\n        if (lastLength || !separatorCopy.test('')) output.push('');\n      } else output.push(string.slice(lastLastIndex));\n      return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n    };\n  // Chakra, V8\n  } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n    };\n  } else {\n    internalSplit = $split;\n  }\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = defined(this);\n      var splitter = separator == undefined ? undefined : separator[SPLIT];\n      return splitter !== undefined\n        ? splitter.call(separator, O, limit)\n        : internalSplit.call(String(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (regexp, limit) {\n      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var C = speciesConstructor(rx, RegExp);\n\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (SUPPORTS_Y ? 'y' : 'g');\n\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = SUPPORTS_Y ? q : 0;\n        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n        var e;\n        if (\n          z === null ||\n          (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          A.push(S.slice(p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            A.push(z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      A.push(S.slice(p));\n      return A;\n    }\n  ];\n});\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n  require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n  define(function toString() {\n    var R = anObject(this);\n    return '/'.concat(R.source, '/',\n      'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n  });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n  define(function toString() {\n    return $toString.call(this);\n  });\n}\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n  return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.2.3.1 Set.prototype.add(value)\n  add: function add(value) {\n    return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n  }\n}, strong);\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n  return function anchor(name) {\n    return createHTML(this, 'a', 'name', name);\n  };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n  return function big() {\n    return createHTML(this, 'big', '', '');\n  };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n  return function blink() {\n    return createHTML(this, 'blink', '', '');\n  };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n  return function bold() {\n    return createHTML(this, 'b', '', '');\n  };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n  // 21.1.3.3 String.prototype.codePointAt(pos)\n  codePointAt: function codePointAt(pos) {\n    return $at(this, pos);\n  }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n    var that = context(this, searchString, ENDS_WITH);\n    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n    var len = toLength(that.length);\n    var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n    var search = String(searchString);\n    return $endsWith\n      ? $endsWith.call(that, search, end)\n      : that.slice(end - search.length, end) === search;\n  }\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n  return function fixed() {\n    return createHTML(this, 'tt', '', '');\n  };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n  return function fontcolor(color) {\n    return createHTML(this, 'font', 'color', color);\n  };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n  return function fontsize(size) {\n    return createHTML(this, 'font', 'size', size);\n  };\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n  // 21.1.2.2 String.fromCodePoint(...codePoints)\n  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n    var res = [];\n    var aLen = arguments.length;\n    var i = 0;\n    var code;\n    while (aLen > i) {\n      code = +arguments[i++];\n      if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n      res.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n      );\n    } return res.join('');\n  }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~context(this, searchString, INCLUDES)\n      .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n  return function italics() {\n    return createHTML(this, 'i', '', '');\n  };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n  return function link(url) {\n    return createHTML(this, 'a', 'href', url);\n  };\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n  // 21.1.2.4 String.raw(callSite, ...substitutions)\n  raw: function raw(callSite) {\n    var tpl = toIObject(callSite.raw);\n    var len = toLength(tpl.length);\n    var aLen = arguments.length;\n    var res = [];\n    var i = 0;\n    while (len > i) {\n      res.push(String(tpl[i++]));\n      if (i < aLen) res.push(String(arguments[i]));\n    } return res.join('');\n  }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n  // 21.1.3.13 String.prototype.repeat(count)\n  repeat: require('./_string-repeat')\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n  return function small() {\n    return createHTML(this, 'small', '', '');\n  };\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = context(this, searchString, STARTS_WITH);\n    var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return $startsWith\n      ? $startsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n  return function strike() {\n    return createHTML(this, 'strike', '', '');\n  };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n  return function sub() {\n    return createHTML(this, 'sub', '', '');\n  };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n  return function sup() {\n    return createHTML(this, 'sup', '', '');\n  };\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n  return function trim() {\n    return $trim(this, 3);\n  };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n  // 24.1.3.1 ArrayBuffer.isView(arg)\n  isView: function isView(it) {\n    return $isView && $isView(it) || isObject(it) && VIEW in it;\n  }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n  return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n  // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n  slice: function slice(start, end) {\n    if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n    var len = anObject(this).byteLength;\n    var first = toAbsoluteIndex(start, len);\n    var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n    var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n    var viewS = new $DataView(this);\n    var viewT = new $DataView(result);\n    var index = 0;\n    while (first < fin) {\n      viewT.setUint8(index++, viewS.getUint8(first++));\n    } return result;\n  }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n  DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n  return function Float32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n  return function Float64Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int16', 2, function (init) {\n  return function Int16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n  return function Int32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n  return function Int8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n  return function Uint16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n  return function Uint32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n  return function Uint8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n  return function Uint8ClampedArray(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n}, true);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n  return function WeakMap() {\n    return get(this, arguments.length > 0 ? arguments[0] : undefined);\n  };\n};\n\nvar methods = {\n  // 23.3.3.3 WeakMap.prototype.get(key)\n  get: function get(key) {\n    if (isObject(key)) {\n      var data = getWeak(key);\n      if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n      return data ? data[this._i] : undefined;\n    }\n  },\n  // 23.3.3.5 WeakMap.prototype.set(key, value)\n  set: function set(key, value) {\n    return weak.def(validate(this, WEAK_MAP), key, value);\n  }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n  assign(InternalMap.prototype, methods);\n  meta.NEED = true;\n  each(['delete', 'has', 'get', 'set'], function (key) {\n    var proto = $WeakMap.prototype;\n    var method = proto[key];\n    redefine(proto, key, function (a, b) {\n      // store frozen objects on internal weakmap shim\n      if (isObject(a) && !isExtensible(a)) {\n        if (!this._f) this._f = new InternalMap();\n        var result = this._f[key](a, b);\n        return key == 'set' ? this : result;\n      // store all the rest on native weakmap\n      } return method.call(this, a, b);\n    });\n  });\n}\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n  return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.4.3.1 WeakSet.prototype.add(value)\n  add: function add(value) {\n    return weak.def(validate(this, WEAK_SET), value, true);\n  }\n}, weak, false, true);\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar aFunction = require('./_a-function');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n  flatMap: function flatMap(callbackfn /* , thisArg */) {\n    var O = toObject(this);\n    var sourceLen, A;\n    aFunction(callbackfn);\n    sourceLen = toLength(O.length);\n    A = arraySpeciesCreate(O, 0);\n    flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n    return A;\n  }\n});\n\nrequire('./_add-to-unscopables')('flatMap');\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n    var O = toIObject(object);\n    var getDesc = gOPD.f;\n    var keys = ownKeys(O);\n    var result = {};\n    var i = 0;\n    var key, desc;\n    while (keys.length > i) {\n      desc = getDesc(O, key = keys[i++]);\n      if (desc !== undefined) createProperty(result, key, desc);\n    }\n    return result;\n  }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n  values: function values(it) {\n    return $values(it);\n  }\n});\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n  }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n  padStart: function padStart(maxLength /* , fillString = ' ' */) {\n    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n  }\n});\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function ($trim) {\n  return function trimLeft() {\n    return $trim(this, 1);\n  };\n}, 'trimStart');\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function ($trim) {\n  return function trimRight() {\n    return $trim(this, 2);\n  };\n}, 'trimEnd');\n","require('./_wks-define')('asyncIterator');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n  CSSRuleList: true, // TODO: Not spec compliant, should be false.\n  CSSStyleDeclaration: false,\n  CSSValueList: false,\n  ClientRectList: false,\n  DOMRectList: false,\n  DOMStringList: false,\n  DOMTokenList: true,\n  DataTransferItemList: false,\n  FileList: false,\n  HTMLAllCollection: false,\n  HTMLCollection: false,\n  HTMLFormElement: false,\n  HTMLSelectElement: false,\n  MediaList: true, // TODO: Not spec compliant, should be false.\n  MimeTypeArray: false,\n  NamedNodeMap: false,\n  NodeList: true,\n  PaintRequestList: false,\n  Plugin: false,\n  PluginArray: false,\n  SVGLengthList: false,\n  SVGNumberList: false,\n  SVGPathSegList: false,\n  SVGPointList: false,\n  SVGStringList: false,\n  SVGTransformList: false,\n  SourceBufferList: false,\n  StyleSheetList: true, // TODO: Not spec compliant, should be false.\n  TextTrackCueList: false,\n  TextTrackList: false,\n  TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n  var NAME = collections[i];\n  var explicit = DOMIterables[NAME];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  var key;\n  if (proto) {\n    if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n    if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n    Iterators[NAME] = ArrayValues;\n    if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n  }\n}\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n  setImmediate: $task.set,\n  clearImmediate: $task.clear\n});\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n  return function (fn, time /* , ...args */) {\n    var boundArgs = arguments.length > 2;\n    var args = boundArgs ? slice.call(arguments, 2) : false;\n    return set(boundArgs ? function () {\n      // eslint-disable-next-line no-new-func\n      (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n    } : fn, time);\n  };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n  setTimeout: wrap(global.setTimeout),\n  setInterval: wrap(global.setInterval)\n});\n","require('../modules/web.timers');\nrequire('../modules/web.immediate');\nrequire('../modules/web.dom.iterable');\nmodule.exports = require('../modules/_core');\n","(function() {\n  var base64map\n      = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n  crypt = {\n    // Bit-wise rotation left\n    rotl: function(n, b) {\n      return (n << b) | (n >>> (32 - b));\n    },\n\n    // Bit-wise rotation right\n    rotr: function(n, b) {\n      return (n << (32 - b)) | (n >>> b);\n    },\n\n    // Swap big-endian to little-endian and vice versa\n    endian: function(n) {\n      // If number given, swap endian\n      if (n.constructor == Number) {\n        return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n      }\n\n      // Else, assume array and swap all items\n      for (var i = 0; i < n.length; i++)\n        n[i] = crypt.endian(n[i]);\n      return n;\n    },\n\n    // Generate an array of any length of random bytes\n    randomBytes: function(n) {\n      for (var bytes = []; n > 0; n--)\n        bytes.push(Math.floor(Math.random() * 256));\n      return bytes;\n    },\n\n    // Convert a byte array to big-endian 32-bit words\n    bytesToWords: function(bytes) {\n      for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n        words[b >>> 5] |= bytes[i] << (24 - b % 32);\n      return words;\n    },\n\n    // Convert big-endian 32-bit words to a byte array\n    wordsToBytes: function(words) {\n      for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n        bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a hex string\n    bytesToHex: function(bytes) {\n      for (var hex = [], i = 0; i < bytes.length; i++) {\n        hex.push((bytes[i] >>> 4).toString(16));\n        hex.push((bytes[i] & 0xF).toString(16));\n      }\n      return hex.join('');\n    },\n\n    // Convert a hex string to a byte array\n    hexToBytes: function(hex) {\n      for (var bytes = [], c = 0; c < hex.length; c += 2)\n        bytes.push(parseInt(hex.substr(c, 2), 16));\n      return bytes;\n    },\n\n    // Convert a byte array to a base-64 string\n    bytesToBase64: function(bytes) {\n      for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n        var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n        for (var j = 0; j < 4; j++)\n          if (i * 8 + j * 6 <= bytes.length * 8)\n            base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n          else\n            base64.push('=');\n      }\n      return base64.join('');\n    },\n\n    // Convert a base-64 string to a byte array\n    base64ToBytes: function(base64) {\n      // Remove non-base-64 characters\n      base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n      for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n          imod4 = ++i % 4) {\n        if (imod4 == 0) continue;\n        bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n            & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n            | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n      }\n      return bytes;\n    }\n  };\n\n  module.exports = crypt;\n})();\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n\\n/*!\\n * Pikaday\\n * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/\\n */\\n\\n.pika-single {\\n    z-index: 9999;\\n    display: block;\\n    position: relative;\\n    color: #333;\\n    background: #fff;\\n    border: 1px solid #ccc;\\n    border-bottom-color: #bbb;\\n    font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n/*\\nclear child float (pika-lendar), using the famous micro clearfix hack\\nhttp://nicolasgallagher.com/micro-clearfix-hack/\\n*/\\n.pika-single:before,\\n.pika-single:after {\\n    content: \\\" \\\";\\n    display: table;\\n}\\n.pika-single:after { clear: both }\\n\\n.pika-single.is-hidden {\\n    display: none;\\n}\\n\\n.pika-single.is-bound {\\n    position: absolute;\\n    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);\\n}\\n\\n.pika-lendar {\\n    float: left;\\n    width: 240px;\\n    margin: 8px;\\n}\\n\\n.pika-title {\\n    position: relative;\\n    text-align: center;\\n}\\n\\n.pika-label {\\n    display: inline-block;\\n    position: relative;\\n    z-index: 9999;\\n    overflow: hidden;\\n    margin: 0;\\n    padding: 5px 3px;\\n    font-size: 14px;\\n    line-height: 20px;\\n    font-weight: bold;\\n    background-color: #fff;\\n}\\n.pika-title select {\\n    cursor: pointer;\\n    position: absolute;\\n    z-index: 9998;\\n    margin: 0;\\n    left: 0;\\n    top: 5px;\\n    opacity: 0;\\n}\\n\\n.pika-prev,\\n.pika-next {\\n    display: block;\\n    cursor: pointer;\\n    position: relative;\\n    outline: none;\\n    border: 0;\\n    padding: 0;\\n    width: 20px;\\n    height: 30px;\\n    /* hide text using text-indent trick, using width value (it's enough) */\\n    text-indent: 20px;\\n    white-space: nowrap;\\n    overflow: hidden;\\n    background-color: transparent;\\n    background-position: center center;\\n    background-repeat: no-repeat;\\n    background-size: 75% 75%;\\n    opacity: .5;\\n}\\n\\n.pika-prev:hover,\\n.pika-next:hover {\\n    opacity: 1;\\n}\\n\\n.pika-prev,\\n.is-rtl .pika-next {\\n    float: left;\\n    background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n}\\n\\n.pika-next,\\n.is-rtl .pika-prev {\\n    float: right;\\n    background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\n}\\n\\n.pika-prev.is-disabled,\\n.pika-next.is-disabled {\\n    cursor: default;\\n    opacity: .2;\\n}\\n\\n.pika-select {\\n    display: inline-block;\\n}\\n\\n.pika-table {\\n    width: 100%;\\n    border-collapse: collapse;\\n    border-spacing: 0;\\n    border: 0;\\n}\\n\\n.pika-table th,\\n.pika-table td {\\n    width: 14.285714285714286%;\\n    padding: 0;\\n}\\n\\n.pika-table th {\\n    color: #999;\\n    font-size: 12px;\\n    line-height: 25px;\\n    font-weight: bold;\\n    text-align: center;\\n}\\n\\n.pika-button {\\n    cursor: pointer;\\n    display: block;\\n    box-sizing: border-box;\\n    -moz-box-sizing: border-box;\\n    outline: none;\\n    border: 0;\\n    margin: 0;\\n    width: 100%;\\n    padding: 5px;\\n    color: #666;\\n    font-size: 12px;\\n    line-height: 15px;\\n    text-align: right;\\n    background: #f5f5f5;\\n    height: initial;\\n}\\n\\n.pika-week {\\n    font-size: 11px;\\n    color: #999;\\n}\\n\\n.is-today .pika-button {\\n    color: #33aaff;\\n    font-weight: bold;\\n}\\n\\n.is-selected .pika-button,\\n.has-event .pika-button {\\n    color: #fff;\\n    font-weight: bold;\\n    background: #33aaff;\\n    box-shadow: inset 0 1px 3px #178fe5;\\n    border-radius: 3px;\\n}\\n\\n.has-event .pika-button {\\n    background: #005da9;\\n    box-shadow: inset 0 1px 3px #0076c9;\\n}\\n\\n.is-disabled .pika-button,\\n.is-inrange .pika-button {\\n    background: #D5E9F7;\\n}\\n\\n.is-startrange .pika-button {\\n    color: #fff;\\n    background: #6CB31D;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n.is-endrange .pika-button {\\n    color: #fff;\\n    background: #33aaff;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n.is-disabled .pika-button {\\n    pointer-events: none;\\n    cursor: default;\\n    color: #999;\\n    opacity: .3;\\n}\\n\\n.is-outside-current-month .pika-button {\\n    color: #999;\\n    opacity: .3;\\n}\\n\\n.is-selection-disabled {\\n    pointer-events: none;\\n    cursor: default;\\n}\\n\\n.pika-button:hover,\\n.pika-row.pick-whole-week:hover .pika-button {\\n    color: #fff;\\n    background: #ff8000;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n/* styling for abbr */\\n.pika-table abbr {\\n    border-bottom: none;\\n    cursor: help;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/ka-components/node_modules/pikaday/css/pikaday.css\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;;AAEhB;;;EAGE;;AAEF;IACI,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,WAAW;IACX,gBAAgB;IAChB,sBAAsB;IACtB,yBAAyB;IACzB,2DAA2D;AAC/D;;AAEA;;;CAGC;AACD;;IAEI,YAAY;IACZ,cAAc;AAClB;AACA,qBAAqB,YAAY;;AAEjC;IACI,aAAa;AACjB;;AAEA;IACI,kBAAkB;IAClB,0CAA0C;AAC9C;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,WAAW;AACf;;AAEA;IACI,kBAAkB;IAClB,kBAAkB;AACtB;;AAEA;IACI,qBAAqB;IACrB,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;AAC1B;AACA;IACI,eAAe;IACf,kBAAkB;IAClB,aAAa;IACb,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;AACd;;AAEA;;IAEI,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,aAAa;IACb,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;IACZ,uEAAuE;IACvE,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,6BAA6B;IAC7B,kCAAkC;IAClC,4BAA4B;IAC5B,wBAAwB;IACxB,WAAW;AACf;;AAEA;;IAEI,UAAU;AACd;;AAEA;;IAEI,WAAW;IACX,yDAA2O;AAC/O;;AAEA;;IAEI,YAAY;IACZ,yDAA2O;AAC/O;;AAEA;;IAEI,eAAe;IACf,WAAW;AACf;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,WAAW;IACX,yBAAyB;IACzB,iBAAiB;IACjB,SAAS;AACb;;AAEA;;IAEI,0BAA0B;IAC1B,UAAU;AACd;;AAEA;IACI,WAAW;IACX,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,eAAe;IACf,cAAc;IACd,sBAAsB;IACtB,2BAA2B;IAC3B,aAAa;IACb,SAAS;IACT,SAAS;IACT,WAAW;IACX,YAAY;IACZ,WAAW;IACX,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,WAAW;AACf;;AAEA;IACI,cAAc;IACd,iBAAiB;AACrB;;AAEA;;IAEI,WAAW;IACX,iBAAiB;IACjB,mBAAmB;IACnB,mCAAmC;IACnC,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;IACnB,mCAAmC;AACvC;;AAEA;;IAEI,mBAAmB;AACvB;;AAEA;IACI,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,oBAAoB;IACpB,eAAe;IACf,WAAW;IACX,WAAW;AACf;;AAEA;IACI,WAAW;IACX,WAAW;AACf;;AAEA;IACI,oBAAoB;IACpB,eAAe;AACnB;;AAEA;;IAEI,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA,qBAAqB;AACrB;IACI,mBAAmB;IACnB,YAAY;AAChB\",\"sourcesContent\":[\"@charset \\\"UTF-8\\\";\\n\\n/*!\\n * Pikaday\\n * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/\\n */\\n\\n.pika-single {\\n    z-index: 9999;\\n    display: block;\\n    position: relative;\\n    color: #333;\\n    background: #fff;\\n    border: 1px solid #ccc;\\n    border-bottom-color: #bbb;\\n    font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n/*\\nclear child float (pika-lendar), using the famous micro clearfix hack\\nhttp://nicolasgallagher.com/micro-clearfix-hack/\\n*/\\n.pika-single:before,\\n.pika-single:after {\\n    content: \\\" \\\";\\n    display: table;\\n}\\n.pika-single:after { clear: both }\\n\\n.pika-single.is-hidden {\\n    display: none;\\n}\\n\\n.pika-single.is-bound {\\n    position: absolute;\\n    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);\\n}\\n\\n.pika-lendar {\\n    float: left;\\n    width: 240px;\\n    margin: 8px;\\n}\\n\\n.pika-title {\\n    position: relative;\\n    text-align: center;\\n}\\n\\n.pika-label {\\n    display: inline-block;\\n    position: relative;\\n    z-index: 9999;\\n    overflow: hidden;\\n    margin: 0;\\n    padding: 5px 3px;\\n    font-size: 14px;\\n    line-height: 20px;\\n    font-weight: bold;\\n    background-color: #fff;\\n}\\n.pika-title select {\\n    cursor: pointer;\\n    position: absolute;\\n    z-index: 9998;\\n    margin: 0;\\n    left: 0;\\n    top: 5px;\\n    opacity: 0;\\n}\\n\\n.pika-prev,\\n.pika-next {\\n    display: block;\\n    cursor: pointer;\\n    position: relative;\\n    outline: none;\\n    border: 0;\\n    padding: 0;\\n    width: 20px;\\n    height: 30px;\\n    /* hide text using text-indent trick, using width value (it's enough) */\\n    text-indent: 20px;\\n    white-space: nowrap;\\n    overflow: hidden;\\n    background-color: transparent;\\n    background-position: center center;\\n    background-repeat: no-repeat;\\n    background-size: 75% 75%;\\n    opacity: .5;\\n}\\n\\n.pika-prev:hover,\\n.pika-next:hover {\\n    opacity: 1;\\n}\\n\\n.pika-prev,\\n.is-rtl .pika-next {\\n    float: left;\\n    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');\\n}\\n\\n.pika-next,\\n.is-rtl .pika-prev {\\n    float: right;\\n    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');\\n}\\n\\n.pika-prev.is-disabled,\\n.pika-next.is-disabled {\\n    cursor: default;\\n    opacity: .2;\\n}\\n\\n.pika-select {\\n    display: inline-block;\\n}\\n\\n.pika-table {\\n    width: 100%;\\n    border-collapse: collapse;\\n    border-spacing: 0;\\n    border: 0;\\n}\\n\\n.pika-table th,\\n.pika-table td {\\n    width: 14.285714285714286%;\\n    padding: 0;\\n}\\n\\n.pika-table th {\\n    color: #999;\\n    font-size: 12px;\\n    line-height: 25px;\\n    font-weight: bold;\\n    text-align: center;\\n}\\n\\n.pika-button {\\n    cursor: pointer;\\n    display: block;\\n    box-sizing: border-box;\\n    -moz-box-sizing: border-box;\\n    outline: none;\\n    border: 0;\\n    margin: 0;\\n    width: 100%;\\n    padding: 5px;\\n    color: #666;\\n    font-size: 12px;\\n    line-height: 15px;\\n    text-align: right;\\n    background: #f5f5f5;\\n    height: initial;\\n}\\n\\n.pika-week {\\n    font-size: 11px;\\n    color: #999;\\n}\\n\\n.is-today .pika-button {\\n    color: #33aaff;\\n    font-weight: bold;\\n}\\n\\n.is-selected .pika-button,\\n.has-event .pika-button {\\n    color: #fff;\\n    font-weight: bold;\\n    background: #33aaff;\\n    box-shadow: inset 0 1px 3px #178fe5;\\n    border-radius: 3px;\\n}\\n\\n.has-event .pika-button {\\n    background: #005da9;\\n    box-shadow: inset 0 1px 3px #0076c9;\\n}\\n\\n.is-disabled .pika-button,\\n.is-inrange .pika-button {\\n    background: #D5E9F7;\\n}\\n\\n.is-startrange .pika-button {\\n    color: #fff;\\n    background: #6CB31D;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n.is-endrange .pika-button {\\n    color: #fff;\\n    background: #33aaff;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n.is-disabled .pika-button {\\n    pointer-events: none;\\n    cursor: default;\\n    color: #999;\\n    opacity: .3;\\n}\\n\\n.is-outside-current-month .pika-button {\\n    color: #999;\\n    opacity: .3;\\n}\\n\\n.is-selection-disabled {\\n    pointer-events: none;\\n    cursor: default;\\n}\\n\\n.pika-button:hover,\\n.pika-row.pick-whole-week:hover .pika-button {\\n    color: #fff;\\n    background: #ff8000;\\n    box-shadow: none;\\n    border-radius: 3px;\\n}\\n\\n/* styling for abbr */\\n.pika-table abbr {\\n    border-bottom: none;\\n    cursor: help;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.intents-dialog ux-dialog-body>.detail:first-letter{text-transform:capitalize}ux-dialog.intents-dialog ux-dialog-body>ul{list-style:none}ux-dialog.intents-dialog ux-dialog-body>ul li.intent+li.intent{margin-top:1rem}ux-dialog.intents-dialog ux-dialog-body>ul .intent{display:block;padding:1rem;border:1px solid #e0e0e0;background-color:#fff}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose{display:block}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate{color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate:hover{color:#404040}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose .navigate:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject{list-style:none}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li{display:flex;justify-content:space-between;align-items:center;background:#f8f8f8}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li i.saved{color:#1cc800}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li i.not-saved{color:#f30}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject>li:not(:last-child){border-bottom:5px solid #fff}ux-dialog.intents-dialog ux-dialog-body>ul .intent compose>ul.subject ka-control-file:hover .buttons{line-height:1}ux-dialog.intents-dialog ux-dialog-footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/dialogs/intents/intents.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6DDjbA,yBACI,CAAA,2CACJ,eACE,CAAA,+DACA,eACE,CAAA,mDACF,aACE,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,2DACA,aACE,CAAA,qEACA,aEjBM,CAAA,yBFmBJ,CAAA,cACA,CAAA,oBACA,CAAA,2EACA,aEvBC,CAAA,4EFyBD,oBCkBV,CAAA,WDjBiC,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCqBrD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sED/BM,eACE,CAAA,yEACA,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,kBACA,CAAA,iFACA,aE5BE,CAAA,qFF8BF,UE/BA,CAAA,0FFiCF,4BACE,CAAA,qGAGF,aACE,CAAA,8DAGV,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.intents-dialog\\n  ux-dialog-body\\n    > .detail:first-letter\\n        text-transform: capitalize\\n    > ul\\n      list-style: none \\n      li.intent + li.intent\\n        margin-top: 1rem\\n      .intent\\n        display: block\\n        padding: 1rem\\n        border: 1px solid #e0e0e0\\n        background-color: #ffffff\\n        compose\\n          display: block\\n          .navigate\\n            color: $primary-color\\n            text-decoration: underline\\n            cursor: pointer\\n            transition: color .3s\\n            &:hover\\n              color: $text-color\\n            &:before\\n              @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $primary-color)\\n          > ul.subject\\n            list-style: none\\n            > li\\n              display: flex\\n              justify-content: space-between\\n              align-items: center\\n              background: #f8f8f8\\n              i.saved\\n                color: $success-color\\n              i.not-saved\\n                color: $error-color\\n            > li:not(:last-child)\\n              border-bottom: 5px solid #fff\\n\\n            // fix ka control file issue\\n            ka-control-file:hover .buttons\\n              line-height: 1\\n\\n  ux-dialog-footer\\n    ka-button + ka-button\\n      margin-left: 0\\n\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog{width:300px;position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;flex-direction:column;-ms-flex-direction:column;-moz-flex-direction:column;-webkit-flex-direction:column}ux-dialog .loginbox h1{margin:0 0 4rem;padding:0 0 2rem;border-bottom:1px solid #e0e0e0;font-size:1.2rem;font-weight:700;line-height:1;text-transform:uppercase}ux-dialog .loginbox p{margin:0 0 2rem 0}ux-dialog .loginbox p.errorMessage{margin:-2rem 0 2rem;color:red}ux-dialog .loginbox button,ux-dialog .loginbox ka-button{margin:0}ux-dialog .loginbox .reset{display:inline-block;padding:0 1rem;font-size:1.2rem;line-height:3rem;color:#909090;text-decoration:none}ux-dialog .loginbox .reset:hover{text-decoration:underline}ux-dialog .loginbox ka-input{margin-bottom:3rem}ux-dialog .loginbox img{margin:1rem 1rem 3rem;width:100%;max-width:250px}ux-dialog .loginbox canvas{display:block;margin:0 1rem 1rem;width:100%;max-width:250px}ux-dialog .loginbox .footer{margin:2rem -2rem -2rem;padding:2rem;text-align:right;background-color:rgba(237,90,35,.1)}ux-dialog .loginbox .footer p{margin:5px 0;line-height:1;text-align:right}ux-dialog .loginbox .footer p.title{margin-bottom:0;font-size:1.8rem;font-weight:300;color:#ed5a23}ux-dialog .loginbox .footer a{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/dialogs/intents/vms/login.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,UACE,WAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CACA,uBAAA,CACA,oBAAA,CACA,8BAAA,CACA,2BAAA,CACA,sBAAA,CACA,wBAAA,CACA,qBAAA,CACA,0BAAA,CACA,uBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yBAAA,CACA,0BAAA,CACA,6BAAA,CAEE,uBACE,eAAA,CACA,gBAAA,CACA,+BAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,wBAAA,CACF,sBACE,iBAAA,CACF,mCACE,mBAAA,CACA,SAAA,CAEF,yDACE,QAAA,CAEF,2BACE,oBAAA,CACA,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,oBAAA,CACA,iCACE,yBAAA,CAEJ,6BACE,kBAAA,CAIF,wBACE,qBAAA,CACA,UAAA,CACA,eAAA,CAEF,2BACE,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CAEF,4BACE,uBAAA,CACA,YAAA,CACA,gBAAA,CACA,mCAAA,CACA,8BACE,YAAA,CACA,aAAA,CACA,gBAAA,CACA,oCACE,eAAA,CACA,gBAAA,CACA,eAAA,CACA,aCxFM,CDyFV,8BACE,aC3FK\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog\\n  width: 300px\\n  position: absolute\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n  -webkit-box-pack: center\\n  -ms-flex-pack: center\\n  -webkit-justify-content: center\\n  -moz-justify-content: center\\n  justify-content: center\\n  -webkit-box-align: center\\n  -ms-flex-align: center\\n  -webkit-align-items: center\\n  -moz-align-items: center\\n  align-items: center\\n  flex-direction: column\\n  -ms-flex-direction: column\\n  -moz-flex-direction: column\\n  -webkit-flex-direction: column\\n  .loginbox\\n    h1\\n      margin: 0 0 4rem\\n      padding: 0 0 2rem\\n      border-bottom: 1px solid #e0e0e0\\n      font-size: 1.2rem\\n      font-weight: 700\\n      line-height: 1\\n      text-transform: uppercase\\n    p\\n      margin: 0 0 2rem 0\\n    p.errorMessage\\n      margin: -2rem 0 2rem\\n      color: red\\n\\n    button, ka-button\\n      margin: 0\\n\\n    .reset\\n      display: inline-block\\n      padding: 0 1rem\\n      font-size: 1.2rem\\n      line-height: 3rem\\n      color: #909090\\n      text-decoration: none\\n      &:hover\\n        text-decoration: underline\\n\\n    ka-input\\n      margin-bottom: 3rem\\n      button\\n        //display: none\\n    \\n    img\\n      margin: 1rem 1rem 3rem\\n      width: 100%\\n      max-width: 250px\\n          \\n    canvas\\n      display: block\\n      margin: 0 1rem 1rem\\n      width: 100%\\n      max-width: 250px\\n\\n    .footer\\n      margin: 2rem -2rem -2rem\\n      padding: 2rem\\n      text-align: right\\n      background-color: rgba($primary-color, 0.1)\\n      p\\n        margin: 5px 0\\n        line-height: 1\\n        text-align: right\\n        &.title\\n          margin-bottom: 0\\n          font-size: 1.8rem\\n          font-weight: 300\\n          color: $primary-color\\n      a\\n        color: $text-color\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}md-accordion-button{display:inline-block;margin:0 1rem;transform-style:preserve-3d;transform-origin:50% 50%;perspective:200px}md-accordion-button>div{position:relative;height:3rem;min-width:22rem;overflow:hidden;white-space:nowrap;transition:transform .5s ease-in;border-radius:3px;cursor:pointer;font-family:\\\"Roboto condensed\\\",sans-serif;font-weight:400;color:#11254b}md-accordion-button>div>span{display:flex;justify-content:center;align-items:center;height:100%;width:100%;overflow:hidden;background:rgba(17,37,75,.06);transition:background .5s,height 0s .25s}md-accordion-button>div:hover>span{background:rgba(17,37,75,.12)}md-accordion-button>div .collapse_text:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}md-accordion-button>div .expand_text:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}md-accordion-button>div .collapse_text{height:100%}md-accordion-button>div .expand_text{height:0;transform:rotateX(180deg)}md-accordion-button.collapsed>div{transform:rotateX(180deg)}md-accordion-button.collapsed>div .collapse_text{height:0}md-accordion-button.collapsed>div .expand_text{height:100%}.md_accordion_target{overflow:hidden;transition:height .4s ease-in .1s}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-accordion-button/md-accordion-button.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,oBDnbJ,oBACE,CAAA,aACA,CAAA,2BACA,CAAA,wBACA,CAAA,iBACA,CAAA,wBACA,iBACE,CAAA,WACA,CAAA,eACA,CAAA,eACA,CAAA,kBACA,CAAA,gCACA,CAAA,iBACA,CAAA,cACA,CAAA,yCACA,CAAA,eACA,CAAA,aEjBc,CAAA,6BFmBd,YACE,CAAA,sBACA,CAAA,kBACA,CAAA,WACA,CAAA,UACA,CAAA,eACA,CAAA,6BACA,CAAA,wCACA,CAAA,mCACF,6BACE,CAAA,8CACF,oBCWF,CAAA,WDVyB,CAAA,iBAA4B,CAAA,gBAAR,CAAA,iBCc7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4CDxBA,oBCSF,CAAA,WDRyB,CAAA,iBAA4B,CAAA,gBAAR,CAAA,iBCY7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uCDrBA,WACE,CAAA,qCACF,QACE,CAAA,yBACA,CAAA,kCAEJ,yBACE,CAAA,iDACA,QACE,CAAA,+CACF,WACE,CAAA,qBAEN,eACE,CAAA,iCACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nmd-accordion-button\\n  display: inline-block\\n  margin: 0 1rem\\n  transform-style: preserve-3d\\n  transform-origin: 50% 50%\\n  perspective: 200px\\n  > div\\n    position: relative\\n    height: 3rem\\n    min-width: 22rem\\n    overflow: hidden\\n    white-space: nowrap\\n    transition: transform .5s ease-in\\n    border-radius: 3px\\n    cursor: pointer\\n    font-family: 'Roboto condensed', sans-serif\\n    font-weight: 400\\n    color: $secondary-color\\n    > span\\n      display: flex\\n      justify-content: center\\n      align-items: center\\n      height: 100%\\n      width: 100%\\n      overflow: hidden\\n      background: rgba($secondary-color, .06)\\n      transition: background .5s, height 0s .25s\\n    &:hover > span\\n      background: rgba($secondary-color, .12)\\n    .collapse_text:before\\n      @include fontawesome(\\\"\\\\f341\\\", 'regular', 1.4rem, 0 1rem 0 0, $primary-color)\\n    .expand_text:before\\n      @include fontawesome(\\\"\\\\f345\\\", 'regular', 1.4rem, 0 1rem 0 0, $primary-color)\\n    \\n    .collapse_text\\n      height: 100%\\n    .expand_text\\n      height: 0\\n      transform: rotateX(180deg)\\n\\n  &.collapsed > div\\n    transform: rotateX(180deg)\\n    .collapse_text\\n      height: 0\\n    .expand_text\\n      height: 100%\\n\\n.md_accordion_target\\n  overflow: hidden\\n  transition: height .4s ease-in .1s\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}km-layout:not(.collapsed)+router-view md-counter{left:calc(50% + 15rem) !important}md-counter{position:fixed;top:50%;left:50%;z-index:1000;transition:all .5s;transform:translate(-50%, -50%)}md-counter #mdCounter{opacity:0}md-counter #mdCounter #mdCounterFooter{display:flex;justify-content:center;padding:1rem 0}md-counter #mdCounter #mdCounterFooter .closing{border:none;border-radius:.4rem;padding:.8rem 1rem;font-size:1.3rem;font-family:\\\"Roboto\\\",sans-serif;background:#11254b;color:#fff;cursor:pointer;transition:all .3s}md-counter #mdCounter #mdCounterFooter .closing:hover{transform:scale(1.05)}md-counter #mdCounter #mdCounterBody{display:flex;justify-content:center;flex-direction:column;position:relative;z-index:1000;height:100%;width:100%;min-width:32rem;border-radius:.7rem;color:#fff;padding:2rem 3rem;text-shadow:1px 1px 1px rgba(0,0,0,.5);background:linear-gradient(to bottom, #f07649, #ed5a23, #d64711);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}md-counter #mdCounter #mdCounterBody:before{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(255, 153, 0, 0.06) 0, rgba(255, 153, 0, 0.06) 1px, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 50%)}md-counter #mdCounter #mdCounterBody h3{display:block;width:100%;color:#fff;background:rgba(0,0,0,0);border:0;padding:0;margin:0 0 .5rem;line-height:1;font-size:3rem;font-weight:200;text-align:center;font-family:\\\"Roboto flex\\\",sans-serif}md-counter #mdCounter #mdCounterBody #mdCounterElement{font-size:8rem;font-weight:600;font-family:\\\"Roboto mono\\\",sans-serif}md-counter #mdCounter #mdCounterBody #mdCounterElement.two-zeros:before{content:\\\"00\\\"}md-counter #mdCounter #mdCounterBody .suffix{margin-left:.5rem;font-size:4rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/resources/elements/md-counter/md-counter.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,iDACE,iCAAA,CACJ,WACE,cAAA,CACA,OAAA,CACA,QAAA,CACA,YAAA,CACA,kBAAA,CACA,+BAAA,CACA,sBACE,SAAA,CACA,uCACE,YAAA,CACA,sBAAA,CACA,cAAA,CACA,gDACE,WAAA,CACA,mBAAA,CACA,kBAAA,CACA,gBAAA,CACA,+BAAA,CACA,kBCvBU,CDwBV,UAAA,CACA,cAAA,CACA,kBAAA,CACA,sDACE,qBAAA,CACN,qCACE,YAAA,CACA,sBAAA,CACA,qBAAA,CACA,iBAAA,CACA,YAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,sCAAA,CACA,gEAAA,CACA,yCAAA,CACA,4CACE,iBAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,KAAA,CACA,MAAA,CACA,uBAAA,CACA,mKAAA,CACF,wCACE,aAAA,CACA,UAAA,CACA,UAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,gBAAA,CACA,aAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,oCAAA,CACF,uDACE,cAAA,CACA,eAAA,CACA,oCAAA,CACA,wEACE,YAAA,CACJ,6CACE,iBAAA,CACA,cAAA,CACA,eAAA,CACA,yCAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nkm-layout:not(.collapsed) + router-view\\n  md-counter\\n    left: calc(50% + 15rem) !important\\nmd-counter\\n  position: fixed\\n  top: 50%\\n  left: 50%\\n  z-index: 1000\\n  transition: all .5s\\n  transform: translate(-50%,-50%)\\n  #mdCounter\\n    opacity: 0\\n    #mdCounterFooter\\n      display: flex\\n      justify-content: center\\n      padding: 1rem 0\\n      .closing\\n        border: none\\n        border-radius: .4rem\\n        padding: .8rem 1rem\\n        font-size: 1.3rem\\n        font-family: 'Roboto', sans-serif\\n        background: $secondary-color\\n        color: #fff\\n        cursor: pointer\\n        transition: all .3s\\n        &:hover\\n          transform: scale(1.05)\\n    #mdCounterBody\\n      display: flex\\n      justify-content: center\\n      flex-direction: column\\n      position: relative\\n      z-index: 1000\\n      height: 100%\\n      width: 100%\\n      min-width: 32rem\\n      border-radius: .7rem\\n      color: #fff\\n      padding: 2rem 3rem\\n      text-shadow: 1px 1px 1px rgba(#000, .5)\\n      background: linear-gradient(to bottom, lighten($primary-color, 8%), $primary-color, darken($primary-color, 8%))\\n      box-shadow: inset 0 0 0 1px rgba(#000, .2)\\n      &:before \\n        position: absolute\\n        content: ''\\n        height: 100%\\n        width: 100%\\n        top: 0\\n        left: 0\\n        background-size: 6px 6px\\n        background-image: repeating-linear-gradient(45deg, rgba($pending-color, .06) 0, rgba($pending-color, .06) 1px, rgba(#fff, .1) 0, rgba(#fff, .1) 50%)\\n      h3 \\n        display: block\\n        width: 100%\\n        color: #fff\\n        background: transparent\\n        border: 0\\n        padding: 0\\n        margin: 0 0 .5rem\\n        line-height: 1\\n        font-size: 3rem\\n        font-weight: 200\\n        text-align: center\\n        font-family: 'Roboto flex', sans-serif \\n      #mdCounterElement \\n        font-size: 8rem\\n        font-weight: 600\\n        font-family: 'Roboto mono', sans-serif\\n        &.two-zeros:before \\n          content: '00' \\n      .suffix \\n        margin-left: .5rem\\n        font-size: 4rem\\n        font-weight: 400\\n        font-family: 'Roboto condensed', sans-serif\\n  \\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}#loader-wrapper{display:flex;align-items:center;flex-direction:column;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:9999;transition:opacity .5s;background:rgba(17,37,75,.0117647059);opacity:1}#loader-wrapper.fade-out{opacity:0}#loader-wrapper>.spinner-loader{position:absolute;top:calc(50% - 4rem);left:calc(50% - 4rem);width:8rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #aeaeae 95%, rgba(0, 0, 0, 0)) top/10px 10px no-repeat,conic-gradient(rgba(0, 0, 0, 0) 20%, #aeaeae);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 10px), #000 0);animation:l13 1s infinite linear}@keyframes l13{100%{transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/resources/elements/md-loader/md-loader.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CChbJ,gBACE,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,sBAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,sBAAA,CACA,qCAAA,CACA,SAAA,CACA,yBACE,SAAA,CAEF,gCACE,iBAAA,CACA,oBAAA,CACA,qBAAA,CACA,UAxBW,CAyBX,cAAA,CACA,iBAAA,CACA,8IAAA,CACA,uFAAA,CACA,gCAAA,CAEJ,eACE,KACE,uBAAA,CAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$loader-width: 8rem\\n$loader-thickness: 10px\\n\\n#loader-wrapper\\n  display: flex\\n  align-items: center\\n  flex-direction: column\\n  justify-content: center\\n  position: absolute\\n  top: 0\\n  left: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 9999\\n  transition: opacity .5s\\n  background: #11254b03\\n  opacity: 1\\n  &.fade-out \\n    opacity: 0\\n\\n  > .spinner-loader \\n    position: absolute\\n    top: calc(50% - $loader-width / 2)\\n    left: calc(50% - $loader-width / 2)\\n    width: $loader-width\\n    aspect-ratio: 1\\n    border-radius: 50%\\n    background: radial-gradient(farthest-side, #aeaeae 95%, #0000) top/$loader-thickness $loader-thickness no-repeat, conic-gradient(#0000 20%, #aeaeae)\\n    -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - $loader-thickness), #000 0)\\n    animation: l13 1s infinite linear\\n\\n@keyframes l13\\n  100%\\n    transform: rotate(1turn)\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-pagination button{color:#404040;background-color:rgba(237,90,35,.05);appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0;padding:0;width:4rem;height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:rgba(0,0,0,0);transition:all .5s}md-table-pagination button:not(.disabled):hover{color:#404040;background-color:rgba(237,90,35,.05)}md-table-pagination button:first-child{box-shadow:none}md-table-pagination button:first-child:not(.disabled):hover{box-shadow:inset 1px 0 0 0 #e0e0e0}md-table-pagination button:last-child{box-shadow:none}md-table-pagination button:last-child:not(.disabled):hover{box-shadow:inset -1px 0 0 0 #e0e0e0}md-table-pagination .count{display:inline-block;position:relative;height:4rem;line-height:4rem;white-space:nowrap;color:#606060;padding:0 2rem;text-align:center;text-transform:lowercase;font-size:1.2rem;font-weight:500;cursor:pointer}md-table-pagination .count>.options-tab{position:absolute;top:0;left:50%;padding:2rem;width:26rem;z-index:101;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1019607843),0 10px 10px -10px rgba(0,0,0,.1019607843);transform:translateX(-50%) translateY(14px);animation:options .5s}md-table-pagination .count>.options-tab>ka-input{margin:1.5rem 0 0}md-table-pagination .count>.options-tab>ka-input>label::first-letter{text-transform:uppercase}md-table-pagination .options-background{position:fixed;background:rgba(0,0,0,0);width:100%;height:100%;top:0;left:0;z-index:100}@keyframes options{from{opacity:0;transform:translateX(-50%) translateY(50px)}to{opacity:1;transform:translateX(-50%) translateY(14px)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-pagination/md-table-pagination.scss\"],\"names\":[],\"mappings\":\"AACE,2BACE,aAAA,CACA,oCAAA,CACA,eAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,2DAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,uBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDAAA,aAAA,CAAA,oCAAA,CACA,uCAAA,eAAA,CACA,4DAAA,kCAAA,CACA,sCAAA,eAAA,CACA,2DAAA,mCAAA,CAIF,2BACE,oBAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,gBAAA,CACA,eAAA,CACA,cAAA,CAEA,wCACE,iBAAA,CACA,KAAA,CACA,QAAA,CACA,YAAA,CACA,WAAA,CACA,WAAA,CACA,qBAAA,CACA,qFAAA,CACA,2CAAA,CACA,qBAAA,CACA,iDACE,iBAAA,CACA,qEAAA,wBAAA,CAKN,wCACE,cAAA,CACA,wBAAA,CACA,UAAA,CACA,WAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CAIJ,mBACE,KAAA,SAAA,CAAA,2CAAA,CACA,GAAA,SAAA,CAAA,2CAAA,CAAA\",\"sourcesContent\":[\"md-table-pagination {\\n  button {\\n    color: #404040;\\n    background-color: rgba(237, 90, 35, 0.05);\\n    appearance: none;\\n    -webkit-appearance: none;\\n    outline: none;\\n    cursor: pointer;\\n    margin: 0;\\n    border: 0;\\n    box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0;\\n    padding: 0;\\n    width: 4rem;\\n    height: 4rem;\\n    color: rgba(64, 64, 64, 0.5);\\n    vertical-align: top;\\n    background: transparent;\\n    transition: all 0.5s;\\n    &:not(.disabled):hover { color: #404040; background-color: rgba(237, 90, 35, 0.05); }\\n    &:first-child { box-shadow: none; }\\n    &:first-child:not(.disabled):hover { box-shadow: inset 1px 0 0 0 #e0e0e0; }\\n    &:last-child { box-shadow: none; }\\n    &:last-child:not(.disabled):hover { box-shadow: inset -1px 0 0 0 #e0e0e0; }\\n  }\\n\\n  /* Counter */\\n  .count {\\n    display: inline-block;\\n    position: relative;\\n    height: 4rem;\\n    line-height: 4rem;\\n    white-space: nowrap;\\n    color: #606060;\\n    padding: 0 2rem;\\n    text-align: center;\\n    text-transform: lowercase;\\n    font-size: 1.2rem;\\n    font-weight: 500;\\n    cursor: pointer;\\n\\n    > .options-tab {\\n      position: absolute;\\n      top: 0;\\n      left: 50%;\\n      padding: 2rem;\\n      width: 26rem;\\n      z-index: 101;\\n      background-color: #ffffff;\\n      box-shadow: 0 0 10px #0000001a, 0 10px 10px -10px #0000001a;\\n      transform: translateX(-50%) translateY(14px);\\n      animation: options .5s;\\n      > ka-input {\\n        margin: 1.5rem 0 0;\\n        > label::first-letter { text-transform: uppercase; }\\n      }\\n    }\\n  }\\n  \\n  .options-background {\\n    position: fixed;\\n    background: transparent;\\n    width: 100%;\\n    height: 100%;\\n    top: 0;\\n    left: 0;\\n    z-index: 100;\\n  }\\n}\\n\\n@keyframes options {\\n  from { opacity: 0; transform: translateX(-50%) translateY(50px); }\\n  to { opacity: 1; transform: translateX(-50%) translateY(14px); }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-progressbar{display:block;position:relative;height:3px;background-color:#e0e0e0;overflow:hidden}md-table-progressbar .indeterminate{background-color:#ed5a23}md-table-progressbar .indeterminate:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}md-table-progressbar .indeterminate:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-progressbar/md-table-progressbar.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,qBACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,oCACE,wBCRY,CDSZ,2CACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,0CACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CAEN,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nmd-table-progressbar\\n  display: block\\n  position: relative\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  .indeterminate\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-sort{display:block}md-table-sort a{display:inline-block;color:#909090;font-size:1.6rem;line-height:2rem}md-table-sort a.asc,md-table-sort a.desc{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-sort/md-table-sort.scss\"],\"names\":[],\"mappings\":\"AAAA,cACE,aAAA,CACA,gBACE,oBAAA,CACA,aAAA,CACA,gBAAA,CACA,gBAAA,CACA,yCACE,aAAA\",\"sourcesContent\":[\"md-table-sort {\\n  display: block;\\n  a {\\n    display: inline-block;\\n    color: #909090;\\n    font-size: 1.6rem;\\n    line-height: 2rem;\\n    &.asc, &.desc {\\n      color: #ed5a23;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-toolbar{position:relative;display:block;background:#fff;box-shadow:inset 0 -1px 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}md-table-toolbar .row{height:4rem;width:100%}md-table-toolbar .row>.col{padding:0}md-table-toolbar .row>.col.buttons-left .toolbar-button+.toolbar-button,md-table-toolbar .row>.col.buttons-right .toolbar-button+.toolbar-button{margin-left:-1px}md-table-toolbar .row>.col.buttons-left .toolbar-button,md-table-toolbar .row>.col.buttons-right .toolbar-button{position:relative;border:none;padding:0;margin:0;background:rgba(0,0,0,0);color:rgba(64,64,64,.5019607843);font-family:sans-serif;font-size:1rem;height:4rem;width:4rem;cursor:pointer;box-shadow:1px 0 0 0 #e0e0e0,1px 0 0 0 #e0e0e0;transition:all .5s}md-table-toolbar .row>.col.buttons-left .toolbar-button>i,md-table-toolbar .row>.col.buttons-right .toolbar-button>i{position:absolute;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center}md-table-toolbar .row>.col.buttons-left .toolbar-button:not(.disabled):hover,md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):hover{color:#404040;background:rgba(237,90,35,.05)}md-table-toolbar .row>.col.buttons-left .toolbar-button:not(.disabled):only-child:hover,md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):only-child:hover{box-shadow:1px 0 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active{color:#ed5a23;position:relative}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter{position:absolute;height:12px;width:12px;top:4px;left:24px}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter>i,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter>i{font-size:1rem;color:rgba(64,64,64,.5019607843);line-height:12px}md-table-toolbar .row>.col.buttons-left .toolbar-button.search-active .with-filter:hover>i,md-table-toolbar .row>.col.buttons-right .toolbar-button.search-active .with-filter:hover>i{color:#ed5a23}md-table-toolbar .row>.col.buttons-right .toolbar-button+.toolbar-button{box-shadow:inset 0 1px 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-right .toolbar-button{box-shadow:-1px 0 0 0 #e0e0e0,1px 0 0 0 #e0e0e0}md-table-toolbar .row>.col.buttons-right .toolbar-button:not(.disabled):only-child:hover{box-shadow:-1px 0 0 0 #e0e0e0}md-table-toolbar md-table-progressbar{position:absolute;top:3.85rem;left:0;width:100%}.md-table-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1981}.md-table-sidebar{position:fixed;top:0;right:0;bottom:0;width:40rem;background-color:#fff;transition:right 500ms}.md-table-sidebar.off{right:-40rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-toolbar/md-table-toolbar.scss\"],\"names\":[],\"mappings\":\"AAAA,iBACE,iBAAA,CACA,aAAA,CACA,eAAA,CACA,2DAAA,CAEA,sBACE,WAAA,CACA,UAAA,CACA,2BACE,SAAA,CAEE,iJAAA,gBAAA,CACA,iHACE,iBAAA,CACA,WAAA,CACA,SAAA,CACA,QAAA,CACA,wBAAA,CACA,gCAAA,CACA,sBAAA,CACA,cAAA,CACA,WAAA,CACA,UAAA,CACA,cAAA,CACA,8CAAA,CACA,kBAAA,CACA,qHACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,sBAAA,CACA,kBAAA,CAEF,2JAAA,aAAA,CAAA,8BAAA,CACA,iLAAA,4BAAA,CAEA,6IACE,aAAA,CACA,iBAAA,CACA,uKACE,iBAAA,CACA,WAAA,CACA,UAAA,CACA,OAAA,CACA,SAAA,CACA,2KAAA,cAAA,CAAA,gCAAA,CAAA,gBAAA,CACA,uLAAA,aAAA,CAMN,yEAAA,kCAAA,CACA,yDACE,+CAAA,CACA,yFAAA,6BAAA,CAMR,sCACE,iBAAA,CACA,WAAA,CACA,MAAA,CACA,UAAA,CAKJ,mBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,YAAA,CAEF,kBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,WAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,YAAA\",\"sourcesContent\":[\"md-table-toolbar {\\n  position: relative;\\n  display: block;\\n  background: #fff;\\n  box-shadow: inset 0 -1px 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0;\\n\\n  .row {\\n    height: 4rem;\\n    width: 100%;\\n    > .col {\\n      padding: 0;\\n      &.buttons-left, &.buttons-right {\\n        .toolbar-button + .toolbar-button { margin-left: -1px; }\\n        .toolbar-button {\\n          position: relative;\\n          border: none;\\n          padding: 0;\\n          margin: 0;\\n          background: transparent;\\n          color: #40404080;\\n          font-family: sans-serif;\\n          font-size: 1rem;\\n          height: 4rem;\\n          width: 4rem;\\n          cursor: pointer;\\n          box-shadow: 1px 0 0 0 #e0e0e0, 1px 0 0 0 #e0e0e0;\\n          transition: all 0.5s;\\n          > i {\\n            position: absolute;\\n            top: 0;\\n            left: 0;\\n            height: 100%;\\n            width: 100%;\\n            display: flex;\\n            justify-content: center;\\n            align-items: center;\\n          }\\n          &:not(.disabled):hover { color: #404040; background: rgba(237, 90, 35, 0.05); }\\n          &:not(.disabled):only-child:hover { box-shadow: 1px 0 0 0 #e0e0e0; }\\n      \\n          &.search-active {\\n            color: #ED5A23;\\n            position: relative;\\n            .with-filter {\\n              position: absolute;\\n              height: 12px;\\n              width: 12px;\\n              top: 4px;\\n              left: 24px;\\n              > i { font-size: 1rem; color: #40404080; line-height: 12px; }\\n              &:hover > i { color: #ED5A23; }\\n            }\\n          }\\n        }\\n      }\\n      &.buttons-right {\\n        .toolbar-button + .toolbar-button { box-shadow: inset 0 1px 0 0 #e0e0e0 }\\n        .toolbar-button { \\n          box-shadow: -1px 0 0 0 #e0e0e0, 1px 0 0 0 #e0e0e0;\\n          &:not(.disabled):only-child:hover { box-shadow: -1px 0 0 0 #e0e0e0; }\\n        }\\n      }\\n    }  \\n  }\\n\\n  md-table-progressbar {\\n    position: absolute;\\n    top: 3.85rem;\\n    left: 0;\\n    width: 100%;\\n  }\\n}\\n\\n/* Sidebar */\\n.md-table-backdrop {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 1981;\\n}\\n.md-table-sidebar {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  width: 40rem;\\n  background-color: #ffffff;\\n  transition: right 500ms;\\n  &.off { right: -40rem; }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".md-table-sidebar{min-width:40rem;box-shadow:-10px 0 10px -10px rgba(0,0,0,.1019607843)}.md-table-sidebar .inputs>.input{padding:1rem}.md-table-sidebar .close{color:#ed5a23;cursor:pointer;font-size:2.2rem;padding-right:1rem;margin-top:.5rem}.md-table-sidebar .buttons{text-align:right;margin:2rem 1rem}.md-table-sidebar .buttons .ka-button{margin:0}.md-table-sidebar .buttons .ka-button+.ka-button{margin-right:2rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-toolbar/sidebars/search.scss\"],\"names\":[],\"mappings\":\"AAAA,kBACE,eAAA,CACA,qDAAA,CAEE,iCAAA,YAAA,CAEF,yBACE,aAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CACA,gBAAA,CAEF,2BACE,gBAAA,CACA,gBAAA,CACA,sCAAA,QAAA,CACA,iDAAA,iBAAA\",\"sourcesContent\":[\".md-table-sidebar {\\n  min-width: 40rem;\\n  box-shadow: -10px 0 10px -10px #0000001a;\\n  .inputs {\\n    > .input { padding: 1rem; }\\n  }\\n  .close {\\n    color: #ED5A23;\\n    cursor: pointer;\\n    font-size: 2.2rem;\\n    padding-right: 1rem;\\n    margin-top: 0.5rem;\\n  }\\n  .buttons { \\n    text-align: right; \\n    margin: 2rem 1rem;\\n    .ka-button { margin: 0; }\\n    .ka-button + .ka-button { margin-right: 2rem; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"md-table-wrapper{display:block;overflow:auto}md-table-wrapper tbody .ka-tr-tools .arrow{background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%) !important;box-shadow:-5px 0 5px -5px rgba(0,0,0,.2509803922)}md-table-wrapper tbody .ka-tr-tools .arrow>.material-icons{width:2.2rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/resources/elements/md-table-wrapper/md-table-wrapper.scss\"],\"names\":[],\"mappings\":\"AAAA,iBACE,aAAA,CACA,aAAA,CAGI,2CACE,2HAAA,CACA,kDAAA,CACA,2DAAA,YAAA\",\"sourcesContent\":[\"md-table-wrapper {\\n  display: block;\\n  overflow: auto;\\n  tbody {\\n    .ka-tr-tools {\\n      .arrow {\\n        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%) !important;\\n        box-shadow: -5px 0 5px -5px #00000040;\\n        > .material-icons { width: 2.2rem; }\\n      }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js!../../node_modules/ka-components/node_modules/pikaday/css/pikaday.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"/src/static/webfonts/fa-brands-400.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"/src/static/webfonts/fa-brands-400.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"/src/static/webfonts/fa-brands-400.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"/src/static/webfonts/fa-brands-400.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"/src/static/webfonts/fa-brands-400.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"/src/static/webfonts/fa-duotone-900.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"/src/static/webfonts/fa-duotone-900.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"/src/static/webfonts/fa-duotone-900.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"/src/static/webfonts/fa-duotone-900.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"/src/static/webfonts/fa-duotone-900.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"/src/static/webfonts/fa-light-300.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"/src/static/webfonts/fa-light-300.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"/src/static/webfonts/fa-light-300.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"/src/static/webfonts/fa-light-300.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"/src/static/webfonts/fa-light-300.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"/src/static/webfonts/fa-regular-400.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"/src/static/webfonts/fa-regular-400.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"/src/static/webfonts/fa-regular-400.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"/src/static/webfonts/fa-regular-400.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_19___ = new URL(\"/src/static/webfonts/fa-regular-400.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_20___ = new URL(\"/src/static/webfonts/fa-solid-900.eot\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_21___ = new URL(\"/src/static/webfonts/fa-solid-900.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_22___ = new URL(\"/src/static/webfonts/fa-solid-900.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_23___ = new URL(\"/src/static/webfonts/fa-solid-900.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_24___ = new URL(\"/src/static/webfonts/fa-solid-900.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___, { hash: \"#fontawesome\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);\nvar ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);\nvar ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);\nvar ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);\nvar ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___, { hash: \"#fontawesome\" });\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}/*!\\n * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com\\n * License - https://fontawesome.com/license (Commercial License)\\n */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-0.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\\\"\\\"}.fa-abacus:before{content:\\\"\\\"}.fa-accessible-icon:before{content:\\\"\\\"}.fa-accusoft:before{content:\\\"\\\"}.fa-acorn:before{content:\\\"\\\"}.fa-acquisitions-incorporated:before{content:\\\"\\\"}.fa-ad:before{content:\\\"\\\"}.fa-address-book:before{content:\\\"\\\"}.fa-address-card:before{content:\\\"\\\"}.fa-adjust:before{content:\\\"\\\"}.fa-adn:before{content:\\\"\\\"}.fa-adobe:before{content:\\\"\\\"}.fa-adversal:before{content:\\\"\\\"}.fa-affiliatetheme:before{content:\\\"\\\"}.fa-air-conditioner:before{content:\\\"\\\"}.fa-air-freshener:before{content:\\\"\\\"}.fa-airbnb:before{content:\\\"\\\"}.fa-alarm-clock:before{content:\\\"\\\"}.fa-alarm-exclamation:before{content:\\\"\\\"}.fa-alarm-plus:before{content:\\\"\\\"}.fa-alarm-snooze:before{content:\\\"\\\"}.fa-album:before{content:\\\"\\\"}.fa-album-collection:before{content:\\\"\\\"}.fa-algolia:before{content:\\\"\\\"}.fa-alicorn:before{content:\\\"\\\"}.fa-alien:before{content:\\\"\\\"}.fa-alien-monster:before{content:\\\"\\\"}.fa-align-center:before{content:\\\"\\\"}.fa-align-justify:before{content:\\\"\\\"}.fa-align-left:before{content:\\\"\\\"}.fa-align-right:before{content:\\\"\\\"}.fa-align-slash:before{content:\\\"\\\"}.fa-alipay:before{content:\\\"\\\"}.fa-allergies:before{content:\\\"\\\"}.fa-amazon:before{content:\\\"\\\"}.fa-amazon-pay:before{content:\\\"\\\"}.fa-ambulance:before{content:\\\"\\\"}.fa-american-sign-language-interpreting:before{content:\\\"\\\"}.fa-amilia:before{content:\\\"\\\"}.fa-amp-guitar:before{content:\\\"\\\"}.fa-analytics:before{content:\\\"\\\"}.fa-anchor:before{content:\\\"\\\"}.fa-android:before{content:\\\"\\\"}.fa-angel:before{content:\\\"\\\"}.fa-angellist:before{content:\\\"\\\"}.fa-angle-double-down:before{content:\\\"\\\"}.fa-angle-double-left:before{content:\\\"\\\"}.fa-angle-double-right:before{content:\\\"\\\"}.fa-angle-double-up:before{content:\\\"\\\"}.fa-angle-down:before{content:\\\"\\\"}.fa-angle-left:before{content:\\\"\\\"}.fa-angle-right:before{content:\\\"\\\"}.fa-angle-up:before{content:\\\"\\\"}.fa-angry:before{content:\\\"\\\"}.fa-angrycreative:before{content:\\\"\\\"}.fa-angular:before{content:\\\"\\\"}.fa-ankh:before{content:\\\"\\\"}.fa-app-store:before{content:\\\"\\\"}.fa-app-store-ios:before{content:\\\"\\\"}.fa-apper:before{content:\\\"\\\"}.fa-apple:before{content:\\\"\\\"}.fa-apple-alt:before{content:\\\"\\\"}.fa-apple-crate:before{content:\\\"\\\"}.fa-apple-pay:before{content:\\\"\\\"}.fa-archive:before{content:\\\"\\\"}.fa-archway:before{content:\\\"\\\"}.fa-arrow-alt-circle-down:before{content:\\\"\\\"}.fa-arrow-alt-circle-left:before{content:\\\"\\\"}.fa-arrow-alt-circle-right:before{content:\\\"\\\"}.fa-arrow-alt-circle-up:before{content:\\\"\\\"}.fa-arrow-alt-down:before{content:\\\"\\\"}.fa-arrow-alt-from-bottom:before{content:\\\"\\\"}.fa-arrow-alt-from-left:before{content:\\\"\\\"}.fa-arrow-alt-from-right:before{content:\\\"\\\"}.fa-arrow-alt-from-top:before{content:\\\"\\\"}.fa-arrow-alt-left:before{content:\\\"\\\"}.fa-arrow-alt-right:before{content:\\\"\\\"}.fa-arrow-alt-square-down:before{content:\\\"\\\"}.fa-arrow-alt-square-left:before{content:\\\"\\\"}.fa-arrow-alt-square-right:before{content:\\\"\\\"}.fa-arrow-alt-square-up:before{content:\\\"\\\"}.fa-arrow-alt-to-bottom:before{content:\\\"\\\"}.fa-arrow-alt-to-left:before{content:\\\"\\\"}.fa-arrow-alt-to-right:before{content:\\\"\\\"}.fa-arrow-alt-to-top:before{content:\\\"\\\"}.fa-arrow-alt-up:before{content:\\\"\\\"}.fa-arrow-circle-down:before{content:\\\"\\\"}.fa-arrow-circle-left:before{content:\\\"\\\"}.fa-arrow-circle-right:before{content:\\\"\\\"}.fa-arrow-circle-up:before{content:\\\"\\\"}.fa-arrow-down:before{content:\\\"\\\"}.fa-arrow-from-bottom:before{content:\\\"\\\"}.fa-arrow-from-left:before{content:\\\"\\\"}.fa-arrow-from-right:before{content:\\\"\\\"}.fa-arrow-from-top:before{content:\\\"\\\"}.fa-arrow-left:before{content:\\\"\\\"}.fa-arrow-right:before{content:\\\"\\\"}.fa-arrow-square-down:before{content:\\\"\\\"}.fa-arrow-square-left:before{content:\\\"\\\"}.fa-arrow-square-right:before{content:\\\"\\\"}.fa-arrow-square-up:before{content:\\\"\\\"}.fa-arrow-to-bottom:before{content:\\\"\\\"}.fa-arrow-to-left:before{content:\\\"\\\"}.fa-arrow-to-right:before{content:\\\"\\\"}.fa-arrow-to-top:before{content:\\\"\\\"}.fa-arrow-up:before{content:\\\"\\\"}.fa-arrows:before{content:\\\"\\\"}.fa-arrows-alt:before{content:\\\"\\\"}.fa-arrows-alt-h:before{content:\\\"\\\"}.fa-arrows-alt-v:before{content:\\\"\\\"}.fa-arrows-h:before{content:\\\"\\\"}.fa-arrows-v:before{content:\\\"\\\"}.fa-artstation:before{content:\\\"\\\"}.fa-assistive-listening-systems:before{content:\\\"\\\"}.fa-asterisk:before{content:\\\"\\\"}.fa-asymmetrik:before{content:\\\"\\\"}.fa-at:before{content:\\\"\\\"}.fa-atlas:before{content:\\\"\\\"}.fa-atlassian:before{content:\\\"\\\"}.fa-atom:before{content:\\\"\\\"}.fa-atom-alt:before{content:\\\"\\\"}.fa-audible:before{content:\\\"\\\"}.fa-audio-description:before{content:\\\"\\\"}.fa-autoprefixer:before{content:\\\"\\\"}.fa-avianex:before{content:\\\"\\\"}.fa-aviato:before{content:\\\"\\\"}.fa-award:before{content:\\\"\\\"}.fa-aws:before{content:\\\"\\\"}.fa-axe:before{content:\\\"\\\"}.fa-axe-battle:before{content:\\\"\\\"}.fa-baby:before{content:\\\"\\\"}.fa-baby-carriage:before{content:\\\"\\\"}.fa-backpack:before{content:\\\"\\\"}.fa-backspace:before{content:\\\"\\\"}.fa-backward:before{content:\\\"\\\"}.fa-bacon:before{content:\\\"\\\"}.fa-bacteria:before{content:\\\"陵\\\"}.fa-bacterium:before{content:\\\"讀\\\"}.fa-badge:before{content:\\\"\\\"}.fa-badge-check:before{content:\\\"\\\"}.fa-badge-dollar:before{content:\\\"\\\"}.fa-badge-percent:before{content:\\\"\\\"}.fa-badge-sheriff:before{content:\\\"\\\"}.fa-badger-honey:before{content:\\\"\\\"}.fa-bags-shopping:before{content:\\\"\\\"}.fa-bahai:before{content:\\\"\\\"}.fa-balance-scale:before{content:\\\"\\\"}.fa-balance-scale-left:before{content:\\\"\\\"}.fa-balance-scale-right:before{content:\\\"\\\"}.fa-ball-pile:before{content:\\\"\\\"}.fa-ballot:before{content:\\\"\\\"}.fa-ballot-check:before{content:\\\"\\\"}.fa-ban:before{content:\\\"\\\"}.fa-band-aid:before{content:\\\"\\\"}.fa-bandcamp:before{content:\\\"\\\"}.fa-banjo:before{content:\\\"\\\"}.fa-barcode:before{content:\\\"\\\"}.fa-barcode-alt:before{content:\\\"\\\"}.fa-barcode-read:before{content:\\\"\\\"}.fa-barcode-scan:before{content:\\\"\\\"}.fa-bars:before{content:\\\"\\\"}.fa-baseball:before{content:\\\"\\\"}.fa-baseball-ball:before{content:\\\"\\\"}.fa-basketball-ball:before{content:\\\"\\\"}.fa-basketball-hoop:before{content:\\\"\\\"}.fa-bat:before{content:\\\"\\\"}.fa-bath:before{content:\\\"\\\"}.fa-battery-bolt:before{content:\\\"\\\"}.fa-battery-empty:before{content:\\\"\\\"}.fa-battery-full:before{content:\\\"\\\"}.fa-battery-half:before{content:\\\"\\\"}.fa-battery-quarter:before{content:\\\"\\\"}.fa-battery-slash:before{content:\\\"\\\"}.fa-battery-three-quarters:before{content:\\\"\\\"}.fa-battle-net:before{content:\\\"\\\"}.fa-bed:before{content:\\\"\\\"}.fa-bed-alt:before{content:\\\"\\\"}.fa-bed-bunk:before{content:\\\"\\\"}.fa-bed-empty:before{content:\\\"\\\"}.fa-beer:before{content:\\\"\\\"}.fa-behance:before{content:\\\"\\\"}.fa-behance-square:before{content:\\\"\\\"}.fa-bell:before{content:\\\"\\\"}.fa-bell-exclamation:before{content:\\\"\\\"}.fa-bell-on:before{content:\\\"\\\"}.fa-bell-plus:before{content:\\\"\\\"}.fa-bell-school:before{content:\\\"\\\"}.fa-bell-school-slash:before{content:\\\"\\\"}.fa-bell-slash:before{content:\\\"\\\"}.fa-bells:before{content:\\\"\\\"}.fa-betamax:before{content:\\\"\\\"}.fa-bezier-curve:before{content:\\\"\\\"}.fa-bible:before{content:\\\"\\\"}.fa-bicycle:before{content:\\\"\\\"}.fa-biking:before{content:\\\"\\\"}.fa-biking-mountain:before{content:\\\"\\\"}.fa-bimobject:before{content:\\\"\\\"}.fa-binoculars:before{content:\\\"\\\"}.fa-biohazard:before{content:\\\"\\\"}.fa-birthday-cake:before{content:\\\"\\\"}.fa-bitbucket:before{content:\\\"\\\"}.fa-bitcoin:before{content:\\\"\\\"}.fa-bity:before{content:\\\"\\\"}.fa-black-tie:before{content:\\\"\\\"}.fa-blackberry:before{content:\\\"\\\"}.fa-blanket:before{content:\\\"\\\"}.fa-blender:before{content:\\\"\\\"}.fa-blender-phone:before{content:\\\"\\\"}.fa-blind:before{content:\\\"\\\"}.fa-blinds:before{content:\\\"\\\"}.fa-blinds-open:before{content:\\\"\\\"}.fa-blinds-raised:before{content:\\\"\\\"}.fa-blog:before{content:\\\"\\\"}.fa-blogger:before{content:\\\"\\\"}.fa-blogger-b:before{content:\\\"\\\"}.fa-bluetooth:before{content:\\\"\\\"}.fa-bluetooth-b:before{content:\\\"\\\"}.fa-bold:before{content:\\\"\\\"}.fa-bolt:before{content:\\\"\\\"}.fa-bomb:before{content:\\\"\\\"}.fa-bone:before{content:\\\"\\\"}.fa-bone-break:before{content:\\\"\\\"}.fa-bong:before{content:\\\"\\\"}.fa-book:before{content:\\\"\\\"}.fa-book-alt:before{content:\\\"\\\"}.fa-book-dead:before{content:\\\"\\\"}.fa-book-heart:before{content:\\\"\\\"}.fa-book-medical:before{content:\\\"\\\"}.fa-book-open:before{content:\\\"\\\"}.fa-book-reader:before{content:\\\"\\\"}.fa-book-spells:before{content:\\\"\\\"}.fa-book-user:before{content:\\\"\\\"}.fa-bookmark:before{content:\\\"\\\"}.fa-books:before{content:\\\"\\\"}.fa-books-medical:before{content:\\\"\\\"}.fa-boombox:before{content:\\\"\\\"}.fa-boot:before{content:\\\"\\\"}.fa-booth-curtain:before{content:\\\"\\\"}.fa-bootstrap:before{content:\\\"\\\"}.fa-border-all:before{content:\\\"\\\"}.fa-border-bottom:before{content:\\\"\\\"}.fa-border-center-h:before{content:\\\"\\\"}.fa-border-center-v:before{content:\\\"\\\"}.fa-border-inner:before{content:\\\"\\\"}.fa-border-left:before{content:\\\"\\\"}.fa-border-none:before{content:\\\"\\\"}.fa-border-outer:before{content:\\\"\\\"}.fa-border-right:before{content:\\\"\\\"}.fa-border-style:before{content:\\\"\\\"}.fa-border-style-alt:before{content:\\\"\\\"}.fa-border-top:before{content:\\\"\\\"}.fa-bow-arrow:before{content:\\\"\\\"}.fa-bowling-ball:before{content:\\\"\\\"}.fa-bowling-pins:before{content:\\\"\\\"}.fa-box:before{content:\\\"\\\"}.fa-box-alt:before{content:\\\"\\\"}.fa-box-ballot:before{content:\\\"\\\"}.fa-box-check:before{content:\\\"\\\"}.fa-box-fragile:before{content:\\\"\\\"}.fa-box-full:before{content:\\\"\\\"}.fa-box-heart:before{content:\\\"\\\"}.fa-box-open:before{content:\\\"\\\"}.fa-box-tissue:before{content:\\\"拏\\\"}.fa-box-up:before{content:\\\"\\\"}.fa-box-usd:before{content:\\\"\\\"}.fa-boxes:before{content:\\\"\\\"}.fa-boxes-alt:before{content:\\\"\\\"}.fa-boxing-glove:before{content:\\\"\\\"}.fa-brackets:before{content:\\\"\\\"}.fa-brackets-curly:before{content:\\\"\\\"}.fa-braille:before{content:\\\"\\\"}.fa-brain:before{content:\\\"\\\"}.fa-bread-loaf:before{content:\\\"\\\"}.fa-bread-slice:before{content:\\\"\\\"}.fa-briefcase:before{content:\\\"\\\"}.fa-briefcase-medical:before{content:\\\"\\\"}.fa-bring-forward:before{content:\\\"\\\"}.fa-bring-front:before{content:\\\"\\\"}.fa-broadcast-tower:before{content:\\\"\\\"}.fa-broom:before{content:\\\"\\\"}.fa-browser:before{content:\\\"\\\"}.fa-brush:before{content:\\\"\\\"}.fa-btc:before{content:\\\"\\\"}.fa-buffer:before{content:\\\"\\\"}.fa-bug:before{content:\\\"\\\"}.fa-building:before{content:\\\"\\\"}.fa-bullhorn:before{content:\\\"\\\"}.fa-bullseye:before{content:\\\"\\\"}.fa-bullseye-arrow:before{content:\\\"\\\"}.fa-bullseye-pointer:before{content:\\\"\\\"}.fa-burger-soda:before{content:\\\"\\\"}.fa-burn:before{content:\\\"\\\"}.fa-buromobelexperte:before{content:\\\"\\\"}.fa-burrito:before{content:\\\"\\\"}.fa-bus:before{content:\\\"\\\"}.fa-bus-alt:before{content:\\\"\\\"}.fa-bus-school:before{content:\\\"\\\"}.fa-business-time:before{content:\\\"\\\"}.fa-buy-n-large:before{content:\\\"\\\"}.fa-buysellads:before{content:\\\"\\\"}.fa-cabinet-filing:before{content:\\\"\\\"}.fa-cactus:before{content:\\\"\\\"}.fa-calculator:before{content:\\\"\\\"}.fa-calculator-alt:before{content:\\\"\\\"}.fa-calendar:before{content:\\\"\\\"}.fa-calendar-alt:before{content:\\\"\\\"}.fa-calendar-check:before{content:\\\"\\\"}.fa-calendar-day:before{content:\\\"\\\"}.fa-calendar-edit:before{content:\\\"\\\"}.fa-calendar-exclamation:before{content:\\\"\\\"}.fa-calendar-minus:before{content:\\\"\\\"}.fa-calendar-plus:before{content:\\\"\\\"}.fa-calendar-star:before{content:\\\"\\\"}.fa-calendar-times:before{content:\\\"\\\"}.fa-calendar-week:before{content:\\\"\\\"}.fa-camcorder:before{content:\\\"\\\"}.fa-camera:before{content:\\\"\\\"}.fa-camera-alt:before{content:\\\"\\\"}.fa-camera-home:before{content:\\\"\\\"}.fa-camera-movie:before{content:\\\"\\\"}.fa-camera-polaroid:before{content:\\\"\\\"}.fa-camera-retro:before{content:\\\"\\\"}.fa-campfire:before{content:\\\"\\\"}.fa-campground:before{content:\\\"\\\"}.fa-canadian-maple-leaf:before{content:\\\"\\\"}.fa-candle-holder:before{content:\\\"\\\"}.fa-candy-cane:before{content:\\\"\\\"}.fa-candy-corn:before{content:\\\"\\\"}.fa-cannabis:before{content:\\\"\\\"}.fa-capsules:before{content:\\\"\\\"}.fa-car:before{content:\\\"\\\"}.fa-car-alt:before{content:\\\"\\\"}.fa-car-battery:before{content:\\\"\\\"}.fa-car-building:before{content:\\\"\\\"}.fa-car-bump:before{content:\\\"\\\"}.fa-car-bus:before{content:\\\"\\\"}.fa-car-crash:before{content:\\\"\\\"}.fa-car-garage:before{content:\\\"\\\"}.fa-car-mechanic:before{content:\\\"\\\"}.fa-car-side:before{content:\\\"\\\"}.fa-car-tilt:before{content:\\\"\\\"}.fa-car-wash:before{content:\\\"\\\"}.fa-caravan:before{content:\\\"\\\"}.fa-caravan-alt:before{content:\\\"豈\\\"}.fa-caret-circle-down:before{content:\\\"\\\"}.fa-caret-circle-left:before{content:\\\"\\\"}.fa-caret-circle-right:before{content:\\\"\\\"}.fa-caret-circle-up:before{content:\\\"\\\"}.fa-caret-down:before{content:\\\"\\\"}.fa-caret-left:before{content:\\\"\\\"}.fa-caret-right:before{content:\\\"\\\"}.fa-caret-square-down:before{content:\\\"\\\"}.fa-caret-square-left:before{content:\\\"\\\"}.fa-caret-square-right:before{content:\\\"\\\"}.fa-caret-square-up:before{content:\\\"\\\"}.fa-caret-up:before{content:\\\"\\\"}.fa-carrot:before{content:\\\"\\\"}.fa-cars:before{content:\\\"\\\"}.fa-cart-arrow-down:before{content:\\\"\\\"}.fa-cart-plus:before{content:\\\"\\\"}.fa-cash-register:before{content:\\\"\\\"}.fa-cassette-tape:before{content:\\\"\\\"}.fa-cat:before{content:\\\"\\\"}.fa-cat-space:before{content:\\\"更\\\"}.fa-cauldron:before{content:\\\"\\\"}.fa-cc-amazon-pay:before{content:\\\"\\\"}.fa-cc-amex:before{content:\\\"\\\"}.fa-cc-apple-pay:before{content:\\\"\\\"}.fa-cc-diners-club:before{content:\\\"\\\"}.fa-cc-discover:before{content:\\\"\\\"}.fa-cc-jcb:before{content:\\\"\\\"}.fa-cc-mastercard:before{content:\\\"\\\"}.fa-cc-paypal:before{content:\\\"\\\"}.fa-cc-stripe:before{content:\\\"\\\"}.fa-cc-visa:before{content:\\\"\\\"}.fa-cctv:before{content:\\\"\\\"}.fa-centercode:before{content:\\\"\\\"}.fa-centos:before{content:\\\"\\\"}.fa-certificate:before{content:\\\"\\\"}.fa-chair:before{content:\\\"\\\"}.fa-chair-office:before{content:\\\"\\\"}.fa-chalkboard:before{content:\\\"\\\"}.fa-chalkboard-teacher:before{content:\\\"\\\"}.fa-charging-station:before{content:\\\"\\\"}.fa-chart-area:before{content:\\\"\\\"}.fa-chart-bar:before{content:\\\"\\\"}.fa-chart-line:before{content:\\\"\\\"}.fa-chart-line-down:before{content:\\\"\\\"}.fa-chart-network:before{content:\\\"\\\"}.fa-chart-pie:before{content:\\\"\\\"}.fa-chart-pie-alt:before{content:\\\"\\\"}.fa-chart-scatter:before{content:\\\"\\\"}.fa-check:before{content:\\\"\\\"}.fa-check-circle:before{content:\\\"\\\"}.fa-check-double:before{content:\\\"\\\"}.fa-check-square:before{content:\\\"\\\"}.fa-cheese:before{content:\\\"\\\"}.fa-cheese-swiss:before{content:\\\"\\\"}.fa-cheeseburger:before{content:\\\"\\\"}.fa-chess:before{content:\\\"\\\"}.fa-chess-bishop:before{content:\\\"\\\"}.fa-chess-bishop-alt:before{content:\\\"\\\"}.fa-chess-board:before{content:\\\"\\\"}.fa-chess-clock:before{content:\\\"\\\"}.fa-chess-clock-alt:before{content:\\\"\\\"}.fa-chess-king:before{content:\\\"\\\"}.fa-chess-king-alt:before{content:\\\"\\\"}.fa-chess-knight:before{content:\\\"\\\"}.fa-chess-knight-alt:before{content:\\\"\\\"}.fa-chess-pawn:before{content:\\\"\\\"}.fa-chess-pawn-alt:before{content:\\\"\\\"}.fa-chess-queen:before{content:\\\"\\\"}.fa-chess-queen-alt:before{content:\\\"\\\"}.fa-chess-rook:before{content:\\\"\\\"}.fa-chess-rook-alt:before{content:\\\"\\\"}.fa-chevron-circle-down:before{content:\\\"\\\"}.fa-chevron-circle-left:before{content:\\\"\\\"}.fa-chevron-circle-right:before{content:\\\"\\\"}.fa-chevron-circle-up:before{content:\\\"\\\"}.fa-chevron-double-down:before{content:\\\"\\\"}.fa-chevron-double-left:before{content:\\\"\\\"}.fa-chevron-double-right:before{content:\\\"\\\"}.fa-chevron-double-up:before{content:\\\"\\\"}.fa-chevron-down:before{content:\\\"\\\"}.fa-chevron-left:before{content:\\\"\\\"}.fa-chevron-right:before{content:\\\"\\\"}.fa-chevron-square-down:before{content:\\\"\\\"}.fa-chevron-square-left:before{content:\\\"\\\"}.fa-chevron-square-right:before{content:\\\"\\\"}.fa-chevron-square-up:before{content:\\\"\\\"}.fa-chevron-up:before{content:\\\"\\\"}.fa-child:before{content:\\\"\\\"}.fa-chimney:before{content:\\\"\\\"}.fa-chrome:before{content:\\\"\\\"}.fa-chromecast:before{content:\\\"\\\"}.fa-church:before{content:\\\"\\\"}.fa-circle:before{content:\\\"\\\"}.fa-circle-notch:before{content:\\\"\\\"}.fa-city:before{content:\\\"\\\"}.fa-clarinet:before{content:\\\"\\\"}.fa-claw-marks:before{content:\\\"\\\"}.fa-clinic-medical:before{content:\\\"\\\"}.fa-clipboard:before{content:\\\"\\\"}.fa-clipboard-check:before{content:\\\"\\\"}.fa-clipboard-list:before{content:\\\"\\\"}.fa-clipboard-list-check:before{content:\\\"\\\"}.fa-clipboard-prescription:before{content:\\\"\\\"}.fa-clipboard-user:before{content:\\\"\\\"}.fa-clock:before{content:\\\"\\\"}.fa-clone:before{content:\\\"\\\"}.fa-closed-captioning:before{content:\\\"\\\"}.fa-cloud:before{content:\\\"\\\"}.fa-cloud-download:before{content:\\\"\\\"}.fa-cloud-download-alt:before{content:\\\"\\\"}.fa-cloud-drizzle:before{content:\\\"\\\"}.fa-cloud-hail:before{content:\\\"\\\"}.fa-cloud-hail-mixed:before{content:\\\"\\\"}.fa-cloud-meatball:before{content:\\\"\\\"}.fa-cloud-moon:before{content:\\\"\\\"}.fa-cloud-moon-rain:before{content:\\\"\\\"}.fa-cloud-music:before{content:\\\"\\\"}.fa-cloud-rain:before{content:\\\"\\\"}.fa-cloud-rainbow:before{content:\\\"\\\"}.fa-cloud-showers:before{content:\\\"\\\"}.fa-cloud-showers-heavy:before{content:\\\"\\\"}.fa-cloud-sleet:before{content:\\\"\\\"}.fa-cloud-snow:before{content:\\\"\\\"}.fa-cloud-sun:before{content:\\\"\\\"}.fa-cloud-sun-rain:before{content:\\\"\\\"}.fa-cloud-upload:before{content:\\\"\\\"}.fa-cloud-upload-alt:before{content:\\\"\\\"}.fa-clouds:before{content:\\\"\\\"}.fa-clouds-moon:before{content:\\\"\\\"}.fa-clouds-sun:before{content:\\\"\\\"}.fa-cloudscale:before{content:\\\"\\\"}.fa-cloudsmith:before{content:\\\"\\\"}.fa-cloudversify:before{content:\\\"\\\"}.fa-club:before{content:\\\"\\\"}.fa-cocktail:before{content:\\\"\\\"}.fa-code:before{content:\\\"\\\"}.fa-code-branch:before{content:\\\"\\\"}.fa-code-commit:before{content:\\\"\\\"}.fa-code-merge:before{content:\\\"\\\"}.fa-codepen:before{content:\\\"\\\"}.fa-codiepie:before{content:\\\"\\\"}.fa-coffee:before{content:\\\"\\\"}.fa-coffee-pot:before{content:\\\"車\\\"}.fa-coffee-togo:before{content:\\\"\\\"}.fa-coffin:before{content:\\\"\\\"}.fa-coffin-cross:before{content:\\\"陋\\\"}.fa-cog:before{content:\\\"\\\"}.fa-cogs:before{content:\\\"\\\"}.fa-coin:before{content:\\\"\\\"}.fa-coins:before{content:\\\"\\\"}.fa-columns:before{content:\\\"\\\"}.fa-comet:before{content:\\\"賈\\\"}.fa-comment:before{content:\\\"\\\"}.fa-comment-alt:before{content:\\\"\\\"}.fa-comment-alt-check:before{content:\\\"\\\"}.fa-comment-alt-dollar:before{content:\\\"\\\"}.fa-comment-alt-dots:before{content:\\\"\\\"}.fa-comment-alt-edit:before{content:\\\"\\\"}.fa-comment-alt-exclamation:before{content:\\\"\\\"}.fa-comment-alt-lines:before{content:\\\"\\\"}.fa-comment-alt-medical:before{content:\\\"\\\"}.fa-comment-alt-minus:before{content:\\\"\\\"}.fa-comment-alt-music:before{content:\\\"\\\"}.fa-comment-alt-plus:before{content:\\\"\\\"}.fa-comment-alt-slash:before{content:\\\"\\\"}.fa-comment-alt-smile:before{content:\\\"\\\"}.fa-comment-alt-times:before{content:\\\"\\\"}.fa-comment-check:before{content:\\\"\\\"}.fa-comment-dollar:before{content:\\\"\\\"}.fa-comment-dots:before{content:\\\"\\\"}.fa-comment-edit:before{content:\\\"\\\"}.fa-comment-exclamation:before{content:\\\"\\\"}.fa-comment-lines:before{content:\\\"\\\"}.fa-comment-medical:before{content:\\\"\\\"}.fa-comment-minus:before{content:\\\"\\\"}.fa-comment-music:before{content:\\\"\\\"}.fa-comment-plus:before{content:\\\"\\\"}.fa-comment-slash:before{content:\\\"\\\"}.fa-comment-smile:before{content:\\\"\\\"}.fa-comment-times:before{content:\\\"\\\"}.fa-comments:before{content:\\\"\\\"}.fa-comments-alt:before{content:\\\"\\\"}.fa-comments-alt-dollar:before{content:\\\"\\\"}.fa-comments-dollar:before{content:\\\"\\\"}.fa-compact-disc:before{content:\\\"\\\"}.fa-compass:before{content:\\\"\\\"}.fa-compass-slash:before{content:\\\"\\\"}.fa-compress:before{content:\\\"\\\"}.fa-compress-alt:before{content:\\\"\\\"}.fa-compress-arrows-alt:before{content:\\\"\\\"}.fa-compress-wide:before{content:\\\"\\\"}.fa-computer-classic:before{content:\\\"\\\"}.fa-computer-speaker:before{content:\\\"\\\"}.fa-concierge-bell:before{content:\\\"\\\"}.fa-confluence:before{content:\\\"\\\"}.fa-connectdevelop:before{content:\\\"\\\"}.fa-construction:before{content:\\\"\\\"}.fa-container-storage:before{content:\\\"\\\"}.fa-contao:before{content:\\\"\\\"}.fa-conveyor-belt:before{content:\\\"\\\"}.fa-conveyor-belt-alt:before{content:\\\"\\\"}.fa-cookie:before{content:\\\"\\\"}.fa-cookie-bite:before{content:\\\"\\\"}.fa-copy:before{content:\\\"\\\"}.fa-copyright:before{content:\\\"\\\"}.fa-corn:before{content:\\\"\\\"}.fa-cotton-bureau:before{content:\\\"\\\"}.fa-couch:before{content:\\\"\\\"}.fa-cow:before{content:\\\"\\\"}.fa-cowbell:before{content:\\\"\\\"}.fa-cowbell-more:before{content:\\\"\\\"}.fa-cpanel:before{content:\\\"\\\"}.fa-creative-commons:before{content:\\\"\\\"}.fa-creative-commons-by:before{content:\\\"\\\"}.fa-creative-commons-nc:before{content:\\\"\\\"}.fa-creative-commons-nc-eu:before{content:\\\"\\\"}.fa-creative-commons-nc-jp:before{content:\\\"\\\"}.fa-creative-commons-nd:before{content:\\\"\\\"}.fa-creative-commons-pd:before{content:\\\"\\\"}.fa-creative-commons-pd-alt:before{content:\\\"\\\"}.fa-creative-commons-remix:before{content:\\\"\\\"}.fa-creative-commons-sa:before{content:\\\"\\\"}.fa-creative-commons-sampling:before{content:\\\"\\\"}.fa-creative-commons-sampling-plus:before{content:\\\"\\\"}.fa-creative-commons-share:before{content:\\\"\\\"}.fa-creative-commons-zero:before{content:\\\"\\\"}.fa-credit-card:before{content:\\\"\\\"}.fa-credit-card-blank:before{content:\\\"\\\"}.fa-credit-card-front:before{content:\\\"\\\"}.fa-cricket:before{content:\\\"\\\"}.fa-critical-role:before{content:\\\"\\\"}.fa-croissant:before{content:\\\"\\\"}.fa-crop:before{content:\\\"\\\"}.fa-crop-alt:before{content:\\\"\\\"}.fa-cross:before{content:\\\"\\\"}.fa-crosshairs:before{content:\\\"\\\"}.fa-crow:before{content:\\\"\\\"}.fa-crown:before{content:\\\"\\\"}.fa-crutch:before{content:\\\"\\\"}.fa-crutches:before{content:\\\"\\\"}.fa-css3:before{content:\\\"\\\"}.fa-css3-alt:before{content:\\\"\\\"}.fa-cube:before{content:\\\"\\\"}.fa-cubes:before{content:\\\"\\\"}.fa-curling:before{content:\\\"\\\"}.fa-cut:before{content:\\\"\\\"}.fa-cuttlefish:before{content:\\\"\\\"}.fa-d-and-d:before{content:\\\"\\\"}.fa-d-and-d-beyond:before{content:\\\"\\\"}.fa-dagger:before{content:\\\"\\\"}.fa-dailymotion:before{content:\\\"勒\\\"}.fa-dashcube:before{content:\\\"\\\"}.fa-database:before{content:\\\"\\\"}.fa-deaf:before{content:\\\"\\\"}.fa-debug:before{content:\\\"\\\"}.fa-deer:before{content:\\\"\\\"}.fa-deer-rudolph:before{content:\\\"\\\"}.fa-delicious:before{content:\\\"\\\"}.fa-democrat:before{content:\\\"\\\"}.fa-deploydog:before{content:\\\"\\\"}.fa-deskpro:before{content:\\\"\\\"}.fa-desktop:before{content:\\\"\\\"}.fa-desktop-alt:before{content:\\\"\\\"}.fa-dev:before{content:\\\"\\\"}.fa-deviantart:before{content:\\\"\\\"}.fa-dewpoint:before{content:\\\"\\\"}.fa-dharmachakra:before{content:\\\"\\\"}.fa-dhl:before{content:\\\"\\\"}.fa-diagnoses:before{content:\\\"\\\"}.fa-diamond:before{content:\\\"\\\"}.fa-diaspora:before{content:\\\"\\\"}.fa-dice:before{content:\\\"\\\"}.fa-dice-d10:before{content:\\\"\\\"}.fa-dice-d12:before{content:\\\"\\\"}.fa-dice-d20:before{content:\\\"\\\"}.fa-dice-d4:before{content:\\\"\\\"}.fa-dice-d6:before{content:\\\"\\\"}.fa-dice-d8:before{content:\\\"\\\"}.fa-dice-five:before{content:\\\"\\\"}.fa-dice-four:before{content:\\\"\\\"}.fa-dice-one:before{content:\\\"\\\"}.fa-dice-six:before{content:\\\"\\\"}.fa-dice-three:before{content:\\\"\\\"}.fa-dice-two:before{content:\\\"\\\"}.fa-digg:before{content:\\\"\\\"}.fa-digging:before{content:\\\"\\\"}.fa-digital-ocean:before{content:\\\"\\\"}.fa-digital-tachograph:before{content:\\\"\\\"}.fa-diploma:before{content:\\\"\\\"}.fa-directions:before{content:\\\"\\\"}.fa-disc-drive:before{content:\\\"\\\"}.fa-discord:before{content:\\\"\\\"}.fa-discourse:before{content:\\\"\\\"}.fa-disease:before{content:\\\"\\\"}.fa-divide:before{content:\\\"\\\"}.fa-dizzy:before{content:\\\"\\\"}.fa-dna:before{content:\\\"\\\"}.fa-do-not-enter:before{content:\\\"\\\"}.fa-dochub:before{content:\\\"\\\"}.fa-docker:before{content:\\\"\\\"}.fa-dog:before{content:\\\"\\\"}.fa-dog-leashed:before{content:\\\"\\\"}.fa-dollar-sign:before{content:\\\"\\\"}.fa-dolly:before{content:\\\"\\\"}.fa-dolly-empty:before{content:\\\"\\\"}.fa-dolly-flatbed:before{content:\\\"\\\"}.fa-dolly-flatbed-alt:before{content:\\\"\\\"}.fa-dolly-flatbed-empty:before{content:\\\"\\\"}.fa-donate:before{content:\\\"\\\"}.fa-door-closed:before{content:\\\"\\\"}.fa-door-open:before{content:\\\"\\\"}.fa-dot-circle:before{content:\\\"\\\"}.fa-dove:before{content:\\\"\\\"}.fa-download:before{content:\\\"\\\"}.fa-draft2digital:before{content:\\\"\\\"}.fa-drafting-compass:before{content:\\\"\\\"}.fa-dragon:before{content:\\\"\\\"}.fa-draw-circle:before{content:\\\"\\\"}.fa-draw-polygon:before{content:\\\"\\\"}.fa-draw-square:before{content:\\\"\\\"}.fa-dreidel:before{content:\\\"\\\"}.fa-dribbble:before{content:\\\"\\\"}.fa-dribbble-square:before{content:\\\"\\\"}.fa-drone:before{content:\\\"\\\"}.fa-drone-alt:before{content:\\\"\\\"}.fa-dropbox:before{content:\\\"\\\"}.fa-drum:before{content:\\\"\\\"}.fa-drum-steelpan:before{content:\\\"\\\"}.fa-drumstick:before{content:\\\"\\\"}.fa-drumstick-bite:before{content:\\\"\\\"}.fa-drupal:before{content:\\\"\\\"}.fa-dryer:before{content:\\\"\\\"}.fa-dryer-alt:before{content:\\\"\\\"}.fa-duck:before{content:\\\"\\\"}.fa-dumbbell:before{content:\\\"\\\"}.fa-dumpster:before{content:\\\"\\\"}.fa-dumpster-fire:before{content:\\\"\\\"}.fa-dungeon:before{content:\\\"\\\"}.fa-dyalog:before{content:\\\"\\\"}.fa-ear:before{content:\\\"\\\"}.fa-ear-muffs:before{content:\\\"\\\"}.fa-earlybirds:before{content:\\\"\\\"}.fa-ebay:before{content:\\\"\\\"}.fa-eclipse:before{content:\\\"\\\"}.fa-eclipse-alt:before{content:\\\"\\\"}.fa-edge:before{content:\\\"\\\"}.fa-edit:before{content:\\\"\\\"}.fa-egg:before{content:\\\"\\\"}.fa-egg-fried:before{content:\\\"\\\"}.fa-eject:before{content:\\\"\\\"}.fa-elementor:before{content:\\\"\\\"}.fa-elephant:before{content:\\\"\\\"}.fa-ellipsis-h:before{content:\\\"\\\"}.fa-ellipsis-h-alt:before{content:\\\"\\\"}.fa-ellipsis-v:before{content:\\\"\\\"}.fa-ellipsis-v-alt:before{content:\\\"\\\"}.fa-ello:before{content:\\\"\\\"}.fa-ember:before{content:\\\"\\\"}.fa-empire:before{content:\\\"\\\"}.fa-empty-set:before{content:\\\"\\\"}.fa-engine-warning:before{content:\\\"\\\"}.fa-envelope:before{content:\\\"\\\"}.fa-envelope-open:before{content:\\\"\\\"}.fa-envelope-open-dollar:before{content:\\\"\\\"}.fa-envelope-open-text:before{content:\\\"\\\"}.fa-envelope-square:before{content:\\\"\\\"}.fa-envira:before{content:\\\"\\\"}.fa-equals:before{content:\\\"\\\"}.fa-eraser:before{content:\\\"\\\"}.fa-erlang:before{content:\\\"\\\"}.fa-ethereum:before{content:\\\"\\\"}.fa-ethernet:before{content:\\\"\\\"}.fa-etsy:before{content:\\\"\\\"}.fa-euro-sign:before{content:\\\"\\\"}.fa-evernote:before{content:\\\"\\\"}.fa-exchange:before{content:\\\"\\\"}.fa-exchange-alt:before{content:\\\"\\\"}.fa-exclamation:before{content:\\\"\\\"}.fa-exclamation-circle:before{content:\\\"\\\"}.fa-exclamation-square:before{content:\\\"\\\"}.fa-exclamation-triangle:before{content:\\\"\\\"}.fa-expand:before{content:\\\"\\\"}.fa-expand-alt:before{content:\\\"\\\"}.fa-expand-arrows:before{content:\\\"\\\"}.fa-expand-arrows-alt:before{content:\\\"\\\"}.fa-expand-wide:before{content:\\\"\\\"}.fa-expeditedssl:before{content:\\\"\\\"}.fa-external-link:before{content:\\\"\\\"}.fa-external-link-alt:before{content:\\\"\\\"}.fa-external-link-square:before{content:\\\"\\\"}.fa-external-link-square-alt:before{content:\\\"\\\"}.fa-eye:before{content:\\\"\\\"}.fa-eye-dropper:before{content:\\\"\\\"}.fa-eye-evil:before{content:\\\"\\\"}.fa-eye-slash:before{content:\\\"\\\"}.fa-facebook:before{content:\\\"\\\"}.fa-facebook-f:before{content:\\\"\\\"}.fa-facebook-messenger:before{content:\\\"\\\"}.fa-facebook-square:before{content:\\\"\\\"}.fa-fan:before{content:\\\"\\\"}.fa-fan-table:before{content:\\\"滑\\\"}.fa-fantasy-flight-games:before{content:\\\"\\\"}.fa-farm:before{content:\\\"\\\"}.fa-fast-backward:before{content:\\\"\\\"}.fa-fast-forward:before{content:\\\"\\\"}.fa-faucet:before{content:\\\"串\\\"}.fa-faucet-drip:before{content:\\\"句\\\"}.fa-fax:before{content:\\\"\\\"}.fa-feather:before{content:\\\"\\\"}.fa-feather-alt:before{content:\\\"\\\"}.fa-fedex:before{content:\\\"\\\"}.fa-fedora:before{content:\\\"\\\"}.fa-female:before{content:\\\"\\\"}.fa-field-hockey:before{content:\\\"\\\"}.fa-fighter-jet:before{content:\\\"\\\"}.fa-figma:before{content:\\\"\\\"}.fa-file:before{content:\\\"\\\"}.fa-file-alt:before{content:\\\"\\\"}.fa-file-archive:before{content:\\\"\\\"}.fa-file-audio:before{content:\\\"\\\"}.fa-file-certificate:before{content:\\\"\\\"}.fa-file-chart-line:before{content:\\\"\\\"}.fa-file-chart-pie:before{content:\\\"\\\"}.fa-file-check:before{content:\\\"\\\"}.fa-file-code:before{content:\\\"\\\"}.fa-file-contract:before{content:\\\"\\\"}.fa-file-csv:before{content:\\\"\\\"}.fa-file-download:before{content:\\\"\\\"}.fa-file-edit:before{content:\\\"\\\"}.fa-file-excel:before{content:\\\"\\\"}.fa-file-exclamation:before{content:\\\"\\\"}.fa-file-export:before{content:\\\"\\\"}.fa-file-image:before{content:\\\"\\\"}.fa-file-import:before{content:\\\"\\\"}.fa-file-invoice:before{content:\\\"\\\"}.fa-file-invoice-dollar:before{content:\\\"\\\"}.fa-file-medical:before{content:\\\"\\\"}.fa-file-medical-alt:before{content:\\\"\\\"}.fa-file-minus:before{content:\\\"\\\"}.fa-file-music:before{content:\\\"\\\"}.fa-file-pdf:before{content:\\\"\\\"}.fa-file-plus:before{content:\\\"\\\"}.fa-file-powerpoint:before{content:\\\"\\\"}.fa-file-prescription:before{content:\\\"\\\"}.fa-file-search:before{content:\\\"\\\"}.fa-file-signature:before{content:\\\"\\\"}.fa-file-spreadsheet:before{content:\\\"\\\"}.fa-file-times:before{content:\\\"\\\"}.fa-file-upload:before{content:\\\"\\\"}.fa-file-user:before{content:\\\"\\\"}.fa-file-video:before{content:\\\"\\\"}.fa-file-word:before{content:\\\"\\\"}.fa-files-medical:before{content:\\\"\\\"}.fa-fill:before{content:\\\"\\\"}.fa-fill-drip:before{content:\\\"\\\"}.fa-film:before{content:\\\"\\\"}.fa-film-alt:before{content:\\\"\\\"}.fa-film-canister:before{content:\\\"\\\"}.fa-filter:before{content:\\\"\\\"}.fa-fingerprint:before{content:\\\"\\\"}.fa-fire:before{content:\\\"\\\"}.fa-fire-alt:before{content:\\\"\\\"}.fa-fire-extinguisher:before{content:\\\"\\\"}.fa-fire-smoke:before{content:\\\"\\\"}.fa-firefox:before{content:\\\"\\\"}.fa-firefox-browser:before{content:\\\"龜\\\"}.fa-fireplace:before{content:\\\"\\\"}.fa-first-aid:before{content:\\\"\\\"}.fa-first-order:before{content:\\\"\\\"}.fa-first-order-alt:before{content:\\\"\\\"}.fa-firstdraft:before{content:\\\"\\\"}.fa-fish:before{content:\\\"\\\"}.fa-fish-cooked:before{content:\\\"\\\"}.fa-fist-raised:before{content:\\\"\\\"}.fa-flag:before{content:\\\"\\\"}.fa-flag-alt:before{content:\\\"\\\"}.fa-flag-checkered:before{content:\\\"\\\"}.fa-flag-usa:before{content:\\\"\\\"}.fa-flame:before{content:\\\"\\\"}.fa-flashlight:before{content:\\\"\\\"}.fa-flask:before{content:\\\"\\\"}.fa-flask-poison:before{content:\\\"\\\"}.fa-flask-potion:before{content:\\\"\\\"}.fa-flickr:before{content:\\\"\\\"}.fa-flipboard:before{content:\\\"\\\"}.fa-flower:before{content:\\\"\\\"}.fa-flower-daffodil:before{content:\\\"\\\"}.fa-flower-tulip:before{content:\\\"\\\"}.fa-flushed:before{content:\\\"\\\"}.fa-flute:before{content:\\\"\\\"}.fa-flux-capacitor:before{content:\\\"\\\"}.fa-fly:before{content:\\\"\\\"}.fa-fog:before{content:\\\"\\\"}.fa-folder:before{content:\\\"\\\"}.fa-folder-download:before{content:\\\"肋\\\"}.fa-folder-minus:before{content:\\\"\\\"}.fa-folder-open:before{content:\\\"\\\"}.fa-folder-plus:before{content:\\\"\\\"}.fa-folder-times:before{content:\\\"\\\"}.fa-folder-tree:before{content:\\\"\\\"}.fa-folder-upload:before{content:\\\"凜\\\"}.fa-folders:before{content:\\\"\\\"}.fa-font:before{content:\\\"\\\"}.fa-font-awesome:before{content:\\\"\\\"}.fa-font-awesome-alt:before{content:\\\"\\\"}.fa-font-awesome-flag:before{content:\\\"\\\"}.fa-font-awesome-logo-full:before{content:\\\"\\\"}.fa-font-case:before{content:\\\"\\\"}.fa-fonticons:before{content:\\\"\\\"}.fa-fonticons-fi:before{content:\\\"\\\"}.fa-football-ball:before{content:\\\"\\\"}.fa-football-helmet:before{content:\\\"\\\"}.fa-forklift:before{content:\\\"\\\"}.fa-fort-awesome:before{content:\\\"\\\"}.fa-fort-awesome-alt:before{content:\\\"\\\"}.fa-forumbee:before{content:\\\"\\\"}.fa-forward:before{content:\\\"\\\"}.fa-foursquare:before{content:\\\"\\\"}.fa-fragile:before{content:\\\"\\\"}.fa-free-code-camp:before{content:\\\"\\\"}.fa-freebsd:before{content:\\\"\\\"}.fa-french-fries:before{content:\\\"\\\"}.fa-frog:before{content:\\\"\\\"}.fa-frosty-head:before{content:\\\"\\\"}.fa-frown:before{content:\\\"\\\"}.fa-frown-open:before{content:\\\"\\\"}.fa-fulcrum:before{content:\\\"\\\"}.fa-function:before{content:\\\"\\\"}.fa-funnel-dollar:before{content:\\\"\\\"}.fa-futbol:before{content:\\\"\\\"}.fa-galactic-republic:before{content:\\\"\\\"}.fa-galactic-senate:before{content:\\\"\\\"}.fa-galaxy:before{content:\\\"龜\\\"}.fa-game-board:before{content:\\\"\\\"}.fa-game-board-alt:before{content:\\\"\\\"}.fa-game-console-handheld:before{content:\\\"\\\"}.fa-gamepad:before{content:\\\"\\\"}.fa-gamepad-alt:before{content:\\\"\\\"}.fa-garage:before{content:\\\"契\\\"}.fa-garage-car:before{content:\\\"金\\\"}.fa-garage-open:before{content:\\\"喇\\\"}.fa-gas-pump:before{content:\\\"\\\"}.fa-gas-pump-slash:before{content:\\\"\\\"}.fa-gavel:before{content:\\\"\\\"}.fa-gem:before{content:\\\"\\\"}.fa-genderless:before{content:\\\"\\\"}.fa-get-pocket:before{content:\\\"\\\"}.fa-gg:before{content:\\\"\\\"}.fa-gg-circle:before{content:\\\"\\\"}.fa-ghost:before{content:\\\"\\\"}.fa-gift:before{content:\\\"\\\"}.fa-gift-card:before{content:\\\"\\\"}.fa-gifts:before{content:\\\"\\\"}.fa-gingerbread-man:before{content:\\\"\\\"}.fa-git:before{content:\\\"\\\"}.fa-git-alt:before{content:\\\"\\\"}.fa-git-square:before{content:\\\"\\\"}.fa-github:before{content:\\\"\\\"}.fa-github-alt:before{content:\\\"\\\"}.fa-github-square:before{content:\\\"\\\"}.fa-gitkraken:before{content:\\\"\\\"}.fa-gitlab:before{content:\\\"\\\"}.fa-gitter:before{content:\\\"\\\"}.fa-glass:before{content:\\\"\\\"}.fa-glass-champagne:before{content:\\\"\\\"}.fa-glass-cheers:before{content:\\\"\\\"}.fa-glass-citrus:before{content:\\\"\\\"}.fa-glass-martini:before{content:\\\"\\\"}.fa-glass-martini-alt:before{content:\\\"\\\"}.fa-glass-whiskey:before{content:\\\"\\\"}.fa-glass-whiskey-rocks:before{content:\\\"\\\"}.fa-glasses:before{content:\\\"\\\"}.fa-glasses-alt:before{content:\\\"\\\"}.fa-glide:before{content:\\\"\\\"}.fa-glide-g:before{content:\\\"\\\"}.fa-globe:before{content:\\\"\\\"}.fa-globe-africa:before{content:\\\"\\\"}.fa-globe-americas:before{content:\\\"\\\"}.fa-globe-asia:before{content:\\\"\\\"}.fa-globe-europe:before{content:\\\"\\\"}.fa-globe-snow:before{content:\\\"\\\"}.fa-globe-stand:before{content:\\\"\\\"}.fa-gofore:before{content:\\\"\\\"}.fa-golf-ball:before{content:\\\"\\\"}.fa-golf-club:before{content:\\\"\\\"}.fa-goodreads:before{content:\\\"\\\"}.fa-goodreads-g:before{content:\\\"\\\"}.fa-google:before{content:\\\"\\\"}.fa-google-drive:before{content:\\\"\\\"}.fa-google-play:before{content:\\\"\\\"}.fa-google-plus:before{content:\\\"\\\"}.fa-google-plus-g:before{content:\\\"\\\"}.fa-google-plus-square:before{content:\\\"\\\"}.fa-google-wallet:before{content:\\\"\\\"}.fa-gopuram:before{content:\\\"\\\"}.fa-graduation-cap:before{content:\\\"\\\"}.fa-gramophone:before{content:\\\"\\\"}.fa-gratipay:before{content:\\\"\\\"}.fa-grav:before{content:\\\"\\\"}.fa-greater-than:before{content:\\\"\\\"}.fa-greater-than-equal:before{content:\\\"\\\"}.fa-grimace:before{content:\\\"\\\"}.fa-grin:before{content:\\\"\\\"}.fa-grin-alt:before{content:\\\"\\\"}.fa-grin-beam:before{content:\\\"\\\"}.fa-grin-beam-sweat:before{content:\\\"\\\"}.fa-grin-hearts:before{content:\\\"\\\"}.fa-grin-squint:before{content:\\\"\\\"}.fa-grin-squint-tears:before{content:\\\"\\\"}.fa-grin-stars:before{content:\\\"\\\"}.fa-grin-tears:before{content:\\\"\\\"}.fa-grin-tongue:before{content:\\\"\\\"}.fa-grin-tongue-squint:before{content:\\\"\\\"}.fa-grin-tongue-wink:before{content:\\\"\\\"}.fa-grin-wink:before{content:\\\"\\\"}.fa-grip-horizontal:before{content:\\\"\\\"}.fa-grip-lines:before{content:\\\"\\\"}.fa-grip-lines-vertical:before{content:\\\"\\\"}.fa-grip-vertical:before{content:\\\"\\\"}.fa-gripfire:before{content:\\\"\\\"}.fa-grunt:before{content:\\\"\\\"}.fa-guitar:before{content:\\\"\\\"}.fa-guitar-electric:before{content:\\\"\\\"}.fa-guitars:before{content:\\\"\\\"}.fa-gulp:before{content:\\\"\\\"}.fa-h-square:before{content:\\\"\\\"}.fa-h1:before{content:\\\"\\\"}.fa-h2:before{content:\\\"\\\"}.fa-h3:before{content:\\\"\\\"}.fa-h4:before{content:\\\"\\\"}.fa-hacker-news:before{content:\\\"\\\"}.fa-hacker-news-square:before{content:\\\"\\\"}.fa-hackerrank:before{content:\\\"\\\"}.fa-hamburger:before{content:\\\"\\\"}.fa-hammer:before{content:\\\"\\\"}.fa-hammer-war:before{content:\\\"\\\"}.fa-hamsa:before{content:\\\"\\\"}.fa-hand-heart:before{content:\\\"\\\"}.fa-hand-holding:before{content:\\\"\\\"}.fa-hand-holding-box:before{content:\\\"\\\"}.fa-hand-holding-heart:before{content:\\\"\\\"}.fa-hand-holding-magic:before{content:\\\"\\\"}.fa-hand-holding-medical:before{content:\\\"樂\\\"}.fa-hand-holding-seedling:before{content:\\\"\\\"}.fa-hand-holding-usd:before{content:\\\"\\\"}.fa-hand-holding-water:before{content:\\\"\\\"}.fa-hand-lizard:before{content:\\\"\\\"}.fa-hand-middle-finger:before{content:\\\"\\\"}.fa-hand-paper:before{content:\\\"\\\"}.fa-hand-peace:before{content:\\\"\\\"}.fa-hand-point-down:before{content:\\\"\\\"}.fa-hand-point-left:before{content:\\\"\\\"}.fa-hand-point-right:before{content:\\\"\\\"}.fa-hand-point-up:before{content:\\\"\\\"}.fa-hand-pointer:before{content:\\\"\\\"}.fa-hand-receiving:before{content:\\\"\\\"}.fa-hand-rock:before{content:\\\"\\\"}.fa-hand-scissors:before{content:\\\"\\\"}.fa-hand-sparkles:before{content:\\\"諾\\\"}.fa-hand-spock:before{content:\\\"\\\"}.fa-hands:before{content:\\\"\\\"}.fa-hands-heart:before{content:\\\"\\\"}.fa-hands-helping:before{content:\\\"\\\"}.fa-hands-usd:before{content:\\\"\\\"}.fa-hands-wash:before{content:\\\"丹\\\"}.fa-handshake:before{content:\\\"\\\"}.fa-handshake-alt:before{content:\\\"\\\"}.fa-handshake-alt-slash:before{content:\\\"寧\\\"}.fa-handshake-slash:before{content:\\\"怒\\\"}.fa-hanukiah:before{content:\\\"\\\"}.fa-hard-hat:before{content:\\\"\\\"}.fa-hashtag:before{content:\\\"\\\"}.fa-hat-chef:before{content:\\\"\\\"}.fa-hat-cowboy:before{content:\\\"\\\"}.fa-hat-cowboy-side:before{content:\\\"\\\"}.fa-hat-santa:before{content:\\\"\\\"}.fa-hat-winter:before{content:\\\"\\\"}.fa-hat-witch:before{content:\\\"\\\"}.fa-hat-wizard:before{content:\\\"\\\"}.fa-hdd:before{content:\\\"\\\"}.fa-head-side:before{content:\\\"\\\"}.fa-head-side-brain:before{content:\\\"\\\"}.fa-head-side-cough:before{content:\\\"率\\\"}.fa-head-side-cough-slash:before{content:\\\"異\\\"}.fa-head-side-headphones:before{content:\\\"\\\"}.fa-head-side-mask:before{content:\\\"北\\\"}.fa-head-side-medical:before{content:\\\"\\\"}.fa-head-side-virus:before{content:\\\"磻\\\"}.fa-head-vr:before{content:\\\"\\\"}.fa-heading:before{content:\\\"\\\"}.fa-headphones:before{content:\\\"\\\"}.fa-headphones-alt:before{content:\\\"\\\"}.fa-headset:before{content:\\\"\\\"}.fa-heart:before{content:\\\"\\\"}.fa-heart-broken:before{content:\\\"\\\"}.fa-heart-circle:before{content:\\\"\\\"}.fa-heart-rate:before{content:\\\"\\\"}.fa-heart-square:before{content:\\\"\\\"}.fa-heartbeat:before{content:\\\"\\\"}.fa-heat:before{content:\\\"奈\\\"}.fa-helicopter:before{content:\\\"\\\"}.fa-helmet-battle:before{content:\\\"\\\"}.fa-hexagon:before{content:\\\"\\\"}.fa-highlighter:before{content:\\\"\\\"}.fa-hiking:before{content:\\\"\\\"}.fa-hippo:before{content:\\\"\\\"}.fa-hips:before{content:\\\"\\\"}.fa-hire-a-helper:before{content:\\\"\\\"}.fa-history:before{content:\\\"\\\"}.fa-hockey-mask:before{content:\\\"\\\"}.fa-hockey-puck:before{content:\\\"\\\"}.fa-hockey-sticks:before{content:\\\"\\\"}.fa-holly-berry:before{content:\\\"\\\"}.fa-home:before{content:\\\"\\\"}.fa-home-alt:before{content:\\\"\\\"}.fa-home-heart:before{content:\\\"\\\"}.fa-home-lg:before{content:\\\"\\\"}.fa-home-lg-alt:before{content:\\\"\\\"}.fa-hood-cloak:before{content:\\\"\\\"}.fa-hooli:before{content:\\\"\\\"}.fa-horizontal-rule:before{content:\\\"\\\"}.fa-hornbill:before{content:\\\"\\\"}.fa-horse:before{content:\\\"\\\"}.fa-horse-head:before{content:\\\"\\\"}.fa-horse-saddle:before{content:\\\"\\\"}.fa-hospital:before{content:\\\"\\\"}.fa-hospital-alt:before{content:\\\"\\\"}.fa-hospital-symbol:before{content:\\\"\\\"}.fa-hospital-user:before{content:\\\"\\\"}.fa-hospitals:before{content:\\\"\\\"}.fa-hot-tub:before{content:\\\"\\\"}.fa-hotdog:before{content:\\\"\\\"}.fa-hotel:before{content:\\\"\\\"}.fa-hotjar:before{content:\\\"\\\"}.fa-hourglass:before{content:\\\"\\\"}.fa-hourglass-end:before{content:\\\"\\\"}.fa-hourglass-half:before{content:\\\"\\\"}.fa-hourglass-start:before{content:\\\"\\\"}.fa-house:before{content:\\\"懶\\\"}.fa-house-damage:before{content:\\\"\\\"}.fa-house-day:before{content:\\\"癩\\\"}.fa-house-flood:before{content:\\\"\\\"}.fa-house-leave:before{content:\\\"羅\\\"}.fa-house-night:before{content:\\\"蘿\\\"}.fa-house-return:before{content:\\\"螺\\\"}.fa-house-signal:before{content:\\\"裸\\\"}.fa-house-user:before{content:\\\"便\\\"}.fa-houzz:before{content:\\\"\\\"}.fa-hryvnia:before{content:\\\"\\\"}.fa-html5:before{content:\\\"\\\"}.fa-hubspot:before{content:\\\"\\\"}.fa-humidity:before{content:\\\"\\\"}.fa-hurricane:before{content:\\\"\\\"}.fa-i-cursor:before{content:\\\"\\\"}.fa-ice-cream:before{content:\\\"\\\"}.fa-ice-skate:before{content:\\\"\\\"}.fa-icicles:before{content:\\\"\\\"}.fa-icons:before{content:\\\"\\\"}.fa-icons-alt:before{content:\\\"\\\"}.fa-id-badge:before{content:\\\"\\\"}.fa-id-card:before{content:\\\"\\\"}.fa-id-card-alt:before{content:\\\"\\\"}.fa-ideal:before{content:\\\"邏\\\"}.fa-igloo:before{content:\\\"\\\"}.fa-image:before{content:\\\"\\\"}.fa-image-polaroid:before{content:\\\"\\\"}.fa-images:before{content:\\\"\\\"}.fa-imdb:before{content:\\\"\\\"}.fa-inbox:before{content:\\\"\\\"}.fa-inbox-in:before{content:\\\"\\\"}.fa-inbox-out:before{content:\\\"\\\"}.fa-indent:before{content:\\\"\\\"}.fa-industry:before{content:\\\"\\\"}.fa-industry-alt:before{content:\\\"\\\"}.fa-infinity:before{content:\\\"\\\"}.fa-info:before{content:\\\"\\\"}.fa-info-circle:before{content:\\\"\\\"}.fa-info-square:before{content:\\\"\\\"}.fa-inhaler:before{content:\\\"\\\"}.fa-instagram:before{content:\\\"\\\"}.fa-instagram-square:before{content:\\\"凌\\\"}.fa-integral:before{content:\\\"\\\"}.fa-intercom:before{content:\\\"\\\"}.fa-internet-explorer:before{content:\\\"\\\"}.fa-intersection:before{content:\\\"\\\"}.fa-inventory:before{content:\\\"\\\"}.fa-invision:before{content:\\\"\\\"}.fa-ioxhost:before{content:\\\"\\\"}.fa-island-tropical:before{content:\\\"\\\"}.fa-italic:before{content:\\\"\\\"}.fa-itch-io:before{content:\\\"\\\"}.fa-itunes:before{content:\\\"\\\"}.fa-itunes-note:before{content:\\\"\\\"}.fa-jack-o-lantern:before{content:\\\"\\\"}.fa-java:before{content:\\\"\\\"}.fa-jedi:before{content:\\\"\\\"}.fa-jedi-order:before{content:\\\"\\\"}.fa-jenkins:before{content:\\\"\\\"}.fa-jira:before{content:\\\"\\\"}.fa-joget:before{content:\\\"\\\"}.fa-joint:before{content:\\\"\\\"}.fa-joomla:before{content:\\\"\\\"}.fa-journal-whills:before{content:\\\"\\\"}.fa-joystick:before{content:\\\"\\\"}.fa-js:before{content:\\\"\\\"}.fa-js-square:before{content:\\\"\\\"}.fa-jsfiddle:before{content:\\\"\\\"}.fa-jug:before{content:\\\"\\\"}.fa-kaaba:before{content:\\\"\\\"}.fa-kaggle:before{content:\\\"\\\"}.fa-kazoo:before{content:\\\"\\\"}.fa-kerning:before{content:\\\"\\\"}.fa-key:before{content:\\\"\\\"}.fa-key-skeleton:before{content:\\\"\\\"}.fa-keybase:before{content:\\\"\\\"}.fa-keyboard:before{content:\\\"\\\"}.fa-keycdn:before{content:\\\"\\\"}.fa-keynote:before{content:\\\"\\\"}.fa-khanda:before{content:\\\"\\\"}.fa-kickstarter:before{content:\\\"\\\"}.fa-kickstarter-k:before{content:\\\"\\\"}.fa-kidneys:before{content:\\\"\\\"}.fa-kiss:before{content:\\\"\\\"}.fa-kiss-beam:before{content:\\\"\\\"}.fa-kiss-wink-heart:before{content:\\\"\\\"}.fa-kite:before{content:\\\"\\\"}.fa-kiwi-bird:before{content:\\\"\\\"}.fa-knife-kitchen:before{content:\\\"\\\"}.fa-korvue:before{content:\\\"\\\"}.fa-lambda:before{content:\\\"\\\"}.fa-lamp:before{content:\\\"\\\"}.fa-lamp-desk:before{content:\\\"樂\\\"}.fa-lamp-floor:before{content:\\\"洛\\\"}.fa-landmark:before{content:\\\"\\\"}.fa-landmark-alt:before{content:\\\"\\\"}.fa-language:before{content:\\\"\\\"}.fa-laptop:before{content:\\\"\\\"}.fa-laptop-code:before{content:\\\"\\\"}.fa-laptop-house:before{content:\\\"復\\\"}.fa-laptop-medical:before{content:\\\"\\\"}.fa-laravel:before{content:\\\"\\\"}.fa-lasso:before{content:\\\"\\\"}.fa-lastfm:before{content:\\\"\\\"}.fa-lastfm-square:before{content:\\\"\\\"}.fa-laugh:before{content:\\\"\\\"}.fa-laugh-beam:before{content:\\\"\\\"}.fa-laugh-squint:before{content:\\\"\\\"}.fa-laugh-wink:before{content:\\\"\\\"}.fa-layer-group:before{content:\\\"\\\"}.fa-layer-minus:before{content:\\\"\\\"}.fa-layer-plus:before{content:\\\"\\\"}.fa-leaf:before{content:\\\"\\\"}.fa-leaf-heart:before{content:\\\"\\\"}.fa-leaf-maple:before{content:\\\"\\\"}.fa-leaf-oak:before{content:\\\"\\\"}.fa-leanpub:before{content:\\\"\\\"}.fa-lemon:before{content:\\\"\\\"}.fa-less:before{content:\\\"\\\"}.fa-less-than:before{content:\\\"\\\"}.fa-less-than-equal:before{content:\\\"\\\"}.fa-level-down:before{content:\\\"\\\"}.fa-level-down-alt:before{content:\\\"\\\"}.fa-level-up:before{content:\\\"\\\"}.fa-level-up-alt:before{content:\\\"\\\"}.fa-life-ring:before{content:\\\"\\\"}.fa-light-ceiling:before{content:\\\"烙\\\"}.fa-light-switch:before{content:\\\"珞\\\"}.fa-light-switch-off:before{content:\\\"落\\\"}.fa-light-switch-on:before{content:\\\"酪\\\"}.fa-lightbulb:before{content:\\\"\\\"}.fa-lightbulb-dollar:before{content:\\\"\\\"}.fa-lightbulb-exclamation:before{content:\\\"\\\"}.fa-lightbulb-on:before{content:\\\"\\\"}.fa-lightbulb-slash:before{content:\\\"\\\"}.fa-lights-holiday:before{content:\\\"\\\"}.fa-line:before{content:\\\"\\\"}.fa-line-columns:before{content:\\\"\\\"}.fa-line-height:before{content:\\\"\\\"}.fa-link:before{content:\\\"\\\"}.fa-linkedin:before{content:\\\"\\\"}.fa-linkedin-in:before{content:\\\"\\\"}.fa-linode:before{content:\\\"\\\"}.fa-linux:before{content:\\\"\\\"}.fa-lips:before{content:\\\"\\\"}.fa-lira-sign:before{content:\\\"\\\"}.fa-list:before{content:\\\"\\\"}.fa-list-alt:before{content:\\\"\\\"}.fa-list-music:before{content:\\\"\\\"}.fa-list-ol:before{content:\\\"\\\"}.fa-list-ul:before{content:\\\"\\\"}.fa-location:before{content:\\\"\\\"}.fa-location-arrow:before{content:\\\"\\\"}.fa-location-circle:before{content:\\\"\\\"}.fa-location-slash:before{content:\\\"\\\"}.fa-lock:before{content:\\\"\\\"}.fa-lock-alt:before{content:\\\"\\\"}.fa-lock-open:before{content:\\\"\\\"}.fa-lock-open-alt:before{content:\\\"\\\"}.fa-long-arrow-alt-down:before{content:\\\"\\\"}.fa-long-arrow-alt-left:before{content:\\\"\\\"}.fa-long-arrow-alt-right:before{content:\\\"\\\"}.fa-long-arrow-alt-up:before{content:\\\"\\\"}.fa-long-arrow-down:before{content:\\\"\\\"}.fa-long-arrow-left:before{content:\\\"\\\"}.fa-long-arrow-right:before{content:\\\"\\\"}.fa-long-arrow-up:before{content:\\\"\\\"}.fa-loveseat:before{content:\\\"\\\"}.fa-low-vision:before{content:\\\"\\\"}.fa-luchador:before{content:\\\"\\\"}.fa-luggage-cart:before{content:\\\"\\\"}.fa-lungs:before{content:\\\"\\\"}.fa-lungs-virus:before{content:\\\"不\\\"}.fa-lyft:before{content:\\\"\\\"}.fa-mace:before{content:\\\"\\\"}.fa-magento:before{content:\\\"\\\"}.fa-magic:before{content:\\\"\\\"}.fa-magnet:before{content:\\\"\\\"}.fa-mail-bulk:before{content:\\\"\\\"}.fa-mailbox:before{content:\\\"\\\"}.fa-mailchimp:before{content:\\\"\\\"}.fa-male:before{content:\\\"\\\"}.fa-mandalorian:before{content:\\\"\\\"}.fa-mandolin:before{content:\\\"\\\"}.fa-map:before{content:\\\"\\\"}.fa-map-marked:before{content:\\\"\\\"}.fa-map-marked-alt:before{content:\\\"\\\"}.fa-map-marker:before{content:\\\"\\\"}.fa-map-marker-alt:before{content:\\\"\\\"}.fa-map-marker-alt-slash:before{content:\\\"\\\"}.fa-map-marker-check:before{content:\\\"\\\"}.fa-map-marker-edit:before{content:\\\"\\\"}.fa-map-marker-exclamation:before{content:\\\"\\\"}.fa-map-marker-minus:before{content:\\\"\\\"}.fa-map-marker-plus:before{content:\\\"\\\"}.fa-map-marker-question:before{content:\\\"\\\"}.fa-map-marker-slash:before{content:\\\"\\\"}.fa-map-marker-smile:before{content:\\\"\\\"}.fa-map-marker-times:before{content:\\\"\\\"}.fa-map-pin:before{content:\\\"\\\"}.fa-map-signs:before{content:\\\"\\\"}.fa-markdown:before{content:\\\"\\\"}.fa-marker:before{content:\\\"\\\"}.fa-mars:before{content:\\\"\\\"}.fa-mars-double:before{content:\\\"\\\"}.fa-mars-stroke:before{content:\\\"\\\"}.fa-mars-stroke-h:before{content:\\\"\\\"}.fa-mars-stroke-v:before{content:\\\"\\\"}.fa-mask:before{content:\\\"\\\"}.fa-mastodon:before{content:\\\"\\\"}.fa-maxcdn:before{content:\\\"\\\"}.fa-mdb:before{content:\\\"\\\"}.fa-meat:before{content:\\\"\\\"}.fa-medal:before{content:\\\"\\\"}.fa-medapps:before{content:\\\"\\\"}.fa-medium:before{content:\\\"\\\"}.fa-medium-m:before{content:\\\"\\\"}.fa-medkit:before{content:\\\"\\\"}.fa-medrt:before{content:\\\"\\\"}.fa-meetup:before{content:\\\"\\\"}.fa-megaphone:before{content:\\\"\\\"}.fa-megaport:before{content:\\\"\\\"}.fa-meh:before{content:\\\"\\\"}.fa-meh-blank:before{content:\\\"\\\"}.fa-meh-rolling-eyes:before{content:\\\"\\\"}.fa-memory:before{content:\\\"\\\"}.fa-mendeley:before{content:\\\"\\\"}.fa-menorah:before{content:\\\"\\\"}.fa-mercury:before{content:\\\"\\\"}.fa-meteor:before{content:\\\"\\\"}.fa-microblog:before{content:\\\"駱\\\"}.fa-microchip:before{content:\\\"\\\"}.fa-microphone:before{content:\\\"\\\"}.fa-microphone-alt:before{content:\\\"\\\"}.fa-microphone-alt-slash:before{content:\\\"\\\"}.fa-microphone-slash:before{content:\\\"\\\"}.fa-microphone-stand:before{content:\\\"\\\"}.fa-microscope:before{content:\\\"\\\"}.fa-microsoft:before{content:\\\"\\\"}.fa-microwave:before{content:\\\"亂\\\"}.fa-mind-share:before{content:\\\"\\\"}.fa-minus:before{content:\\\"\\\"}.fa-minus-circle:before{content:\\\"\\\"}.fa-minus-hexagon:before{content:\\\"\\\"}.fa-minus-octagon:before{content:\\\"\\\"}.fa-minus-square:before{content:\\\"\\\"}.fa-mistletoe:before{content:\\\"\\\"}.fa-mitten:before{content:\\\"\\\"}.fa-mix:before{content:\\\"\\\"}.fa-mixcloud:before{content:\\\"\\\"}.fa-mixer:before{content:\\\"稜\\\"}.fa-mizuni:before{content:\\\"\\\"}.fa-mobile:before{content:\\\"\\\"}.fa-mobile-alt:before{content:\\\"\\\"}.fa-mobile-android:before{content:\\\"\\\"}.fa-mobile-android-alt:before{content:\\\"\\\"}.fa-modx:before{content:\\\"\\\"}.fa-monero:before{content:\\\"\\\"}.fa-money-bill:before{content:\\\"\\\"}.fa-money-bill-alt:before{content:\\\"\\\"}.fa-money-bill-wave:before{content:\\\"\\\"}.fa-money-bill-wave-alt:before{content:\\\"\\\"}.fa-money-check:before{content:\\\"\\\"}.fa-money-check-alt:before{content:\\\"\\\"}.fa-money-check-edit:before{content:\\\"\\\"}.fa-money-check-edit-alt:before{content:\\\"\\\"}.fa-monitor-heart-rate:before{content:\\\"\\\"}.fa-monkey:before{content:\\\"\\\"}.fa-monument:before{content:\\\"\\\"}.fa-moon:before{content:\\\"\\\"}.fa-moon-cloud:before{content:\\\"\\\"}.fa-moon-stars:before{content:\\\"\\\"}.fa-mortar-pestle:before{content:\\\"\\\"}.fa-mosque:before{content:\\\"\\\"}.fa-motorcycle:before{content:\\\"\\\"}.fa-mountain:before{content:\\\"\\\"}.fa-mountains:before{content:\\\"\\\"}.fa-mouse:before{content:\\\"\\\"}.fa-mouse-alt:before{content:\\\"\\\"}.fa-mouse-pointer:before{content:\\\"\\\"}.fa-mp3-player:before{content:\\\"\\\"}.fa-mug:before{content:\\\"\\\"}.fa-mug-hot:before{content:\\\"\\\"}.fa-mug-marshmallows:before{content:\\\"\\\"}.fa-mug-tea:before{content:\\\"\\\"}.fa-music:before{content:\\\"\\\"}.fa-music-alt:before{content:\\\"\\\"}.fa-music-alt-slash:before{content:\\\"\\\"}.fa-music-slash:before{content:\\\"\\\"}.fa-napster:before{content:\\\"\\\"}.fa-narwhal:before{content:\\\"\\\"}.fa-neos:before{content:\\\"\\\"}.fa-network-wired:before{content:\\\"\\\"}.fa-neuter:before{content:\\\"\\\"}.fa-newspaper:before{content:\\\"\\\"}.fa-nimblr:before{content:\\\"\\\"}.fa-node:before{content:\\\"\\\"}.fa-node-js:before{content:\\\"\\\"}.fa-not-equal:before{content:\\\"\\\"}.fa-notes-medical:before{content:\\\"\\\"}.fa-npm:before{content:\\\"\\\"}.fa-ns8:before{content:\\\"\\\"}.fa-nutritionix:before{content:\\\"\\\"}.fa-object-group:before{content:\\\"\\\"}.fa-object-ungroup:before{content:\\\"\\\"}.fa-octagon:before{content:\\\"\\\"}.fa-odnoklassniki:before{content:\\\"\\\"}.fa-odnoklassniki-square:before{content:\\\"\\\"}.fa-oil-can:before{content:\\\"\\\"}.fa-oil-temp:before{content:\\\"\\\"}.fa-old-republic:before{content:\\\"\\\"}.fa-om:before{content:\\\"\\\"}.fa-omega:before{content:\\\"\\\"}.fa-opencart:before{content:\\\"\\\"}.fa-openid:before{content:\\\"\\\"}.fa-opera:before{content:\\\"\\\"}.fa-optin-monster:before{content:\\\"\\\"}.fa-orcid:before{content:\\\"\\\"}.fa-ornament:before{content:\\\"\\\"}.fa-osi:before{content:\\\"\\\"}.fa-otter:before{content:\\\"\\\"}.fa-outdent:before{content:\\\"\\\"}.fa-outlet:before{content:\\\"卵\\\"}.fa-oven:before{content:\\\"欄\\\"}.fa-overline:before{content:\\\"\\\"}.fa-page-break:before{content:\\\"\\\"}.fa-page4:before{content:\\\"\\\"}.fa-pagelines:before{content:\\\"\\\"}.fa-pager:before{content:\\\"\\\"}.fa-paint-brush:before{content:\\\"\\\"}.fa-paint-brush-alt:before{content:\\\"\\\"}.fa-paint-roller:before{content:\\\"\\\"}.fa-palette:before{content:\\\"\\\"}.fa-palfed:before{content:\\\"\\\"}.fa-pallet:before{content:\\\"\\\"}.fa-pallet-alt:before{content:\\\"\\\"}.fa-paper-plane:before{content:\\\"\\\"}.fa-paperclip:before{content:\\\"\\\"}.fa-parachute-box:before{content:\\\"\\\"}.fa-paragraph:before{content:\\\"\\\"}.fa-paragraph-rtl:before{content:\\\"\\\"}.fa-parking:before{content:\\\"\\\"}.fa-parking-circle:before{content:\\\"\\\"}.fa-parking-circle-slash:before{content:\\\"\\\"}.fa-parking-slash:before{content:\\\"\\\"}.fa-passport:before{content:\\\"\\\"}.fa-pastafarianism:before{content:\\\"\\\"}.fa-paste:before{content:\\\"\\\"}.fa-patreon:before{content:\\\"\\\"}.fa-pause:before{content:\\\"\\\"}.fa-pause-circle:before{content:\\\"\\\"}.fa-paw:before{content:\\\"\\\"}.fa-paw-alt:before{content:\\\"\\\"}.fa-paw-claws:before{content:\\\"\\\"}.fa-paypal:before{content:\\\"\\\"}.fa-peace:before{content:\\\"\\\"}.fa-pegasus:before{content:\\\"\\\"}.fa-pen:before{content:\\\"\\\"}.fa-pen-alt:before{content:\\\"\\\"}.fa-pen-fancy:before{content:\\\"\\\"}.fa-pen-nib:before{content:\\\"\\\"}.fa-pen-square:before{content:\\\"\\\"}.fa-pencil:before{content:\\\"\\\"}.fa-pencil-alt:before{content:\\\"\\\"}.fa-pencil-paintbrush:before{content:\\\"\\\"}.fa-pencil-ruler:before{content:\\\"\\\"}.fa-pennant:before{content:\\\"\\\"}.fa-penny-arcade:before{content:\\\"\\\"}.fa-people-arrows:before{content:\\\"泌\\\"}.fa-people-carry:before{content:\\\"\\\"}.fa-pepper-hot:before{content:\\\"\\\"}.fa-percent:before{content:\\\"\\\"}.fa-percentage:before{content:\\\"\\\"}.fa-periscope:before{content:\\\"\\\"}.fa-person-booth:before{content:\\\"\\\"}.fa-person-carry:before{content:\\\"\\\"}.fa-person-dolly:before{content:\\\"\\\"}.fa-person-dolly-empty:before{content:\\\"\\\"}.fa-person-sign:before{content:\\\"\\\"}.fa-phabricator:before{content:\\\"\\\"}.fa-phoenix-framework:before{content:\\\"\\\"}.fa-phoenix-squadron:before{content:\\\"\\\"}.fa-phone:before{content:\\\"\\\"}.fa-phone-alt:before{content:\\\"\\\"}.fa-phone-laptop:before{content:\\\"\\\"}.fa-phone-office:before{content:\\\"\\\"}.fa-phone-plus:before{content:\\\"\\\"}.fa-phone-rotary:before{content:\\\"\\\"}.fa-phone-slash:before{content:\\\"\\\"}.fa-phone-square:before{content:\\\"\\\"}.fa-phone-square-alt:before{content:\\\"\\\"}.fa-phone-volume:before{content:\\\"\\\"}.fa-photo-video:before{content:\\\"\\\"}.fa-php:before{content:\\\"\\\"}.fa-pi:before{content:\\\"\\\"}.fa-piano:before{content:\\\"\\\"}.fa-piano-keyboard:before{content:\\\"\\\"}.fa-pie:before{content:\\\"\\\"}.fa-pied-piper:before{content:\\\"\\\"}.fa-pied-piper-alt:before{content:\\\"\\\"}.fa-pied-piper-hat:before{content:\\\"\\\"}.fa-pied-piper-pp:before{content:\\\"\\\"}.fa-pied-piper-square:before{content:\\\"爛\\\"}.fa-pig:before{content:\\\"\\\"}.fa-piggy-bank:before{content:\\\"\\\"}.fa-pills:before{content:\\\"\\\"}.fa-pinterest:before{content:\\\"\\\"}.fa-pinterest-p:before{content:\\\"\\\"}.fa-pinterest-square:before{content:\\\"\\\"}.fa-pizza:before{content:\\\"\\\"}.fa-pizza-slice:before{content:\\\"\\\"}.fa-place-of-worship:before{content:\\\"\\\"}.fa-plane:before{content:\\\"\\\"}.fa-plane-alt:before{content:\\\"\\\"}.fa-plane-arrival:before{content:\\\"\\\"}.fa-plane-departure:before{content:\\\"\\\"}.fa-plane-slash:before{content:\\\"數\\\"}.fa-planet-moon:before{content:\\\"蘭\\\"}.fa-planet-ringed:before{content:\\\"鸞\\\"}.fa-play:before{content:\\\"\\\"}.fa-play-circle:before{content:\\\"\\\"}.fa-playstation:before{content:\\\"\\\"}.fa-plug:before{content:\\\"\\\"}.fa-plus:before{content:\\\"\\\"}.fa-plus-circle:before{content:\\\"\\\"}.fa-plus-hexagon:before{content:\\\"\\\"}.fa-plus-octagon:before{content:\\\"\\\"}.fa-plus-square:before{content:\\\"\\\"}.fa-podcast:before{content:\\\"\\\"}.fa-podium:before{content:\\\"\\\"}.fa-podium-star:before{content:\\\"\\\"}.fa-police-box:before{content:\\\"嵐\\\"}.fa-poll:before{content:\\\"\\\"}.fa-poll-h:before{content:\\\"\\\"}.fa-poll-people:before{content:\\\"\\\"}.fa-poo:before{content:\\\"\\\"}.fa-poo-storm:before{content:\\\"\\\"}.fa-poop:before{content:\\\"\\\"}.fa-popcorn:before{content:\\\"\\\"}.fa-portal-enter:before{content:\\\"濫\\\"}.fa-portal-exit:before{content:\\\"藍\\\"}.fa-portrait:before{content:\\\"\\\"}.fa-pound-sign:before{content:\\\"\\\"}.fa-power-off:before{content:\\\"\\\"}.fa-pray:before{content:\\\"\\\"}.fa-praying-hands:before{content:\\\"\\\"}.fa-prescription:before{content:\\\"\\\"}.fa-prescription-bottle:before{content:\\\"\\\"}.fa-prescription-bottle-alt:before{content:\\\"\\\"}.fa-presentation:before{content:\\\"\\\"}.fa-print:before{content:\\\"\\\"}.fa-print-search:before{content:\\\"\\\"}.fa-print-slash:before{content:\\\"\\\"}.fa-procedures:before{content:\\\"\\\"}.fa-product-hunt:before{content:\\\"\\\"}.fa-project-diagram:before{content:\\\"\\\"}.fa-projector:before{content:\\\"\\\"}.fa-pump-medical:before{content:\\\"索\\\"}.fa-pump-soap:before{content:\\\"參\\\"}.fa-pumpkin:before{content:\\\"\\\"}.fa-pushed:before{content:\\\"\\\"}.fa-puzzle-piece:before{content:\\\"\\\"}.fa-python:before{content:\\\"\\\"}.fa-qq:before{content:\\\"\\\"}.fa-qrcode:before{content:\\\"\\\"}.fa-question:before{content:\\\"\\\"}.fa-question-circle:before{content:\\\"\\\"}.fa-question-square:before{content:\\\"\\\"}.fa-quidditch:before{content:\\\"\\\"}.fa-quinscape:before{content:\\\"\\\"}.fa-quora:before{content:\\\"\\\"}.fa-quote-left:before{content:\\\"\\\"}.fa-quote-right:before{content:\\\"\\\"}.fa-quran:before{content:\\\"\\\"}.fa-r-project:before{content:\\\"\\\"}.fa-rabbit:before{content:\\\"\\\"}.fa-rabbit-fast:before{content:\\\"\\\"}.fa-racquet:before{content:\\\"\\\"}.fa-radar:before{content:\\\"襤\\\"}.fa-radiation:before{content:\\\"\\\"}.fa-radiation-alt:before{content:\\\"\\\"}.fa-radio:before{content:\\\"\\\"}.fa-radio-alt:before{content:\\\"\\\"}.fa-rainbow:before{content:\\\"\\\"}.fa-raindrops:before{content:\\\"\\\"}.fa-ram:before{content:\\\"\\\"}.fa-ramp-loading:before{content:\\\"\\\"}.fa-random:before{content:\\\"\\\"}.fa-raspberry-pi:before{content:\\\"\\\"}.fa-ravelry:before{content:\\\"\\\"}.fa-raygun:before{content:\\\"拉\\\"}.fa-react:before{content:\\\"\\\"}.fa-reacteurope:before{content:\\\"\\\"}.fa-readme:before{content:\\\"\\\"}.fa-rebel:before{content:\\\"\\\"}.fa-receipt:before{content:\\\"\\\"}.fa-record-vinyl:before{content:\\\"\\\"}.fa-rectangle-landscape:before{content:\\\"\\\"}.fa-rectangle-portrait:before{content:\\\"\\\"}.fa-rectangle-wide:before{content:\\\"\\\"}.fa-recycle:before{content:\\\"\\\"}.fa-red-river:before{content:\\\"\\\"}.fa-reddit:before{content:\\\"\\\"}.fa-reddit-alien:before{content:\\\"\\\"}.fa-reddit-square:before{content:\\\"\\\"}.fa-redhat:before{content:\\\"\\\"}.fa-redo:before{content:\\\"\\\"}.fa-redo-alt:before{content:\\\"\\\"}.fa-refrigerator:before{content:\\\"臘\\\"}.fa-registered:before{content:\\\"\\\"}.fa-remove-format:before{content:\\\"\\\"}.fa-renren:before{content:\\\"\\\"}.fa-repeat:before{content:\\\"\\\"}.fa-repeat-1:before{content:\\\"\\\"}.fa-repeat-1-alt:before{content:\\\"\\\"}.fa-repeat-alt:before{content:\\\"\\\"}.fa-reply:before{content:\\\"\\\"}.fa-reply-all:before{content:\\\"\\\"}.fa-replyd:before{content:\\\"\\\"}.fa-republican:before{content:\\\"\\\"}.fa-researchgate:before{content:\\\"\\\"}.fa-resolving:before{content:\\\"\\\"}.fa-restroom:before{content:\\\"\\\"}.fa-retweet:before{content:\\\"\\\"}.fa-retweet-alt:before{content:\\\"\\\"}.fa-rev:before{content:\\\"\\\"}.fa-ribbon:before{content:\\\"\\\"}.fa-ring:before{content:\\\"\\\"}.fa-rings-wedding:before{content:\\\"\\\"}.fa-road:before{content:\\\"\\\"}.fa-robot:before{content:\\\"\\\"}.fa-rocket:before{content:\\\"\\\"}.fa-rocket-launch:before{content:\\\"蠟\\\"}.fa-rocketchat:before{content:\\\"\\\"}.fa-rockrms:before{content:\\\"\\\"}.fa-route:before{content:\\\"\\\"}.fa-route-highway:before{content:\\\"\\\"}.fa-route-interstate:before{content:\\\"\\\"}.fa-router:before{content:\\\"\\\"}.fa-rss:before{content:\\\"\\\"}.fa-rss-square:before{content:\\\"\\\"}.fa-ruble-sign:before{content:\\\"\\\"}.fa-ruler:before{content:\\\"\\\"}.fa-ruler-combined:before{content:\\\"\\\"}.fa-ruler-horizontal:before{content:\\\"\\\"}.fa-ruler-triangle:before{content:\\\"\\\"}.fa-ruler-vertical:before{content:\\\"\\\"}.fa-running:before{content:\\\"\\\"}.fa-rupee-sign:before{content:\\\"\\\"}.fa-rv:before{content:\\\"\\\"}.fa-sack:before{content:\\\"\\\"}.fa-sack-dollar:before{content:\\\"\\\"}.fa-sad-cry:before{content:\\\"\\\"}.fa-sad-tear:before{content:\\\"\\\"}.fa-safari:before{content:\\\"\\\"}.fa-salad:before{content:\\\"\\\"}.fa-salesforce:before{content:\\\"\\\"}.fa-sandwich:before{content:\\\"\\\"}.fa-sass:before{content:\\\"\\\"}.fa-satellite:before{content:\\\"\\\"}.fa-satellite-dish:before{content:\\\"\\\"}.fa-sausage:before{content:\\\"\\\"}.fa-save:before{content:\\\"\\\"}.fa-sax-hot:before{content:\\\"\\\"}.fa-saxophone:before{content:\\\"\\\"}.fa-scalpel:before{content:\\\"\\\"}.fa-scalpel-path:before{content:\\\"\\\"}.fa-scanner:before{content:\\\"\\\"}.fa-scanner-image:before{content:\\\"\\\"}.fa-scanner-keyboard:before{content:\\\"\\\"}.fa-scanner-touchscreen:before{content:\\\"\\\"}.fa-scarecrow:before{content:\\\"\\\"}.fa-scarf:before{content:\\\"\\\"}.fa-schlix:before{content:\\\"\\\"}.fa-school:before{content:\\\"\\\"}.fa-screwdriver:before{content:\\\"\\\"}.fa-scribd:before{content:\\\"\\\"}.fa-scroll:before{content:\\\"\\\"}.fa-scroll-old:before{content:\\\"\\\"}.fa-scrubber:before{content:\\\"\\\"}.fa-scythe:before{content:\\\"\\\"}.fa-sd-card:before{content:\\\"\\\"}.fa-search:before{content:\\\"\\\"}.fa-search-dollar:before{content:\\\"\\\"}.fa-search-location:before{content:\\\"\\\"}.fa-search-minus:before{content:\\\"\\\"}.fa-search-plus:before{content:\\\"\\\"}.fa-searchengin:before{content:\\\"\\\"}.fa-seedling:before{content:\\\"\\\"}.fa-sellcast:before{content:\\\"\\\"}.fa-sellsy:before{content:\\\"\\\"}.fa-send-back:before{content:\\\"\\\"}.fa-send-backward:before{content:\\\"\\\"}.fa-sensor:before{content:\\\"廊\\\"}.fa-sensor-alert:before{content:\\\"朗\\\"}.fa-sensor-fire:before{content:\\\"浪\\\"}.fa-sensor-on:before{content:\\\"狼\\\"}.fa-sensor-smoke:before{content:\\\"郎\\\"}.fa-server:before{content:\\\"\\\"}.fa-servicestack:before{content:\\\"\\\"}.fa-shapes:before{content:\\\"\\\"}.fa-share:before{content:\\\"\\\"}.fa-share-all:before{content:\\\"\\\"}.fa-share-alt:before{content:\\\"\\\"}.fa-share-alt-square:before{content:\\\"\\\"}.fa-share-square:before{content:\\\"\\\"}.fa-sheep:before{content:\\\"\\\"}.fa-shekel-sign:before{content:\\\"\\\"}.fa-shield:before{content:\\\"\\\"}.fa-shield-alt:before{content:\\\"\\\"}.fa-shield-check:before{content:\\\"\\\"}.fa-shield-cross:before{content:\\\"\\\"}.fa-shield-virus:before{content:\\\"塞\\\"}.fa-ship:before{content:\\\"\\\"}.fa-shipping-fast:before{content:\\\"\\\"}.fa-shipping-timed:before{content:\\\"\\\"}.fa-shirtsinbulk:before{content:\\\"\\\"}.fa-shish-kebab:before{content:\\\"\\\"}.fa-shoe-prints:before{content:\\\"\\\"}.fa-shopify:before{content:\\\"綾\\\"}.fa-shopping-bag:before{content:\\\"\\\"}.fa-shopping-basket:before{content:\\\"\\\"}.fa-shopping-cart:before{content:\\\"\\\"}.fa-shopware:before{content:\\\"\\\"}.fa-shovel:before{content:\\\"\\\"}.fa-shovel-snow:before{content:\\\"\\\"}.fa-shower:before{content:\\\"\\\"}.fa-shredder:before{content:\\\"\\\"}.fa-shuttle-van:before{content:\\\"\\\"}.fa-shuttlecock:before{content:\\\"\\\"}.fa-sickle:before{content:\\\"\\\"}.fa-sigma:before{content:\\\"\\\"}.fa-sign:before{content:\\\"\\\"}.fa-sign-in:before{content:\\\"\\\"}.fa-sign-in-alt:before{content:\\\"\\\"}.fa-sign-language:before{content:\\\"\\\"}.fa-sign-out:before{content:\\\"\\\"}.fa-sign-out-alt:before{content:\\\"\\\"}.fa-signal:before{content:\\\"\\\"}.fa-signal-1:before{content:\\\"\\\"}.fa-signal-2:before{content:\\\"\\\"}.fa-signal-3:before{content:\\\"\\\"}.fa-signal-4:before{content:\\\"\\\"}.fa-signal-alt:before{content:\\\"\\\"}.fa-signal-alt-1:before{content:\\\"\\\"}.fa-signal-alt-2:before{content:\\\"\\\"}.fa-signal-alt-3:before{content:\\\"\\\"}.fa-signal-alt-slash:before{content:\\\"\\\"}.fa-signal-slash:before{content:\\\"\\\"}.fa-signal-stream:before{content:\\\"\\\"}.fa-signature:before{content:\\\"\\\"}.fa-sim-card:before{content:\\\"\\\"}.fa-simplybuilt:before{content:\\\"\\\"}.fa-sink:before{content:\\\"省\\\"}.fa-siren:before{content:\\\"來\\\"}.fa-siren-on:before{content:\\\"冷\\\"}.fa-sistrix:before{content:\\\"\\\"}.fa-sitemap:before{content:\\\"\\\"}.fa-sith:before{content:\\\"\\\"}.fa-skating:before{content:\\\"\\\"}.fa-skeleton:before{content:\\\"\\\"}.fa-sketch:before{content:\\\"\\\"}.fa-ski-jump:before{content:\\\"\\\"}.fa-ski-lift:before{content:\\\"\\\"}.fa-skiing:before{content:\\\"\\\"}.fa-skiing-nordic:before{content:\\\"\\\"}.fa-skull:before{content:\\\"\\\"}.fa-skull-cow:before{content:\\\"\\\"}.fa-skull-crossbones:before{content:\\\"\\\"}.fa-skyatlas:before{content:\\\"\\\"}.fa-skype:before{content:\\\"\\\"}.fa-slack:before{content:\\\"\\\"}.fa-slack-hash:before{content:\\\"\\\"}.fa-slash:before{content:\\\"\\\"}.fa-sledding:before{content:\\\"\\\"}.fa-sleigh:before{content:\\\"\\\"}.fa-sliders-h:before{content:\\\"\\\"}.fa-sliders-h-square:before{content:\\\"\\\"}.fa-sliders-v:before{content:\\\"\\\"}.fa-sliders-v-square:before{content:\\\"\\\"}.fa-slideshare:before{content:\\\"\\\"}.fa-smile:before{content:\\\"\\\"}.fa-smile-beam:before{content:\\\"\\\"}.fa-smile-plus:before{content:\\\"\\\"}.fa-smile-wink:before{content:\\\"\\\"}.fa-smog:before{content:\\\"\\\"}.fa-smoke:before{content:\\\"\\\"}.fa-smoking:before{content:\\\"\\\"}.fa-smoking-ban:before{content:\\\"\\\"}.fa-sms:before{content:\\\"\\\"}.fa-snake:before{content:\\\"\\\"}.fa-snapchat:before{content:\\\"\\\"}.fa-snapchat-ghost:before{content:\\\"\\\"}.fa-snapchat-square:before{content:\\\"\\\"}.fa-snooze:before{content:\\\"\\\"}.fa-snow-blowing:before{content:\\\"\\\"}.fa-snowboarding:before{content:\\\"\\\"}.fa-snowflake:before{content:\\\"\\\"}.fa-snowflakes:before{content:\\\"\\\"}.fa-snowman:before{content:\\\"\\\"}.fa-snowmobile:before{content:\\\"\\\"}.fa-snowplow:before{content:\\\"\\\"}.fa-soap:before{content:\\\"葉\\\"}.fa-socks:before{content:\\\"\\\"}.fa-solar-panel:before{content:\\\"\\\"}.fa-solar-system:before{content:\\\"勞\\\"}.fa-sort:before{content:\\\"\\\"}.fa-sort-alpha-down:before{content:\\\"\\\"}.fa-sort-alpha-down-alt:before{content:\\\"\\\"}.fa-sort-alpha-up:before{content:\\\"\\\"}.fa-sort-alpha-up-alt:before{content:\\\"\\\"}.fa-sort-alt:before{content:\\\"\\\"}.fa-sort-amount-down:before{content:\\\"\\\"}.fa-sort-amount-down-alt:before{content:\\\"\\\"}.fa-sort-amount-up:before{content:\\\"\\\"}.fa-sort-amount-up-alt:before{content:\\\"\\\"}.fa-sort-circle:before{content:\\\"擄\\\"}.fa-sort-circle-down:before{content:\\\"櫓\\\"}.fa-sort-circle-up:before{content:\\\"爐\\\"}.fa-sort-down:before{content:\\\"\\\"}.fa-sort-numeric-down:before{content:\\\"\\\"}.fa-sort-numeric-down-alt:before{content:\\\"\\\"}.fa-sort-numeric-up:before{content:\\\"\\\"}.fa-sort-numeric-up-alt:before{content:\\\"\\\"}.fa-sort-shapes-down:before{content:\\\"\\\"}.fa-sort-shapes-down-alt:before{content:\\\"\\\"}.fa-sort-shapes-up:before{content:\\\"\\\"}.fa-sort-shapes-up-alt:before{content:\\\"\\\"}.fa-sort-size-down:before{content:\\\"\\\"}.fa-sort-size-down-alt:before{content:\\\"\\\"}.fa-sort-size-up:before{content:\\\"\\\"}.fa-sort-size-up-alt:before{content:\\\"\\\"}.fa-sort-up:before{content:\\\"\\\"}.fa-soundcloud:before{content:\\\"\\\"}.fa-soup:before{content:\\\"\\\"}.fa-sourcetree:before{content:\\\"\\\"}.fa-spa:before{content:\\\"\\\"}.fa-space-shuttle:before{content:\\\"\\\"}.fa-space-station-moon:before{content:\\\"盧\\\"}.fa-space-station-moon-alt:before{content:\\\"老\\\"}.fa-spade:before{content:\\\"\\\"}.fa-sparkles:before{content:\\\"\\\"}.fa-speakap:before{content:\\\"\\\"}.fa-speaker:before{content:\\\"\\\"}.fa-speaker-deck:before{content:\\\"\\\"}.fa-speakers:before{content:\\\"\\\"}.fa-spell-check:before{content:\\\"\\\"}.fa-spider:before{content:\\\"\\\"}.fa-spider-black-widow:before{content:\\\"\\\"}.fa-spider-web:before{content:\\\"\\\"}.fa-spinner:before{content:\\\"\\\"}.fa-spinner-third:before{content:\\\"\\\"}.fa-splotch:before{content:\\\"\\\"}.fa-spotify:before{content:\\\"\\\"}.fa-spray-can:before{content:\\\"\\\"}.fa-sprinkler:before{content:\\\"蘆\\\"}.fa-square:before{content:\\\"\\\"}.fa-square-full:before{content:\\\"\\\"}.fa-square-root:before{content:\\\"\\\"}.fa-square-root-alt:before{content:\\\"\\\"}.fa-squarespace:before{content:\\\"\\\"}.fa-squirrel:before{content:\\\"\\\"}.fa-stack-exchange:before{content:\\\"\\\"}.fa-stack-overflow:before{content:\\\"\\\"}.fa-stackpath:before{content:\\\"\\\"}.fa-staff:before{content:\\\"\\\"}.fa-stamp:before{content:\\\"\\\"}.fa-star:before{content:\\\"\\\"}.fa-star-and-crescent:before{content:\\\"\\\"}.fa-star-christmas:before{content:\\\"\\\"}.fa-star-exclamation:before{content:\\\"\\\"}.fa-star-half:before{content:\\\"\\\"}.fa-star-half-alt:before{content:\\\"\\\"}.fa-star-of-david:before{content:\\\"\\\"}.fa-star-of-life:before{content:\\\"\\\"}.fa-star-shooting:before{content:\\\"虜\\\"}.fa-starfighter:before{content:\\\"路\\\"}.fa-starfighter-alt:before{content:\\\"露\\\"}.fa-stars:before{content:\\\"\\\"}.fa-starship:before{content:\\\"魯\\\"}.fa-starship-freighter:before{content:\\\"鷺\\\"}.fa-staylinked:before{content:\\\"\\\"}.fa-steak:before{content:\\\"\\\"}.fa-steam:before{content:\\\"\\\"}.fa-steam-square:before{content:\\\"\\\"}.fa-steam-symbol:before{content:\\\"\\\"}.fa-steering-wheel:before{content:\\\"\\\"}.fa-step-backward:before{content:\\\"\\\"}.fa-step-forward:before{content:\\\"\\\"}.fa-stethoscope:before{content:\\\"\\\"}.fa-sticker-mule:before{content:\\\"\\\"}.fa-sticky-note:before{content:\\\"\\\"}.fa-stocking:before{content:\\\"\\\"}.fa-stomach:before{content:\\\"\\\"}.fa-stop:before{content:\\\"\\\"}.fa-stop-circle:before{content:\\\"\\\"}.fa-stopwatch:before{content:\\\"\\\"}.fa-stopwatch-20:before{content:\\\"說\\\"}.fa-store:before{content:\\\"\\\"}.fa-store-alt:before{content:\\\"\\\"}.fa-store-alt-slash:before{content:\\\"殺\\\"}.fa-store-slash:before{content:\\\"辰\\\"}.fa-strava:before{content:\\\"\\\"}.fa-stream:before{content:\\\"\\\"}.fa-street-view:before{content:\\\"\\\"}.fa-stretcher:before{content:\\\"\\\"}.fa-strikethrough:before{content:\\\"\\\"}.fa-stripe:before{content:\\\"\\\"}.fa-stripe-s:before{content:\\\"\\\"}.fa-stroopwafel:before{content:\\\"\\\"}.fa-studiovinari:before{content:\\\"\\\"}.fa-stumbleupon:before{content:\\\"\\\"}.fa-stumbleupon-circle:before{content:\\\"\\\"}.fa-subscript:before{content:\\\"\\\"}.fa-subway:before{content:\\\"\\\"}.fa-suitcase:before{content:\\\"\\\"}.fa-suitcase-rolling:before{content:\\\"\\\"}.fa-sun:before{content:\\\"\\\"}.fa-sun-cloud:before{content:\\\"\\\"}.fa-sun-dust:before{content:\\\"\\\"}.fa-sun-haze:before{content:\\\"\\\"}.fa-sunglasses:before{content:\\\"\\\"}.fa-sunrise:before{content:\\\"\\\"}.fa-sunset:before{content:\\\"\\\"}.fa-superpowers:before{content:\\\"\\\"}.fa-superscript:before{content:\\\"\\\"}.fa-supple:before{content:\\\"\\\"}.fa-surprise:before{content:\\\"\\\"}.fa-suse:before{content:\\\"\\\"}.fa-swatchbook:before{content:\\\"\\\"}.fa-swift:before{content:\\\"\\\"}.fa-swimmer:before{content:\\\"\\\"}.fa-swimming-pool:before{content:\\\"\\\"}.fa-sword:before{content:\\\"\\\"}.fa-sword-laser:before{content:\\\"碌\\\"}.fa-sword-laser-alt:before{content:\\\"祿\\\"}.fa-swords:before{content:\\\"\\\"}.fa-swords-laser:before{content:\\\"綠\\\"}.fa-symfony:before{content:\\\"\\\"}.fa-synagogue:before{content:\\\"\\\"}.fa-sync:before{content:\\\"\\\"}.fa-sync-alt:before{content:\\\"\\\"}.fa-syringe:before{content:\\\"\\\"}.fa-table:before{content:\\\"\\\"}.fa-table-tennis:before{content:\\\"\\\"}.fa-tablet:before{content:\\\"\\\"}.fa-tablet-alt:before{content:\\\"\\\"}.fa-tablet-android:before{content:\\\"\\\"}.fa-tablet-android-alt:before{content:\\\"\\\"}.fa-tablet-rugged:before{content:\\\"\\\"}.fa-tablets:before{content:\\\"\\\"}.fa-tachometer:before{content:\\\"\\\"}.fa-tachometer-alt:before{content:\\\"\\\"}.fa-tachometer-alt-average:before{content:\\\"\\\"}.fa-tachometer-alt-fast:before{content:\\\"\\\"}.fa-tachometer-alt-fastest:before{content:\\\"\\\"}.fa-tachometer-alt-slow:before{content:\\\"\\\"}.fa-tachometer-alt-slowest:before{content:\\\"\\\"}.fa-tachometer-average:before{content:\\\"\\\"}.fa-tachometer-fast:before{content:\\\"\\\"}.fa-tachometer-fastest:before{content:\\\"\\\"}.fa-tachometer-slow:before{content:\\\"\\\"}.fa-tachometer-slowest:before{content:\\\"\\\"}.fa-taco:before{content:\\\"\\\"}.fa-tag:before{content:\\\"\\\"}.fa-tags:before{content:\\\"\\\"}.fa-tally:before{content:\\\"\\\"}.fa-tanakh:before{content:\\\"\\\"}.fa-tape:before{content:\\\"\\\"}.fa-tasks:before{content:\\\"\\\"}.fa-tasks-alt:before{content:\\\"\\\"}.fa-taxi:before{content:\\\"\\\"}.fa-teamspeak:before{content:\\\"\\\"}.fa-teeth:before{content:\\\"\\\"}.fa-teeth-open:before{content:\\\"\\\"}.fa-telegram:before{content:\\\"\\\"}.fa-telegram-plane:before{content:\\\"\\\"}.fa-telescope:before{content:\\\"菉\\\"}.fa-temperature-down:before{content:\\\"錄\\\"}.fa-temperature-frigid:before{content:\\\"\\\"}.fa-temperature-high:before{content:\\\"\\\"}.fa-temperature-hot:before{content:\\\"\\\"}.fa-temperature-low:before{content:\\\"\\\"}.fa-temperature-up:before{content:\\\"鹿\\\"}.fa-tencent-weibo:before{content:\\\"\\\"}.fa-tenge:before{content:\\\"\\\"}.fa-tennis-ball:before{content:\\\"\\\"}.fa-terminal:before{content:\\\"\\\"}.fa-text:before{content:\\\"\\\"}.fa-text-height:before{content:\\\"\\\"}.fa-text-size:before{content:\\\"\\\"}.fa-text-width:before{content:\\\"\\\"}.fa-th:before{content:\\\"\\\"}.fa-th-large:before{content:\\\"\\\"}.fa-th-list:before{content:\\\"\\\"}.fa-the-red-yeti:before{content:\\\"\\\"}.fa-theater-masks:before{content:\\\"\\\"}.fa-themeco:before{content:\\\"\\\"}.fa-themeisle:before{content:\\\"\\\"}.fa-thermometer:before{content:\\\"\\\"}.fa-thermometer-empty:before{content:\\\"\\\"}.fa-thermometer-full:before{content:\\\"\\\"}.fa-thermometer-half:before{content:\\\"\\\"}.fa-thermometer-quarter:before{content:\\\"\\\"}.fa-thermometer-three-quarters:before{content:\\\"\\\"}.fa-theta:before{content:\\\"\\\"}.fa-think-peaks:before{content:\\\"\\\"}.fa-thumbs-down:before{content:\\\"\\\"}.fa-thumbs-up:before{content:\\\"\\\"}.fa-thumbtack:before{content:\\\"\\\"}.fa-thunderstorm:before{content:\\\"\\\"}.fa-thunderstorm-moon:before{content:\\\"\\\"}.fa-thunderstorm-sun:before{content:\\\"\\\"}.fa-ticket:before{content:\\\"\\\"}.fa-ticket-alt:before{content:\\\"\\\"}.fa-tilde:before{content:\\\"\\\"}.fa-times:before{content:\\\"\\\"}.fa-times-circle:before{content:\\\"\\\"}.fa-times-hexagon:before{content:\\\"\\\"}.fa-times-octagon:before{content:\\\"\\\"}.fa-times-square:before{content:\\\"\\\"}.fa-tint:before{content:\\\"\\\"}.fa-tint-slash:before{content:\\\"\\\"}.fa-tire:before{content:\\\"\\\"}.fa-tire-flat:before{content:\\\"\\\"}.fa-tire-pressure-warning:before{content:\\\"\\\"}.fa-tire-rugged:before{content:\\\"\\\"}.fa-tired:before{content:\\\"\\\"}.fa-toggle-off:before{content:\\\"\\\"}.fa-toggle-on:before{content:\\\"\\\"}.fa-toilet:before{content:\\\"\\\"}.fa-toilet-paper:before{content:\\\"\\\"}.fa-toilet-paper-alt:before{content:\\\"\\\"}.fa-toilet-paper-slash:before{content:\\\"沈\\\"}.fa-tombstone:before{content:\\\"\\\"}.fa-tombstone-alt:before{content:\\\"\\\"}.fa-toolbox:before{content:\\\"\\\"}.fa-tools:before{content:\\\"\\\"}.fa-tooth:before{content:\\\"\\\"}.fa-toothbrush:before{content:\\\"\\\"}.fa-torah:before{content:\\\"\\\"}.fa-torii-gate:before{content:\\\"\\\"}.fa-tornado:before{content:\\\"\\\"}.fa-tractor:before{content:\\\"\\\"}.fa-trade-federation:before{content:\\\"\\\"}.fa-trademark:before{content:\\\"\\\"}.fa-traffic-cone:before{content:\\\"\\\"}.fa-traffic-light:before{content:\\\"\\\"}.fa-traffic-light-go:before{content:\\\"\\\"}.fa-traffic-light-slow:before{content:\\\"\\\"}.fa-traffic-light-stop:before{content:\\\"\\\"}.fa-trailer:before{content:\\\"論\\\"}.fa-train:before{content:\\\"\\\"}.fa-tram:before{content:\\\"\\\"}.fa-transgender:before{content:\\\"\\\"}.fa-transgender-alt:before{content:\\\"\\\"}.fa-transporter:before{content:\\\"壟\\\"}.fa-transporter-1:before{content:\\\"弄\\\"}.fa-transporter-2:before{content:\\\"籠\\\"}.fa-transporter-3:before{content:\\\"聾\\\"}.fa-transporter-empty:before{content:\\\"牢\\\"}.fa-trash:before{content:\\\"\\\"}.fa-trash-alt:before{content:\\\"\\\"}.fa-trash-restore:before{content:\\\"\\\"}.fa-trash-restore-alt:before{content:\\\"\\\"}.fa-trash-undo:before{content:\\\"\\\"}.fa-trash-undo-alt:before{content:\\\"\\\"}.fa-treasure-chest:before{content:\\\"\\\"}.fa-tree:before{content:\\\"\\\"}.fa-tree-alt:before{content:\\\"\\\"}.fa-tree-christmas:before{content:\\\"\\\"}.fa-tree-decorated:before{content:\\\"\\\"}.fa-tree-large:before{content:\\\"\\\"}.fa-tree-palm:before{content:\\\"\\\"}.fa-trees:before{content:\\\"\\\"}.fa-trello:before{content:\\\"\\\"}.fa-triangle:before{content:\\\"\\\"}.fa-triangle-music:before{content:\\\"\\\"}.fa-tripadvisor:before{content:\\\"\\\"}.fa-trophy:before{content:\\\"\\\"}.fa-trophy-alt:before{content:\\\"\\\"}.fa-truck:before{content:\\\"\\\"}.fa-truck-container:before{content:\\\"\\\"}.fa-truck-couch:before{content:\\\"\\\"}.fa-truck-loading:before{content:\\\"\\\"}.fa-truck-monster:before{content:\\\"\\\"}.fa-truck-moving:before{content:\\\"\\\"}.fa-truck-pickup:before{content:\\\"\\\"}.fa-truck-plow:before{content:\\\"\\\"}.fa-truck-ramp:before{content:\\\"\\\"}.fa-trumpet:before{content:\\\"\\\"}.fa-tshirt:before{content:\\\"\\\"}.fa-tty:before{content:\\\"\\\"}.fa-tumblr:before{content:\\\"\\\"}.fa-tumblr-square:before{content:\\\"\\\"}.fa-turkey:before{content:\\\"\\\"}.fa-turntable:before{content:\\\"\\\"}.fa-turtle:before{content:\\\"\\\"}.fa-tv:before{content:\\\"\\\"}.fa-tv-alt:before{content:\\\"\\\"}.fa-tv-music:before{content:\\\"\\\"}.fa-tv-retro:before{content:\\\"\\\"}.fa-twitch:before{content:\\\"\\\"}.fa-twitter:before{content:\\\"\\\"}.fa-twitter-square:before{content:\\\"\\\"}.fa-typewriter:before{content:\\\"\\\"}.fa-typo3:before{content:\\\"\\\"}.fa-uber:before{content:\\\"\\\"}.fa-ubuntu:before{content:\\\"\\\"}.fa-ufo:before{content:\\\"磊\\\"}.fa-ufo-beam:before{content:\\\"賂\\\"}.fa-uikit:before{content:\\\"\\\"}.fa-umbraco:before{content:\\\"\\\"}.fa-umbrella:before{content:\\\"\\\"}.fa-umbrella-beach:before{content:\\\"\\\"}.fa-underline:before{content:\\\"\\\"}.fa-undo:before{content:\\\"\\\"}.fa-undo-alt:before{content:\\\"\\\"}.fa-unicorn:before{content:\\\"\\\"}.fa-union:before{content:\\\"\\\"}.fa-uniregistry:before{content:\\\"\\\"}.fa-unity:before{content:\\\"雷\\\"}.fa-universal-access:before{content:\\\"\\\"}.fa-university:before{content:\\\"\\\"}.fa-unlink:before{content:\\\"\\\"}.fa-unlock:before{content:\\\"\\\"}.fa-unlock-alt:before{content:\\\"\\\"}.fa-untappd:before{content:\\\"\\\"}.fa-upload:before{content:\\\"\\\"}.fa-ups:before{content:\\\"\\\"}.fa-usb:before{content:\\\"\\\"}.fa-usb-drive:before{content:\\\"\\\"}.fa-usd-circle:before{content:\\\"\\\"}.fa-usd-square:before{content:\\\"\\\"}.fa-user:before{content:\\\"\\\"}.fa-user-alien:before{content:\\\"壘\\\"}.fa-user-alt:before{content:\\\"\\\"}.fa-user-alt-slash:before{content:\\\"\\\"}.fa-user-astronaut:before{content:\\\"\\\"}.fa-user-chart:before{content:\\\"\\\"}.fa-user-check:before{content:\\\"\\\"}.fa-user-circle:before{content:\\\"\\\"}.fa-user-clock:before{content:\\\"\\\"}.fa-user-cog:before{content:\\\"\\\"}.fa-user-cowboy:before{content:\\\"\\\"}.fa-user-crown:before{content:\\\"\\\"}.fa-user-edit:before{content:\\\"\\\"}.fa-user-friends:before{content:\\\"\\\"}.fa-user-graduate:before{content:\\\"\\\"}.fa-user-hard-hat:before{content:\\\"\\\"}.fa-user-headset:before{content:\\\"\\\"}.fa-user-injured:before{content:\\\"\\\"}.fa-user-lock:before{content:\\\"\\\"}.fa-user-md:before{content:\\\"\\\"}.fa-user-md-chat:before{content:\\\"\\\"}.fa-user-minus:before{content:\\\"\\\"}.fa-user-music:before{content:\\\"\\\"}.fa-user-ninja:before{content:\\\"\\\"}.fa-user-nurse:before{content:\\\"\\\"}.fa-user-plus:before{content:\\\"\\\"}.fa-user-robot:before{content:\\\"屢\\\"}.fa-user-secret:before{content:\\\"\\\"}.fa-user-shield:before{content:\\\"\\\"}.fa-user-slash:before{content:\\\"\\\"}.fa-user-tag:before{content:\\\"\\\"}.fa-user-tie:before{content:\\\"\\\"}.fa-user-times:before{content:\\\"\\\"}.fa-user-unlock:before{content:\\\"菱\\\"}.fa-user-visor:before{content:\\\"樓\\\"}.fa-users:before{content:\\\"\\\"}.fa-users-class:before{content:\\\"\\\"}.fa-users-cog:before{content:\\\"\\\"}.fa-users-crown:before{content:\\\"\\\"}.fa-users-medical:before{content:\\\"\\\"}.fa-users-slash:before{content:\\\"拾\\\"}.fa-usps:before{content:\\\"\\\"}.fa-ussunnah:before{content:\\\"\\\"}.fa-utensil-fork:before{content:\\\"\\\"}.fa-utensil-knife:before{content:\\\"\\\"}.fa-utensil-spoon:before{content:\\\"\\\"}.fa-utensils:before{content:\\\"\\\"}.fa-utensils-alt:before{content:\\\"\\\"}.fa-vaadin:before{content:\\\"\\\"}.fa-vacuum:before{content:\\\"淚\\\"}.fa-vacuum-robot:before{content:\\\"漏\\\"}.fa-value-absolute:before{content:\\\"\\\"}.fa-vector-square:before{content:\\\"\\\"}.fa-venus:before{content:\\\"\\\"}.fa-venus-double:before{content:\\\"\\\"}.fa-venus-mars:before{content:\\\"\\\"}.fa-vhs:before{content:\\\"\\\"}.fa-viacoin:before{content:\\\"\\\"}.fa-viadeo:before{content:\\\"\\\"}.fa-viadeo-square:before{content:\\\"\\\"}.fa-vial:before{content:\\\"\\\"}.fa-vials:before{content:\\\"\\\"}.fa-viber:before{content:\\\"\\\"}.fa-video:before{content:\\\"\\\"}.fa-video-plus:before{content:\\\"\\\"}.fa-video-slash:before{content:\\\"\\\"}.fa-vihara:before{content:\\\"\\\"}.fa-vimeo:before{content:\\\"\\\"}.fa-vimeo-square:before{content:\\\"\\\"}.fa-vimeo-v:before{content:\\\"\\\"}.fa-vine:before{content:\\\"\\\"}.fa-violin:before{content:\\\"\\\"}.fa-virus:before{content:\\\"若\\\"}.fa-virus-slash:before{content:\\\"掠\\\"}.fa-viruses:before{content:\\\"略\\\"}.fa-vk:before{content:\\\"\\\"}.fa-vnv:before{content:\\\"\\\"}.fa-voicemail:before{content:\\\"\\\"}.fa-volcano:before{content:\\\"\\\"}.fa-volleyball-ball:before{content:\\\"\\\"}.fa-volume:before{content:\\\"\\\"}.fa-volume-down:before{content:\\\"\\\"}.fa-volume-mute:before{content:\\\"\\\"}.fa-volume-off:before{content:\\\"\\\"}.fa-volume-slash:before{content:\\\"\\\"}.fa-volume-up:before{content:\\\"\\\"}.fa-vote-nay:before{content:\\\"\\\"}.fa-vote-yea:before{content:\\\"\\\"}.fa-vr-cardboard:before{content:\\\"\\\"}.fa-vuejs:before{content:\\\"\\\"}.fa-wagon-covered:before{content:\\\"\\\"}.fa-walker:before{content:\\\"\\\"}.fa-walkie-talkie:before{content:\\\"\\\"}.fa-walking:before{content:\\\"\\\"}.fa-wallet:before{content:\\\"\\\"}.fa-wand:before{content:\\\"\\\"}.fa-wand-magic:before{content:\\\"\\\"}.fa-warehouse:before{content:\\\"\\\"}.fa-warehouse-alt:before{content:\\\"\\\"}.fa-washer:before{content:\\\"\\\"}.fa-watch:before{content:\\\"\\\"}.fa-watch-calculator:before{content:\\\"\\\"}.fa-watch-fitness:before{content:\\\"\\\"}.fa-water:before{content:\\\"\\\"}.fa-water-lower:before{content:\\\"\\\"}.fa-water-rise:before{content:\\\"\\\"}.fa-wave-sine:before{content:\\\"\\\"}.fa-wave-square:before{content:\\\"\\\"}.fa-wave-triangle:before{content:\\\"\\\"}.fa-waveform:before{content:\\\"\\\"}.fa-waveform-path:before{content:\\\"\\\"}.fa-waze:before{content:\\\"\\\"}.fa-webcam:before{content:\\\"\\\"}.fa-webcam-slash:before{content:\\\"\\\"}.fa-weebly:before{content:\\\"\\\"}.fa-weibo:before{content:\\\"\\\"}.fa-weight:before{content:\\\"\\\"}.fa-weight-hanging:before{content:\\\"\\\"}.fa-weixin:before{content:\\\"\\\"}.fa-whale:before{content:\\\"\\\"}.fa-whatsapp:before{content:\\\"\\\"}.fa-whatsapp-square:before{content:\\\"\\\"}.fa-wheat:before{content:\\\"\\\"}.fa-wheelchair:before{content:\\\"\\\"}.fa-whistle:before{content:\\\"\\\"}.fa-whmcs:before{content:\\\"\\\"}.fa-wifi:before{content:\\\"\\\"}.fa-wifi-1:before{content:\\\"\\\"}.fa-wifi-2:before{content:\\\"\\\"}.fa-wifi-slash:before{content:\\\"\\\"}.fa-wikipedia-w:before{content:\\\"\\\"}.fa-wind:before{content:\\\"\\\"}.fa-wind-turbine:before{content:\\\"\\\"}.fa-wind-warning:before{content:\\\"\\\"}.fa-window:before{content:\\\"\\\"}.fa-window-alt:before{content:\\\"\\\"}.fa-window-close:before{content:\\\"\\\"}.fa-window-frame:before{content:\\\"累\\\"}.fa-window-frame-open:before{content:\\\"縷\\\"}.fa-window-maximize:before{content:\\\"\\\"}.fa-window-minimize:before{content:\\\"\\\"}.fa-window-restore:before{content:\\\"\\\"}.fa-windows:before{content:\\\"\\\"}.fa-windsock:before{content:\\\"\\\"}.fa-wine-bottle:before{content:\\\"\\\"}.fa-wine-glass:before{content:\\\"\\\"}.fa-wine-glass-alt:before{content:\\\"\\\"}.fa-wix:before{content:\\\"\\\"}.fa-wizards-of-the-coast:before{content:\\\"\\\"}.fa-wolf-pack-battalion:before{content:\\\"\\\"}.fa-won-sign:before{content:\\\"\\\"}.fa-wordpress:before{content:\\\"\\\"}.fa-wordpress-simple:before{content:\\\"\\\"}.fa-wpbeginner:before{content:\\\"\\\"}.fa-wpexplorer:before{content:\\\"\\\"}.fa-wpforms:before{content:\\\"\\\"}.fa-wpressr:before{content:\\\"\\\"}.fa-wreath:before{content:\\\"\\\"}.fa-wrench:before{content:\\\"\\\"}.fa-x-ray:before{content:\\\"\\\"}.fa-xbox:before{content:\\\"\\\"}.fa-xing:before{content:\\\"\\\"}.fa-xing-square:before{content:\\\"\\\"}.fa-y-combinator:before{content:\\\"\\\"}.fa-yahoo:before{content:\\\"\\\"}.fa-yammer:before{content:\\\"\\\"}.fa-yandex:before{content:\\\"\\\"}.fa-yandex-international:before{content:\\\"\\\"}.fa-yarn:before{content:\\\"\\\"}.fa-yelp:before{content:\\\"\\\"}.fa-yen-sign:before{content:\\\"\\\"}.fa-yin-yang:before{content:\\\"\\\"}.fa-yoast:before{content:\\\"\\\"}.fa-youtube:before{content:\\\"\\\"}.fa-youtube-square:before{content:\\\"\\\"}.fa-zhihu:before{content:\\\"\\\"}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:\\\"Font Awesome 5 Brands\\\";font-style:normal;font-weight:400;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"svg\\\")}.fab{font-family:\\\"Font Awesome 5 Brands\\\";font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Duotone\\\";font-style:normal;font-weight:900;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format(\\\"svg\\\")}.fad{position:relative;font-family:\\\"Font Awesome 5 Duotone\\\";font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color, inherit);opacity:1;opacity:var(--fa-primary-opacity, 1)}.fad:after{color:var(--fa-secondary-color, inherit)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:.4;opacity:var(--fa-secondary-opacity, 0.4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity, 1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-fw:before,.fad.fa-stack-1x:before,.fad.fa-stack-2x:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-abacus:after{content:\\\"􏙀\\\"}.fad.fa-acorn:after{content:\\\"􏚮\\\"}.fad.fa-ad:after{content:\\\"􏙁\\\"}.fad.fa-address-book:after{content:\\\"􏊹\\\"}.fad.fa-address-card:after{content:\\\"􏊻\\\"}.fad.fa-adjust:after{content:\\\"􏁂\\\"}.fad.fa-air-conditioner:after{content:\\\"􏣴\\\"}.fad.fa-air-freshener:after{content:\\\"􏗐\\\"}.fad.fa-alarm-clock:after{content:\\\"􏍎\\\"}.fad.fa-alarm-exclamation:after{content:\\\"􏡃\\\"}.fad.fa-alarm-plus:after{content:\\\"􏡄\\\"}.fad.fa-alarm-snooze:after{content:\\\"􏡅\\\"}.fad.fa-album:after{content:\\\"􏢟\\\"}.fad.fa-album-collection:after{content:\\\"􏢠\\\"}.fad.fa-alicorn:after{content:\\\"􏚰\\\"}.fad.fa-alien:after{content:\\\"􏣵\\\"}.fad.fa-alien-monster:after{content:\\\"􏣶\\\"}.fad.fa-align-center:after{content:\\\"􏀷\\\"}.fad.fa-align-justify:after{content:\\\"􏀹\\\"}.fad.fa-align-left:after{content:\\\"􏀶\\\"}.fad.fa-align-right:after{content:\\\"􏀸\\\"}.fad.fa-align-slash:after{content:\\\"􏡆\\\"}.fad.fa-allergies:after{content:\\\"􏑡\\\"}.fad.fa-ambulance:after{content:\\\"􏃹\\\"}.fad.fa-american-sign-language-interpreting:after{content:\\\"􏊣\\\"}.fad.fa-amp-guitar:after{content:\\\"􏢡\\\"}.fad.fa-analytics:after{content:\\\"􏙃\\\"}.fad.fa-anchor:after{content:\\\"􏄽\\\"}.fad.fa-angel:after{content:\\\"􏝹\\\"}.fad.fa-angle-double-down:after{content:\\\"􏄃\\\"}.fad.fa-angle-double-left:after{content:\\\"􏄀\\\"}.fad.fa-angle-double-right:after{content:\\\"􏄁\\\"}.fad.fa-angle-double-up:after{content:\\\"􏄂\\\"}.fad.fa-angle-down:after{content:\\\"􏄇\\\"}.fad.fa-angle-left:after{content:\\\"􏄄\\\"}.fad.fa-angle-right:after{content:\\\"􏄅\\\"}.fad.fa-angle-up:after{content:\\\"􏄆\\\"}.fad.fa-angry:after{content:\\\"􏕖\\\"}.fad.fa-ankh:after{content:\\\"􏙄\\\"}.fad.fa-apple-alt:after{content:\\\"􏗑\\\"}.fad.fa-apple-crate:after{content:\\\"􏚱\\\"}.fad.fa-archive:after{content:\\\"􏆇\\\"}.fad.fa-archway:after{content:\\\"􏕗\\\"}.fad.fa-arrow-alt-circle-down:after{content:\\\"􏍘\\\"}.fad.fa-arrow-alt-circle-left:after{content:\\\"􏍙\\\"}.fad.fa-arrow-alt-circle-right:after{content:\\\"􏍚\\\"}.fad.fa-arrow-alt-circle-up:after{content:\\\"􏍛\\\"}.fad.fa-arrow-alt-down:after{content:\\\"􏍔\\\"}.fad.fa-arrow-alt-from-bottom:after{content:\\\"􏍆\\\"}.fad.fa-arrow-alt-from-left:after{content:\\\"􏍇\\\"}.fad.fa-arrow-alt-from-right:after{content:\\\"􏍈\\\"}.fad.fa-arrow-alt-from-top:after{content:\\\"􏍉\\\"}.fad.fa-arrow-alt-left:after{content:\\\"􏍕\\\"}.fad.fa-arrow-alt-right:after{content:\\\"􏍖\\\"}.fad.fa-arrow-alt-square-down:after{content:\\\"􏍐\\\"}.fad.fa-arrow-alt-square-left:after{content:\\\"􏍑\\\"}.fad.fa-arrow-alt-square-right:after{content:\\\"􏍒\\\"}.fad.fa-arrow-alt-square-up:after{content:\\\"􏍓\\\"}.fad.fa-arrow-alt-to-bottom:after{content:\\\"􏍊\\\"}.fad.fa-arrow-alt-to-left:after{content:\\\"􏍋\\\"}.fad.fa-arrow-alt-to-right:after{content:\\\"􏍌\\\"}.fad.fa-arrow-alt-to-top:after{content:\\\"􏍍\\\"}.fad.fa-arrow-alt-up:after{content:\\\"􏍗\\\"}.fad.fa-arrow-circle-down:after{content:\\\"􏂫\\\"}.fad.fa-arrow-circle-left:after{content:\\\"􏂨\\\"}.fad.fa-arrow-circle-right:after{content:\\\"􏂩\\\"}.fad.fa-arrow-circle-up:after{content:\\\"􏂪\\\"}.fad.fa-arrow-down:after{content:\\\"􏁣\\\"}.fad.fa-arrow-from-bottom:after{content:\\\"􏍂\\\"}.fad.fa-arrow-from-left:after{content:\\\"􏍃\\\"}.fad.fa-arrow-from-right:after{content:\\\"􏍄\\\"}.fad.fa-arrow-from-top:after{content:\\\"􏍅\\\"}.fad.fa-arrow-left:after{content:\\\"􏁠\\\"}.fad.fa-arrow-right:after{content:\\\"􏁡\\\"}.fad.fa-arrow-square-down:after{content:\\\"􏌹\\\"}.fad.fa-arrow-square-left:after{content:\\\"􏌺\\\"}.fad.fa-arrow-square-right:after{content:\\\"􏌻\\\"}.fad.fa-arrow-square-up:after{content:\\\"􏌼\\\"}.fad.fa-arrow-to-bottom:after{content:\\\"􏌽\\\"}.fad.fa-arrow-to-left:after{content:\\\"􏌾\\\"}.fad.fa-arrow-to-right:after{content:\\\"􏍀\\\"}.fad.fa-arrow-to-top:after{content:\\\"􏍁\\\"}.fad.fa-arrow-up:after{content:\\\"􏁢\\\"}.fad.fa-arrows:after{content:\\\"􏁇\\\"}.fad.fa-arrows-alt:after{content:\\\"􏂲\\\"}.fad.fa-arrows-alt-h:after{content:\\\"􏌷\\\"}.fad.fa-arrows-alt-v:after{content:\\\"􏌸\\\"}.fad.fa-arrows-h:after{content:\\\"􏁾\\\"}.fad.fa-arrows-v:after{content:\\\"􏁽\\\"}.fad.fa-assistive-listening-systems:after{content:\\\"􏊢\\\"}.fad.fa-asterisk:after{content:\\\"􏁩\\\"}.fad.fa-at:after{content:\\\"􏇺\\\"}.fad.fa-atlas:after{content:\\\"􏕘\\\"}.fad.fa-atom:after{content:\\\"􏗒\\\"}.fad.fa-atom-alt:after{content:\\\"􏗓\\\"}.fad.fa-audio-description:after{content:\\\"􏊞\\\"}.fad.fa-award:after{content:\\\"􏕙\\\"}.fad.fa-axe:after{content:\\\"􏚲\\\"}.fad.fa-axe-battle:after{content:\\\"􏚳\\\"}.fad.fa-baby:after{content:\\\"􏝼\\\"}.fad.fa-baby-carriage:after{content:\\\"􏝽\\\"}.fad.fa-backpack:after{content:\\\"􏗔\\\"}.fad.fa-backspace:after{content:\\\"􏕚\\\"}.fad.fa-backward:after{content:\\\"􏁊\\\"}.fad.fa-bacon:after{content:\\\"􏟥\\\"}.fad.fa-bacteria:after{content:\\\"􏥙\\\"}.fad.fa-bacterium:after{content:\\\"􏥚\\\"}.fad.fa-badge:after{content:\\\"􏌵\\\"}.fad.fa-badge-check:after{content:\\\"􏌶\\\"}.fad.fa-badge-dollar:after{content:\\\"􏙅\\\"}.fad.fa-badge-percent:after{content:\\\"􏙆\\\"}.fad.fa-badge-sheriff:after{content:\\\"􏢢\\\"}.fad.fa-badger-honey:after{content:\\\"􏚴\\\"}.fad.fa-bags-shopping:after{content:\\\"􏡇\\\"}.fad.fa-bahai:after{content:\\\"􏙦\\\"}.fad.fa-balance-scale:after{content:\\\"􏉎\\\"}.fad.fa-balance-scale-left:after{content:\\\"􏔕\\\"}.fad.fa-balance-scale-right:after{content:\\\"􏔖\\\"}.fad.fa-ball-pile:after{content:\\\"􏝾\\\"}.fad.fa-ballot:after{content:\\\"􏜲\\\"}.fad.fa-ballot-check:after{content:\\\"􏜳\\\"}.fad.fa-ban:after{content:\\\"􏁞\\\"}.fad.fa-band-aid:after{content:\\\"􏑢\\\"}.fad.fa-banjo:after{content:\\\"􏢣\\\"}.fad.fa-barcode:after{content:\\\"􏀪\\\"}.fad.fa-barcode-alt:after{content:\\\"􏑣\\\"}.fad.fa-barcode-read:after{content:\\\"􏑤\\\"}.fad.fa-barcode-scan:after{content:\\\"􏑥\\\"}.fad.fa-bars:after{content:\\\"􏃉\\\"}.fad.fa-baseball:after{content:\\\"􏐲\\\"}.fad.fa-baseball-ball:after{content:\\\"􏐳\\\"}.fad.fa-basketball-ball:after{content:\\\"􏐴\\\"}.fad.fa-basketball-hoop:after{content:\\\"􏐵\\\"}.fad.fa-bat:after{content:\\\"􏚵\\\"}.fad.fa-bath:after{content:\\\"􏋍\\\"}.fad.fa-battery-bolt:after{content:\\\"􏍶\\\"}.fad.fa-battery-empty:after{content:\\\"􏉄\\\"}.fad.fa-battery-full:after{content:\\\"􏉀\\\"}.fad.fa-battery-half:after{content:\\\"􏉂\\\"}.fad.fa-battery-quarter:after{content:\\\"􏉃\\\"}.fad.fa-battery-slash:after{content:\\\"􏍷\\\"}.fad.fa-battery-three-quarters:after{content:\\\"􏉁\\\"}.fad.fa-bed:after{content:\\\"􏈶\\\"}.fad.fa-bed-alt:after{content:\\\"􏣷\\\"}.fad.fa-bed-bunk:after{content:\\\"􏣸\\\"}.fad.fa-bed-empty:after{content:\\\"􏣹\\\"}.fad.fa-beer:after{content:\\\"􏃼\\\"}.fad.fa-bell:after{content:\\\"􏃳\\\"}.fad.fa-bell-exclamation:after{content:\\\"􏡈\\\"}.fad.fa-bell-on:after{content:\\\"􏣺\\\"}.fad.fa-bell-plus:after{content:\\\"􏡉\\\"}.fad.fa-bell-school:after{content:\\\"􏗕\\\"}.fad.fa-bell-school-slash:after{content:\\\"􏗖\\\"}.fad.fa-bell-slash:after{content:\\\"􏇶\\\"}.fad.fa-bells:after{content:\\\"􏝿\\\"}.fad.fa-betamax:after{content:\\\"􏢤\\\"}.fad.fa-bezier-curve:after{content:\\\"􏕛\\\"}.fad.fa-bible:after{content:\\\"􏙇\\\"}.fad.fa-bicycle:after{content:\\\"􏈆\\\"}.fad.fa-biking:after{content:\\\"􏡊\\\"}.fad.fa-biking-mountain:after{content:\\\"􏡋\\\"}.fad.fa-binoculars:after{content:\\\"􏇥\\\"}.fad.fa-biohazard:after{content:\\\"􏞀\\\"}.fad.fa-birthday-cake:after{content:\\\"􏇽\\\"}.fad.fa-blanket:after{content:\\\"􏒘\\\"}.fad.fa-blender:after{content:\\\"􏔗\\\"}.fad.fa-blender-phone:after{content:\\\"􏚶\\\"}.fad.fa-blind:after{content:\\\"􏊝\\\"}.fad.fa-blinds:after{content:\\\"􏣻\\\"}.fad.fa-blinds-open:after{content:\\\"􏣼\\\"}.fad.fa-blinds-raised:after{content:\\\"􏣽\\\"}.fad.fa-blog:after{content:\\\"􏞁\\\"}.fad.fa-bold:after{content:\\\"􏀲\\\"}.fad.fa-bolt:after{content:\\\"􏃧\\\"}.fad.fa-bomb:after{content:\\\"􏇢\\\"}.fad.fa-bone:after{content:\\\"􏗗\\\"}.fad.fa-bone-break:after{content:\\\"􏗘\\\"}.fad.fa-bong:after{content:\\\"􏕜\\\"}.fad.fa-book:after{content:\\\"􏀭\\\"}.fad.fa-book-alt:after{content:\\\"􏗙\\\"}.fad.fa-book-dead:after{content:\\\"􏚷\\\"}.fad.fa-book-heart:after{content:\\\"􏒙\\\"}.fad.fa-book-medical:after{content:\\\"􏟦\\\"}.fad.fa-book-open:after{content:\\\"􏔘\\\"}.fad.fa-book-reader:after{content:\\\"􏗚\\\"}.fad.fa-book-spells:after{content:\\\"􏚸\\\"}.fad.fa-book-user:after{content:\\\"􏟧\\\"}.fad.fa-bookmark:after{content:\\\"􏀮\\\"}.fad.fa-books:after{content:\\\"􏗛\\\"}.fad.fa-books-medical:after{content:\\\"􏟨\\\"}.fad.fa-boombox:after{content:\\\"􏢥\\\"}.fad.fa-boot:after{content:\\\"􏞂\\\"}.fad.fa-booth-curtain:after{content:\\\"􏜴\\\"}.fad.fa-border-all:after{content:\\\"􏡌\\\"}.fad.fa-border-bottom:after{content:\\\"􏡍\\\"}.fad.fa-border-center-h:after{content:\\\"􏢜\\\"}.fad.fa-border-center-v:after{content:\\\"􏢝\\\"}.fad.fa-border-inner:after{content:\\\"􏡎\\\"}.fad.fa-border-left:after{content:\\\"􏡏\\\"}.fad.fa-border-none:after{content:\\\"􏡐\\\"}.fad.fa-border-outer:after{content:\\\"􏡑\\\"}.fad.fa-border-right:after{content:\\\"􏡒\\\"}.fad.fa-border-style:after{content:\\\"􏡓\\\"}.fad.fa-border-style-alt:after{content:\\\"􏡔\\\"}.fad.fa-border-top:after{content:\\\"􏡕\\\"}.fad.fa-bow-arrow:after{content:\\\"􏚹\\\"}.fad.fa-bowling-ball:after{content:\\\"􏐶\\\"}.fad.fa-bowling-pins:after{content:\\\"􏐷\\\"}.fad.fa-box:after{content:\\\"􏑦\\\"}.fad.fa-box-alt:after{content:\\\"􏒚\\\"}.fad.fa-box-ballot:after{content:\\\"􏜵\\\"}.fad.fa-box-check:after{content:\\\"􏑧\\\"}.fad.fa-box-fragile:after{content:\\\"􏒛\\\"}.fad.fa-box-full:after{content:\\\"􏒜\\\"}.fad.fa-box-heart:after{content:\\\"􏒝\\\"}.fad.fa-box-open:after{content:\\\"􏒞\\\"}.fad.fa-box-tissue:after{content:\\\"􏥛\\\"}.fad.fa-box-up:after{content:\\\"􏒟\\\"}.fad.fa-box-usd:after{content:\\\"􏒠\\\"}.fad.fa-boxes:after{content:\\\"􏑨\\\"}.fad.fa-boxes-alt:after{content:\\\"􏒡\\\"}.fad.fa-boxing-glove:after{content:\\\"􏐸\\\"}.fad.fa-brackets:after{content:\\\"􏟩\\\"}.fad.fa-brackets-curly:after{content:\\\"􏟪\\\"}.fad.fa-braille:after{content:\\\"􏊡\\\"}.fad.fa-brain:after{content:\\\"􏗜\\\"}.fad.fa-bread-loaf:after{content:\\\"􏟫\\\"}.fad.fa-bread-slice:after{content:\\\"􏟬\\\"}.fad.fa-briefcase:after{content:\\\"􏂱\\\"}.fad.fa-briefcase-medical:after{content:\\\"􏑩\\\"}.fad.fa-bring-forward:after{content:\\\"􏡖\\\"}.fad.fa-bring-front:after{content:\\\"􏡗\\\"}.fad.fa-broadcast-tower:after{content:\\\"􏔙\\\"}.fad.fa-broom:after{content:\\\"􏔚\\\"}.fad.fa-browser:after{content:\\\"􏍾\\\"}.fad.fa-brush:after{content:\\\"􏕝\\\"}.fad.fa-bug:after{content:\\\"􏆈\\\"}.fad.fa-building:after{content:\\\"􏆭\\\"}.fad.fa-bullhorn:after{content:\\\"􏂡\\\"}.fad.fa-bullseye:after{content:\\\"􏅀\\\"}.fad.fa-bullseye-arrow:after{content:\\\"􏙈\\\"}.fad.fa-bullseye-pointer:after{content:\\\"􏙉\\\"}.fad.fa-burger-soda:after{content:\\\"􏡘\\\"}.fad.fa-burn:after{content:\\\"􏑪\\\"}.fad.fa-burrito:after{content:\\\"􏟭\\\"}.fad.fa-bus:after{content:\\\"􏈇\\\"}.fad.fa-bus-alt:after{content:\\\"􏕞\\\"}.fad.fa-bus-school:after{content:\\\"􏗝\\\"}.fad.fa-business-time:after{content:\\\"􏙊\\\"}.fad.fa-cabinet-filing:after{content:\\\"􏙋\\\"}.fad.fa-cactus:after{content:\\\"􏢧\\\"}.fad.fa-calculator:after{content:\\\"􏇬\\\"}.fad.fa-calculator-alt:after{content:\\\"􏙌\\\"}.fad.fa-calendar:after{content:\\\"􏄳\\\"}.fad.fa-calendar-alt:after{content:\\\"􏁳\\\"}.fad.fa-calendar-check:after{content:\\\"􏉴\\\"}.fad.fa-calendar-day:after{content:\\\"􏞃\\\"}.fad.fa-calendar-edit:after{content:\\\"􏌳\\\"}.fad.fa-calendar-exclamation:after{content:\\\"􏌴\\\"}.fad.fa-calendar-minus:after{content:\\\"􏉲\\\"}.fad.fa-calendar-plus:after{content:\\\"􏉱\\\"}.fad.fa-calendar-star:after{content:\\\"􏜶\\\"}.fad.fa-calendar-times:after{content:\\\"􏉳\\\"}.fad.fa-calendar-week:after{content:\\\"􏞄\\\"}.fad.fa-camcorder:after{content:\\\"􏢨\\\"}.fad.fa-camera:after{content:\\\"􏀰\\\"}.fad.fa-camera-alt:after{content:\\\"􏌲\\\"}.fad.fa-camera-home:after{content:\\\"􏣾\\\"}.fad.fa-camera-movie:after{content:\\\"􏢩\\\"}.fad.fa-camera-polaroid:after{content:\\\"􏢪\\\"}.fad.fa-camera-retro:after{content:\\\"􏂃\\\"}.fad.fa-campfire:after{content:\\\"􏚺\\\"}.fad.fa-campground:after{content:\\\"􏚻\\\"}.fad.fa-candle-holder:after{content:\\\"􏚼\\\"}.fad.fa-candy-cane:after{content:\\\"􏞆\\\"}.fad.fa-candy-corn:after{content:\\\"􏚽\\\"}.fad.fa-cannabis:after{content:\\\"􏕟\\\"}.fad.fa-capsules:after{content:\\\"􏑫\\\"}.fad.fa-car:after{content:\\\"􏆹\\\"}.fad.fa-car-alt:after{content:\\\"􏗞\\\"}.fad.fa-car-battery:after{content:\\\"􏗟\\\"}.fad.fa-car-building:after{content:\\\"􏡙\\\"}.fad.fa-car-bump:after{content:\\\"􏗠\\\"}.fad.fa-car-bus:after{content:\\\"􏡚\\\"}.fad.fa-car-crash:after{content:\\\"􏗡\\\"}.fad.fa-car-garage:after{content:\\\"􏗢\\\"}.fad.fa-car-mechanic:after{content:\\\"􏗣\\\"}.fad.fa-car-side:after{content:\\\"􏗤\\\"}.fad.fa-car-tilt:after{content:\\\"􏗥\\\"}.fad.fa-car-wash:after{content:\\\"􏗦\\\"}.fad.fa-caravan:after{content:\\\"􏣿\\\"}.fad.fa-caravan-alt:after{content:\\\"􏤀\\\"}.fad.fa-caret-circle-down:after{content:\\\"􏌭\\\"}.fad.fa-caret-circle-left:after{content:\\\"􏌮\\\"}.fad.fa-caret-circle-right:after{content:\\\"􏌰\\\"}.fad.fa-caret-circle-up:after{content:\\\"􏌱\\\"}.fad.fa-caret-down:after{content:\\\"􏃗\\\"}.fad.fa-caret-left:after{content:\\\"􏃙\\\"}.fad.fa-caret-right:after{content:\\\"􏃚\\\"}.fad.fa-caret-square-down:after{content:\\\"􏅐\\\"}.fad.fa-caret-square-left:after{content:\\\"􏆑\\\"}.fad.fa-caret-square-right:after{content:\\\"􏅒\\\"}.fad.fa-caret-square-up:after{content:\\\"􏅑\\\"}.fad.fa-caret-up:after{content:\\\"􏃘\\\"}.fad.fa-carrot:after{content:\\\"􏞇\\\"}.fad.fa-cars:after{content:\\\"􏡛\\\"}.fad.fa-cart-arrow-down:after{content:\\\"􏈘\\\"}.fad.fa-cart-plus:after{content:\\\"􏈗\\\"}.fad.fa-cash-register:after{content:\\\"􏞈\\\"}.fad.fa-cassette-tape:after{content:\\\"􏢫\\\"}.fad.fa-cat:after{content:\\\"􏚾\\\"}.fad.fa-cat-space:after{content:\\\"􏤁\\\"}.fad.fa-cauldron:after{content:\\\"􏚿\\\"}.fad.fa-cctv:after{content:\\\"􏢬\\\"}.fad.fa-certificate:after{content:\\\"􏂣\\\"}.fad.fa-chair:after{content:\\\"􏛀\\\"}.fad.fa-chair-office:after{content:\\\"􏛁\\\"}.fad.fa-chalkboard:after{content:\\\"􏔛\\\"}.fad.fa-chalkboard-teacher:after{content:\\\"􏔜\\\"}.fad.fa-charging-station:after{content:\\\"􏗧\\\"}.fad.fa-chart-area:after{content:\\\"􏇾\\\"}.fad.fa-chart-bar:after{content:\\\"􏂀\\\"}.fad.fa-chart-line:after{content:\\\"􏈁\\\"}.fad.fa-chart-line-down:after{content:\\\"􏙍\\\"}.fad.fa-chart-network:after{content:\\\"􏞊\\\"}.fad.fa-chart-pie:after{content:\\\"􏈀\\\"}.fad.fa-chart-pie-alt:after{content:\\\"􏙎\\\"}.fad.fa-chart-scatter:after{content:\\\"􏟮\\\"}.fad.fa-check:after{content:\\\"􏀌\\\"}.fad.fa-check-circle:after{content:\\\"􏁘\\\"}.fad.fa-check-double:after{content:\\\"􏕠\\\"}.fad.fa-check-square:after{content:\\\"􏅊\\\"}.fad.fa-cheese:after{content:\\\"􏟯\\\"}.fad.fa-cheese-swiss:after{content:\\\"􏟰\\\"}.fad.fa-cheeseburger:after{content:\\\"􏟱\\\"}.fad.fa-chess:after{content:\\\"􏐹\\\"}.fad.fa-chess-bishop:after{content:\\\"􏐺\\\"}.fad.fa-chess-bishop-alt:after{content:\\\"􏐻\\\"}.fad.fa-chess-board:after{content:\\\"􏐼\\\"}.fad.fa-chess-clock:after{content:\\\"􏐽\\\"}.fad.fa-chess-clock-alt:after{content:\\\"􏐾\\\"}.fad.fa-chess-king:after{content:\\\"􏐿\\\"}.fad.fa-chess-king-alt:after{content:\\\"􏑀\\\"}.fad.fa-chess-knight:after{content:\\\"􏑁\\\"}.fad.fa-chess-knight-alt:after{content:\\\"􏑂\\\"}.fad.fa-chess-pawn:after{content:\\\"􏑃\\\"}.fad.fa-chess-pawn-alt:after{content:\\\"􏑄\\\"}.fad.fa-chess-queen:after{content:\\\"􏑅\\\"}.fad.fa-chess-queen-alt:after{content:\\\"􏑆\\\"}.fad.fa-chess-rook:after{content:\\\"􏑇\\\"}.fad.fa-chess-rook-alt:after{content:\\\"􏑈\\\"}.fad.fa-chevron-circle-down:after{content:\\\"􏄺\\\"}.fad.fa-chevron-circle-left:after{content:\\\"􏄷\\\"}.fad.fa-chevron-circle-right:after{content:\\\"􏄸\\\"}.fad.fa-chevron-circle-up:after{content:\\\"􏄹\\\"}.fad.fa-chevron-double-down:after{content:\\\"􏌢\\\"}.fad.fa-chevron-double-left:after{content:\\\"􏌣\\\"}.fad.fa-chevron-double-right:after{content:\\\"􏌤\\\"}.fad.fa-chevron-double-up:after{content:\\\"􏌥\\\"}.fad.fa-chevron-down:after{content:\\\"􏁸\\\"}.fad.fa-chevron-left:after{content:\\\"􏁓\\\"}.fad.fa-chevron-right:after{content:\\\"􏁔\\\"}.fad.fa-chevron-square-down:after{content:\\\"􏌩\\\"}.fad.fa-chevron-square-left:after{content:\\\"􏌪\\\"}.fad.fa-chevron-square-right:after{content:\\\"􏌫\\\"}.fad.fa-chevron-square-up:after{content:\\\"􏌬\\\"}.fad.fa-chevron-up:after{content:\\\"􏁷\\\"}.fad.fa-child:after{content:\\\"􏆮\\\"}.fad.fa-chimney:after{content:\\\"􏞋\\\"}.fad.fa-church:after{content:\\\"􏔝\\\"}.fad.fa-circle:after{content:\\\"􏄑\\\"}.fad.fa-circle-notch:after{content:\\\"􏇎\\\"}.fad.fa-city:after{content:\\\"􏙏\\\"}.fad.fa-clarinet:after{content:\\\"􏢭\\\"}.fad.fa-claw-marks:after{content:\\\"􏛂\\\"}.fad.fa-clinic-medical:after{content:\\\"􏟲\\\"}.fad.fa-clipboard:after{content:\\\"􏌨\\\"}.fad.fa-clipboard-check:after{content:\\\"􏑬\\\"}.fad.fa-clipboard-list:after{content:\\\"􏑭\\\"}.fad.fa-clipboard-list-check:after{content:\\\"􏜷\\\"}.fad.fa-clipboard-prescription:after{content:\\\"􏗨\\\"}.fad.fa-clipboard-user:after{content:\\\"􏟳\\\"}.fad.fa-clock:after{content:\\\"􏀗\\\"}.fad.fa-clone:after{content:\\\"􏉍\\\"}.fad.fa-closed-captioning:after{content:\\\"􏈊\\\"}.fad.fa-cloud:after{content:\\\"􏃂\\\"}.fad.fa-cloud-download:after{content:\\\"􏃭\\\"}.fad.fa-cloud-download-alt:after{content:\\\"􏎁\\\"}.fad.fa-cloud-drizzle:after{content:\\\"􏜸\\\"}.fad.fa-cloud-hail:after{content:\\\"􏜹\\\"}.fad.fa-cloud-hail-mixed:after{content:\\\"􏜺\\\"}.fad.fa-cloud-meatball:after{content:\\\"􏜻\\\"}.fad.fa-cloud-moon:after{content:\\\"􏛃\\\"}.fad.fa-cloud-moon-rain:after{content:\\\"􏜼\\\"}.fad.fa-cloud-music:after{content:\\\"􏢮\\\"}.fad.fa-cloud-rain:after{content:\\\"􏜽\\\"}.fad.fa-cloud-rainbow:after{content:\\\"􏜾\\\"}.fad.fa-cloud-showers:after{content:\\\"􏜿\\\"}.fad.fa-cloud-showers-heavy:after{content:\\\"􏝀\\\"}.fad.fa-cloud-sleet:after{content:\\\"􏝁\\\"}.fad.fa-cloud-snow:after{content:\\\"􏝂\\\"}.fad.fa-cloud-sun:after{content:\\\"􏛄\\\"}.fad.fa-cloud-sun-rain:after{content:\\\"􏝃\\\"}.fad.fa-cloud-upload:after{content:\\\"􏃮\\\"}.fad.fa-cloud-upload-alt:after{content:\\\"􏎂\\\"}.fad.fa-clouds:after{content:\\\"􏝄\\\"}.fad.fa-clouds-moon:after{content:\\\"􏝅\\\"}.fad.fa-clouds-sun:after{content:\\\"􏝆\\\"}.fad.fa-club:after{content:\\\"􏌧\\\"}.fad.fa-cocktail:after{content:\\\"􏕡\\\"}.fad.fa-code:after{content:\\\"􏄡\\\"}.fad.fa-code-branch:after{content:\\\"􏄦\\\"}.fad.fa-code-commit:after{content:\\\"􏎆\\\"}.fad.fa-code-merge:after{content:\\\"􏎇\\\"}.fad.fa-coffee:after{content:\\\"􏃴\\\"}.fad.fa-coffee-pot:after{content:\\\"􏤂\\\"}.fad.fa-coffee-togo:after{content:\\\"􏛅\\\"}.fad.fa-coffin:after{content:\\\"􏛆\\\"}.fad.fa-coffin-cross:after{content:\\\"􏥑\\\"}.fad.fa-cog:after{content:\\\"􏀓\\\"}.fad.fa-cogs:after{content:\\\"􏂅\\\"}.fad.fa-coin:after{content:\\\"􏡜\\\"}.fad.fa-coins:after{content:\\\"􏔞\\\"}.fad.fa-columns:after{content:\\\"􏃛\\\"}.fad.fa-comet:after{content:\\\"􏤃\\\"}.fad.fa-comment:after{content:\\\"􏁵\\\"}.fad.fa-comment-alt:after{content:\\\"􏉺\\\"}.fad.fa-comment-alt-check:after{content:\\\"􏒢\\\"}.fad.fa-comment-alt-dollar:after{content:\\\"􏙐\\\"}.fad.fa-comment-alt-dots:after{content:\\\"􏒣\\\"}.fad.fa-comment-alt-edit:after{content:\\\"􏒤\\\"}.fad.fa-comment-alt-exclamation:after{content:\\\"􏒥\\\"}.fad.fa-comment-alt-lines:after{content:\\\"􏒦\\\"}.fad.fa-comment-alt-medical:after{content:\\\"􏟴\\\"}.fad.fa-comment-alt-minus:after{content:\\\"􏒧\\\"}.fad.fa-comment-alt-music:after{content:\\\"􏢯\\\"}.fad.fa-comment-alt-plus:after{content:\\\"􏒨\\\"}.fad.fa-comment-alt-slash:after{content:\\\"􏒩\\\"}.fad.fa-comment-alt-smile:after{content:\\\"􏒪\\\"}.fad.fa-comment-alt-times:after{content:\\\"􏒫\\\"}.fad.fa-comment-check:after{content:\\\"􏒬\\\"}.fad.fa-comment-dollar:after{content:\\\"􏙑\\\"}.fad.fa-comment-dots:after{content:\\\"􏒭\\\"}.fad.fa-comment-edit:after{content:\\\"􏒮\\\"}.fad.fa-comment-exclamation:after{content:\\\"􏒯\\\"}.fad.fa-comment-lines:after{content:\\\"􏒰\\\"}.fad.fa-comment-medical:after{content:\\\"􏟵\\\"}.fad.fa-comment-minus:after{content:\\\"􏒱\\\"}.fad.fa-comment-music:after{content:\\\"􏢰\\\"}.fad.fa-comment-plus:after{content:\\\"􏒲\\\"}.fad.fa-comment-slash:after{content:\\\"􏒳\\\"}.fad.fa-comment-smile:after{content:\\\"􏒴\\\"}.fad.fa-comment-times:after{content:\\\"􏒵\\\"}.fad.fa-comments:after{content:\\\"􏂆\\\"}.fad.fa-comments-alt:after{content:\\\"􏒶\\\"}.fad.fa-comments-alt-dollar:after{content:\\\"􏙒\\\"}.fad.fa-comments-dollar:after{content:\\\"􏙓\\\"}.fad.fa-compact-disc:after{content:\\\"􏔟\\\"}.fad.fa-compass:after{content:\\\"􏅎\\\"}.fad.fa-compass-slash:after{content:\\\"􏗩\\\"}.fad.fa-compress:after{content:\\\"􏁦\\\"}.fad.fa-compress-alt:after{content:\\\"􏐢\\\"}.fad.fa-compress-arrows-alt:after{content:\\\"􏞌\\\"}.fad.fa-compress-wide:after{content:\\\"􏌦\\\"}.fad.fa-computer-classic:after{content:\\\"􏢱\\\"}.fad.fa-computer-speaker:after{content:\\\"􏢲\\\"}.fad.fa-concierge-bell:after{content:\\\"􏕢\\\"}.fad.fa-construction:after{content:\\\"􏡝\\\"}.fad.fa-container-storage:after{content:\\\"􏒷\\\"}.fad.fa-conveyor-belt:after{content:\\\"􏑮\\\"}.fad.fa-conveyor-belt-alt:after{content:\\\"􏑯\\\"}.fad.fa-cookie:after{content:\\\"􏕣\\\"}.fad.fa-cookie-bite:after{content:\\\"􏕤\\\"}.fad.fa-copy:after{content:\\\"􏃅\\\"}.fad.fa-copyright:after{content:\\\"􏇹\\\"}.fad.fa-corn:after{content:\\\"􏛇\\\"}.fad.fa-couch:after{content:\\\"􏒸\\\"}.fad.fa-cow:after{content:\\\"􏛈\\\"}.fad.fa-cowbell:after{content:\\\"􏢳\\\"}.fad.fa-cowbell-more:after{content:\\\"􏢴\\\"}.fad.fa-credit-card:after{content:\\\"􏂝\\\"}.fad.fa-credit-card-blank:after{content:\\\"􏎉\\\"}.fad.fa-credit-card-front:after{content:\\\"􏎊\\\"}.fad.fa-cricket:after{content:\\\"􏑉\\\"}.fad.fa-croissant:after{content:\\\"􏟶\\\"}.fad.fa-crop:after{content:\\\"􏄥\\\"}.fad.fa-crop-alt:after{content:\\\"􏕥\\\"}.fad.fa-cross:after{content:\\\"􏙔\\\"}.fad.fa-crosshairs:after{content:\\\"􏁛\\\"}.fad.fa-crow:after{content:\\\"􏔠\\\"}.fad.fa-crown:after{content:\\\"􏔡\\\"}.fad.fa-crutch:after{content:\\\"􏟷\\\"}.fad.fa-crutches:after{content:\\\"􏟸\\\"}.fad.fa-cube:after{content:\\\"􏆲\\\"}.fad.fa-cubes:after{content:\\\"􏆳\\\"}.fad.fa-curling:after{content:\\\"􏑊\\\"}.fad.fa-cut:after{content:\\\"􏃄\\\"}.fad.fa-dagger:after{content:\\\"􏛋\\\"}.fad.fa-database:after{content:\\\"􏇀\\\"}.fad.fa-deaf:after{content:\\\"􏊤\\\"}.fad.fa-debug:after{content:\\\"􏟹\\\"}.fad.fa-deer:after{content:\\\"􏞎\\\"}.fad.fa-deer-rudolph:after{content:\\\"􏞏\\\"}.fad.fa-democrat:after{content:\\\"􏝇\\\"}.fad.fa-desktop:after{content:\\\"􏄈\\\"}.fad.fa-desktop-alt:after{content:\\\"􏎐\\\"}.fad.fa-dewpoint:after{content:\\\"􏝈\\\"}.fad.fa-dharmachakra:after{content:\\\"􏙕\\\"}.fad.fa-diagnoses:after{content:\\\"􏑰\\\"}.fad.fa-diamond:after{content:\\\"􏈙\\\"}.fad.fa-dice:after{content:\\\"􏔢\\\"}.fad.fa-dice-d10:after{content:\\\"􏛍\\\"}.fad.fa-dice-d12:after{content:\\\"􏛎\\\"}.fad.fa-dice-d20:after{content:\\\"􏛏\\\"}.fad.fa-dice-d4:after{content:\\\"􏛐\\\"}.fad.fa-dice-d6:after{content:\\\"􏛑\\\"}.fad.fa-dice-d8:after{content:\\\"􏛒\\\"}.fad.fa-dice-five:after{content:\\\"􏔣\\\"}.fad.fa-dice-four:after{content:\\\"􏔤\\\"}.fad.fa-dice-one:after{content:\\\"􏔥\\\"}.fad.fa-dice-six:after{content:\\\"􏔦\\\"}.fad.fa-dice-three:after{content:\\\"􏔧\\\"}.fad.fa-dice-two:after{content:\\\"􏔨\\\"}.fad.fa-digging:after{content:\\\"􏡞\\\"}.fad.fa-digital-tachograph:after{content:\\\"􏕦\\\"}.fad.fa-diploma:after{content:\\\"􏗪\\\"}.fad.fa-directions:after{content:\\\"􏗫\\\"}.fad.fa-disc-drive:after{content:\\\"􏢵\\\"}.fad.fa-disease:after{content:\\\"􏟺\\\"}.fad.fa-divide:after{content:\\\"􏔩\\\"}.fad.fa-dizzy:after{content:\\\"􏕧\\\"}.fad.fa-dna:after{content:\\\"􏑱\\\"}.fad.fa-do-not-enter:after{content:\\\"􏗬\\\"}.fad.fa-dog:after{content:\\\"􏛓\\\"}.fad.fa-dog-leashed:after{content:\\\"􏛔\\\"}.fad.fa-dollar-sign:after{content:\\\"􏅕\\\"}.fad.fa-dolly:after{content:\\\"􏑲\\\"}.fad.fa-dolly-empty:after{content:\\\"􏑳\\\"}.fad.fa-dolly-flatbed:after{content:\\\"􏑴\\\"}.fad.fa-dolly-flatbed-alt:after{content:\\\"􏑵\\\"}.fad.fa-dolly-flatbed-empty:after{content:\\\"􏑶\\\"}.fad.fa-donate:after{content:\\\"􏒹\\\"}.fad.fa-door-closed:after{content:\\\"􏔪\\\"}.fad.fa-door-open:after{content:\\\"􏔫\\\"}.fad.fa-dot-circle:after{content:\\\"􏆒\\\"}.fad.fa-dove:after{content:\\\"􏒺\\\"}.fad.fa-download:after{content:\\\"􏀙\\\"}.fad.fa-drafting-compass:after{content:\\\"􏕨\\\"}.fad.fa-dragon:after{content:\\\"􏛕\\\"}.fad.fa-draw-circle:after{content:\\\"􏗭\\\"}.fad.fa-draw-polygon:after{content:\\\"􏗮\\\"}.fad.fa-draw-square:after{content:\\\"􏗯\\\"}.fad.fa-dreidel:after{content:\\\"􏞒\\\"}.fad.fa-drone:after{content:\\\"􏡟\\\"}.fad.fa-drone-alt:after{content:\\\"􏡠\\\"}.fad.fa-drum:after{content:\\\"􏕩\\\"}.fad.fa-drum-steelpan:after{content:\\\"􏕪\\\"}.fad.fa-drumstick:after{content:\\\"􏛖\\\"}.fad.fa-drumstick-bite:after{content:\\\"􏛗\\\"}.fad.fa-dryer:after{content:\\\"􏡡\\\"}.fad.fa-dryer-alt:after{content:\\\"􏡢\\\"}.fad.fa-duck:after{content:\\\"􏛘\\\"}.fad.fa-dumbbell:after{content:\\\"􏑋\\\"}.fad.fa-dumpster:after{content:\\\"􏞓\\\"}.fad.fa-dumpster-fire:after{content:\\\"􏞔\\\"}.fad.fa-dungeon:after{content:\\\"􏛙\\\"}.fad.fa-ear:after{content:\\\"􏗰\\\"}.fad.fa-ear-muffs:after{content:\\\"􏞕\\\"}.fad.fa-eclipse:after{content:\\\"􏝉\\\"}.fad.fa-eclipse-alt:after{content:\\\"􏝊\\\"}.fad.fa-edit:after{content:\\\"􏁄\\\"}.fad.fa-egg:after{content:\\\"􏟻\\\"}.fad.fa-egg-fried:after{content:\\\"􏟼\\\"}.fad.fa-eject:after{content:\\\"􏁒\\\"}.fad.fa-elephant:after{content:\\\"􏛚\\\"}.fad.fa-ellipsis-h:after{content:\\\"􏅁\\\"}.fad.fa-ellipsis-h-alt:after{content:\\\"􏎛\\\"}.fad.fa-ellipsis-v:after{content:\\\"􏅂\\\"}.fad.fa-ellipsis-v-alt:after{content:\\\"􏎜\\\"}.fad.fa-empty-set:after{content:\\\"􏙖\\\"}.fad.fa-engine-warning:after{content:\\\"􏗲\\\"}.fad.fa-envelope:after{content:\\\"􏃠\\\"}.fad.fa-envelope-open:after{content:\\\"􏊶\\\"}.fad.fa-envelope-open-dollar:after{content:\\\"􏙗\\\"}.fad.fa-envelope-open-text:after{content:\\\"􏙘\\\"}.fad.fa-envelope-square:after{content:\\\"􏆙\\\"}.fad.fa-equals:after{content:\\\"􏔬\\\"}.fad.fa-eraser:after{content:\\\"􏄭\\\"}.fad.fa-ethernet:after{content:\\\"􏞖\\\"}.fad.fa-euro-sign:after{content:\\\"􏅓\\\"}.fad.fa-exchange:after{content:\\\"􏃬\\\"}.fad.fa-exchange-alt:after{content:\\\"􏍢\\\"}.fad.fa-exclamation:after{content:\\\"􏄪\\\"}.fad.fa-exclamation-circle:after{content:\\\"􏁪\\\"}.fad.fa-exclamation-square:after{content:\\\"􏌡\\\"}.fad.fa-exclamation-triangle:after{content:\\\"􏁱\\\"}.fad.fa-expand:after{content:\\\"􏁥\\\"}.fad.fa-expand-alt:after{content:\\\"􏐤\\\"}.fad.fa-expand-arrows:after{content:\\\"􏌝\\\"}.fad.fa-expand-arrows-alt:after{content:\\\"􏌞\\\"}.fad.fa-expand-wide:after{content:\\\"􏌠\\\"}.fad.fa-external-link:after{content:\\\"􏂎\\\"}.fad.fa-external-link-alt:after{content:\\\"􏍝\\\"}.fad.fa-external-link-square:after{content:\\\"􏅌\\\"}.fad.fa-external-link-square-alt:after{content:\\\"􏍠\\\"}.fad.fa-eye:after{content:\\\"􏁮\\\"}.fad.fa-eye-dropper:after{content:\\\"􏇻\\\"}.fad.fa-eye-evil:after{content:\\\"􏛛\\\"}.fad.fa-eye-slash:after{content:\\\"􏁰\\\"}.fad.fa-fan:after{content:\\\"􏡣\\\"}.fad.fa-fan-table:after{content:\\\"􏤄\\\"}.fad.fa-farm:after{content:\\\"􏡤\\\"}.fad.fa-fast-backward:after{content:\\\"􏁉\\\"}.fad.fa-fast-forward:after{content:\\\"􏁐\\\"}.fad.fa-faucet:after{content:\\\"􏤅\\\"}.fad.fa-faucet-drip:after{content:\\\"􏤆\\\"}.fad.fa-fax:after{content:\\\"􏆬\\\"}.fad.fa-feather:after{content:\\\"􏔭\\\"}.fad.fa-feather-alt:after{content:\\\"􏕫\\\"}.fad.fa-female:after{content:\\\"􏆂\\\"}.fad.fa-field-hockey:after{content:\\\"􏑌\\\"}.fad.fa-fighter-jet:after{content:\\\"􏃻\\\"}.fad.fa-file:after{content:\\\"􏅛\\\"}.fad.fa-file-alt:after{content:\\\"􏅜\\\"}.fad.fa-file-archive:after{content:\\\"􏇆\\\"}.fad.fa-file-audio:after{content:\\\"􏇇\\\"}.fad.fa-file-certificate:after{content:\\\"􏗳\\\"}.fad.fa-file-chart-line:after{content:\\\"􏙙\\\"}.fad.fa-file-chart-pie:after{content:\\\"􏙚\\\"}.fad.fa-file-check:after{content:\\\"􏌖\\\"}.fad.fa-file-code:after{content:\\\"􏇉\\\"}.fad.fa-file-contract:after{content:\\\"􏕬\\\"}.fad.fa-file-csv:after{content:\\\"􏛝\\\"}.fad.fa-file-download:after{content:\\\"􏕭\\\"}.fad.fa-file-edit:after{content:\\\"􏌜\\\"}.fad.fa-file-excel:after{content:\\\"􏇃\\\"}.fad.fa-file-exclamation:after{content:\\\"􏌚\\\"}.fad.fa-file-export:after{content:\\\"􏕮\\\"}.fad.fa-file-image:after{content:\\\"􏇅\\\"}.fad.fa-file-import:after{content:\\\"􏕯\\\"}.fad.fa-file-invoice:after{content:\\\"􏕰\\\"}.fad.fa-file-invoice-dollar:after{content:\\\"􏕱\\\"}.fad.fa-file-medical:after{content:\\\"􏑷\\\"}.fad.fa-file-medical-alt:after{content:\\\"􏑸\\\"}.fad.fa-file-minus:after{content:\\\"􏌘\\\"}.fad.fa-file-music:after{content:\\\"􏢶\\\"}.fad.fa-file-pdf:after{content:\\\"􏇁\\\"}.fad.fa-file-plus:after{content:\\\"􏌙\\\"}.fad.fa-file-powerpoint:after{content:\\\"􏇄\\\"}.fad.fa-file-prescription:after{content:\\\"􏕲\\\"}.fad.fa-file-search:after{content:\\\"􏡥\\\"}.fad.fa-file-signature:after{content:\\\"􏕳\\\"}.fad.fa-file-spreadsheet:after{content:\\\"􏙛\\\"}.fad.fa-file-times:after{content:\\\"􏌗\\\"}.fad.fa-file-upload:after{content:\\\"􏕴\\\"}.fad.fa-file-user:after{content:\\\"􏙜\\\"}.fad.fa-file-video:after{content:\\\"􏇈\\\"}.fad.fa-file-word:after{content:\\\"􏇂\\\"}.fad.fa-files-medical:after{content:\\\"􏟽\\\"}.fad.fa-fill:after{content:\\\"􏕵\\\"}.fad.fa-fill-drip:after{content:\\\"􏕶\\\"}.fad.fa-film:after{content:\\\"􏀈\\\"}.fad.fa-film-alt:after{content:\\\"􏎠\\\"}.fad.fa-film-canister:after{content:\\\"􏢷\\\"}.fad.fa-filter:after{content:\\\"􏂰\\\"}.fad.fa-fingerprint:after{content:\\\"􏕷\\\"}.fad.fa-fire:after{content:\\\"􏁭\\\"}.fad.fa-fire-alt:after{content:\\\"􏟤\\\"}.fad.fa-fire-extinguisher:after{content:\\\"􏄴\\\"}.fad.fa-fire-smoke:after{content:\\\"􏝋\\\"}.fad.fa-fireplace:after{content:\\\"􏞚\\\"}.fad.fa-first-aid:after{content:\\\"􏑹\\\"}.fad.fa-fish:after{content:\\\"􏕸\\\"}.fad.fa-fish-cooked:after{content:\\\"􏟾\\\"}.fad.fa-fist-raised:after{content:\\\"􏛞\\\"}.fad.fa-flag:after{content:\\\"􏀤\\\"}.fad.fa-flag-alt:after{content:\\\"􏝌\\\"}.fad.fa-flag-checkered:after{content:\\\"􏄞\\\"}.fad.fa-flag-usa:after{content:\\\"􏝍\\\"}.fad.fa-flame:after{content:\\\"􏛟\\\"}.fad.fa-flashlight:after{content:\\\"􏢸\\\"}.fad.fa-flask:after{content:\\\"􏃃\\\"}.fad.fa-flask-poison:after{content:\\\"􏛠\\\"}.fad.fa-flask-potion:after{content:\\\"􏛡\\\"}.fad.fa-flower:after{content:\\\"􏟿\\\"}.fad.fa-flower-daffodil:after{content:\\\"􏠀\\\"}.fad.fa-flower-tulip:after{content:\\\"􏠁\\\"}.fad.fa-flushed:after{content:\\\"􏕹\\\"}.fad.fa-flute:after{content:\\\"􏢹\\\"}.fad.fa-flux-capacitor:after{content:\\\"􏢺\\\"}.fad.fa-fog:after{content:\\\"􏝎\\\"}.fad.fa-folder:after{content:\\\"􏁻\\\"}.fad.fa-folder-download:after{content:\\\"􏥓\\\"}.fad.fa-folder-minus:after{content:\\\"􏙝\\\"}.fad.fa-folder-open:after{content:\\\"􏁼\\\"}.fad.fa-folder-plus:after{content:\\\"􏙞\\\"}.fad.fa-folder-times:after{content:\\\"􏙟\\\"}.fad.fa-folder-tree:after{content:\\\"􏠂\\\"}.fad.fa-folder-upload:after{content:\\\"􏥔\\\"}.fad.fa-folders:after{content:\\\"􏙠\\\"}.fad.fa-font:after{content:\\\"􏀱\\\"}.fad.fa-font-awesome-logo-full:after{content:\\\"􏓦\\\"}.fad.fa-font-case:after{content:\\\"􏡦\\\"}.fad.fa-football-ball:after{content:\\\"􏑎\\\"}.fad.fa-football-helmet:after{content:\\\"􏑏\\\"}.fad.fa-forklift:after{content:\\\"􏑺\\\"}.fad.fa-forward:after{content:\\\"􏁎\\\"}.fad.fa-fragile:after{content:\\\"􏒻\\\"}.fad.fa-french-fries:after{content:\\\"􏠃\\\"}.fad.fa-frog:after{content:\\\"􏔮\\\"}.fad.fa-frosty-head:after{content:\\\"􏞛\\\"}.fad.fa-frown:after{content:\\\"􏄙\\\"}.fad.fa-frown-open:after{content:\\\"􏕺\\\"}.fad.fa-function:after{content:\\\"􏙡\\\"}.fad.fa-funnel-dollar:after{content:\\\"􏙢\\\"}.fad.fa-futbol:after{content:\\\"􏇣\\\"}.fad.fa-galaxy:after{content:\\\"􏤈\\\"}.fad.fa-game-board:after{content:\\\"􏡧\\\"}.fad.fa-game-board-alt:after{content:\\\"􏡨\\\"}.fad.fa-game-console-handheld:after{content:\\\"􏢻\\\"}.fad.fa-gamepad:after{content:\\\"􏄛\\\"}.fad.fa-gamepad-alt:after{content:\\\"􏢼\\\"}.fad.fa-garage:after{content:\\\"􏤉\\\"}.fad.fa-garage-car:after{content:\\\"􏤊\\\"}.fad.fa-garage-open:after{content:\\\"􏤋\\\"}.fad.fa-gas-pump:after{content:\\\"􏔯\\\"}.fad.fa-gas-pump-slash:after{content:\\\"􏗴\\\"}.fad.fa-gavel:after{content:\\\"􏃣\\\"}.fad.fa-gem:after{content:\\\"􏎥\\\"}.fad.fa-genderless:after{content:\\\"􏈭\\\"}.fad.fa-ghost:after{content:\\\"􏛢\\\"}.fad.fa-gift:after{content:\\\"􏁫\\\"}.fad.fa-gift-card:after{content:\\\"􏙣\\\"}.fad.fa-gifts:after{content:\\\"􏞜\\\"}.fad.fa-gingerbread-man:after{content:\\\"􏞝\\\"}.fad.fa-glass:after{content:\\\"􏠄\\\"}.fad.fa-glass-champagne:after{content:\\\"􏞞\\\"}.fad.fa-glass-cheers:after{content:\\\"􏞟\\\"}.fad.fa-glass-citrus:after{content:\\\"􏡩\\\"}.fad.fa-glass-martini:after{content:\\\"􏀀\\\"}.fad.fa-glass-martini-alt:after{content:\\\"􏕻\\\"}.fad.fa-glass-whiskey:after{content:\\\"􏞠\\\"}.fad.fa-glass-whiskey-rocks:after{content:\\\"􏞡\\\"}.fad.fa-glasses:after{content:\\\"􏔰\\\"}.fad.fa-glasses-alt:after{content:\\\"􏗵\\\"}.fad.fa-globe:after{content:\\\"􏂬\\\"}.fad.fa-globe-africa:after{content:\\\"􏕼\\\"}.fad.fa-globe-americas:after{content:\\\"􏕽\\\"}.fad.fa-globe-asia:after{content:\\\"􏕾\\\"}.fad.fa-globe-europe:after{content:\\\"􏞢\\\"}.fad.fa-globe-snow:after{content:\\\"􏞣\\\"}.fad.fa-globe-stand:after{content:\\\"􏗶\\\"}.fad.fa-golf-ball:after{content:\\\"􏑐\\\"}.fad.fa-golf-club:after{content:\\\"􏑑\\\"}.fad.fa-gopuram:after{content:\\\"􏙤\\\"}.fad.fa-graduation-cap:after{content:\\\"􏆝\\\"}.fad.fa-gramophone:after{content:\\\"􏢽\\\"}.fad.fa-greater-than:after{content:\\\"􏔱\\\"}.fad.fa-greater-than-equal:after{content:\\\"􏔲\\\"}.fad.fa-grimace:after{content:\\\"􏕿\\\"}.fad.fa-grin:after{content:\\\"􏖀\\\"}.fad.fa-grin-alt:after{content:\\\"􏖁\\\"}.fad.fa-grin-beam:after{content:\\\"􏖂\\\"}.fad.fa-grin-beam-sweat:after{content:\\\"􏖃\\\"}.fad.fa-grin-hearts:after{content:\\\"􏖄\\\"}.fad.fa-grin-squint:after{content:\\\"􏖅\\\"}.fad.fa-grin-squint-tears:after{content:\\\"􏖆\\\"}.fad.fa-grin-stars:after{content:\\\"􏖇\\\"}.fad.fa-grin-tears:after{content:\\\"􏖈\\\"}.fad.fa-grin-tongue:after{content:\\\"􏖉\\\"}.fad.fa-grin-tongue-squint:after{content:\\\"􏖊\\\"}.fad.fa-grin-tongue-wink:after{content:\\\"􏖋\\\"}.fad.fa-grin-wink:after{content:\\\"􏖌\\\"}.fad.fa-grip-horizontal:after{content:\\\"􏖍\\\"}.fad.fa-grip-lines:after{content:\\\"􏞤\\\"}.fad.fa-grip-lines-vertical:after{content:\\\"􏞥\\\"}.fad.fa-grip-vertical:after{content:\\\"􏖎\\\"}.fad.fa-guitar:after{content:\\\"􏞦\\\"}.fad.fa-guitar-electric:after{content:\\\"􏢾\\\"}.fad.fa-guitars:after{content:\\\"􏢿\\\"}.fad.fa-h-square:after{content:\\\"􏃽\\\"}.fad.fa-h1:after{content:\\\"􏌓\\\"}.fad.fa-h2:after{content:\\\"􏌔\\\"}.fad.fa-h3:after{content:\\\"􏌕\\\"}.fad.fa-h4:after{content:\\\"􏡪\\\"}.fad.fa-hamburger:after{content:\\\"􏠅\\\"}.fad.fa-hammer:after{content:\\\"􏛣\\\"}.fad.fa-hammer-war:after{content:\\\"􏛤\\\"}.fad.fa-hamsa:after{content:\\\"􏙥\\\"}.fad.fa-hand-heart:after{content:\\\"􏒼\\\"}.fad.fa-hand-holding:after{content:\\\"􏒽\\\"}.fad.fa-hand-holding-box:after{content:\\\"􏑻\\\"}.fad.fa-hand-holding-heart:after{content:\\\"􏒾\\\"}.fad.fa-hand-holding-magic:after{content:\\\"􏛥\\\"}.fad.fa-hand-holding-medical:after{content:\\\"􏥜\\\"}.fad.fa-hand-holding-seedling:after{content:\\\"􏒿\\\"}.fad.fa-hand-holding-usd:after{content:\\\"􏓀\\\"}.fad.fa-hand-holding-water:after{content:\\\"􏓁\\\"}.fad.fa-hand-lizard:after{content:\\\"􏉘\\\"}.fad.fa-hand-middle-finger:after{content:\\\"􏠆\\\"}.fad.fa-hand-paper:after{content:\\\"􏉖\\\"}.fad.fa-hand-peace:after{content:\\\"􏉛\\\"}.fad.fa-hand-point-down:after{content:\\\"􏂧\\\"}.fad.fa-hand-point-left:after{content:\\\"􏂥\\\"}.fad.fa-hand-point-right:after{content:\\\"􏂤\\\"}.fad.fa-hand-point-up:after{content:\\\"􏂦\\\"}.fad.fa-hand-pointer:after{content:\\\"􏉚\\\"}.fad.fa-hand-receiving:after{content:\\\"􏑼\\\"}.fad.fa-hand-rock:after{content:\\\"􏉕\\\"}.fad.fa-hand-scissors:after{content:\\\"􏉗\\\"}.fad.fa-hand-sparkles:after{content:\\\"􏥝\\\"}.fad.fa-hand-spock:after{content:\\\"􏉙\\\"}.fad.fa-hands:after{content:\\\"􏓂\\\"}.fad.fa-hands-heart:after{content:\\\"􏓃\\\"}.fad.fa-hands-helping:after{content:\\\"􏓄\\\"}.fad.fa-hands-usd:after{content:\\\"􏓅\\\"}.fad.fa-hands-wash:after{content:\\\"􏥞\\\"}.fad.fa-handshake:after{content:\\\"􏊵\\\"}.fad.fa-handshake-alt:after{content:\\\"􏓆\\\"}.fad.fa-handshake-alt-slash:after{content:\\\"􏥟\\\"}.fad.fa-handshake-slash:after{content:\\\"􏥠\\\"}.fad.fa-hanukiah:after{content:\\\"􏛦\\\"}.fad.fa-hard-hat:after{content:\\\"􏠇\\\"}.fad.fa-hashtag:after{content:\\\"􏊒\\\"}.fad.fa-hat-chef:after{content:\\\"􏡫\\\"}.fad.fa-hat-cowboy:after{content:\\\"􏣀\\\"}.fad.fa-hat-cowboy-side:after{content:\\\"􏣁\\\"}.fad.fa-hat-santa:after{content:\\\"􏞧\\\"}.fad.fa-hat-winter:after{content:\\\"􏞨\\\"}.fad.fa-hat-witch:after{content:\\\"􏛧\\\"}.fad.fa-hat-wizard:after{content:\\\"􏛨\\\"}.fad.fa-hdd:after{content:\\\"􏂠\\\"}.fad.fa-head-side:after{content:\\\"􏛩\\\"}.fad.fa-head-side-brain:after{content:\\\"􏠈\\\"}.fad.fa-head-side-cough:after{content:\\\"􏥡\\\"}.fad.fa-head-side-cough-slash:after{content:\\\"􏥢\\\"}.fad.fa-head-side-headphones:after{content:\\\"􏣂\\\"}.fad.fa-head-side-mask:after{content:\\\"􏥣\\\"}.fad.fa-head-side-medical:after{content:\\\"􏠉\\\"}.fad.fa-head-side-virus:after{content:\\\"􏥤\\\"}.fad.fa-head-vr:after{content:\\\"􏛪\\\"}.fad.fa-heading:after{content:\\\"􏇜\\\"}.fad.fa-headphones:after{content:\\\"􏀥\\\"}.fad.fa-headphones-alt:after{content:\\\"􏖏\\\"}.fad.fa-headset:after{content:\\\"􏖐\\\"}.fad.fa-heart:after{content:\\\"􏀄\\\"}.fad.fa-heart-broken:after{content:\\\"􏞩\\\"}.fad.fa-heart-circle:after{content:\\\"􏓇\\\"}.fad.fa-heart-rate:after{content:\\\"􏗸\\\"}.fad.fa-heart-square:after{content:\\\"􏓈\\\"}.fad.fa-heartbeat:after{content:\\\"􏈞\\\"}.fad.fa-heat:after{content:\\\"􏤌\\\"}.fad.fa-helicopter:after{content:\\\"􏔳\\\"}.fad.fa-helmet-battle:after{content:\\\"􏛫\\\"}.fad.fa-hexagon:after{content:\\\"􏌒\\\"}.fad.fa-highlighter:after{content:\\\"􏖑\\\"}.fad.fa-hiking:after{content:\\\"􏛬\\\"}.fad.fa-hippo:after{content:\\\"􏛭\\\"}.fad.fa-history:after{content:\\\"􏇚\\\"}.fad.fa-hockey-mask:after{content:\\\"􏛮\\\"}.fad.fa-hockey-puck:after{content:\\\"􏑓\\\"}.fad.fa-hockey-sticks:after{content:\\\"􏑔\\\"}.fad.fa-holly-berry:after{content:\\\"􏞪\\\"}.fad.fa-home:after{content:\\\"􏀕\\\"}.fad.fa-home-alt:after{content:\\\"􏠊\\\"}.fad.fa-home-heart:after{content:\\\"􏓉\\\"}.fad.fa-home-lg:after{content:\\\"􏠋\\\"}.fad.fa-home-lg-alt:after{content:\\\"􏠌\\\"}.fad.fa-hood-cloak:after{content:\\\"􏛯\\\"}.fad.fa-horizontal-rule:after{content:\\\"􏡬\\\"}.fad.fa-horse:after{content:\\\"􏛰\\\"}.fad.fa-horse-head:after{content:\\\"􏞫\\\"}.fad.fa-horse-saddle:after{content:\\\"􏣃\\\"}.fad.fa-hospital:after{content:\\\"􏃸\\\"}.fad.fa-hospital-alt:after{content:\\\"􏑽\\\"}.fad.fa-hospital-symbol:after{content:\\\"􏑾\\\"}.fad.fa-hospital-user:after{content:\\\"􏠍\\\"}.fad.fa-hospitals:after{content:\\\"􏠎\\\"}.fad.fa-hot-tub:after{content:\\\"􏖓\\\"}.fad.fa-hotdog:after{content:\\\"􏠏\\\"}.fad.fa-hotel:after{content:\\\"􏖔\\\"}.fad.fa-hourglass:after{content:\\\"􏉔\\\"}.fad.fa-hourglass-end:after{content:\\\"􏉓\\\"}.fad.fa-hourglass-half:after{content:\\\"􏉒\\\"}.fad.fa-hourglass-start:after{content:\\\"􏉑\\\"}.fad.fa-house:after{content:\\\"􏤍\\\"}.fad.fa-house-damage:after{content:\\\"􏛱\\\"}.fad.fa-house-day:after{content:\\\"􏤎\\\"}.fad.fa-house-flood:after{content:\\\"􏝏\\\"}.fad.fa-house-leave:after{content:\\\"􏤏\\\"}.fad.fa-house-night:after{content:\\\"􏤐\\\"}.fad.fa-house-return:after{content:\\\"􏤑\\\"}.fad.fa-house-signal:after{content:\\\"􏤒\\\"}.fad.fa-house-user:after{content:\\\"􏥥\\\"}.fad.fa-hryvnia:after{content:\\\"􏛲\\\"}.fad.fa-humidity:after{content:\\\"􏝐\\\"}.fad.fa-hurricane:after{content:\\\"􏝑\\\"}.fad.fa-i-cursor:after{content:\\\"􏉆\\\"}.fad.fa-ice-cream:after{content:\\\"􏠐\\\"}.fad.fa-ice-skate:after{content:\\\"􏞬\\\"}.fad.fa-icicles:after{content:\\\"􏞭\\\"}.fad.fa-icons:after{content:\\\"􏡭\\\"}.fad.fa-icons-alt:after{content:\\\"􏡮\\\"}.fad.fa-id-badge:after{content:\\\"􏋁\\\"}.fad.fa-id-card:after{content:\\\"􏋂\\\"}.fad.fa-id-card-alt:after{content:\\\"􏑿\\\"}.fad.fa-igloo:after{content:\\\"􏞮\\\"}.fad.fa-image:after{content:\\\"􏀾\\\"}.fad.fa-image-polaroid:after{content:\\\"􏣄\\\"}.fad.fa-images:after{content:\\\"􏌂\\\"}.fad.fa-inbox:after{content:\\\"􏀜\\\"}.fad.fa-inbox-in:after{content:\\\"􏌐\\\"}.fad.fa-inbox-out:after{content:\\\"􏌑\\\"}.fad.fa-indent:after{content:\\\"􏀼\\\"}.fad.fa-industry:after{content:\\\"􏉵\\\"}.fad.fa-industry-alt:after{content:\\\"􏎳\\\"}.fad.fa-infinity:after{content:\\\"􏔴\\\"}.fad.fa-info:after{content:\\\"􏄩\\\"}.fad.fa-info-circle:after{content:\\\"􏁚\\\"}.fad.fa-info-square:after{content:\\\"􏌏\\\"}.fad.fa-inhaler:after{content:\\\"􏗹\\\"}.fad.fa-integral:after{content:\\\"􏙧\\\"}.fad.fa-intersection:after{content:\\\"􏙨\\\"}.fad.fa-inventory:after{content:\\\"􏒀\\\"}.fad.fa-island-tropical:after{content:\\\"􏠑\\\"}.fad.fa-italic:after{content:\\\"􏀳\\\"}.fad.fa-jack-o-lantern:after{content:\\\"􏌎\\\"}.fad.fa-jedi:after{content:\\\"􏙩\\\"}.fad.fa-joint:after{content:\\\"􏖕\\\"}.fad.fa-journal-whills:after{content:\\\"􏙪\\\"}.fad.fa-joystick:after{content:\\\"􏣅\\\"}.fad.fa-jug:after{content:\\\"􏣆\\\"}.fad.fa-kaaba:after{content:\\\"􏙫\\\"}.fad.fa-kazoo:after{content:\\\"􏣇\\\"}.fad.fa-kerning:after{content:\\\"􏡯\\\"}.fad.fa-key:after{content:\\\"􏂄\\\"}.fad.fa-key-skeleton:after{content:\\\"􏛳\\\"}.fad.fa-keyboard:after{content:\\\"􏄜\\\"}.fad.fa-keynote:after{content:\\\"􏙬\\\"}.fad.fa-khanda:after{content:\\\"􏙭\\\"}.fad.fa-kidneys:after{content:\\\"􏗻\\\"}.fad.fa-kiss:after{content:\\\"􏖖\\\"}.fad.fa-kiss-beam:after{content:\\\"􏖗\\\"}.fad.fa-kiss-wink-heart:after{content:\\\"􏖘\\\"}.fad.fa-kite:after{content:\\\"􏛴\\\"}.fad.fa-kiwi-bird:after{content:\\\"􏔵\\\"}.fad.fa-knife-kitchen:after{content:\\\"􏛵\\\"}.fad.fa-lambda:after{content:\\\"􏙮\\\"}.fad.fa-lamp:after{content:\\\"􏓊\\\"}.fad.fa-lamp-desk:after{content:\\\"􏤔\\\"}.fad.fa-lamp-floor:after{content:\\\"􏤕\\\"}.fad.fa-landmark:after{content:\\\"􏙯\\\"}.fad.fa-landmark-alt:after{content:\\\"􏝒\\\"}.fad.fa-language:after{content:\\\"􏆫\\\"}.fad.fa-laptop:after{content:\\\"􏄉\\\"}.fad.fa-laptop-code:after{content:\\\"􏗼\\\"}.fad.fa-laptop-house:after{content:\\\"􏥦\\\"}.fad.fa-laptop-medical:after{content:\\\"􏠒\\\"}.fad.fa-lasso:after{content:\\\"􏣈\\\"}.fad.fa-laugh:after{content:\\\"􏖙\\\"}.fad.fa-laugh-beam:after{content:\\\"􏖚\\\"}.fad.fa-laugh-squint:after{content:\\\"􏖛\\\"}.fad.fa-laugh-wink:after{content:\\\"􏖜\\\"}.fad.fa-layer-group:after{content:\\\"􏗽\\\"}.fad.fa-layer-minus:after{content:\\\"􏗾\\\"}.fad.fa-layer-plus:after{content:\\\"􏗿\\\"}.fad.fa-leaf:after{content:\\\"􏁬\\\"}.fad.fa-leaf-heart:after{content:\\\"􏓋\\\"}.fad.fa-leaf-maple:after{content:\\\"􏛶\\\"}.fad.fa-leaf-oak:after{content:\\\"􏛷\\\"}.fad.fa-lemon:after{content:\\\"􏂔\\\"}.fad.fa-less-than:after{content:\\\"􏔶\\\"}.fad.fa-less-than-equal:after{content:\\\"􏔷\\\"}.fad.fa-level-down:after{content:\\\"􏅉\\\"}.fad.fa-level-down-alt:after{content:\\\"􏎾\\\"}.fad.fa-level-up:after{content:\\\"􏅈\\\"}.fad.fa-level-up-alt:after{content:\\\"􏎿\\\"}.fad.fa-life-ring:after{content:\\\"􏇍\\\"}.fad.fa-light-ceiling:after{content:\\\"􏤖\\\"}.fad.fa-light-switch:after{content:\\\"􏤗\\\"}.fad.fa-light-switch-off:after{content:\\\"􏤘\\\"}.fad.fa-light-switch-on:after{content:\\\"􏤙\\\"}.fad.fa-lightbulb:after{content:\\\"􏃫\\\"}.fad.fa-lightbulb-dollar:after{content:\\\"􏙰\\\"}.fad.fa-lightbulb-exclamation:after{content:\\\"􏙱\\\"}.fad.fa-lightbulb-on:after{content:\\\"􏙲\\\"}.fad.fa-lightbulb-slash:after{content:\\\"􏙳\\\"}.fad.fa-lights-holiday:after{content:\\\"􏞲\\\"}.fad.fa-line-columns:after{content:\\\"􏡰\\\"}.fad.fa-line-height:after{content:\\\"􏡱\\\"}.fad.fa-link:after{content:\\\"􏃁\\\"}.fad.fa-lips:after{content:\\\"􏘀\\\"}.fad.fa-lira-sign:after{content:\\\"􏆕\\\"}.fad.fa-list:after{content:\\\"􏀺\\\"}.fad.fa-list-alt:after{content:\\\"􏀢\\\"}.fad.fa-list-music:after{content:\\\"􏣉\\\"}.fad.fa-list-ol:after{content:\\\"􏃋\\\"}.fad.fa-list-ul:after{content:\\\"􏃊\\\"}.fad.fa-location:after{content:\\\"􏘁\\\"}.fad.fa-location-arrow:after{content:\\\"􏄤\\\"}.fad.fa-location-circle:after{content:\\\"􏘂\\\"}.fad.fa-location-slash:after{content:\\\"􏘃\\\"}.fad.fa-lock:after{content:\\\"􏀣\\\"}.fad.fa-lock-alt:after{content:\\\"􏌍\\\"}.fad.fa-lock-open:after{content:\\\"􏏁\\\"}.fad.fa-lock-open-alt:after{content:\\\"􏏂\\\"}.fad.fa-long-arrow-alt-down:after{content:\\\"􏌉\\\"}.fad.fa-long-arrow-alt-left:after{content:\\\"􏌊\\\"}.fad.fa-long-arrow-alt-right:after{content:\\\"􏌋\\\"}.fad.fa-long-arrow-alt-up:after{content:\\\"􏌌\\\"}.fad.fa-long-arrow-down:after{content:\\\"􏅵\\\"}.fad.fa-long-arrow-left:after{content:\\\"􏅷\\\"}.fad.fa-long-arrow-right:after{content:\\\"􏅸\\\"}.fad.fa-long-arrow-up:after{content:\\\"􏅶\\\"}.fad.fa-loveseat:after{content:\\\"􏓌\\\"}.fad.fa-low-vision:after{content:\\\"􏊨\\\"}.fad.fa-luchador:after{content:\\\"􏑕\\\"}.fad.fa-luggage-cart:after{content:\\\"􏖝\\\"}.fad.fa-lungs:after{content:\\\"􏘄\\\"}.fad.fa-lungs-virus:after{content:\\\"􏥧\\\"}.fad.fa-mace:after{content:\\\"􏛸\\\"}.fad.fa-magic:after{content:\\\"􏃐\\\"}.fad.fa-magnet:after{content:\\\"􏁶\\\"}.fad.fa-mail-bulk:after{content:\\\"􏙴\\\"}.fad.fa-mailbox:after{content:\\\"􏠓\\\"}.fad.fa-male:after{content:\\\"􏆃\\\"}.fad.fa-mandolin:after{content:\\\"􏛹\\\"}.fad.fa-map:after{content:\\\"􏉹\\\"}.fad.fa-map-marked:after{content:\\\"􏖟\\\"}.fad.fa-map-marked-alt:after{content:\\\"􏖠\\\"}.fad.fa-map-marker:after{content:\\\"􏁁\\\"}.fad.fa-map-marker-alt:after{content:\\\"􏏅\\\"}.fad.fa-map-marker-alt-slash:after{content:\\\"􏘅\\\"}.fad.fa-map-marker-check:after{content:\\\"􏘆\\\"}.fad.fa-map-marker-edit:after{content:\\\"􏘇\\\"}.fad.fa-map-marker-exclamation:after{content:\\\"􏘈\\\"}.fad.fa-map-marker-minus:after{content:\\\"􏘉\\\"}.fad.fa-map-marker-plus:after{content:\\\"􏘊\\\"}.fad.fa-map-marker-question:after{content:\\\"􏘋\\\"}.fad.fa-map-marker-slash:after{content:\\\"􏘌\\\"}.fad.fa-map-marker-smile:after{content:\\\"􏘍\\\"}.fad.fa-map-marker-times:after{content:\\\"􏘎\\\"}.fad.fa-map-pin:after{content:\\\"􏉶\\\"}.fad.fa-map-signs:after{content:\\\"􏉷\\\"}.fad.fa-marker:after{content:\\\"􏖡\\\"}.fad.fa-mars:after{content:\\\"􏈢\\\"}.fad.fa-mars-double:after{content:\\\"􏈧\\\"}.fad.fa-mars-stroke:after{content:\\\"􏈩\\\"}.fad.fa-mars-stroke-h:after{content:\\\"􏈫\\\"}.fad.fa-mars-stroke-v:after{content:\\\"􏈪\\\"}.fad.fa-mask:after{content:\\\"􏛺\\\"}.fad.fa-meat:after{content:\\\"􏠔\\\"}.fad.fa-medal:after{content:\\\"􏖢\\\"}.fad.fa-medkit:after{content:\\\"􏃺\\\"}.fad.fa-megaphone:after{content:\\\"􏙵\\\"}.fad.fa-meh:after{content:\\\"􏄚\\\"}.fad.fa-meh-blank:after{content:\\\"􏖤\\\"}.fad.fa-meh-rolling-eyes:after{content:\\\"􏖥\\\"}.fad.fa-memory:after{content:\\\"􏔸\\\"}.fad.fa-menorah:after{content:\\\"􏙶\\\"}.fad.fa-mercury:after{content:\\\"􏈣\\\"}.fad.fa-meteor:after{content:\\\"􏝓\\\"}.fad.fa-microchip:after{content:\\\"􏋛\\\"}.fad.fa-microphone:after{content:\\\"􏄰\\\"}.fad.fa-microphone-alt:after{content:\\\"􏏉\\\"}.fad.fa-microphone-alt-slash:after{content:\\\"􏔹\\\"}.fad.fa-microphone-slash:after{content:\\\"􏄱\\\"}.fad.fa-microphone-stand:after{content:\\\"􏣋\\\"}.fad.fa-microscope:after{content:\\\"􏘐\\\"}.fad.fa-microwave:after{content:\\\"􏤛\\\"}.fad.fa-mind-share:after{content:\\\"􏙷\\\"}.fad.fa-minus:after{content:\\\"􏁨\\\"}.fad.fa-minus-circle:after{content:\\\"􏁖\\\"}.fad.fa-minus-hexagon:after{content:\\\"􏌇\\\"}.fad.fa-minus-octagon:after{content:\\\"􏌈\\\"}.fad.fa-minus-square:after{content:\\\"􏅆\\\"}.fad.fa-mistletoe:after{content:\\\"􏞴\\\"}.fad.fa-mitten:after{content:\\\"􏞵\\\"}.fad.fa-mobile:after{content:\\\"􏄋\\\"}.fad.fa-mobile-alt:after{content:\\\"􏏍\\\"}.fad.fa-mobile-android:after{content:\\\"􏏎\\\"}.fad.fa-mobile-android-alt:after{content:\\\"􏏏\\\"}.fad.fa-money-bill:after{content:\\\"􏃖\\\"}.fad.fa-money-bill-alt:after{content:\\\"􏏑\\\"}.fad.fa-money-bill-wave:after{content:\\\"􏔺\\\"}.fad.fa-money-bill-wave-alt:after{content:\\\"􏔻\\\"}.fad.fa-money-check:after{content:\\\"􏔼\\\"}.fad.fa-money-check-alt:after{content:\\\"􏔽\\\"}.fad.fa-money-check-edit:after{content:\\\"􏡲\\\"}.fad.fa-money-check-edit-alt:after{content:\\\"􏡳\\\"}.fad.fa-monitor-heart-rate:after{content:\\\"􏘑\\\"}.fad.fa-monkey:after{content:\\\"􏛻\\\"}.fad.fa-monument:after{content:\\\"􏖦\\\"}.fad.fa-moon:after{content:\\\"􏆆\\\"}.fad.fa-moon-cloud:after{content:\\\"􏝔\\\"}.fad.fa-moon-stars:after{content:\\\"􏝕\\\"}.fad.fa-mortar-pestle:after{content:\\\"􏖧\\\"}.fad.fa-mosque:after{content:\\\"􏙸\\\"}.fad.fa-motorcycle:after{content:\\\"􏈜\\\"}.fad.fa-mountain:after{content:\\\"􏛼\\\"}.fad.fa-mountains:after{content:\\\"􏛽\\\"}.fad.fa-mouse:after{content:\\\"􏣌\\\"}.fad.fa-mouse-alt:after{content:\\\"􏣍\\\"}.fad.fa-mouse-pointer:after{content:\\\"􏉅\\\"}.fad.fa-mp3-player:after{content:\\\"􏣎\\\"}.fad.fa-mug:after{content:\\\"􏡴\\\"}.fad.fa-mug-hot:after{content:\\\"􏞶\\\"}.fad.fa-mug-marshmallows:after{content:\\\"􏞷\\\"}.fad.fa-mug-tea:after{content:\\\"􏡵\\\"}.fad.fa-music:after{content:\\\"􏀁\\\"}.fad.fa-music-alt:after{content:\\\"􏣏\\\"}.fad.fa-music-alt-slash:after{content:\\\"􏣐\\\"}.fad.fa-music-slash:after{content:\\\"􏣑\\\"}.fad.fa-narwhal:after{content:\\\"􏛾\\\"}.fad.fa-network-wired:after{content:\\\"􏛿\\\"}.fad.fa-neuter:after{content:\\\"􏈬\\\"}.fad.fa-newspaper:after{content:\\\"􏇪\\\"}.fad.fa-not-equal:after{content:\\\"􏔾\\\"}.fad.fa-notes-medical:after{content:\\\"􏒁\\\"}.fad.fa-object-group:after{content:\\\"􏉇\\\"}.fad.fa-object-ungroup:after{content:\\\"􏉈\\\"}.fad.fa-octagon:after{content:\\\"􏌆\\\"}.fad.fa-oil-can:after{content:\\\"􏘓\\\"}.fad.fa-oil-temp:after{content:\\\"􏘔\\\"}.fad.fa-om:after{content:\\\"􏙹\\\"}.fad.fa-omega:after{content:\\\"􏙺\\\"}.fad.fa-ornament:after{content:\\\"􏞸\\\"}.fad.fa-otter:after{content:\\\"􏜀\\\"}.fad.fa-outdent:after{content:\\\"􏀻\\\"}.fad.fa-outlet:after{content:\\\"􏤜\\\"}.fad.fa-oven:after{content:\\\"􏤝\\\"}.fad.fa-overline:after{content:\\\"􏡶\\\"}.fad.fa-page-break:after{content:\\\"􏡷\\\"}.fad.fa-pager:after{content:\\\"􏠕\\\"}.fad.fa-paint-brush:after{content:\\\"􏇼\\\"}.fad.fa-paint-brush-alt:after{content:\\\"􏖩\\\"}.fad.fa-paint-roller:after{content:\\\"􏖪\\\"}.fad.fa-palette:after{content:\\\"􏔿\\\"}.fad.fa-pallet:after{content:\\\"􏒂\\\"}.fad.fa-pallet-alt:after{content:\\\"􏒃\\\"}.fad.fa-paper-plane:after{content:\\\"􏇘\\\"}.fad.fa-paperclip:after{content:\\\"􏃆\\\"}.fad.fa-parachute-box:after{content:\\\"􏓍\\\"}.fad.fa-paragraph:after{content:\\\"􏇝\\\"}.fad.fa-paragraph-rtl:after{content:\\\"􏡸\\\"}.fad.fa-parking:after{content:\\\"􏕀\\\"}.fad.fa-parking-circle:after{content:\\\"􏘕\\\"}.fad.fa-parking-circle-slash:after{content:\\\"􏘖\\\"}.fad.fa-parking-slash:after{content:\\\"􏘗\\\"}.fad.fa-passport:after{content:\\\"􏖫\\\"}.fad.fa-pastafarianism:after{content:\\\"􏙻\\\"}.fad.fa-paste:after{content:\\\"􏃪\\\"}.fad.fa-pause:after{content:\\\"􏁌\\\"}.fad.fa-pause-circle:after{content:\\\"􏊋\\\"}.fad.fa-paw:after{content:\\\"􏆰\\\"}.fad.fa-paw-alt:after{content:\\\"􏜁\\\"}.fad.fa-paw-claws:after{content:\\\"􏜂\\\"}.fad.fa-peace:after{content:\\\"􏙼\\\"}.fad.fa-pegasus:after{content:\\\"􏜃\\\"}.fad.fa-pen:after{content:\\\"􏌄\\\"}.fad.fa-pen-alt:after{content:\\\"􏌅\\\"}.fad.fa-pen-fancy:after{content:\\\"􏖬\\\"}.fad.fa-pen-nib:after{content:\\\"􏖭\\\"}.fad.fa-pen-square:after{content:\\\"􏅋\\\"}.fad.fa-pencil:after{content:\\\"􏁀\\\"}.fad.fa-pencil-alt:after{content:\\\"􏌃\\\"}.fad.fa-pencil-paintbrush:after{content:\\\"􏘘\\\"}.fad.fa-pencil-ruler:after{content:\\\"􏖮\\\"}.fad.fa-pennant:after{content:\\\"􏑖\\\"}.fad.fa-people-arrows:after{content:\\\"􏥨\\\"}.fad.fa-people-carry:after{content:\\\"􏓎\\\"}.fad.fa-pepper-hot:after{content:\\\"􏠖\\\"}.fad.fa-percent:after{content:\\\"􏊕\\\"}.fad.fa-percentage:after{content:\\\"􏕁\\\"}.fad.fa-person-booth:after{content:\\\"􏝖\\\"}.fad.fa-person-carry:after{content:\\\"􏓏\\\"}.fad.fa-person-dolly:after{content:\\\"􏓐\\\"}.fad.fa-person-dolly-empty:after{content:\\\"􏓑\\\"}.fad.fa-person-sign:after{content:\\\"􏝗\\\"}.fad.fa-phone:after{content:\\\"􏂕\\\"}.fad.fa-phone-alt:after{content:\\\"􏡹\\\"}.fad.fa-phone-laptop:after{content:\\\"􏡺\\\"}.fad.fa-phone-office:after{content:\\\"􏙽\\\"}.fad.fa-phone-plus:after{content:\\\"􏓒\\\"}.fad.fa-phone-rotary:after{content:\\\"􏣓\\\"}.fad.fa-phone-slash:after{content:\\\"􏏝\\\"}.fad.fa-phone-square:after{content:\\\"􏂘\\\"}.fad.fa-phone-square-alt:after{content:\\\"􏡻\\\"}.fad.fa-phone-volume:after{content:\\\"􏊠\\\"}.fad.fa-photo-video:after{content:\\\"􏡼\\\"}.fad.fa-pi:after{content:\\\"􏙾\\\"}.fad.fa-piano:after{content:\\\"􏣔\\\"}.fad.fa-piano-keyboard:after{content:\\\"􏣕\\\"}.fad.fa-pie:after{content:\\\"􏜅\\\"}.fad.fa-pig:after{content:\\\"􏜆\\\"}.fad.fa-piggy-bank:after{content:\\\"􏓓\\\"}.fad.fa-pills:after{content:\\\"􏒄\\\"}.fad.fa-pizza:after{content:\\\"􏠗\\\"}.fad.fa-pizza-slice:after{content:\\\"􏠘\\\"}.fad.fa-place-of-worship:after{content:\\\"􏙿\\\"}.fad.fa-plane:after{content:\\\"􏁲\\\"}.fad.fa-plane-alt:after{content:\\\"􏏞\\\"}.fad.fa-plane-arrival:after{content:\\\"􏖯\\\"}.fad.fa-plane-departure:after{content:\\\"􏖰\\\"}.fad.fa-plane-slash:after{content:\\\"􏥩\\\"}.fad.fa-planet-moon:after{content:\\\"􏤟\\\"}.fad.fa-planet-ringed:after{content:\\\"􏤠\\\"}.fad.fa-play:after{content:\\\"􏁋\\\"}.fad.fa-play-circle:after{content:\\\"􏅄\\\"}.fad.fa-plug:after{content:\\\"􏇦\\\"}.fad.fa-plus:after{content:\\\"􏁧\\\"}.fad.fa-plus-circle:after{content:\\\"􏁕\\\"}.fad.fa-plus-hexagon:after{content:\\\"􏌀\\\"}.fad.fa-plus-octagon:after{content:\\\"􏌁\\\"}.fad.fa-plus-square:after{content:\\\"􏃾\\\"}.fad.fa-podcast:after{content:\\\"􏋎\\\"}.fad.fa-podium:after{content:\\\"􏚀\\\"}.fad.fa-podium-star:after{content:\\\"􏝘\\\"}.fad.fa-police-box:after{content:\\\"􏤡\\\"}.fad.fa-poll:after{content:\\\"􏚁\\\"}.fad.fa-poll-h:after{content:\\\"􏚂\\\"}.fad.fa-poll-people:after{content:\\\"􏝙\\\"}.fad.fa-poo:after{content:\\\"􏋾\\\"}.fad.fa-poo-storm:after{content:\\\"􏝚\\\"}.fad.fa-poop:after{content:\\\"􏘙\\\"}.fad.fa-popcorn:after{content:\\\"􏠙\\\"}.fad.fa-portal-enter:after{content:\\\"􏤢\\\"}.fad.fa-portal-exit:after{content:\\\"􏤣\\\"}.fad.fa-portrait:after{content:\\\"􏏠\\\"}.fad.fa-pound-sign:after{content:\\\"􏅔\\\"}.fad.fa-power-off:after{content:\\\"􏀑\\\"}.fad.fa-pray:after{content:\\\"􏚃\\\"}.fad.fa-praying-hands:after{content:\\\"􏚄\\\"}.fad.fa-prescription:after{content:\\\"􏖱\\\"}.fad.fa-prescription-bottle:after{content:\\\"􏒅\\\"}.fad.fa-prescription-bottle-alt:after{content:\\\"􏒆\\\"}.fad.fa-presentation:after{content:\\\"􏚅\\\"}.fad.fa-print:after{content:\\\"􏀯\\\"}.fad.fa-print-search:after{content:\\\"􏠚\\\"}.fad.fa-print-slash:after{content:\\\"􏚆\\\"}.fad.fa-procedures:after{content:\\\"􏒇\\\"}.fad.fa-project-diagram:after{content:\\\"􏕂\\\"}.fad.fa-projector:after{content:\\\"􏣖\\\"}.fad.fa-pump-medical:after{content:\\\"􏥪\\\"}.fad.fa-pump-soap:after{content:\\\"􏥫\\\"}.fad.fa-pumpkin:after{content:\\\"􏜇\\\"}.fad.fa-puzzle-piece:after{content:\\\"􏄮\\\"}.fad.fa-qrcode:after{content:\\\"􏀩\\\"}.fad.fa-question:after{content:\\\"􏄨\\\"}.fad.fa-question-circle:after{content:\\\"􏁙\\\"}.fad.fa-question-square:after{content:\\\"􏋽\\\"}.fad.fa-quidditch:after{content:\\\"􏑘\\\"}.fad.fa-quote-left:after{content:\\\"􏄍\\\"}.fad.fa-quote-right:after{content:\\\"􏄎\\\"}.fad.fa-quran:after{content:\\\"􏚇\\\"}.fad.fa-rabbit:after{content:\\\"􏜈\\\"}.fad.fa-rabbit-fast:after{content:\\\"􏜉\\\"}.fad.fa-racquet:after{content:\\\"􏑚\\\"}.fad.fa-radar:after{content:\\\"􏤤\\\"}.fad.fa-radiation:after{content:\\\"􏞹\\\"}.fad.fa-radiation-alt:after{content:\\\"􏞺\\\"}.fad.fa-radio:after{content:\\\"􏣗\\\"}.fad.fa-radio-alt:after{content:\\\"􏣘\\\"}.fad.fa-rainbow:after{content:\\\"􏝛\\\"}.fad.fa-raindrops:after{content:\\\"􏝜\\\"}.fad.fa-ram:after{content:\\\"􏜊\\\"}.fad.fa-ramp-loading:after{content:\\\"􏓔\\\"}.fad.fa-random:after{content:\\\"􏁴\\\"}.fad.fa-raygun:after{content:\\\"􏤥\\\"}.fad.fa-receipt:after{content:\\\"􏕃\\\"}.fad.fa-record-vinyl:after{content:\\\"􏣙\\\"}.fad.fa-rectangle-landscape:after{content:\\\"􏋺\\\"}.fad.fa-rectangle-portrait:after{content:\\\"􏋻\\\"}.fad.fa-rectangle-wide:after{content:\\\"􏋼\\\"}.fad.fa-recycle:after{content:\\\"􏆸\\\"}.fad.fa-redo:after{content:\\\"􏀞\\\"}.fad.fa-redo-alt:after{content:\\\"􏋹\\\"}.fad.fa-refrigerator:after{content:\\\"􏤦\\\"}.fad.fa-registered:after{content:\\\"􏉝\\\"}.fad.fa-remove-format:after{content:\\\"􏡽\\\"}.fad.fa-repeat:after{content:\\\"􏍣\\\"}.fad.fa-repeat-1:after{content:\\\"􏍥\\\"}.fad.fa-repeat-1-alt:after{content:\\\"􏍦\\\"}.fad.fa-repeat-alt:after{content:\\\"􏍤\\\"}.fad.fa-reply:after{content:\\\"􏏥\\\"}.fad.fa-reply-all:after{content:\\\"􏄢\\\"}.fad.fa-republican:after{content:\\\"􏝞\\\"}.fad.fa-restroom:after{content:\\\"􏞽\\\"}.fad.fa-retweet:after{content:\\\"􏁹\\\"}.fad.fa-retweet-alt:after{content:\\\"􏍡\\\"}.fad.fa-ribbon:after{content:\\\"􏓖\\\"}.fad.fa-ring:after{content:\\\"􏜋\\\"}.fad.fa-rings-wedding:after{content:\\\"􏠛\\\"}.fad.fa-road:after{content:\\\"􏀘\\\"}.fad.fa-robot:after{content:\\\"􏕄\\\"}.fad.fa-rocket:after{content:\\\"􏄵\\\"}.fad.fa-rocket-launch:after{content:\\\"􏤧\\\"}.fad.fa-route:after{content:\\\"􏓗\\\"}.fad.fa-route-highway:after{content:\\\"􏘚\\\"}.fad.fa-route-interstate:after{content:\\\"􏘛\\\"}.fad.fa-router:after{content:\\\"􏣚\\\"}.fad.fa-rss:after{content:\\\"􏂞\\\"}.fad.fa-rss-square:after{content:\\\"􏅃\\\"}.fad.fa-ruble-sign:after{content:\\\"􏅘\\\"}.fad.fa-ruler:after{content:\\\"􏕅\\\"}.fad.fa-ruler-combined:after{content:\\\"􏕆\\\"}.fad.fa-ruler-horizontal:after{content:\\\"􏕇\\\"}.fad.fa-ruler-triangle:after{content:\\\"􏘜\\\"}.fad.fa-ruler-vertical:after{content:\\\"􏕈\\\"}.fad.fa-running:after{content:\\\"􏜌\\\"}.fad.fa-rupee-sign:after{content:\\\"􏅖\\\"}.fad.fa-rv:after{content:\\\"􏞾\\\"}.fad.fa-sack:after{content:\\\"􏠜\\\"}.fad.fa-sack-dollar:after{content:\\\"􏠝\\\"}.fad.fa-sad-cry:after{content:\\\"􏖳\\\"}.fad.fa-sad-tear:after{content:\\\"􏖴\\\"}.fad.fa-salad:after{content:\\\"􏠞\\\"}.fad.fa-sandwich:after{content:\\\"􏠟\\\"}.fad.fa-satellite:after{content:\\\"􏞿\\\"}.fad.fa-satellite-dish:after{content:\\\"􏟀\\\"}.fad.fa-sausage:after{content:\\\"􏠠\\\"}.fad.fa-save:after{content:\\\"􏃇\\\"}.fad.fa-sax-hot:after{content:\\\"􏣛\\\"}.fad.fa-saxophone:after{content:\\\"􏣜\\\"}.fad.fa-scalpel:after{content:\\\"􏘝\\\"}.fad.fa-scalpel-path:after{content:\\\"􏘞\\\"}.fad.fa-scanner:after{content:\\\"􏒈\\\"}.fad.fa-scanner-image:after{content:\\\"􏣳\\\"}.fad.fa-scanner-keyboard:after{content:\\\"􏒉\\\"}.fad.fa-scanner-touchscreen:after{content:\\\"􏒊\\\"}.fad.fa-scarecrow:after{content:\\\"􏜍\\\"}.fad.fa-scarf:after{content:\\\"􏟁\\\"}.fad.fa-school:after{content:\\\"􏕉\\\"}.fad.fa-screwdriver:after{content:\\\"􏕊\\\"}.fad.fa-scroll:after{content:\\\"􏜎\\\"}.fad.fa-scroll-old:after{content:\\\"􏜏\\\"}.fad.fa-scrubber:after{content:\\\"􏋸\\\"}.fad.fa-scythe:after{content:\\\"􏜐\\\"}.fad.fa-sd-card:after{content:\\\"􏟂\\\"}.fad.fa-search:after{content:\\\"􏀂\\\"}.fad.fa-search-dollar:after{content:\\\"􏚈\\\"}.fad.fa-search-location:after{content:\\\"􏚉\\\"}.fad.fa-search-minus:after{content:\\\"􏀐\\\"}.fad.fa-search-plus:after{content:\\\"􏀎\\\"}.fad.fa-seedling:after{content:\\\"􏓘\\\"}.fad.fa-send-back:after{content:\\\"􏡾\\\"}.fad.fa-send-backward:after{content:\\\"􏡿\\\"}.fad.fa-sensor:after{content:\\\"􏤨\\\"}.fad.fa-sensor-alert:after{content:\\\"􏤩\\\"}.fad.fa-sensor-fire:after{content:\\\"􏤪\\\"}.fad.fa-sensor-on:after{content:\\\"􏤫\\\"}.fad.fa-sensor-smoke:after{content:\\\"􏤬\\\"}.fad.fa-server:after{content:\\\"􏈳\\\"}.fad.fa-shapes:after{content:\\\"􏘟\\\"}.fad.fa-share:after{content:\\\"􏁤\\\"}.fad.fa-share-all:after{content:\\\"􏍧\\\"}.fad.fa-share-alt:after{content:\\\"􏇠\\\"}.fad.fa-share-alt-square:after{content:\\\"􏇡\\\"}.fad.fa-share-square:after{content:\\\"􏅍\\\"}.fad.fa-sheep:after{content:\\\"􏜑\\\"}.fad.fa-shekel-sign:after{content:\\\"􏈋\\\"}.fad.fa-shield:after{content:\\\"􏄲\\\"}.fad.fa-shield-alt:after{content:\\\"􏏭\\\"}.fad.fa-shield-check:after{content:\\\"􏋷\\\"}.fad.fa-shield-cross:after{content:\\\"􏜒\\\"}.fad.fa-shield-virus:after{content:\\\"􏥬\\\"}.fad.fa-ship:after{content:\\\"􏈚\\\"}.fad.fa-shipping-fast:after{content:\\\"􏒋\\\"}.fad.fa-shipping-timed:after{content:\\\"􏒌\\\"}.fad.fa-shish-kebab:after{content:\\\"􏠡\\\"}.fad.fa-shoe-prints:after{content:\\\"􏕋\\\"}.fad.fa-shopping-bag:after{content:\\\"􏊐\\\"}.fad.fa-shopping-basket:after{content:\\\"􏊑\\\"}.fad.fa-shopping-cart:after{content:\\\"􏁺\\\"}.fad.fa-shovel:after{content:\\\"􏜓\\\"}.fad.fa-shovel-snow:after{content:\\\"􏟃\\\"}.fad.fa-shower:after{content:\\\"􏋌\\\"}.fad.fa-shredder:after{content:\\\"􏚊\\\"}.fad.fa-shuttle-van:after{content:\\\"􏖶\\\"}.fad.fa-shuttlecock:after{content:\\\"􏑛\\\"}.fad.fa-sickle:after{content:\\\"􏠢\\\"}.fad.fa-sigma:after{content:\\\"􏚋\\\"}.fad.fa-sign:after{content:\\\"􏓙\\\"}.fad.fa-sign-in:after{content:\\\"􏂐\\\"}.fad.fa-sign-in-alt:after{content:\\\"􏋶\\\"}.fad.fa-sign-language:after{content:\\\"􏊧\\\"}.fad.fa-sign-out:after{content:\\\"􏂋\\\"}.fad.fa-sign-out-alt:after{content:\\\"􏋵\\\"}.fad.fa-signal:after{content:\\\"􏀒\\\"}.fad.fa-signal-1:after{content:\\\"􏚌\\\"}.fad.fa-signal-2:after{content:\\\"􏚍\\\"}.fad.fa-signal-3:after{content:\\\"􏚎\\\"}.fad.fa-signal-4:after{content:\\\"􏚏\\\"}.fad.fa-signal-alt:after{content:\\\"􏚐\\\"}.fad.fa-signal-alt-1:after{content:\\\"􏚑\\\"}.fad.fa-signal-alt-2:after{content:\\\"􏚒\\\"}.fad.fa-signal-alt-3:after{content:\\\"􏚓\\\"}.fad.fa-signal-alt-slash:after{content:\\\"􏚔\\\"}.fad.fa-signal-slash:after{content:\\\"􏚕\\\"}.fad.fa-signal-stream:after{content:\\\"􏣝\\\"}.fad.fa-signature:after{content:\\\"􏖷\\\"}.fad.fa-sim-card:after{content:\\\"􏟄\\\"}.fad.fa-sink:after{content:\\\"􏥭\\\"}.fad.fa-siren:after{content:\\\"􏤭\\\"}.fad.fa-siren-on:after{content:\\\"􏤮\\\"}.fad.fa-sitemap:after{content:\\\"􏃨\\\"}.fad.fa-skating:after{content:\\\"􏟅\\\"}.fad.fa-skeleton:after{content:\\\"􏘠\\\"}.fad.fa-ski-jump:after{content:\\\"􏟇\\\"}.fad.fa-ski-lift:after{content:\\\"􏟈\\\"}.fad.fa-skiing:after{content:\\\"􏟉\\\"}.fad.fa-skiing-nordic:after{content:\\\"􏟊\\\"}.fad.fa-skull:after{content:\\\"􏕌\\\"}.fad.fa-skull-cow:after{content:\\\"􏣞\\\"}.fad.fa-skull-crossbones:after{content:\\\"􏜔\\\"}.fad.fa-slash:after{content:\\\"􏜕\\\"}.fad.fa-sledding:after{content:\\\"􏟋\\\"}.fad.fa-sleigh:after{content:\\\"􏟌\\\"}.fad.fa-sliders-h:after{content:\\\"􏇞\\\"}.fad.fa-sliders-h-square:after{content:\\\"􏏰\\\"}.fad.fa-sliders-v:after{content:\\\"􏏱\\\"}.fad.fa-sliders-v-square:after{content:\\\"􏏲\\\"}.fad.fa-smile:after{content:\\\"􏄘\\\"}.fad.fa-smile-beam:after{content:\\\"􏖸\\\"}.fad.fa-smile-plus:after{content:\\\"􏖹\\\"}.fad.fa-smile-wink:after{content:\\\"􏓚\\\"}.fad.fa-smog:after{content:\\\"􏝟\\\"}.fad.fa-smoke:after{content:\\\"􏝠\\\"}.fad.fa-smoking:after{content:\\\"􏒍\\\"}.fad.fa-smoking-ban:after{content:\\\"􏕍\\\"}.fad.fa-sms:after{content:\\\"􏟍\\\"}.fad.fa-snake:after{content:\\\"􏜖\\\"}.fad.fa-snooze:after{content:\\\"􏢀\\\"}.fad.fa-snow-blowing:after{content:\\\"􏝡\\\"}.fad.fa-snowboarding:after{content:\\\"􏟎\\\"}.fad.fa-snowflake:after{content:\\\"􏋜\\\"}.fad.fa-snowflakes:after{content:\\\"􏟏\\\"}.fad.fa-snowman:after{content:\\\"􏟐\\\"}.fad.fa-snowmobile:after{content:\\\"􏟑\\\"}.fad.fa-snowplow:after{content:\\\"􏟒\\\"}.fad.fa-soap:after{content:\\\"􏥮\\\"}.fad.fa-socks:after{content:\\\"􏚖\\\"}.fad.fa-solar-panel:after{content:\\\"􏖺\\\"}.fad.fa-solar-system:after{content:\\\"􏤯\\\"}.fad.fa-sort:after{content:\\\"􏃜\\\"}.fad.fa-sort-alpha-down:after{content:\\\"􏅝\\\"}.fad.fa-sort-alpha-down-alt:after{content:\\\"􏢁\\\"}.fad.fa-sort-alpha-up:after{content:\\\"􏅞\\\"}.fad.fa-sort-alpha-up-alt:after{content:\\\"􏢂\\\"}.fad.fa-sort-alt:after{content:\\\"􏢃\\\"}.fad.fa-sort-amount-down:after{content:\\\"􏅠\\\"}.fad.fa-sort-amount-down-alt:after{content:\\\"􏢄\\\"}.fad.fa-sort-amount-up:after{content:\\\"􏅡\\\"}.fad.fa-sort-amount-up-alt:after{content:\\\"􏢅\\\"}.fad.fa-sort-circle:after{content:\\\"􏤰\\\"}.fad.fa-sort-circle-down:after{content:\\\"􏤱\\\"}.fad.fa-sort-circle-up:after{content:\\\"􏤲\\\"}.fad.fa-sort-down:after{content:\\\"􏃝\\\"}.fad.fa-sort-numeric-down:after{content:\\\"􏅢\\\"}.fad.fa-sort-numeric-down-alt:after{content:\\\"􏢆\\\"}.fad.fa-sort-numeric-up:after{content:\\\"􏅣\\\"}.fad.fa-sort-numeric-up-alt:after{content:\\\"􏢇\\\"}.fad.fa-sort-shapes-down:after{content:\\\"􏢈\\\"}.fad.fa-sort-shapes-down-alt:after{content:\\\"􏢉\\\"}.fad.fa-sort-shapes-up:after{content:\\\"􏢊\\\"}.fad.fa-sort-shapes-up-alt:after{content:\\\"􏢋\\\"}.fad.fa-sort-size-down:after{content:\\\"􏢌\\\"}.fad.fa-sort-size-down-alt:after{content:\\\"􏢍\\\"}.fad.fa-sort-size-up:after{content:\\\"􏢎\\\"}.fad.fa-sort-size-up-alt:after{content:\\\"􏢏\\\"}.fad.fa-sort-up:after{content:\\\"􏃞\\\"}.fad.fa-soup:after{content:\\\"􏠣\\\"}.fad.fa-spa:after{content:\\\"􏖻\\\"}.fad.fa-space-shuttle:after{content:\\\"􏆗\\\"}.fad.fa-space-station-moon:after{content:\\\"􏤳\\\"}.fad.fa-space-station-moon-alt:after{content:\\\"􏤴\\\"}.fad.fa-spade:after{content:\\\"􏋴\\\"}.fad.fa-sparkles:after{content:\\\"􏢐\\\"}.fad.fa-speaker:after{content:\\\"􏣟\\\"}.fad.fa-speakers:after{content:\\\"􏣠\\\"}.fad.fa-spell-check:after{content:\\\"􏢑\\\"}.fad.fa-spider:after{content:\\\"􏜗\\\"}.fad.fa-spider-black-widow:after{content:\\\"􏜘\\\"}.fad.fa-spider-web:after{content:\\\"􏜙\\\"}.fad.fa-spinner:after{content:\\\"􏄐\\\"}.fad.fa-spinner-third:after{content:\\\"􏏴\\\"}.fad.fa-splotch:after{content:\\\"􏖼\\\"}.fad.fa-spray-can:after{content:\\\"􏖽\\\"}.fad.fa-sprinkler:after{content:\\\"􏤵\\\"}.fad.fa-square:after{content:\\\"􏃈\\\"}.fad.fa-square-full:after{content:\\\"􏑜\\\"}.fad.fa-square-root:after{content:\\\"􏚗\\\"}.fad.fa-square-root-alt:after{content:\\\"􏚘\\\"}.fad.fa-squirrel:after{content:\\\"􏜚\\\"}.fad.fa-staff:after{content:\\\"􏜛\\\"}.fad.fa-stamp:after{content:\\\"􏖿\\\"}.fad.fa-star:after{content:\\\"􏀅\\\"}.fad.fa-star-and-crescent:after{content:\\\"􏚙\\\"}.fad.fa-star-christmas:after{content:\\\"􏟔\\\"}.fad.fa-star-exclamation:after{content:\\\"􏋳\\\"}.fad.fa-star-half:after{content:\\\"􏂉\\\"}.fad.fa-star-half-alt:after{content:\\\"􏗀\\\"}.fad.fa-star-of-david:after{content:\\\"􏚚\\\"}.fad.fa-star-of-life:after{content:\\\"􏘡\\\"}.fad.fa-star-shooting:after{content:\\\"􏤶\\\"}.fad.fa-starfighter:after{content:\\\"􏤷\\\"}.fad.fa-starfighter-alt:after{content:\\\"􏤸\\\"}.fad.fa-stars:after{content:\\\"􏝢\\\"}.fad.fa-starship:after{content:\\\"􏤹\\\"}.fad.fa-starship-freighter:after{content:\\\"􏤺\\\"}.fad.fa-steak:after{content:\\\"􏠤\\\"}.fad.fa-steering-wheel:after{content:\\\"􏘢\\\"}.fad.fa-step-backward:after{content:\\\"􏁈\\\"}.fad.fa-step-forward:after{content:\\\"􏁑\\\"}.fad.fa-stethoscope:after{content:\\\"􏃱\\\"}.fad.fa-sticky-note:after{content:\\\"􏉉\\\"}.fad.fa-stocking:after{content:\\\"􏟕\\\"}.fad.fa-stomach:after{content:\\\"􏘣\\\"}.fad.fa-stop:after{content:\\\"􏁍\\\"}.fad.fa-stop-circle:after{content:\\\"􏊍\\\"}.fad.fa-stopwatch:after{content:\\\"􏋲\\\"}.fad.fa-stopwatch-20:after{content:\\\"􏥯\\\"}.fad.fa-store:after{content:\\\"􏕎\\\"}.fad.fa-store-alt:after{content:\\\"􏕏\\\"}.fad.fa-store-alt-slash:after{content:\\\"􏥰\\\"}.fad.fa-store-slash:after{content:\\\"􏥱\\\"}.fad.fa-stream:after{content:\\\"􏕐\\\"}.fad.fa-street-view:after{content:\\\"􏈝\\\"}.fad.fa-stretcher:after{content:\\\"􏠥\\\"}.fad.fa-strikethrough:after{content:\\\"􏃌\\\"}.fad.fa-stroopwafel:after{content:\\\"􏕑\\\"}.fad.fa-subscript:after{content:\\\"􏄬\\\"}.fad.fa-subway:after{content:\\\"􏈹\\\"}.fad.fa-suitcase:after{content:\\\"􏃲\\\"}.fad.fa-suitcase-rolling:after{content:\\\"􏗁\\\"}.fad.fa-sun:after{content:\\\"􏆅\\\"}.fad.fa-sun-cloud:after{content:\\\"􏝣\\\"}.fad.fa-sun-dust:after{content:\\\"􏝤\\\"}.fad.fa-sun-haze:after{content:\\\"􏝥\\\"}.fad.fa-sunglasses:after{content:\\\"􏢒\\\"}.fad.fa-sunrise:after{content:\\\"􏝦\\\"}.fad.fa-sunset:after{content:\\\"􏝧\\\"}.fad.fa-superscript:after{content:\\\"􏄫\\\"}.fad.fa-surprise:after{content:\\\"􏗂\\\"}.fad.fa-swatchbook:after{content:\\\"􏗃\\\"}.fad.fa-swimmer:after{content:\\\"􏗄\\\"}.fad.fa-swimming-pool:after{content:\\\"􏗅\\\"}.fad.fa-sword:after{content:\\\"􏜜\\\"}.fad.fa-sword-laser:after{content:\\\"􏤻\\\"}.fad.fa-sword-laser-alt:after{content:\\\"􏤼\\\"}.fad.fa-swords:after{content:\\\"􏜝\\\"}.fad.fa-swords-laser:after{content:\\\"􏤽\\\"}.fad.fa-synagogue:after{content:\\\"􏚛\\\"}.fad.fa-sync:after{content:\\\"􏀡\\\"}.fad.fa-sync-alt:after{content:\\\"􏋱\\\"}.fad.fa-syringe:after{content:\\\"􏒎\\\"}.fad.fa-table:after{content:\\\"􏃎\\\"}.fad.fa-table-tennis:after{content:\\\"􏑝\\\"}.fad.fa-tablet:after{content:\\\"􏄊\\\"}.fad.fa-tablet-alt:after{content:\\\"􏏺\\\"}.fad.fa-tablet-android:after{content:\\\"􏏻\\\"}.fad.fa-tablet-android-alt:after{content:\\\"􏏼\\\"}.fad.fa-tablet-rugged:after{content:\\\"􏒏\\\"}.fad.fa-tablets:after{content:\\\"􏒐\\\"}.fad.fa-tachometer:after{content:\\\"􏃤\\\"}.fad.fa-tachometer-alt:after{content:\\\"􏏽\\\"}.fad.fa-tachometer-alt-average:after{content:\\\"􏘤\\\"}.fad.fa-tachometer-alt-fast:after{content:\\\"􏘥\\\"}.fad.fa-tachometer-alt-fastest:after{content:\\\"􏘦\\\"}.fad.fa-tachometer-alt-slow:after{content:\\\"􏘧\\\"}.fad.fa-tachometer-alt-slowest:after{content:\\\"􏘨\\\"}.fad.fa-tachometer-average:after{content:\\\"􏘩\\\"}.fad.fa-tachometer-fast:after{content:\\\"􏘪\\\"}.fad.fa-tachometer-fastest:after{content:\\\"􏘫\\\"}.fad.fa-tachometer-slow:after{content:\\\"􏘬\\\"}.fad.fa-tachometer-slowest:after{content:\\\"􏘭\\\"}.fad.fa-taco:after{content:\\\"􏠦\\\"}.fad.fa-tag:after{content:\\\"􏀫\\\"}.fad.fa-tags:after{content:\\\"􏀬\\\"}.fad.fa-tally:after{content:\\\"􏚜\\\"}.fad.fa-tanakh:after{content:\\\"􏠧\\\"}.fad.fa-tape:after{content:\\\"􏓛\\\"}.fad.fa-tasks:after{content:\\\"􏂮\\\"}.fad.fa-tasks-alt:after{content:\\\"􏠨\\\"}.fad.fa-taxi:after{content:\\\"􏆺\\\"}.fad.fa-teeth:after{content:\\\"􏘮\\\"}.fad.fa-teeth-open:after{content:\\\"􏘯\\\"}.fad.fa-telescope:after{content:\\\"􏤾\\\"}.fad.fa-temperature-down:after{content:\\\"􏤿\\\"}.fad.fa-temperature-frigid:after{content:\\\"􏝨\\\"}.fad.fa-temperature-high:after{content:\\\"􏝩\\\"}.fad.fa-temperature-hot:after{content:\\\"􏝪\\\"}.fad.fa-temperature-low:after{content:\\\"􏝫\\\"}.fad.fa-temperature-up:after{content:\\\"􏥀\\\"}.fad.fa-tenge:after{content:\\\"􏟗\\\"}.fad.fa-tennis-ball:after{content:\\\"􏑞\\\"}.fad.fa-terminal:after{content:\\\"􏄠\\\"}.fad.fa-text:after{content:\\\"􏢓\\\"}.fad.fa-text-height:after{content:\\\"􏀴\\\"}.fad.fa-text-size:after{content:\\\"􏢔\\\"}.fad.fa-text-width:after{content:\\\"􏀵\\\"}.fad.fa-th:after{content:\\\"􏀊\\\"}.fad.fa-th-large:after{content:\\\"􏀉\\\"}.fad.fa-th-list:after{content:\\\"􏀋\\\"}.fad.fa-theater-masks:after{content:\\\"􏘰\\\"}.fad.fa-thermometer:after{content:\\\"􏒑\\\"}.fad.fa-thermometer-empty:after{content:\\\"􏋋\\\"}.fad.fa-thermometer-full:after{content:\\\"􏋇\\\"}.fad.fa-thermometer-half:after{content:\\\"􏋉\\\"}.fad.fa-thermometer-quarter:after{content:\\\"􏋊\\\"}.fad.fa-thermometer-three-quarters:after{content:\\\"􏋈\\\"}.fad.fa-theta:after{content:\\\"􏚞\\\"}.fad.fa-thumbs-down:after{content:\\\"􏅥\\\"}.fad.fa-thumbs-up:after{content:\\\"􏅤\\\"}.fad.fa-thumbtack:after{content:\\\"􏂍\\\"}.fad.fa-thunderstorm:after{content:\\\"􏝬\\\"}.fad.fa-thunderstorm-moon:after{content:\\\"􏝭\\\"}.fad.fa-thunderstorm-sun:after{content:\\\"􏝮\\\"}.fad.fa-ticket:after{content:\\\"􏅅\\\"}.fad.fa-ticket-alt:after{content:\\\"􏏿\\\"}.fad.fa-tilde:after{content:\\\"􏚟\\\"}.fad.fa-times:after{content:\\\"􏀍\\\"}.fad.fa-times-circle:after{content:\\\"􏁗\\\"}.fad.fa-times-hexagon:after{content:\\\"􏋮\\\"}.fad.fa-times-octagon:after{content:\\\"􏋰\\\"}.fad.fa-times-square:after{content:\\\"􏋓\\\"}.fad.fa-tint:after{content:\\\"􏁃\\\"}.fad.fa-tint-slash:after{content:\\\"􏗇\\\"}.fad.fa-tire:after{content:\\\"􏘱\\\"}.fad.fa-tire-flat:after{content:\\\"􏘲\\\"}.fad.fa-tire-pressure-warning:after{content:\\\"􏘳\\\"}.fad.fa-tire-rugged:after{content:\\\"􏘴\\\"}.fad.fa-tired:after{content:\\\"􏗈\\\"}.fad.fa-toggle-off:after{content:\\\"􏈄\\\"}.fad.fa-toggle-on:after{content:\\\"􏈅\\\"}.fad.fa-toilet:after{content:\\\"􏟘\\\"}.fad.fa-toilet-paper:after{content:\\\"􏜞\\\"}.fad.fa-toilet-paper-alt:after{content:\\\"􏜟\\\"}.fad.fa-toilet-paper-slash:after{content:\\\"􏥲\\\"}.fad.fa-tombstone:after{content:\\\"􏜠\\\"}.fad.fa-tombstone-alt:after{content:\\\"􏜡\\\"}.fad.fa-toolbox:after{content:\\\"􏕒\\\"}.fad.fa-tools:after{content:\\\"􏟙\\\"}.fad.fa-tooth:after{content:\\\"􏗉\\\"}.fad.fa-toothbrush:after{content:\\\"􏘵\\\"}.fad.fa-torah:after{content:\\\"􏚠\\\"}.fad.fa-torii-gate:after{content:\\\"􏚡\\\"}.fad.fa-tornado:after{content:\\\"􏝯\\\"}.fad.fa-tractor:after{content:\\\"􏜢\\\"}.fad.fa-trademark:after{content:\\\"􏉜\\\"}.fad.fa-traffic-cone:after{content:\\\"􏘶\\\"}.fad.fa-traffic-light:after{content:\\\"􏘷\\\"}.fad.fa-traffic-light-go:after{content:\\\"􏘸\\\"}.fad.fa-traffic-light-slow:after{content:\\\"􏘹\\\"}.fad.fa-traffic-light-stop:after{content:\\\"􏘺\\\"}.fad.fa-trailer:after{content:\\\"􏥁\\\"}.fad.fa-train:after{content:\\\"􏈸\\\"}.fad.fa-tram:after{content:\\\"􏟚\\\"}.fad.fa-transgender:after{content:\\\"􏈤\\\"}.fad.fa-transgender-alt:after{content:\\\"􏈥\\\"}.fad.fa-transporter:after{content:\\\"􏥂\\\"}.fad.fa-transporter-1:after{content:\\\"􏥃\\\"}.fad.fa-transporter-2:after{content:\\\"􏥄\\\"}.fad.fa-transporter-3:after{content:\\\"􏥅\\\"}.fad.fa-transporter-empty:after{content:\\\"􏥆\\\"}.fad.fa-trash:after{content:\\\"􏇸\\\"}.fad.fa-trash-alt:after{content:\\\"􏋭\\\"}.fad.fa-trash-restore:after{content:\\\"􏠩\\\"}.fad.fa-trash-restore-alt:after{content:\\\"􏠪\\\"}.fad.fa-trash-undo:after{content:\\\"􏢕\\\"}.fad.fa-trash-undo-alt:after{content:\\\"􏢖\\\"}.fad.fa-treasure-chest:after{content:\\\"􏜣\\\"}.fad.fa-tree:after{content:\\\"􏆻\\\"}.fad.fa-tree-alt:after{content:\\\"􏐀\\\"}.fad.fa-tree-christmas:after{content:\\\"􏟛\\\"}.fad.fa-tree-decorated:after{content:\\\"􏟜\\\"}.fad.fa-tree-large:after{content:\\\"􏟝\\\"}.fad.fa-tree-palm:after{content:\\\"􏠫\\\"}.fad.fa-trees:after{content:\\\"􏜤\\\"}.fad.fa-triangle:after{content:\\\"􏋬\\\"}.fad.fa-triangle-music:after{content:\\\"􏣢\\\"}.fad.fa-trophy:after{content:\\\"􏂑\\\"}.fad.fa-trophy-alt:after{content:\\\"􏋫\\\"}.fad.fa-truck:after{content:\\\"􏃑\\\"}.fad.fa-truck-container:after{content:\\\"􏓜\\\"}.fad.fa-truck-couch:after{content:\\\"􏓝\\\"}.fad.fa-truck-loading:after{content:\\\"􏓞\\\"}.fad.fa-truck-monster:after{content:\\\"􏘻\\\"}.fad.fa-truck-moving:after{content:\\\"􏓟\\\"}.fad.fa-truck-pickup:after{content:\\\"􏘼\\\"}.fad.fa-truck-plow:after{content:\\\"􏟞\\\"}.fad.fa-truck-ramp:after{content:\\\"􏓠\\\"}.fad.fa-trumpet:after{content:\\\"􏣣\\\"}.fad.fa-tshirt:after{content:\\\"􏕓\\\"}.fad.fa-tty:after{content:\\\"􏇤\\\"}.fad.fa-turkey:after{content:\\\"􏜥\\\"}.fad.fa-turntable:after{content:\\\"􏣤\\\"}.fad.fa-turtle:after{content:\\\"􏜦\\\"}.fad.fa-tv:after{content:\\\"􏉬\\\"}.fad.fa-tv-alt:after{content:\\\"􏣥\\\"}.fad.fa-tv-music:after{content:\\\"􏣦\\\"}.fad.fa-tv-retro:after{content:\\\"􏐁\\\"}.fad.fa-typewriter:after{content:\\\"􏣧\\\"}.fad.fa-ufo:after{content:\\\"􏥇\\\"}.fad.fa-ufo-beam:after{content:\\\"􏥈\\\"}.fad.fa-umbrella:after{content:\\\"􏃩\\\"}.fad.fa-umbrella-beach:after{content:\\\"􏗊\\\"}.fad.fa-underline:after{content:\\\"􏃍\\\"}.fad.fa-undo:after{content:\\\"􏃢\\\"}.fad.fa-undo-alt:after{content:\\\"􏋪\\\"}.fad.fa-unicorn:after{content:\\\"􏜧\\\"}.fad.fa-union:after{content:\\\"􏚢\\\"}.fad.fa-universal-access:after{content:\\\"􏊚\\\"}.fad.fa-university:after{content:\\\"􏆜\\\"}.fad.fa-unlink:after{content:\\\"􏄧\\\"}.fad.fa-unlock:after{content:\\\"􏂜\\\"}.fad.fa-unlock-alt:after{content:\\\"􏄾\\\"}.fad.fa-upload:after{content:\\\"􏂓\\\"}.fad.fa-usb-drive:after{content:\\\"􏣩\\\"}.fad.fa-usd-circle:after{content:\\\"􏋨\\\"}.fad.fa-usd-square:after{content:\\\"􏋩\\\"}.fad.fa-user:after{content:\\\"􏀇\\\"}.fad.fa-user-alien:after{content:\\\"􏥊\\\"}.fad.fa-user-alt:after{content:\\\"􏐆\\\"}.fad.fa-user-alt-slash:after{content:\\\"􏓺\\\"}.fad.fa-user-astronaut:after{content:\\\"􏓻\\\"}.fad.fa-user-chart:after{content:\\\"􏚣\\\"}.fad.fa-user-check:after{content:\\\"􏓼\\\"}.fad.fa-user-circle:after{content:\\\"􏊽\\\"}.fad.fa-user-clock:after{content:\\\"􏓽\\\"}.fad.fa-user-cog:after{content:\\\"􏓾\\\"}.fad.fa-user-cowboy:after{content:\\\"􏣪\\\"}.fad.fa-user-crown:after{content:\\\"􏚤\\\"}.fad.fa-user-edit:after{content:\\\"􏓿\\\"}.fad.fa-user-friends:after{content:\\\"􏔀\\\"}.fad.fa-user-graduate:after{content:\\\"􏔁\\\"}.fad.fa-user-hard-hat:after{content:\\\"􏠬\\\"}.fad.fa-user-headset:after{content:\\\"􏠭\\\"}.fad.fa-user-injured:after{content:\\\"􏜨\\\"}.fad.fa-user-lock:after{content:\\\"􏔂\\\"}.fad.fa-user-md:after{content:\\\"􏃰\\\"}.fad.fa-user-md-chat:after{content:\\\"􏠮\\\"}.fad.fa-user-minus:after{content:\\\"􏔃\\\"}.fad.fa-user-music:after{content:\\\"􏣫\\\"}.fad.fa-user-ninja:after{content:\\\"􏔄\\\"}.fad.fa-user-nurse:after{content:\\\"􏠯\\\"}.fad.fa-user-plus:after{content:\\\"􏈴\\\"}.fad.fa-user-robot:after{content:\\\"􏥋\\\"}.fad.fa-user-secret:after{content:\\\"􏈛\\\"}.fad.fa-user-shield:after{content:\\\"􏔅\\\"}.fad.fa-user-slash:after{content:\\\"􏔆\\\"}.fad.fa-user-tag:after{content:\\\"􏔇\\\"}.fad.fa-user-tie:after{content:\\\"􏔈\\\"}.fad.fa-user-times:after{content:\\\"􏈵\\\"}.fad.fa-user-unlock:after{content:\\\"􏥘\\\"}.fad.fa-user-visor:after{content:\\\"􏥌\\\"}.fad.fa-users:after{content:\\\"􏃀\\\"}.fad.fa-users-class:after{content:\\\"􏘽\\\"}.fad.fa-users-cog:after{content:\\\"􏔉\\\"}.fad.fa-users-crown:after{content:\\\"􏚥\\\"}.fad.fa-users-medical:after{content:\\\"􏠰\\\"}.fad.fa-users-slash:after{content:\\\"􏥳\\\"}.fad.fa-utensil-fork:after{content:\\\"􏋣\\\"}.fad.fa-utensil-knife:after{content:\\\"􏋤\\\"}.fad.fa-utensil-spoon:after{content:\\\"􏋥\\\"}.fad.fa-utensils:after{content:\\\"􏋧\\\"}.fad.fa-utensils-alt:after{content:\\\"􏋦\\\"}.fad.fa-vacuum:after{content:\\\"􏥍\\\"}.fad.fa-vacuum-robot:after{content:\\\"􏥎\\\"}.fad.fa-value-absolute:after{content:\\\"􏚦\\\"}.fad.fa-vector-square:after{content:\\\"􏗋\\\"}.fad.fa-venus:after{content:\\\"􏈡\\\"}.fad.fa-venus-double:after{content:\\\"􏈦\\\"}.fad.fa-venus-mars:after{content:\\\"􏈨\\\"}.fad.fa-vhs:after{content:\\\"􏣬\\\"}.fad.fa-vial:after{content:\\\"􏒒\\\"}.fad.fa-vials:after{content:\\\"􏒓\\\"}.fad.fa-video:after{content:\\\"􏀽\\\"}.fad.fa-video-plus:after{content:\\\"􏓡\\\"}.fad.fa-video-slash:after{content:\\\"􏓢\\\"}.fad.fa-vihara:after{content:\\\"􏚧\\\"}.fad.fa-violin:after{content:\\\"􏣭\\\"}.fad.fa-virus:after{content:\\\"􏥴\\\"}.fad.fa-virus-slash:after{content:\\\"􏥵\\\"}.fad.fa-viruses:after{content:\\\"􏥶\\\"}.fad.fa-voicemail:after{content:\\\"􏢗\\\"}.fad.fa-volcano:after{content:\\\"􏝰\\\"}.fad.fa-volleyball-ball:after{content:\\\"􏑟\\\"}.fad.fa-volume:after{content:\\\"􏚨\\\"}.fad.fa-volume-down:after{content:\\\"􏀧\\\"}.fad.fa-volume-mute:after{content:\\\"􏚩\\\"}.fad.fa-volume-off:after{content:\\\"􏀦\\\"}.fad.fa-volume-slash:after{content:\\\"􏋢\\\"}.fad.fa-volume-up:after{content:\\\"􏀨\\\"}.fad.fa-vote-nay:after{content:\\\"􏝱\\\"}.fad.fa-vote-yea:after{content:\\\"􏝲\\\"}.fad.fa-vr-cardboard:after{content:\\\"􏜩\\\"}.fad.fa-wagon-covered:after{content:\\\"􏣮\\\"}.fad.fa-walker:after{content:\\\"􏠱\\\"}.fad.fa-walkie-talkie:after{content:\\\"􏣯\\\"}.fad.fa-walking:after{content:\\\"􏕔\\\"}.fad.fa-wallet:after{content:\\\"􏕕\\\"}.fad.fa-wand:after{content:\\\"􏜪\\\"}.fad.fa-wand-magic:after{content:\\\"􏜫\\\"}.fad.fa-warehouse:after{content:\\\"􏒔\\\"}.fad.fa-warehouse-alt:after{content:\\\"􏒕\\\"}.fad.fa-washer:after{content:\\\"􏢘\\\"}.fad.fa-watch:after{content:\\\"􏋡\\\"}.fad.fa-watch-calculator:after{content:\\\"􏣰\\\"}.fad.fa-watch-fitness:after{content:\\\"􏘾\\\"}.fad.fa-water:after{content:\\\"􏝳\\\"}.fad.fa-water-lower:after{content:\\\"􏝴\\\"}.fad.fa-water-rise:after{content:\\\"􏝵\\\"}.fad.fa-wave-sine:after{content:\\\"􏢙\\\"}.fad.fa-wave-square:after{content:\\\"􏠾\\\"}.fad.fa-wave-triangle:after{content:\\\"􏢚\\\"}.fad.fa-waveform:after{content:\\\"􏣱\\\"}.fad.fa-waveform-path:after{content:\\\"􏣲\\\"}.fad.fa-webcam:after{content:\\\"􏠲\\\"}.fad.fa-webcam-slash:after{content:\\\"􏠳\\\"}.fad.fa-weight:after{content:\\\"􏒖\\\"}.fad.fa-weight-hanging:after{content:\\\"􏗍\\\"}.fad.fa-whale:after{content:\\\"􏜬\\\"}.fad.fa-wheat:after{content:\\\"􏜭\\\"}.fad.fa-wheelchair:after{content:\\\"􏆓\\\"}.fad.fa-whistle:after{content:\\\"􏑠\\\"}.fad.fa-wifi:after{content:\\\"􏇫\\\"}.fad.fa-wifi-1:after{content:\\\"􏚪\\\"}.fad.fa-wifi-2:after{content:\\\"􏚫\\\"}.fad.fa-wifi-slash:after{content:\\\"􏚬\\\"}.fad.fa-wind:after{content:\\\"􏜮\\\"}.fad.fa-wind-turbine:after{content:\\\"􏢛\\\"}.fad.fa-wind-warning:after{content:\\\"􏝶\\\"}.fad.fa-window:after{content:\\\"􏐎\\\"}.fad.fa-window-alt:after{content:\\\"􏐏\\\"}.fad.fa-window-close:after{content:\\\"􏐐\\\"}.fad.fa-window-frame:after{content:\\\"􏥏\\\"}.fad.fa-window-frame-open:after{content:\\\"􏥐\\\"}.fad.fa-window-maximize:after{content:\\\"􏋐\\\"}.fad.fa-window-minimize:after{content:\\\"􏋑\\\"}.fad.fa-window-restore:after{content:\\\"􏋒\\\"}.fad.fa-windsock:after{content:\\\"􏝷\\\"}.fad.fa-wine-bottle:after{content:\\\"􏜯\\\"}.fad.fa-wine-glass:after{content:\\\"􏓣\\\"}.fad.fa-wine-glass-alt:after{content:\\\"􏗎\\\"}.fad.fa-won-sign:after{content:\\\"􏅙\\\"}.fad.fa-wreath:after{content:\\\"􏟢\\\"}.fad.fa-wrench:after{content:\\\"􏂭\\\"}.fad.fa-x-ray:after{content:\\\"􏒗\\\"}.fad.fa-yen-sign:after{content:\\\"􏅗\\\"}.fad.fa-yin-yang:after{content:\\\"􏚭\\\"}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:300;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \") format(\\\"svg\\\")}.fal{font-weight:300}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:400;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \") format(\\\"svg\\\")}.fal,.far{font-family:\\\"Font Awesome 5 Pro\\\"}.far{font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:900;font-display:block;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \") format(\\\"svg\\\")}.fa,.fas{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900}ka-flex-row,ka-flex-col{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:1rem;padding-right:1rem}ka-flex-row{-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row}ka-flex-col{-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-content:flex-start;-moz-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;-moz-justify-content:flex-start;justify-content:flex-start}[ka-flex],ka-flex-row>ka-flex-col{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1}ka-flex-row>ka-flex-col,ka-flex-col>ka-flex-row{padding:0}ka-flex-row>ka-flex-col>ka-flex-row{width:100%}ka-flex-row>[ka-flex],ka-flex-row>ka-flex-col{margin-left:.5rem;margin-right:.5rem}ka-flex-row>[ka-flex]:first-of-type,ka-flex-row>ka-flex-col:first-of-type{margin-left:0}ka-flex-row>[ka-flex]:last-of-type,ka-flex-row>ka-flex-col:last-of-type{margin-right:0}ka-flex-row.no-padding>[ka-flex],ka-flex-row.no-padding>ka-flex-col{margin-left:0;margin-right:0}ka-flex-row.no-padding,ka-flex-col.no-padding{padding:0}ka-flex-row>ka-tabs[ka-flex]{margin-left:0;margin-right:0}ka-flex-row>ka-control:first-of-type{margin-left:0}ka-flex-row>ka-control:last-of-type{margin-right:0}ka-flex-col>ka-control{margin-left:0;margin-right:0}@media(min-width: 0){[ka-flex*=\\\"10\\\"],[ka-flex*=\\\"10-xs\\\"],ka-flex-col>[ka-flex*=\\\"10\\\"],ka-flex-col>[ka-flex*=\\\"10-xs\\\"],ka-flex-row>[ka-flex*=\\\"10\\\"],ka-flex-row>[ka-flex*=\\\"10-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10\\\"],ka-flex-col>[ka-flex*=\\\"10-xs\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"10\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"10\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"10-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"10-xs\\\"]{width:10%}ka-flex-row.no-padding>[ka-flex*=\\\"15\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"15-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-xs\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15\\\"],[ka-flex*=\\\"15-xs\\\"],ka-flex-col>[ka-flex*=\\\"15\\\"],ka-flex-col>[ka-flex*=\\\"15-xs\\\"],ka-flex-row>[ka-flex*=\\\"15\\\"],ka-flex-row>[ka-flex*=\\\"15-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15\\\"],ka-flex-col>[ka-flex*=\\\"15-xs\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"20-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-xs\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20\\\"],[ka-flex*=\\\"20-xs\\\"],ka-flex-col>[ka-flex*=\\\"20\\\"],ka-flex-col>[ka-flex*=\\\"20-xs\\\"],ka-flex-row>[ka-flex*=\\\"20\\\"],ka-flex-row>[ka-flex*=\\\"20-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20\\\"],ka-flex-col>[ka-flex*=\\\"20-xs\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"25-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-xs\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25\\\"],[ka-flex*=\\\"25-xs\\\"],ka-flex-col>[ka-flex*=\\\"25\\\"],ka-flex-col>[ka-flex*=\\\"25-xs\\\"],ka-flex-row>[ka-flex*=\\\"25\\\"],ka-flex-row>[ka-flex*=\\\"25-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25\\\"],ka-flex-col>[ka-flex*=\\\"25-xs\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"30-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-xs\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30\\\"],[ka-flex*=\\\"30-xs\\\"],ka-flex-col>[ka-flex*=\\\"30\\\"],ka-flex-col>[ka-flex*=\\\"30-xs\\\"],ka-flex-row>[ka-flex*=\\\"30\\\"],ka-flex-row>[ka-flex*=\\\"30-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30\\\"],ka-flex-col>[ka-flex*=\\\"30-xs\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"33-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-xs\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33\\\"],[ka-flex*=\\\"33-xs\\\"],ka-flex-col>[ka-flex*=\\\"33\\\"],ka-flex-col>[ka-flex*=\\\"33-xs\\\"],ka-flex-row>[ka-flex*=\\\"33\\\"],ka-flex-row>[ka-flex*=\\\"33-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33\\\"],ka-flex-col>[ka-flex*=\\\"33-xs\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"35-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-xs\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35\\\"],[ka-flex*=\\\"35-xs\\\"],ka-flex-col>[ka-flex*=\\\"35\\\"],ka-flex-col>[ka-flex*=\\\"35-xs\\\"],ka-flex-row>[ka-flex*=\\\"35\\\"],ka-flex-row>[ka-flex*=\\\"35-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35\\\"],ka-flex-col>[ka-flex*=\\\"35-xs\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"40-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-xs\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40\\\"],[ka-flex*=\\\"40-xs\\\"],ka-flex-col>[ka-flex*=\\\"40\\\"],ka-flex-col>[ka-flex*=\\\"40-xs\\\"],ka-flex-row>[ka-flex*=\\\"40\\\"],ka-flex-row>[ka-flex*=\\\"40-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40\\\"],ka-flex-col>[ka-flex*=\\\"40-xs\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"45-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-xs\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45\\\"],[ka-flex*=\\\"45-xs\\\"],ka-flex-col>[ka-flex*=\\\"45\\\"],ka-flex-col>[ka-flex*=\\\"45-xs\\\"],ka-flex-row>[ka-flex*=\\\"45\\\"],ka-flex-row>[ka-flex*=\\\"45-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45\\\"],ka-flex-col>[ka-flex*=\\\"45-xs\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"50-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-xs\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50\\\"],[ka-flex*=\\\"50-xs\\\"],ka-flex-col>[ka-flex*=\\\"50\\\"],ka-flex-col>[ka-flex*=\\\"50-xs\\\"],ka-flex-row>[ka-flex*=\\\"50\\\"],ka-flex-row>[ka-flex*=\\\"50-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50\\\"],ka-flex-col>[ka-flex*=\\\"50-xs\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"55-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-xs\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55\\\"],[ka-flex*=\\\"55-xs\\\"],ka-flex-col>[ka-flex*=\\\"55\\\"],ka-flex-col>[ka-flex*=\\\"55-xs\\\"],ka-flex-row>[ka-flex*=\\\"55\\\"],ka-flex-row>[ka-flex*=\\\"55-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55\\\"],ka-flex-col>[ka-flex*=\\\"55-xs\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"60-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-xs\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60\\\"],[ka-flex*=\\\"60-xs\\\"],ka-flex-col>[ka-flex*=\\\"60\\\"],ka-flex-col>[ka-flex*=\\\"60-xs\\\"],ka-flex-row>[ka-flex*=\\\"60\\\"],ka-flex-row>[ka-flex*=\\\"60-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60\\\"],ka-flex-col>[ka-flex*=\\\"60-xs\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"65-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-xs\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65\\\"],[ka-flex*=\\\"65-xs\\\"],ka-flex-col>[ka-flex*=\\\"65\\\"],ka-flex-col>[ka-flex*=\\\"65-xs\\\"],ka-flex-row>[ka-flex*=\\\"65\\\"],ka-flex-row>[ka-flex*=\\\"65-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65\\\"],ka-flex-col>[ka-flex*=\\\"65-xs\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"66-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-xs\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66\\\"],[ka-flex*=\\\"66-xs\\\"],ka-flex-col>[ka-flex*=\\\"66\\\"],ka-flex-col>[ka-flex*=\\\"66-xs\\\"],ka-flex-row>[ka-flex*=\\\"66\\\"],ka-flex-row>[ka-flex*=\\\"66-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66\\\"],ka-flex-col>[ka-flex*=\\\"66-xs\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"70-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-xs\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70\\\"],[ka-flex*=\\\"70-xs\\\"],ka-flex-col>[ka-flex*=\\\"70\\\"],ka-flex-col>[ka-flex*=\\\"70-xs\\\"],ka-flex-row>[ka-flex*=\\\"70\\\"],ka-flex-row>[ka-flex*=\\\"70-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70\\\"],ka-flex-col>[ka-flex*=\\\"70-xs\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"75-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-xs\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75\\\"],[ka-flex*=\\\"75-xs\\\"],ka-flex-col>[ka-flex*=\\\"75\\\"],ka-flex-col>[ka-flex*=\\\"75-xs\\\"],ka-flex-row>[ka-flex*=\\\"75\\\"],ka-flex-row>[ka-flex*=\\\"75-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75\\\"],ka-flex-col>[ka-flex*=\\\"75-xs\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"80-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-xs\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80\\\"],[ka-flex*=\\\"80-xs\\\"],ka-flex-col>[ka-flex*=\\\"80\\\"],ka-flex-col>[ka-flex*=\\\"80-xs\\\"],ka-flex-row>[ka-flex*=\\\"80\\\"],ka-flex-row>[ka-flex*=\\\"80-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80\\\"],ka-flex-col>[ka-flex*=\\\"80-xs\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"85-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-xs\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85\\\"],[ka-flex*=\\\"85-xs\\\"],ka-flex-col>[ka-flex*=\\\"85\\\"],ka-flex-col>[ka-flex*=\\\"85-xs\\\"],ka-flex-row>[ka-flex*=\\\"85\\\"],ka-flex-row>[ka-flex*=\\\"85-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85\\\"],ka-flex-col>[ka-flex*=\\\"85-xs\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"90-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-xs\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90\\\"],[ka-flex*=\\\"90-xs\\\"],ka-flex-col>[ka-flex*=\\\"90\\\"],ka-flex-col>[ka-flex*=\\\"90-xs\\\"],ka-flex-row>[ka-flex*=\\\"90\\\"],ka-flex-row>[ka-flex*=\\\"90-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90\\\"],ka-flex-col>[ka-flex*=\\\"90-xs\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"95-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-xs\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95\\\"],[ka-flex*=\\\"95-xs\\\"],ka-flex-col>[ka-flex*=\\\"95\\\"],ka-flex-col>[ka-flex*=\\\"95-xs\\\"],ka-flex-row>[ka-flex*=\\\"95\\\"],ka-flex-row>[ka-flex*=\\\"95-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95\\\"],ka-flex-col>[ka-flex*=\\\"95-xs\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100\\\"],ka-flex-row.no-padding>[ka-flex*=\\\"100-xs\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-xs\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100\\\"],[ka-flex*=\\\"100-xs\\\"],ka-flex-col>[ka-flex*=\\\"100\\\"],ka-flex-col>[ka-flex*=\\\"100-xs\\\"],ka-flex-row>[ka-flex*=\\\"100\\\"],ka-flex-row>[ka-flex*=\\\"100-xs\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100\\\"],ka-flex-col>[ka-flex*=\\\"100-xs\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 34em){[ka-flex*=\\\"10-sm\\\"],ka-flex-col>[ka-flex*=\\\"10-sm\\\"],ka-flex-row>[ka-flex*=\\\"10-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-sm\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-sm\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-sm\\\"],ka-flex-col>[ka-flex*=\\\"15-sm\\\"],ka-flex-row>[ka-flex*=\\\"15-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-sm\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-sm\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-sm\\\"],ka-flex-col>[ka-flex*=\\\"20-sm\\\"],ka-flex-row>[ka-flex*=\\\"20-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-sm\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-sm\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-sm\\\"],ka-flex-col>[ka-flex*=\\\"25-sm\\\"],ka-flex-row>[ka-flex*=\\\"25-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-sm\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-sm\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-sm\\\"],ka-flex-col>[ka-flex*=\\\"30-sm\\\"],ka-flex-row>[ka-flex*=\\\"30-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-sm\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-sm\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-sm\\\"],ka-flex-col>[ka-flex*=\\\"33-sm\\\"],ka-flex-row>[ka-flex*=\\\"33-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-sm\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-sm\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-sm\\\"],ka-flex-col>[ka-flex*=\\\"35-sm\\\"],ka-flex-row>[ka-flex*=\\\"35-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-sm\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-sm\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-sm\\\"],ka-flex-col>[ka-flex*=\\\"40-sm\\\"],ka-flex-row>[ka-flex*=\\\"40-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-sm\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-sm\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-sm\\\"],ka-flex-col>[ka-flex*=\\\"45-sm\\\"],ka-flex-row>[ka-flex*=\\\"45-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-sm\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-sm\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-sm\\\"],ka-flex-col>[ka-flex*=\\\"50-sm\\\"],ka-flex-row>[ka-flex*=\\\"50-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-sm\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-sm\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-sm\\\"],ka-flex-col>[ka-flex*=\\\"55-sm\\\"],ka-flex-row>[ka-flex*=\\\"55-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-sm\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-sm\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-sm\\\"],ka-flex-col>[ka-flex*=\\\"60-sm\\\"],ka-flex-row>[ka-flex*=\\\"60-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-sm\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-sm\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-sm\\\"],ka-flex-col>[ka-flex*=\\\"65-sm\\\"],ka-flex-row>[ka-flex*=\\\"65-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-sm\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-sm\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-sm\\\"],ka-flex-col>[ka-flex*=\\\"66-sm\\\"],ka-flex-row>[ka-flex*=\\\"66-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-sm\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-sm\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-sm\\\"],ka-flex-col>[ka-flex*=\\\"70-sm\\\"],ka-flex-row>[ka-flex*=\\\"70-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-sm\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-sm\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-sm\\\"],ka-flex-col>[ka-flex*=\\\"75-sm\\\"],ka-flex-row>[ka-flex*=\\\"75-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-sm\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-sm\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-sm\\\"],ka-flex-col>[ka-flex*=\\\"80-sm\\\"],ka-flex-row>[ka-flex*=\\\"80-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-sm\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-sm\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-sm\\\"],ka-flex-col>[ka-flex*=\\\"85-sm\\\"],ka-flex-row>[ka-flex*=\\\"85-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-sm\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-sm\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-sm\\\"],ka-flex-col>[ka-flex*=\\\"90-sm\\\"],ka-flex-row>[ka-flex*=\\\"90-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-sm\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-sm\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-sm\\\"],ka-flex-col>[ka-flex*=\\\"95-sm\\\"],ka-flex-row>[ka-flex*=\\\"95-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-sm\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-sm\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-sm\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-sm\\\"],ka-flex-col>[ka-flex*=\\\"100-sm\\\"],ka-flex-row>[ka-flex*=\\\"100-sm\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-sm\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 48em){[ka-flex*=\\\"10-md\\\"],ka-flex-col>[ka-flex*=\\\"10-md\\\"],ka-flex-row>[ka-flex*=\\\"10-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-md\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-md\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-md\\\"],ka-flex-col>[ka-flex*=\\\"15-md\\\"],ka-flex-row>[ka-flex*=\\\"15-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-md\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-md\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-md\\\"],ka-flex-col>[ka-flex*=\\\"20-md\\\"],ka-flex-row>[ka-flex*=\\\"20-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-md\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-md\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-md\\\"],ka-flex-col>[ka-flex*=\\\"25-md\\\"],ka-flex-row>[ka-flex*=\\\"25-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-md\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-md\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-md\\\"],ka-flex-col>[ka-flex*=\\\"30-md\\\"],ka-flex-row>[ka-flex*=\\\"30-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-md\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-md\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-md\\\"],ka-flex-col>[ka-flex*=\\\"33-md\\\"],ka-flex-row>[ka-flex*=\\\"33-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-md\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-md\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-md\\\"],ka-flex-col>[ka-flex*=\\\"35-md\\\"],ka-flex-row>[ka-flex*=\\\"35-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-md\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-md\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-md\\\"],ka-flex-col>[ka-flex*=\\\"40-md\\\"],ka-flex-row>[ka-flex*=\\\"40-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-md\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-md\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-md\\\"],ka-flex-col>[ka-flex*=\\\"45-md\\\"],ka-flex-row>[ka-flex*=\\\"45-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-md\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-md\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-md\\\"],ka-flex-col>[ka-flex*=\\\"50-md\\\"],ka-flex-row>[ka-flex*=\\\"50-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-md\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-md\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-md\\\"],ka-flex-col>[ka-flex*=\\\"55-md\\\"],ka-flex-row>[ka-flex*=\\\"55-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-md\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-md\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-md\\\"],ka-flex-col>[ka-flex*=\\\"60-md\\\"],ka-flex-row>[ka-flex*=\\\"60-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-md\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-md\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-md\\\"],ka-flex-col>[ka-flex*=\\\"65-md\\\"],ka-flex-row>[ka-flex*=\\\"65-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-md\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-md\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-md\\\"],ka-flex-col>[ka-flex*=\\\"66-md\\\"],ka-flex-row>[ka-flex*=\\\"66-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-md\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-md\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-md\\\"],ka-flex-col>[ka-flex*=\\\"70-md\\\"],ka-flex-row>[ka-flex*=\\\"70-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-md\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-md\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-md\\\"],ka-flex-col>[ka-flex*=\\\"75-md\\\"],ka-flex-row>[ka-flex*=\\\"75-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-md\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-md\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-md\\\"],ka-flex-col>[ka-flex*=\\\"80-md\\\"],ka-flex-row>[ka-flex*=\\\"80-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-md\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-md\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-md\\\"],ka-flex-col>[ka-flex*=\\\"85-md\\\"],ka-flex-row>[ka-flex*=\\\"85-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-md\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-md\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-md\\\"],ka-flex-col>[ka-flex*=\\\"90-md\\\"],ka-flex-row>[ka-flex*=\\\"90-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-md\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-md\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-md\\\"],ka-flex-col>[ka-flex*=\\\"95-md\\\"],ka-flex-row>[ka-flex*=\\\"95-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-md\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-md\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-md\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-md\\\"],ka-flex-col>[ka-flex*=\\\"100-md\\\"],ka-flex-row>[ka-flex*=\\\"100-md\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-md\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 62em){[ka-flex*=\\\"10-lg\\\"],ka-flex-col>[ka-flex*=\\\"10-lg\\\"],ka-flex-row>[ka-flex*=\\\"10-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-lg\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-lg\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-lg\\\"],ka-flex-col>[ka-flex*=\\\"15-lg\\\"],ka-flex-row>[ka-flex*=\\\"15-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-lg\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-lg\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-lg\\\"],ka-flex-col>[ka-flex*=\\\"20-lg\\\"],ka-flex-row>[ka-flex*=\\\"20-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-lg\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-lg\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-lg\\\"],ka-flex-col>[ka-flex*=\\\"25-lg\\\"],ka-flex-row>[ka-flex*=\\\"25-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-lg\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-lg\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-lg\\\"],ka-flex-col>[ka-flex*=\\\"30-lg\\\"],ka-flex-row>[ka-flex*=\\\"30-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-lg\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-lg\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-lg\\\"],ka-flex-col>[ka-flex*=\\\"33-lg\\\"],ka-flex-row>[ka-flex*=\\\"33-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-lg\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-lg\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-lg\\\"],ka-flex-col>[ka-flex*=\\\"35-lg\\\"],ka-flex-row>[ka-flex*=\\\"35-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-lg\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-lg\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-lg\\\"],ka-flex-col>[ka-flex*=\\\"40-lg\\\"],ka-flex-row>[ka-flex*=\\\"40-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-lg\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-lg\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-lg\\\"],ka-flex-col>[ka-flex*=\\\"45-lg\\\"],ka-flex-row>[ka-flex*=\\\"45-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-lg\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-lg\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-lg\\\"],ka-flex-col>[ka-flex*=\\\"50-lg\\\"],ka-flex-row>[ka-flex*=\\\"50-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-lg\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-lg\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-lg\\\"],ka-flex-col>[ka-flex*=\\\"55-lg\\\"],ka-flex-row>[ka-flex*=\\\"55-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-lg\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-lg\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-lg\\\"],ka-flex-col>[ka-flex*=\\\"60-lg\\\"],ka-flex-row>[ka-flex*=\\\"60-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-lg\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-lg\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-lg\\\"],ka-flex-col>[ka-flex*=\\\"65-lg\\\"],ka-flex-row>[ka-flex*=\\\"65-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-lg\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-lg\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-lg\\\"],ka-flex-col>[ka-flex*=\\\"66-lg\\\"],ka-flex-row>[ka-flex*=\\\"66-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-lg\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-lg\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-lg\\\"],ka-flex-col>[ka-flex*=\\\"70-lg\\\"],ka-flex-row>[ka-flex*=\\\"70-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-lg\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-lg\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-lg\\\"],ka-flex-col>[ka-flex*=\\\"75-lg\\\"],ka-flex-row>[ka-flex*=\\\"75-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-lg\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-lg\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-lg\\\"],ka-flex-col>[ka-flex*=\\\"80-lg\\\"],ka-flex-row>[ka-flex*=\\\"80-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-lg\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-lg\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-lg\\\"],ka-flex-col>[ka-flex*=\\\"85-lg\\\"],ka-flex-row>[ka-flex*=\\\"85-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-lg\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-lg\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-lg\\\"],ka-flex-col>[ka-flex*=\\\"90-lg\\\"],ka-flex-row>[ka-flex*=\\\"90-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-lg\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-lg\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-lg\\\"],ka-flex-col>[ka-flex*=\\\"95-lg\\\"],ka-flex-row>[ka-flex*=\\\"95-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-lg\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-lg\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-lg\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-lg\\\"],ka-flex-col>[ka-flex*=\\\"100-lg\\\"],ka-flex-row>[ka-flex*=\\\"100-lg\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-lg\\\"]{height:calc(100% - 2rem);width:auto}}@media(min-width: 75em){[ka-flex*=\\\"10-xl\\\"],ka-flex-col>[ka-flex*=\\\"10-xl\\\"],ka-flex-row>[ka-flex*=\\\"10-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(10% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(10% - 2rem);-ms-flex:0 0 calc(10% - 2rem);flex:0 0 calc(10% - 2rem);width:calc(10% - 2rem)}ka-flex-col>[ka-flex*=\\\"10-xl\\\"]{height:calc(10% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"15-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"15-xl\\\"]{-webkit-flex:0 0 15%;-moz-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%;width:15%}[ka-flex*=\\\"15-xl\\\"],ka-flex-col>[ka-flex*=\\\"15-xl\\\"],ka-flex-row>[ka-flex*=\\\"15-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(15% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(15% - 2rem);-ms-flex:0 0 calc(15% - 2rem);flex:0 0 calc(15% - 2rem);width:calc(15% - 2rem)}ka-flex-col>[ka-flex*=\\\"15-xl\\\"]{height:calc(15% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"20-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"20-xl\\\"]{-webkit-flex:0 0 20%;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;width:20%}[ka-flex*=\\\"20-xl\\\"],ka-flex-col>[ka-flex*=\\\"20-xl\\\"],ka-flex-row>[ka-flex*=\\\"20-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(20% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(20% - 2rem);-ms-flex:0 0 calc(20% - 2rem);flex:0 0 calc(20% - 2rem);width:calc(20% - 2rem)}ka-flex-col>[ka-flex*=\\\"20-xl\\\"]{height:calc(20% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"25-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"25-xl\\\"]{-webkit-flex:0 0 25%;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;width:25%}[ka-flex*=\\\"25-xl\\\"],ka-flex-col>[ka-flex*=\\\"25-xl\\\"],ka-flex-row>[ka-flex*=\\\"25-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(25% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(25% - 2rem);-ms-flex:0 0 calc(25% - 2rem);flex:0 0 calc(25% - 2rem);width:calc(25% - 2rem)}ka-flex-col>[ka-flex*=\\\"25-xl\\\"]{height:calc(25% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"30-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"30-xl\\\"]{-webkit-flex:0 0 30%;-moz-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;width:30%}[ka-flex*=\\\"30-xl\\\"],ka-flex-col>[ka-flex*=\\\"30-xl\\\"],ka-flex-row>[ka-flex*=\\\"30-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(30% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(30% - 2rem);-ms-flex:0 0 calc(30% - 2rem);flex:0 0 calc(30% - 2rem);width:calc(30% - 2rem)}ka-flex-col>[ka-flex*=\\\"30-xl\\\"]{height:calc(30% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"33-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"33-xl\\\"]{-webkit-flex:0 0 33%;-moz-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;width:33%}[ka-flex*=\\\"33-xl\\\"],ka-flex-col>[ka-flex*=\\\"33-xl\\\"],ka-flex-row>[ka-flex*=\\\"33-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(33.33333% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(33.33333% - 2rem);-ms-flex:0 0 calc(33.33333% - 2rem);flex:0 0 calc(33.33333% - 2rem);width:calc(33.33333% - 2rem)}ka-flex-col>[ka-flex*=\\\"33-xl\\\"]{height:calc(33.33333% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"35-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"35-xl\\\"]{-webkit-flex:0 0 35%;-moz-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%;width:35%}[ka-flex*=\\\"35-xl\\\"],ka-flex-col>[ka-flex*=\\\"35-xl\\\"],ka-flex-row>[ka-flex*=\\\"35-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(35% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(35% - 2rem);-ms-flex:0 0 calc(35% - 2rem);flex:0 0 calc(35% - 2rem);width:calc(35% - 2rem)}ka-flex-col>[ka-flex*=\\\"35-xl\\\"]{height:calc(35% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"40-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"40-xl\\\"]{-webkit-flex:0 0 40%;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;width:40%}[ka-flex*=\\\"40-xl\\\"],ka-flex-col>[ka-flex*=\\\"40-xl\\\"],ka-flex-row>[ka-flex*=\\\"40-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(40% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(40% - 2rem);-ms-flex:0 0 calc(40% - 2rem);flex:0 0 calc(40% - 2rem);width:calc(40% - 2rem)}ka-flex-col>[ka-flex*=\\\"40-xl\\\"]{height:calc(40% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"45-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"45-xl\\\"]{-webkit-flex:0 0 45%;-moz-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%;width:45%}[ka-flex*=\\\"45-xl\\\"],ka-flex-col>[ka-flex*=\\\"45-xl\\\"],ka-flex-row>[ka-flex*=\\\"45-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(45% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(45% - 2rem);-ms-flex:0 0 calc(45% - 2rem);flex:0 0 calc(45% - 2rem);width:calc(45% - 2rem)}ka-flex-col>[ka-flex*=\\\"45-xl\\\"]{height:calc(45% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"50-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"50-xl\\\"]{-webkit-flex:0 0 50%;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;width:50%}[ka-flex*=\\\"50-xl\\\"],ka-flex-col>[ka-flex*=\\\"50-xl\\\"],ka-flex-row>[ka-flex*=\\\"50-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(50% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(50% - 2rem);-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);width:calc(50% - 2rem)}ka-flex-col>[ka-flex*=\\\"50-xl\\\"]{height:calc(50% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"55-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"55-xl\\\"]{-webkit-flex:0 0 55%;-moz-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%;width:55%}[ka-flex*=\\\"55-xl\\\"],ka-flex-col>[ka-flex*=\\\"55-xl\\\"],ka-flex-row>[ka-flex*=\\\"55-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(55% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(55% - 2rem);-ms-flex:0 0 calc(55% - 2rem);flex:0 0 calc(55% - 2rem);width:calc(55% - 2rem)}ka-flex-col>[ka-flex*=\\\"55-xl\\\"]{height:calc(55% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"60-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"60-xl\\\"]{-webkit-flex:0 0 60%;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;width:60%}[ka-flex*=\\\"60-xl\\\"],ka-flex-col>[ka-flex*=\\\"60-xl\\\"],ka-flex-row>[ka-flex*=\\\"60-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(60% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(60% - 2rem);-ms-flex:0 0 calc(60% - 2rem);flex:0 0 calc(60% - 2rem);width:calc(60% - 2rem)}ka-flex-col>[ka-flex*=\\\"60-xl\\\"]{height:calc(60% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"65-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"65-xl\\\"]{-webkit-flex:0 0 65%;-moz-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%;width:65%}[ka-flex*=\\\"65-xl\\\"],ka-flex-col>[ka-flex*=\\\"65-xl\\\"],ka-flex-row>[ka-flex*=\\\"65-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(65% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(65% - 2rem);-ms-flex:0 0 calc(65% - 2rem);flex:0 0 calc(65% - 2rem);width:calc(65% - 2rem)}ka-flex-col>[ka-flex*=\\\"65-xl\\\"]{height:calc(65% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"66-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"66-xl\\\"]{-webkit-flex:0 0 66%;-moz-flex:0 0 66%;-ms-flex:0 0 66%;flex:0 0 66%;width:66%}[ka-flex*=\\\"66-xl\\\"],ka-flex-col>[ka-flex*=\\\"66-xl\\\"],ka-flex-row>[ka-flex*=\\\"66-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(66.66666% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(66.66666% - 2rem);-ms-flex:0 0 calc(66.66666% - 2rem);flex:0 0 calc(66.66666% - 2rem);width:calc(66.66666% - 2rem)}ka-flex-col>[ka-flex*=\\\"66-xl\\\"]{height:calc(66.66666% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"70-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"70-xl\\\"]{-webkit-flex:0 0 70%;-moz-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%;width:70%}[ka-flex*=\\\"70-xl\\\"],ka-flex-col>[ka-flex*=\\\"70-xl\\\"],ka-flex-row>[ka-flex*=\\\"70-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(70% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(70% - 2rem);-ms-flex:0 0 calc(70% - 2rem);flex:0 0 calc(70% - 2rem);width:calc(70% - 2rem)}ka-flex-col>[ka-flex*=\\\"70-xl\\\"]{height:calc(70% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"75-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"75-xl\\\"]{-webkit-flex:0 0 75%;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;width:75%}[ka-flex*=\\\"75-xl\\\"],ka-flex-col>[ka-flex*=\\\"75-xl\\\"],ka-flex-row>[ka-flex*=\\\"75-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(75% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(75% - 2rem);-ms-flex:0 0 calc(75% - 2rem);flex:0 0 calc(75% - 2rem);width:calc(75% - 2rem)}ka-flex-col>[ka-flex*=\\\"75-xl\\\"]{height:calc(75% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"80-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"80-xl\\\"]{-webkit-flex:0 0 80%;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;width:80%}[ka-flex*=\\\"80-xl\\\"],ka-flex-col>[ka-flex*=\\\"80-xl\\\"],ka-flex-row>[ka-flex*=\\\"80-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(80% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(80% - 2rem);-ms-flex:0 0 calc(80% - 2rem);flex:0 0 calc(80% - 2rem);width:calc(80% - 2rem)}ka-flex-col>[ka-flex*=\\\"80-xl\\\"]{height:calc(80% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"85-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"85-xl\\\"]{-webkit-flex:0 0 85%;-moz-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%;width:85%}[ka-flex*=\\\"85-xl\\\"],ka-flex-col>[ka-flex*=\\\"85-xl\\\"],ka-flex-row>[ka-flex*=\\\"85-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(85% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(85% - 2rem);-ms-flex:0 0 calc(85% - 2rem);flex:0 0 calc(85% - 2rem);width:calc(85% - 2rem)}ka-flex-col>[ka-flex*=\\\"85-xl\\\"]{height:calc(85% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"90-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"90-xl\\\"]{-webkit-flex:0 0 90%;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;width:90%}[ka-flex*=\\\"90-xl\\\"],ka-flex-col>[ka-flex*=\\\"90-xl\\\"],ka-flex-row>[ka-flex*=\\\"90-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(90% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(90% - 2rem);-ms-flex:0 0 calc(90% - 2rem);flex:0 0 calc(90% - 2rem);width:calc(90% - 2rem)}ka-flex-col>[ka-flex*=\\\"90-xl\\\"]{height:calc(90% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"95-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"95-xl\\\"]{-webkit-flex:0 0 95%;-moz-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%;width:95%}[ka-flex*=\\\"95-xl\\\"],ka-flex-col>[ka-flex*=\\\"95-xl\\\"],ka-flex-row>[ka-flex*=\\\"95-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(95% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(95% - 2rem);-ms-flex:0 0 calc(95% - 2rem);flex:0 0 calc(95% - 2rem);width:calc(95% - 2rem)}ka-flex-col>[ka-flex*=\\\"95-xl\\\"]{height:calc(95% - 2rem);width:auto}ka-flex-row.no-padding>[ka-flex*=\\\"100-xl\\\"],ka-flex-col.no-padding>[ka-flex*=\\\"100-xl\\\"]{-webkit-flex:0 0 100%;-moz-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%}[ka-flex*=\\\"100-xl\\\"],ka-flex-col>[ka-flex*=\\\"100-xl\\\"],ka-flex-row>[ka-flex*=\\\"100-xl\\\"]{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 2rem);-moz-box-flex:0;-moz-flex:0 0 calc(100% - 2rem);-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem);width:calc(100% - 2rem)}ka-flex-col>[ka-flex*=\\\"100-xl\\\"]{height:calc(100% - 2rem);width:auto}}ka-navbar{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0;height:5rem;color:#fff;background-color:#ed5a23}ka-navbar .ka-navbar-menu-button{position:relative;display:block;width:5rem;height:5rem;text-align:center;cursor:pointer}ka-navbar .ka-navbar-menu-button::after{content:\\\" \\\";display:block;position:absolute;right:0;top:1rem;bottom:1rem;width:1px;background-color:rgba(255,255,255,.6)}ka-navbar .ka-navbar-menu-button .material-icons,ka-navbar .ka-navbar-menu-button i[class*=fa]{font-size:5rem/2;line-height:5rem}ka-navbar .ka-navbar-menu{display:block;position:absolute;top:5rem/10;left:0;z-index:50;min-width:20rem;background:#f9f9f9;transform:translateX(-110%);transition:all .5s cubic-bezier(0.215, 0.61, 0.355, 1);box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}ka-navbar .ka-navbar-menu.visible{transform:translateX(0%)}ka-navbar .ka-navbar-menu .ka-navbar-menu-label{padding:0 1rem;border-bottom:1px solid #e0e0e0;font-size:1.2rem;font-weight:700;line-height:4rem;text-transform:uppercase;color:#ed5a23}ka-navbar .ka-navbar-menu .ka-navbar-menu-item{display:block;border-bottom:1px solid #e0e0e0;padding:0 1rem;line-height:4rem;font-size:1.4rem;color:rgba(64,64,64,.7);text-decoration:none;transition:all .5s ease-out}ka-navbar .ka-navbar-menu .ka-navbar-menu-item:hover{color:#ed5a23;background-color:#f0f0f0}ka-navbar .ka-navbar-menu .ka-navbar-menu-item.emphasis{color:#ed5a23}ka-navbar .ka-navbar-menu .ka-navbar-menu-item .material-icons,ka-navbar .ka-navbar-menu .ka-navbar-menu-item i[class*=fa]{width:4.5rem;font-size:2rem;line-height:4.5rem;text-align:center;vertical-align:middle}ka-navbar h1{display:block;margin:0;padding:0 1rem;font-size:1.8rem;font-weight:300;line-height:5rem;color:#fff}ka-input,md-input{display:block;box-sizing:border-box;position:relative;margin:1.5rem 0;width:100%;height:3rem;color:#404040;background-color:#fff;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-input.type-editor,md-input.type-editor{height:auto}ka-input.type-textarea,md-input.type-textarea{height:9rem}ka-input.type-textarea>textarea,md-input.type-textarea>textarea{padding:7px auto 7px 7px;height:9rem;resize:none}ka-input.type-checklist,md-input.type-checklist{height:auto;background-color:rgba(0,0,0,0);box-shadow:none !important}ka-input.error,md-input.error{background-color:#fff;box-shadow:inset 0 -1px 0 0 red}ka-input.error>label,md-input.error>label{color:red}ka-input.focus,ka-input.focus:hover,md-input.focus,md-input.focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-input:hover,md-input:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5)}ka-input.readonly,ka-input.readonly.focus,ka-input.readonly:hover,md-input.readonly,md-input.readonly.focus,md-input.readonly:hover{background-color:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ka-input.type-checkbox,ka-input.type-checkbox.error,ka-input.type-checkbox.focus,ka-input.type-checkbox.focus:hover,ka-input.type-checkbox:hover,ka-input.type-checkbox.readonly,ka-input.type-checkbox.readonly.focus,ka-input.type-checkbox.readonly:hover,md-input.type-checkbox,md-input.type-checkbox.error,md-input.type-checkbox.focus,md-input.type-checkbox.focus:hover,md-input.type-checkbox:hover,md-input.type-checkbox.readonly,md-input.type-checkbox.readonly.focus,md-input.type-checkbox.readonly:hover{box-shadow:none;background-color:rgba(0,0,0,0)}ka-input.type-checkbox>.ka-input-checkbox-description,md-input.type-checkbox>.ka-input-checkbox-description{display:inline-block;position:absolute;left:0;overflow:hidden;padding-left:21px;max-width:100%;line-height:3rem;font-size:14px;color:#404040;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}ka-input.type-checkbox.readonly>input,ka-input.type-checkbox.readonly>.ka-input-checkbox-description,md-input.type-checkbox.readonly>input,md-input.type-checkbox.readonly>.ka-input-checkbox-description{opacity:.7}ka-input.type-checkbox.expand,md-input.type-checkbox.expand{height:fit-content}ka-input.type-checkbox.expand>.ka-input-checkbox-description,md-input.type-checkbox.expand>.ka-input-checkbox-description{position:static;white-space:normal;line-height:2rem;margin-top:6px}ka-input>label,md-input>label{display:block;position:absolute;width:100%;height:1.5rem;overflow:hidden;line-height:1.5rem;font-size:12px;color:rgba(237,90,35,.7);white-space:nowrap;text-overflow:ellipsis;transform:translateY(-1.5rem)}ka-input.show-label-overflow>label,md-input.show-label-overflow>label{overflow:visible}ka-input.no-label>label,md-input.no-label>label{display:none}ka-input>.ka-input-error,md-input>.ka-input-error{display:block;position:absolute;bottom:0;width:100%;height:1.5rem;line-height:1.5rem;font-size:11px;color:rgba(255,0,0,.7);transform:translateY(1.5rem)}ka-input>.ka-input-error span::after,md-input>.ka-input-error span::after{content:\\\" - \\\"}ka-input>.ka-input-error span:last-of-type::after,md-input>.ka-input-error span:last-of-type::after{content:\\\"\\\"}ka-input>.ka-input-description,md-input>.ka-input-description{display:block;position:absolute;bottom:0;width:100%;height:1.5rem;line-height:1.5rem;font-size:11px;color:rgba(64,64,64,.5);text-align:right;transform:translateY(1.5rem);transition:all .2s cubic-bezier(0.215, 0.61, 0.355, 1)}ka-input>.ka-input-description span::after,md-input>.ka-input-description span::after{content:\\\" - \\\"}ka-input>.ka-input-description span:last-of-type::after,md-input>.ka-input-description span:last-of-type::after{content:\\\"\\\"}ka-input.readonly>.ka-input-description,md-input.readonly>.ka-input-description{opacity:0}ka-input>.ka-input-error+.ka-input-description,md-input>.ka-input-error+.ka-input-description{opacity:0}ka-input.required label::after,md-input.required label::after{content:\\\" *\\\"}ka-input>.ka-input[type],ka-input>.ka-input-combo .ka-input,ka-input>textarea,md-input>.ka-input[type],md-input>.ka-input-combo .ka-input,md-input>textarea{display:block;-webkit-appearance:none;-moz-appearance:none;position:absolute;box-sizing:border-box;margin:0;border:0 !important;outline:none;padding:0;padding-left:7px;width:100%;height:3rem;font-size:14px;color:#404040;background-color:rgba(0,0,0,0);transition:all .2s cubic-bezier(0.215, 0.61, 0.355, 1)}ka-input>.ka-input[type]:focus,ka-input>.ka-input-combo .ka-input:focus,ka-input>textarea:focus,md-input>.ka-input[type]:focus,md-input>.ka-input-combo .ka-input:focus,md-input>textarea:focus{border:0 !important}ka-input>.ka-input[type].pad1,ka-input>.ka-input-combo .ka-input.pad1,ka-input>textarea.pad1,md-input>.ka-input[type].pad1,md-input>.ka-input-combo .ka-input.pad1,md-input>textarea.pad1{padding-right:3rem}ka-input>.ka-input[type].pad2,ka-input>.ka-input-combo .ka-input.pad2,ka-input>textarea.pad2,md-input>.ka-input[type].pad2,md-input>.ka-input-combo .ka-input.pad2,md-input>textarea.pad2{padding-right:6rem}ka-input>.ka-input[type].pad3,ka-input>.ka-input-combo .ka-input.pad3,ka-input>textarea.pad3,md-input>.ka-input[type].pad3,md-input>.ka-input-combo .ka-input.pad3,md-input>textarea.pad3{padding-right:9rem}ka-input>.ka-input[type][type=checkbox],ka-input>.ka-input-combo .ka-input[type=checkbox],md-input>.ka-input[type][type=checkbox],md-input>.ka-input-combo .ka-input[type=checkbox]{display:block;margin-top:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}ka-input>.ka-input[type][type=checkbox]:checked,ka-input>.ka-input-combo .ka-input[type=checkbox]:checked,md-input>.ka-input[type][type=checkbox]:checked,md-input>.ka-input-combo .ka-input[type=checkbox]:checked{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-input>.ka-input[type][type=file],ka-input>.ka-input-combo .ka-input[type=file],md-input>.ka-input[type][type=file],md-input>.ka-input-combo .ka-input[type=file]{opacity:0;z-index:2}ka-input>.ka-input[type][type=file][readonly],ka-input>.ka-input-combo .ka-input[type=file][readonly],md-input>.ka-input[type][type=file][readonly],md-input>.ka-input-combo .ka-input[type=file][readonly]{display:none}ka-input.error>.ka-input[type=checkbox],md-input.error>.ka-input[type=checkbox]{box-shadow:inset 0 0 0 1px red}ka-input.error>.ka-input[type=checkbox]:checked,md-input.error>.ka-input[type=checkbox]:checked{box-shadow:inset 0 0 0 1px red,inset 0 0 0 3px #fff}ka-input.readonly>.ka-input[type],ka-input.readonly>.ka-input-combo .ka-input,ka-input.readonly>textarea,md-input.readonly>.ka-input[type],md-input.readonly>.ka-input-combo .ka-input,md-input.readonly>textarea{padding-left:0}ka-input.readonly>.ka-input[type].pad1,ka-input.readonly>.ka-input[type].pad2,ka-input.readonly>.ka-input[type].pad3,ka-input.readonly>.ka-input-combo .ka-input.pad1,ka-input.readonly>.ka-input-combo .ka-input.pad2,ka-input.readonly>.ka-input-combo .ka-input.pad3,ka-input.readonly>textarea.pad1,ka-input.readonly>textarea.pad2,ka-input.readonly>textarea.pad3,md-input.readonly>.ka-input[type].pad1,md-input.readonly>.ka-input[type].pad2,md-input.readonly>.ka-input[type].pad3,md-input.readonly>.ka-input-combo .ka-input.pad1,md-input.readonly>.ka-input-combo .ka-input.pad2,md-input.readonly>.ka-input-combo .ka-input.pad3,md-input.readonly>textarea.pad1,md-input.readonly>textarea.pad2,md-input.readonly>textarea.pad3{padding-right:0}ka-input.readonly button,md-input.readonly button{display:none}ka-input.type-file.readonly>.ka-input[type=text],ka-input.type-combo.readonly>.ka-input-combo>.ka-input[type=text],md-input.type-file.readonly>.ka-input[type=text],md-input.type-combo.readonly>.ka-input-combo>.ka-input[type=text]{padding-right:3rem}ka-input.readonly button.download,ka-input.readonly button.download:focus,ka-input.readonly button.open,ka-input.readonly button.open:focus,md-input.readonly button.download,md-input.readonly button.download:focus,md-input.readonly button.open,md-input.readonly button.open:focus{display:inline-block;right:0}ka-input .ka-input-combo,md-input .ka-input-combo{display:block;position:absolute;top:0;width:100%}ka-input .ka-input-combo>.ka-input,md-input .ka-input-combo>.ka-input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ka-input .ka-input-editor,md-input .ka-input-editor{height:200px}ka-input .ka-input-button,ka-input .ka-input-button:focus,md-input .ka-input-button,md-input .ka-input-button:focus{-webkit-appearance:none;-moz-appearance:none;position:absolute;display:inline-block;top:0;right:0;margin:0;outline:0;border:0;border-left:1px solid #e0e0e0;border-radius:0;padding:0;width:3rem;height:3rem;z-index:2;font-size:14px;line-height:3rem;text-align:center;background:rgba(0,0,0,0)}ka-input .ka-input-button .material-icons,ka-input .ka-input-button i[class*=fa],ka-input .ka-input-button:focus .material-icons,ka-input .ka-input-button:focus i[class*=fa],md-input .ka-input-button .material-icons,md-input .ka-input-button i[class*=fa],md-input .ka-input-button:focus .material-icons,md-input .ka-input-button:focus i[class*=fa]{font-size:inherit;line-height:inherit;color:inherit}ka-input .ka-input-button:hover,ka-input .ka-input-button:focus:hover,md-input .ka-input-button:hover,md-input .ka-input-button:focus:hover{color:#ed5a23}ka-input .ka-input-button.hide,ka-input .ka-input-button:focus.hide,md-input .ka-input-button.hide,md-input .ka-input-button:focus.hide{display:block !important}ka-input .ka-input-button.open,ka-input .ka-input-button.add,ka-input .ka-input-button.show,ka-input .ka-input-button.hide,ka-input .ka-input-button.download,ka-input .ka-input-button.dropdown,ka-input .ka-input-button:focus.open,ka-input .ka-input-button:focus.add,ka-input .ka-input-button:focus.show,ka-input .ka-input-button:focus.hide,ka-input .ka-input-button:focus.download,ka-input .ka-input-button:focus.dropdown,md-input .ka-input-button.open,md-input .ka-input-button.add,md-input .ka-input-button.show,md-input .ka-input-button.hide,md-input .ka-input-button.download,md-input .ka-input-button.dropdown,md-input .ka-input-button:focus.open,md-input .ka-input-button:focus.add,md-input .ka-input-button:focus.show,md-input .ka-input-button:focus.hide,md-input .ka-input-button:focus.download,md-input .ka-input-button:focus.dropdown{right:3rem}ka-input.no-clear button.open,ka-input.no-clear button.open:focus,ka-input.no-clear button.add,ka-input.no-clear button.add:focus,ka-input.no-clear button.show,ka-input.no-clear button.show:focus,ka-input.no-clear button.hide,ka-input.no-clear button.hide:focus,ka-input.no-clear button.download,ka-input.no-clear button.download:focus,ka-input.no-clear button.dropdown,ka-input.no-clear button.dropdown:focus,md-input.no-clear button.open,md-input.no-clear button.open:focus,md-input.no-clear button.add,md-input.no-clear button.add:focus,md-input.no-clear button.show,md-input.no-clear button.show:focus,md-input.no-clear button.hide,md-input.no-clear button.hide:focus,md-input.no-clear button.download,md-input.no-clear button.download:focus,md-input.no-clear button.dropdown,md-input.no-clear button.dropdown:focus{right:0}.ka-input-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1999}.ka-input-combo .ka-input-combo-drawer,.ka-input-backdrop .ka-input-combo-drawer{display:block;position:absolute;top:3rem;z-index:2000;width:100%;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}.ka-input-combo .ka-input-combo-drawer .ka-input,.ka-input-backdrop .ka-input-combo-drawer .ka-input{display:block;position:static;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;margin:0;border:0 !important;outline:none;padding:0 10px;width:100%;height:3rem;font-size:14px;color:#404040;background-color:rgba(0,0,0,0);box-shadow:none !important}.ka-input-combo .ka-input-combo-drawer .ka-input:focus,.ka-input-backdrop .ka-input-combo-drawer .ka-input:focus{border:0 !important}.ka-input-combo .ka-input-combo-drawer ul,.ka-input-backdrop .ka-input-combo-drawer ul,.ka-input-checklist ul{margin:0;padding:0;width:100%;max-height:250px;overflow:hidden;overflow-y:auto;list-style:none}.ka-input-combo .ka-input-combo-drawer ul li,.ka-input-backdrop .ka-input-combo-drawer ul li,.ka-input-checklist ul li{position:relative;margin:0;padding:0 10px;overflow:hidden;font-size:14px;line-height:3rem;cursor:pointer;color:#404040;white-space:nowrap;text-overflow:ellipsis}.ka-input-combo .ka-input-combo-drawer ul li:hover,.ka-input-backdrop .ka-input-combo-drawer ul li:hover,.ka-input-checklist ul li:hover{background-color:rgba(237,90,35,.1)}.ka-input-combo .ka-input-combo-drawer ul li.selected,.ka-input-backdrop .ka-input-combo-drawer ul li.selected,.ka-input-checklist ul li.selected{color:#ed5a23}.ka-input-combo .ka-input-combo-drawer ul.multiple li,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li,.ka-input-checklist ul.multiple li{padding-left:30px}.ka-input-combo .ka-input-combo-drawer ul.multiple li::before,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li::before,.ka-input-checklist ul.multiple li::before{content:\\\" \\\";display:block;position:absolute;top:8px;left:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}.ka-input-combo .ka-input-combo-drawer ul.multiple li.selected::before,.ka-input-backdrop .ka-input-combo-drawer ul.multiple li.selected::before,.ka-input-checklist ul.multiple li.selected::before{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23,inset 0 0 0 3px #fff}.ka-input-checklist ul li:hover{background-color:rgba(0,0,0,0)}.ka-input-checklist ul li.selected{color:#404040}.ka-input-checklist ul.multiple li.selected::before{box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}.ck.ck-content h1,.ck.ck-content h2,.ck.ck-content h3,.ck.ck-content h4,.ck.ck-content h5,.ck.ck-content p,.ck.ck-content ul,.ck.ck-content ol,.ck.ck-content ul ul,.ck.ck-content ul ol,.ck.ck-content ol ol,.ck.ck-content ol ul,.ck.ck-content blockquote,.ck.ck-content table,.ck.ck-content div{margin:0;padding:0;border:0;border-radius:0;font-size:14px;line-height:1.6;color:#404040;background:none;box-shadow:none;transform:none}.ck.ck-content h1:before,.ck.ck-content h1:after,.ck.ck-content h2:before,.ck.ck-content h2:after,.ck.ck-content h3:before,.ck.ck-content h3:after,.ck.ck-content h4:before,.ck.ck-content h4:after,.ck.ck-content h5:before,.ck.ck-content h5:after,.ck.ck-content p:before,.ck.ck-content p:after,.ck.ck-content ul:before,.ck.ck-content ul:after,.ck.ck-content ol:before,.ck.ck-content ol:after,.ck.ck-content ul ul:before,.ck.ck-content ul ul:after,.ck.ck-content ul ol:before,.ck.ck-content ul ol:after,.ck.ck-content ol ol:before,.ck.ck-content ol ol:after,.ck.ck-content ol ul:before,.ck.ck-content ol ul:after,.ck.ck-content blockquote:before,.ck.ck-content blockquote:after,.ck.ck-content table:before,.ck.ck-content table:after,.ck.ck-content div:before,.ck.ck-content div:after{display:none;content:none}.ck.ck-content h1{margin:35px 10px 20px;font-size:24px;font-weight:bold}.ck.ck-content h2{margin:25px 10px 15px;font-size:22px;font-weight:bold}.ck.ck-content h3{margin:15px 10px 10px;font-size:20px;font-weight:bold}.ck.ck-content h4{margin:15px 10px 10px;font-size:18px;font-weight:bold}.ck.ck-content h5{margin:15px 10px 10px;font-size:16px;font-weight:bold}.ck.ck-content p{margin:10px}.ck.ck-content ul,.ck.ck-content ul ul,.ck.ck-content ul ol,.ck.ck-content ol,.ck.ck-content ol ul,.ck.ck-content ol ol{margin:10px;padding-left:15px}.ck.ck-content ul li,.ck.ck-content ul ul li,.ck.ck-content ul ol li,.ck.ck-content ol li,.ck.ck-content ol ul li,.ck.ck-content ol ol li{margin:0;padding:0}.ck.ck-content blockquote{margin:10px;padding:0 10px;overflow:hidden;font-style:italic;border-left:5px solid #ccc}.ka-button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:10px;border:0;border-radius:3px;padding:0 10px;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2);transition:all .5s}.ka-button.icon{padding:0;width:3rem}.ka-button.icon i{line-height:inherit}.ka-button.round{padding:0;width:3rem;border-radius:50%;overflow:hidden}.ka-button.flat{box-shadow:none !important}.ka-button:disabled{background-color:silver}.ka-button:hover:enabled{color:#fff;background-color:#da4812;box-shadow:none;transform:translateY(3px)}.ka-button.accent{background-color:#19a5f2}.ka-button.accent:hover:enabled{background-color:#0c92db}.ka-button.inverted{color:#ed5a23;background-color:#fff}.ka-button.inverted:hover:enabled{color:#ed5a23;background-color:#ededed}.ka-button.inverted-accent{color:#19a5f2;background-color:#fff}.ka-button.inverted-accent:hover:enabled{color:#19a5f2;background-color:#ededed}.ka-button>i{line-height:inherit;vertical-align:middle}a.ka-button:hover{color:#fff;background-color:#da4812;box-shadow:none;transform:translateY(3px)}a.ka-button.accent:hover{background-color:#0c92db}a.ka-button.inverted:hover{color:#ed5a23;background-color:#ededed}a.ka-button.inverted-accent:hover{color:#19a5f2;background-color:#ededed}ka-button{display:inline-block;position:relative;align-items:flex-start;outline:none;cursor:pointer;margin:10px;border:0;border-radius:3px;padding:0 10px;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;text-align:center;text-decoration:none;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2);transition:all .5s}ka-button.icon{padding:0;width:3rem}ka-button.round{padding:0;width:3rem;border-radius:50%;overflow:hidden}ka-button.active{box-shadow:none;transform:translateY(3px)}ka-button:not(.disabled){color:#fff;background-color:#ed5a23}ka-button:not(.disabled).flat{box-shadow:none}ka-button:not(.disabled):hover{color:#fff;background-color:#da4812}ka-button:not(.disabled).accent{color:#fff;background-color:#19a5f2}ka-button:not(.disabled).accent.flat{box-shadow:none}ka-button:not(.disabled).accent:hover{color:#fff;background-color:#0c92db}ka-button:not(.disabled).accent .busy{background-color:#19a5f2}ka-button:not(.disabled).accent .busy:before,ka-button:not(.disabled).accent .busy:after{background-color:#fff}ka-button:not(.disabled).secondary{color:#fff;background-color:#11254b}ka-button:not(.disabled).secondary.flat{box-shadow:none}ka-button:not(.disabled).secondary:hover{color:#fff;background-color:#0a172e}ka-button:not(.disabled).secondary .busy{background-color:#11254b}ka-button:not(.disabled).secondary .busy:before,ka-button:not(.disabled).secondary .busy:after{background-color:#fff}ka-button:not(.disabled).inverted{color:#ed5a23;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(237,90,35,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.flat{box-shadow:inset 0 0 0px 1px rgba(237,90,35,.7)}ka-button:not(.disabled).inverted:hover{color:#ed5a23;background-color:#ededed}ka-button:not(.disabled).inverted .busy{background-color:#fff}ka-button:not(.disabled).inverted .busy:before,ka-button:not(.disabled).inverted .busy:after{background-color:#ed5a23}ka-button:not(.disabled).inverted.accent{color:#19a5f2;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(25,165,242,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.accent.flat{box-shadow:inset 0 0 0px 1px rgba(25,165,242,.7)}ka-button:not(.disabled).inverted.accent:hover{color:#19a5f2;background-color:#ededed}ka-button:not(.disabled).inverted.accent .busy{background-color:#fff}ka-button:not(.disabled).inverted.accent .busy:before,ka-button:not(.disabled).inverted.accent .busy:after{background-color:#19a5f2}ka-button:not(.disabled).inverted.secondary{color:#11254b;background-color:#fff;box-shadow:inset 0 0 0px 1px rgba(17,37,75,.7),0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button:not(.disabled).inverted.secondary.flat{box-shadow:inset 0 0 0px 1px rgba(17,37,75,.7)}ka-button:not(.disabled).inverted.secondary:hover{color:#11254b;background-color:#ededed}ka-button:not(.disabled).inverted.secondary .busy{background-color:#fff}ka-button:not(.disabled).inverted.secondary .busy:before,ka-button:not(.disabled).inverted.secondary .busy:after{background-color:#11254b}ka-button.disabled{color:silver;background-color:rgba(192,192,192,.3)}ka-button.disabled.flat{box-shadow:none}ka-button>i{line-height:inherit;vertical-align:middle}ka-button .busy{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#ed5a23}ka-button .busy:before,ka-button .busy:after{content:\\\"\\\";position:absolute;border-radius:50%;width:1rem;height:1rem;top:50%;background-color:#fff;transform:translate(-50%, -50%);will-change:left,transform}ka-button .busy:after{animation:left-to-right .5s linear infinite}ka-button .busy:before{animation:right-to-left .5s linear infinite}@keyframes left-to-right{0%{opacity:.5;left:calc(50% - 1rem);transform:translate(-50%, -50%) scale(1)}50%{opacity:1;left:50%;transform:translate(-50%, -50%) scale(1.5)}100%{opacity:.5;left:calc(50% + 1rem);transform:translate(-50%, -50%) scale(1)}}@keyframes right-to-left{0%{opacity:.5;left:calc(50% + 1rem);transform:translate(-50%, -50%) scale(1)}50%{opacity:0;left:50%;transform:translate(-50%, -50%) scale(0.5)}100%{opacity:.5;left:calc(50% - 1rem);transform:translate(-50%, -50%) scale(1)}}.ka-toast{position:fixed;bottom:0;left:0;right:0;z-index:2000;padding:10px;font-size:1.3rem;text-align:center;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1),0 -10px 10px -10px rgba(0,0,0,.1)}.ka-toast.ka-toast-error{color:#fff;background-color:#f30}.ka-toast.ka-toast-success{color:#fff;background-color:#1cc800}.ka-toast.ka-toast-accent{color:#fff;background-color:#19a5f2}.ka-toast.ka-toast-primary{color:#fff;background-color:#ed5a23}ka-table,.ka-table{display:block;position:relative;max-width:100%;background-color:#fff}ka-table:not(.full-height),.ka-table:not(.full-height){box-shadow:0 0 0 1px #e0e0e0}ka-table .ka-toolbar,.ka-table .ka-toolbar{display:flex;height:4rem;font-size:12px;line-height:4rem;color:#606060;box-shadow:inset 0 -1px 0 #e0e0e0}ka-table .ka-toolbar .ka-navigation,.ka-table .ka-toolbar .ka-navigation{display:flex}ka-table .ka-toolbar .ka-navigation .ka-position,.ka-table .ka-toolbar .ka-navigation .ka-position{padding:0 10px;min-width:100px;text-align:center;cursor:pointer}ka-table .ka-toolbar .ka-tools-left,.ka-table .ka-toolbar .ka-tools-left{flex:1;display:flex;justify-content:flex-start}ka-table .ka-toolbar .ka-tools-right,.ka-table .ka-toolbar .ka-tools-right{flex:1;display:flex;justify-content:flex-end}ka-table .ka-wrapper,.ka-table .ka-wrapper{overflow:auto}ka-table.full-height .ka-wrapper,.ka-table.full-height .ka-wrapper{position:relative;height:calc(100% - 4rem)}ka-table.no-wrap th,ka-table.no-wrap td,.ka-table.no-wrap th,.ka-table.no-wrap td,table.ka-table-like.no-wrap th,table.ka-table-like.no-wrap td{white-space:nowrap}ka-table .ka-table-button,.ka-table .ka-table-button,table.ka-table-like .ka-table-button{display:inline-block;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;padding:0;width:4rem;height:4rem;line-height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:rgba(0,0,0,0);box-shadow:none;transition:all .5s}ka-table .ka-table-button+.ka-table-button,.ka-table .ka-table-button+.ka-table-button,table.ka-table-like .ka-table-button+.ka-table-button{border-left:0}ka-table .ka-table-button:not(.disabled):hover,.ka-table .ka-table-button:not(.disabled):hover,table.ka-table-like .ka-table-button:not(.disabled):hover{color:#404040;background-color:rgba(237,90,35,.05)}ka-table .ka-table-button.primary:not(.disabled),.ka-table .ka-table-button.primary:not(.disabled),table.ka-table-like .ka-table-button.primary:not(.disabled){color:rgba(237,90,35,.7)}ka-table .ka-table-button.primary:not(.disabled):hover,.ka-table .ka-table-button.primary:not(.disabled):hover,table.ka-table-like .ka-table-button.primary:not(.disabled):hover{color:#ed5a23}ka-table .ka-table-button:first-of-type,.ka-table .ka-table-button:first-of-type,table.ka-table-like .ka-table-button:first-of-type{border-left:0}ka-table .ka-table-button:last-of-type,.ka-table .ka-table-button:last-of-type,table.ka-table-like .ka-table-button:last-of-type{border-right:0}ka-table .ka-table-button:focus,.ka-table .ka-table-button:focus,table.ka-table-like .ka-table-button:focus{background-color:inherit}ka-table .ka-table-button.disabled,.ka-table .ka-table-button.disabled,table.ka-table-like .ka-table-button.disabled{color:#e0e0e0}ka-table .ka-table-button:before,.ka-table .ka-table-button:before,table.ka-table-like .ka-table-button:before{font-size:20px}ka-table .ka-table-button i,.ka-table .ka-table-button i,table.ka-table-like .ka-table-button i{line-height:inherit;color:inherit}ka-table .ka-table-button.filters.active,.ka-table .ka-table-button.filters.active,table.ka-table-like .ka-table-button.filters.active{color:#19a5f2}ka-table .ka-table-button.filters+.reset,.ka-table .ka-table-button.filters+.reset,table.ka-table-like .ka-table-button.filters+.reset{margin-left:-2rem;width:2rem;height:2rem;line-height:2rem}ka-table .ka-table-button.filters+.reset i,.ka-table .ka-table-button.filters+.reset i,table.ka-table-like .ka-table-button.filters+.reset i{font-size:1rem}ka-table .ka-table-button.filters+.reset:hover,.ka-table .ka-table-button.filters+.reset:hover,table.ka-table-like .ka-table-button.filters+.reset:hover{color:#19a5f2;background:none}ka-table .ka-wrapper>table,.ka-table .ka-wrapper>table,table.ka-table-like{display:table;margin:0;border:0;border-collapse:collapse;border-spacing:0;width:100%;overflow:hidden}ka-table .ka-wrapper>table th,ka-table .ka-wrapper>table td,.ka-table .ka-wrapper>table th,.ka-table .ka-wrapper>table td,table.ka-table-like th,table.ka-table-like td{padding:1rem;font-size:14px;line-height:2rem;color:#404040;text-align:left}ka-table .ka-wrapper>table th a,ka-table .ka-wrapper>table td a,.ka-table .ka-wrapper>table th a,.ka-table .ka-wrapper>table td a,table.ka-table-like th a,table.ka-table-like td a{cursor:pointer}ka-table .ka-wrapper>table thead,.ka-table .ka-wrapper>table thead,table.ka-table-like thead{border-bottom:1px solid #e0e0e0}ka-table .ka-wrapper>table thead th,.ka-table .ka-wrapper>table thead th,table.ka-table-like thead th{position:relative;vertical-align:middle;white-space:nowrap;padding-right:30px}ka-table .ka-wrapper>table thead th .ka-sort-button,.ka-table .ka-wrapper>table thead th .ka-sort-button,table.ka-table-like thead th .ka-sort-button{position:absolute;margin-left:5px;transition:all .5s;color:rgba(64,64,64,.5);text-decoration:none}ka-table .ka-wrapper>table thead th .ka-sort-button i,.ka-table .ka-wrapper>table thead th .ka-sort-button i,table.ka-table-like thead th .ka-sort-button i{line-height:inherit;transform:rotateX(180deg)}ka-table .ka-wrapper>table thead th .ka-sort-button:hover,.ka-table .ka-wrapper>table thead th .ka-sort-button:hover,table.ka-table-like thead th .ka-sort-button:hover{color:#404040}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-asc i,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-asc i,table.ka-table-like thead th .ka-sort-button.sort-asc i{color:#19a5f2}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-desc i,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-desc i,table.ka-table-like thead th .ka-sort-button.sort-desc i{color:#19a5f2;transform:rotateX(0deg)}ka-table .ka-wrapper>table thead th .ka-sort-button:after,.ka-table .ka-wrapper>table thead th .ka-sort-button:after,table.ka-table-like thead th .ka-sort-button:after{position:absolute;top:-5px;right:-5px;border-radius:50%;width:1.3rem;height:1.3rem;line-height:1.3rem;font-size:1rem;color:#fff;text-align:center;background-color:#19a5f2}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-1:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-1:after,table.ka-table-like thead th .ka-sort-button.sort-1:after{content:\\\"1\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-2:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-2:after,table.ka-table-like thead th .ka-sort-button.sort-2:after{content:\\\"2\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-3:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-3:after,table.ka-table-like thead th .ka-sort-button.sort-3:after{content:\\\"3\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-4:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-4:after,table.ka-table-like thead th .ka-sort-button.sort-4:after{content:\\\"4\\\"}ka-table .ka-wrapper>table thead th .ka-sort-button.sort-5:after,.ka-table .ka-wrapper>table thead th .ka-sort-button.sort-5:after,table.ka-table-like thead th .ka-sort-button.sort-5:after{content:\\\"5\\\"}ka-table .ka-wrapper>table tbody tr,.ka-table .ka-wrapper>table tbody tr,table.ka-table-like tbody tr{border-bottom:1px solid #f4f4f4;background-color:#fcfcfc}ka-table .ka-wrapper>table tbody tr:nth-child(even),.ka-table .ka-wrapper>table tbody tr:nth-child(even),table.ka-table-like tbody tr:nth-child(even){background-color:#f8f8f8}ka-table .ka-wrapper>table tbody tr:hover,ka-table .ka-wrapper>table tbody tr:nth-child(even):hover,.ka-table .ka-wrapper>table tbody tr:hover,.ka-table .ka-wrapper>table tbody tr:nth-child(even):hover,table.ka-table-like tbody tr:hover,table.ka-table-like tbody tr:nth-child(even):hover{background-color:rgba(25,165,242,.05)}ka-table .ka-wrapper>table tbody td,.ka-table .ka-wrapper>table tbody td,table.ka-table-like tbody td{vertical-align:top}ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type,table.ka-table-like tbody td.ka-tr-tools:first-of-type{text-align:left}ka-table .ka-wrapper>table tbody td.ka-tr-tools:last-of-type,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:last-of-type,table.ka-table-like tbody td.ka-tr-tools:last-of-type{text-align:right}ka-table .ka-wrapper>table tbody td.ka-tr-tools,.ka-table .ka-wrapper>table tbody td.ka-tr-tools,table.ka-table-like tbody td.ka-tr-tools{padding:0;white-space:nowrap}ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button,ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button:hover,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .ka-table-button:hover,table.ka-table-like tbody td.ka-tr-tools .ka-table-button,table.ka-table-like tbody td.ka-tr-tools .ka-table-button:hover{display:inline-block;background:rgba(0,0,0,0)}ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button,ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button:hover,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:first-of-type .ka-table-button:hover,table.ka-table-like tbody td.ka-tr-tools:first-of-type .ka-table-button,table.ka-table-like tbody td.ka-tr-tools:first-of-type .ka-table-button:hover{float:left}ka-table .ka-wrapper>table tbody td.ka-tr-tools:after,.ka-table .ka-wrapper>table tbody td.ka-tr-tools:after,table.ka-table-like tbody td.ka-tr-tools:after{content:\\\" \\\";display:block;width:100%}ka-table .ka-wrapper>table tbody td.ka-tr-tools .floater.float,.ka-table .ka-wrapper>table tbody td.ka-tr-tools .floater.float,table.ka-table-like tbody td.ka-tr-tools .floater.float{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;align-content:center;position:absolute;right:0;background:#fff;background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 25%, white 75%, rgba(255, 255, 255, 0) 100%);box-shadow:-5px 0 5px -5px rgba(0,0,0,.25)}ka-table .ka-wrapper>table tbody td small,.ka-table .ka-wrapper>table tbody td small,table.ka-table-like tbody td small{color:rgba(64,64,64,.7)}.ka-table-options{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;opacity:0;justify-content:flex-start;position:absolute;left:50%;padding:2rem;width:26rem;z-index:97;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1);transform:translateX(-50%) translateY(50px);transition:transform .5s,opacity .5s}.ka-table-options.open{opacity:1;transform:translateX(-50%) translateY(0px)}.ka-table-options.hidden{display:none}.ka-table-options ka-input{margin:15px 10px 0;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.ka-table-drawer{position:absolute;top:0;bottom:0;right:0;border-right:1px solid #e0e0e0;width:90%;max-width:400px;overflow-y:auto;background-color:#fff;box-shadow:-10px 0 10px -10px rgba(0,0,0,.1);transform:translateX(100%);transition:transform .5s}.ka-table-drawer.open{transform:translateX(0)}.ka-table-drawer.hidden{display:none}.ka-table-drawer ka-input label{overflow:visible}.ka-table-drawer.export ka-input{margin:0}.ka-table-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.ka-table-progress{position:absolute;top:calc(4rem - 1px);left:0;right:0;height:3px;background-color:#e0e0e0;overflow:hidden}.ka-table-progress>div{background-color:#ed5a23}.ka-table-progress>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.ka-table-progress>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}.ka-table-dialog{background:#f9f9f9}.ka-table-dialog ux-dialog-body{padding:0;width:70vw;max-width:calc(100vw - 60px)}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@media only screen and (max-width: 575px){ka-table .ka-wrapper>table,table.ka-table-like{display:block;max-width:100%;min-width:300px;width:100%}ka-table .ka-wrapper>table thead,ka-table .ka-wrapper>table tfoot,table.ka-table-like thead,table.ka-table-like tfoot{display:block}ka-table .ka-wrapper>table tbody,table.ka-table-like tbody{display:block;overflow-x:hidden;overflow-y:visible;width:100%}ka-table .ka-wrapper>table tr,table.ka-table-like tr{display:block;position:relative}ka-table .ka-wrapper>table tbody tr,table.ka-table-like tbody tr{min-height:4rem}ka-table .ka-wrapper>table th,table.ka-table-like th{display:none}ka-table .ka-wrapper>table td,table.ka-table-like td{display:block;padding:0 0 .5rem .5rem;font-size:1.3rem;line-height:1.2}ka-table .ka-wrapper>table td:first-of-type,table.ka-table-like td:first-of-type{padding-top:.5rem}ka-table .ka-wrapper>table td.ka-tr-tools,table.ka-table-like td.ka-tr-tools{height:4rem;position:absolute;right:0;top:0}ka-table .ka-wrapper>table td.ka-tr-tools:before,table.ka-table-like td.ka-tr-tools:before{display:none}ka-table .ka-wrapper>table td[data-th],table.ka-table-like td[data-th]{padding:0 0 .5rem 25vw}ka-table .ka-wrapper>table td[data-th]:before,table.ka-table-like td[data-th]:before{display:inline-block;content:attr(data-th);margin-left:-25vw;padding:0 1rem;width:25vw;font-weight:bold;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}}.ka-resource-buttons{position:absolute;top:0;right:0}.ka-resource-buttons a{position:relative;display:inline-block;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:5rem;height:5rem;line-height:5rem;color:rgba(255,255,255,.5);text-align:center;transition:all .2s}.ka-resource-buttons a::after{content:\\\" \\\";display:block;position:absolute;left:0;top:.5rem;bottom:.5rem;width:1px;background-color:rgba(255,255,255,.2)}.ka-resource-buttons a:hover{color:#fff}.ka-resource-buttons a:first-of-type{border-left:0}.ka-resource-buttons a:last-of-type{border-right:0}.ka-resource-buttons a:focus{background-color:inherit}.ka-resource-buttons a:before{font-size:20px}.ka-resource-buttons a i{line-height:inherit}ux-dialog .ka-resource-buttons{z-index:2}ux-dialog .ka-resource-buttons a{color:rgba(237,90,35,.5)}ux-dialog .ka-resource-buttons a::after{background-color:rgba(237,90,35,.2)}ux-dialog .ka-resource-buttons a:hover{color:#ed5a23}.ka-resource-progress{position:absolute;top:5rem;left:0;right:0;z-index:2;height:3px;background-color:#e0e0e0;overflow:hidden}.ka-resource-progress>div{background-color:#ed5a23}.ka-resource-progress>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.ka-resource-progress>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}ux-dialog .ka-resource-progress{top:auto}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}ux-dialog-container{display:flex}ux-dialog-container.active{background-color:rgba(0,0,0,.2)}ux-dialog-container>div{margin:auto !important}ux-dialog{display:block;position:relative;border:0;border-radius:3px;padding:0;overflow:hidden;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}ux-dialog.viewModel{width:calc(100vw - 80px)}ux-dialog ux-dialog-header{display:block;border:0;padding:0}ux-dialog ux-dialog-header h2{z-index:1;margin:0;font-size:1.8rem}ux-dialog ux-dialog-header h2::after{border-top-left-radius:3px;border-top-right-radius:3px}ux-dialog ux-dialog-body{display:block;padding:2rem;font-size:1.4rem}ux-dialog ux-dialog-body h2{z-index:1}ux-dialog.viewModel ux-dialog-body{padding:0}@media only screen and (max-width: 400px){ux-dialog-container>div{padding:1rem !important}ux-dialog.viewModel{width:calc(100vw - 20px)}}ka-tabs{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;align-content:flex-start}ka-tabs>nav{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin:0;border-bottom:3px solid #e0e0e0;height:5rem;background-color:#fff}ka-tabs>nav a{position:relative;cursor:pointer;display:inline-block;outline:none;padding:0 1rem;line-height:5rem;font-size:1.2rem;color:rgba(64,64,64,.5);letter-spacing:.1rem;text-decoration:none;text-transform:uppercase;transition:all .4s}ka-tabs>nav a::after{content:\\\" \\\";opacity:0;display:block;position:absolute;bottom:0px;left:50%;z-index:2;width:0%;height:3px;background-color:#ed5a23;transform:translateX(-50%);transition:all .2s}ka-tabs>nav a:hover{color:#ed5a23}ka-tabs>nav a:hover::after{opacity:1;width:100%}ka-tabs>nav a.active{color:#ed5a23}ka-tabs>nav a.active::after{opacity:1;width:100%}ka-tabs>nav a .counter{display:block;position:absolute;bottom:0;left:50%;z-index:3;margin-left:-0.75rem;border-top-left-radius:3px;border-top-right-radius:3px;width:1.5rem;font-size:1rem;line-height:1.5rem;color:#fff;text-align:center;background-color:#ed5a23;box-shadow:0 0 0 3px #fff}ka-tabs>nav a .counter.errors{background-color:#f30}ka-tabs>[ref=buttons]{float:right;margin-top:-5rem}ka-tabs>[ref=buttons] a{display:inline-block;outline:none;cursor:pointer;margin:0;border:0;border-left:1px solid #e0e0e0;border-bottom:3px solid #e0e0e0;padding:0;width:5rem;height:5rem;line-height:5rem;color:rgba(64,64,64,.5);text-align:center;background:#fff;transition:all .2s}ka-tabs>[ref=buttons] a:hover{color:#ed5a23}ka-tabs>[ref=buttons] a:first-of-type{border-left:0}ka-tabs>[ref=buttons] a:last-of-type{border-right:0}ka-tabs>[ref=buttons] a:focus{background-color:inherit}ka-tabs>[ref=buttons] a:before{font-size:20px}ka-tabs>[ref=buttons] a i{line-height:inherit}ka-tabs>[ref=contents]>ka-tab{white-space:initial}.ka-tooltip{pointer-events:none;display:none;position:absolute;z-index:1100;border-radius:5px;padding:1rem 1rem;font-size:1.2rem;font-weight:400;line-height:1.4rem;color:#fff;background-color:#404040}.ka-tooltip.visible{display:block}.ka-tooltip>div.value a{color:inherit}.ka-tooltip>div.arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}.ka-tooltip.primary{background-color:#ed5a23}.ka-tooltip.secondary{background-color:#19a5f2}ka-control-combo,ka-control-text,ka-control-date,ka-control-datetime,ka-control-file,ka-control-number,ka-control-password,ka-control-textarea,ka-control-editor,ka-control-list,ka-control-check{display:block;position:relative;flex:1 1 0}ka-control-combo input,ka-control-text input,ka-control-date input,ka-control-datetime input,ka-control-file input,ka-control-number input,ka-control-password input,ka-control-textarea input,ka-control-editor input,ka-control-list input,ka-control-check input{outline:none;appearance:none;-moz-appearance:none;-webkit-appearance:none}ka-control-combo .display-value,ka-control-combo .display-value[disabled],ka-control-text .display-value,ka-control-text .display-value[disabled],ka-control-date .display-value,ka-control-date .display-value[disabled],ka-control-datetime .display-value,ka-control-datetime .display-value[disabled],ka-control-file .display-value,ka-control-file .display-value[disabled],ka-control-number .display-value,ka-control-number .display-value[disabled],ka-control-password .display-value,ka-control-password .display-value[disabled],ka-control-textarea .display-value,ka-control-textarea .display-value[disabled],ka-control-editor .display-value,ka-control-editor .display-value[disabled],ka-control-list .display-value,ka-control-list .display-value[disabled],ka-control-check .display-value,ka-control-check .display-value[disabled]{outline:none;border:0;border-radius:0;padding:0 0 0 .7rem;width:100%;height:3rem;font-family:inherit;font-size:1.4rem;line-height:3rem;color:#404040;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-control-combo .display-value:hover,ka-control-combo .display-value[disabled]:hover,ka-control-text .display-value:hover,ka-control-text .display-value[disabled]:hover,ka-control-date .display-value:hover,ka-control-date .display-value[disabled]:hover,ka-control-datetime .display-value:hover,ka-control-datetime .display-value[disabled]:hover,ka-control-file .display-value:hover,ka-control-file .display-value[disabled]:hover,ka-control-number .display-value:hover,ka-control-number .display-value[disabled]:hover,ka-control-password .display-value:hover,ka-control-password .display-value[disabled]:hover,ka-control-textarea .display-value:hover,ka-control-textarea .display-value[disabled]:hover,ka-control-editor .display-value:hover,ka-control-editor .display-value[disabled]:hover,ka-control-list .display-value:hover,ka-control-list .display-value[disabled]:hover,ka-control-check .display-value:hover,ka-control-check .display-value[disabled]:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5)}ka-control-combo .display-value:focus,ka-control-combo .display-value:focus:hover,ka-control-combo .display-value[disabled]:focus,ka-control-combo .display-value[disabled]:focus:hover,ka-control-text .display-value:focus,ka-control-text .display-value:focus:hover,ka-control-text .display-value[disabled]:focus,ka-control-text .display-value[disabled]:focus:hover,ka-control-date .display-value:focus,ka-control-date .display-value:focus:hover,ka-control-date .display-value[disabled]:focus,ka-control-date .display-value[disabled]:focus:hover,ka-control-datetime .display-value:focus,ka-control-datetime .display-value:focus:hover,ka-control-datetime .display-value[disabled]:focus,ka-control-datetime .display-value[disabled]:focus:hover,ka-control-file .display-value:focus,ka-control-file .display-value:focus:hover,ka-control-file .display-value[disabled]:focus,ka-control-file .display-value[disabled]:focus:hover,ka-control-number .display-value:focus,ka-control-number .display-value:focus:hover,ka-control-number .display-value[disabled]:focus,ka-control-number .display-value[disabled]:focus:hover,ka-control-password .display-value:focus,ka-control-password .display-value:focus:hover,ka-control-password .display-value[disabled]:focus,ka-control-password .display-value[disabled]:focus:hover,ka-control-textarea .display-value:focus,ka-control-textarea .display-value:focus:hover,ka-control-textarea .display-value[disabled]:focus,ka-control-textarea .display-value[disabled]:focus:hover,ka-control-editor .display-value:focus,ka-control-editor .display-value:focus:hover,ka-control-editor .display-value[disabled]:focus,ka-control-editor .display-value[disabled]:focus:hover,ka-control-list .display-value:focus,ka-control-list .display-value:focus:hover,ka-control-list .display-value[disabled]:focus,ka-control-list .display-value[disabled]:focus:hover,ka-control-check .display-value:focus,ka-control-check .display-value:focus:hover,ka-control-check .display-value[disabled]:focus,ka-control-check .display-value[disabled]:focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-control-combo .display-value.readonly,ka-control-combo .display-value.readonly:focus,ka-control-combo .display-value.readonly:hover,ka-control-combo .display-value[disabled].readonly,ka-control-combo .display-value[disabled].readonly:focus,ka-control-combo .display-value[disabled].readonly:hover,ka-control-text .display-value.readonly,ka-control-text .display-value.readonly:focus,ka-control-text .display-value.readonly:hover,ka-control-text .display-value[disabled].readonly,ka-control-text .display-value[disabled].readonly:focus,ka-control-text .display-value[disabled].readonly:hover,ka-control-date .display-value.readonly,ka-control-date .display-value.readonly:focus,ka-control-date .display-value.readonly:hover,ka-control-date .display-value[disabled].readonly,ka-control-date .display-value[disabled].readonly:focus,ka-control-date .display-value[disabled].readonly:hover,ka-control-datetime .display-value.readonly,ka-control-datetime .display-value.readonly:focus,ka-control-datetime .display-value.readonly:hover,ka-control-datetime .display-value[disabled].readonly,ka-control-datetime .display-value[disabled].readonly:focus,ka-control-datetime .display-value[disabled].readonly:hover,ka-control-file .display-value.readonly,ka-control-file .display-value.readonly:focus,ka-control-file .display-value.readonly:hover,ka-control-file .display-value[disabled].readonly,ka-control-file .display-value[disabled].readonly:focus,ka-control-file .display-value[disabled].readonly:hover,ka-control-number .display-value.readonly,ka-control-number .display-value.readonly:focus,ka-control-number .display-value.readonly:hover,ka-control-number .display-value[disabled].readonly,ka-control-number .display-value[disabled].readonly:focus,ka-control-number .display-value[disabled].readonly:hover,ka-control-password .display-value.readonly,ka-control-password .display-value.readonly:focus,ka-control-password .display-value.readonly:hover,ka-control-password .display-value[disabled].readonly,ka-control-password .display-value[disabled].readonly:focus,ka-control-password .display-value[disabled].readonly:hover,ka-control-textarea .display-value.readonly,ka-control-textarea .display-value.readonly:focus,ka-control-textarea .display-value.readonly:hover,ka-control-textarea .display-value[disabled].readonly,ka-control-textarea .display-value[disabled].readonly:focus,ka-control-textarea .display-value[disabled].readonly:hover,ka-control-editor .display-value.readonly,ka-control-editor .display-value.readonly:focus,ka-control-editor .display-value.readonly:hover,ka-control-editor .display-value[disabled].readonly,ka-control-editor .display-value[disabled].readonly:focus,ka-control-editor .display-value[disabled].readonly:hover,ka-control-list .display-value.readonly,ka-control-list .display-value.readonly:focus,ka-control-list .display-value.readonly:hover,ka-control-list .display-value[disabled].readonly,ka-control-list .display-value[disabled].readonly:focus,ka-control-list .display-value[disabled].readonly:hover,ka-control-check .display-value.readonly,ka-control-check .display-value.readonly:focus,ka-control-check .display-value.readonly:hover,ka-control-check .display-value[disabled].readonly,ka-control-check .display-value[disabled].readonly:focus,ka-control-check .display-value[disabled].readonly:hover{padding:0 0 0 .1px;background:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ka-control{display:inline-block;position:relative;margin:.5rem 0;width:100%}ka-control>label{display:block;margin:0;padding:0;width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap;transition:all .5s}ka-control>div{display:flex;flex-wrap:nowrap}ka-control>div>.ka-control-buttons{display:flex}ka-control>div>.ka-control-buttons button,ka-control>div>.ka-control-buttons button:focus{-webkit-appearance:none;-moz-appearance:none;display:block;margin:0;outline:0;border:0;border-left:1px solid #e0e0e0;border-radius:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3);transition:all .5s}ka-control>div>.ka-control-buttons button .material-icons,ka-control>div>.ka-control-buttons button i[class*=fa],ka-control>div>.ka-control-buttons button:focus .material-icons,ka-control>div>.ka-control-buttons button:focus i[class*=fa]{font-size:inherit;line-height:inherit;color:inherit}ka-control>div>.ka-control-buttons button:hover,ka-control>div>.ka-control-buttons button:focus:hover{box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.5);color:#ed5a23}ka-control>div>.ka-control-buttons button:focus,ka-control>div>.ka-control-buttons button:focus:hover,ka-control>div>.ka-control-buttons button:focus:focus,ka-control>div>.ka-control-buttons button:focus:focus:hover{box-shadow:inset 0 -1px 0 0 #ed5a23}ka-control>div>.ka-control-buttons .button-dropdown{border-left:0}ka-control>.ka-control-overlay{width:100%}ka-control>.ka-control-overlay .ka-control-error{display:block;position:absolute;z-index:100;margin-top:-1px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:0 .5rem;width:100%;height:0;overflow:hidden;font-size:1.1rem;line-height:2rem;color:#f30;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;box-shadow:0 5px 10px -5px rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(255,51,0,.3),0 10px 10px -8px rgba(255,51,0,.3),10px 0 10px -8px rgba(255,51,0,.3),-10px 0 10px -8px rgba(255,51,0,.3);opacity:0;transition:height .2s,opacity .2s;pointer-events:none}ka-control>.ka-control-overlay .ka-control-error:before{content:\\\" \\\";position:absolute;inset:0 0 0 0;background-color:rgba(255,51,0,.1);z-index:-1}ka-control>.ka-control-overlay .ka-control-error span+span:before{content:\\\"-\\\";margin:0 5px}ka-control>.ka-control-overlay .ka-control-error .ka-control-error-scroller{display:flex;width:fit-content}ka-control>.ka-control-overlay .ka-control-error .ka-control-error-scroller span.clone{display:none}ka-control>.ka-control-overlay .ka-control-error.scroll .ka-control-error-scroller{animation:ka-control-error-scroller infinite 10s linear}ka-control>.ka-control-overlay .ka-control-error.scroll .ka-control-error-scroller span.clone{display:inline}ka-control>.ka-control-overlay .ka-control-description{display:block;position:absolute;z-index:100;margin-top:-1px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:0 .5rem;width:100%;height:0;overflow:hidden;font-size:1.1rem;line-height:2rem;color:#ed5a23;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;box-shadow:0 5px 10px -5px rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(237,90,35,.3),0 10px 10px -8px rgba(237,90,35,.3),10px 0 10px -8px rgba(237,90,35,.3),-10px 0 10px -8px rgba(237,90,35,.3);opacity:0;transition:height .2s,opacity .2s;pointer-events:none}ka-control>.ka-control-overlay .ka-control-description:before{content:\\\" \\\";position:absolute;inset:0 0 0 0;background-color:rgba(237,90,35,.1);z-index:-1}ka-control.focus>div:first-of-type{background:#fff;box-shadow:inset 0 0 0 1px rgba(237,90,35,.3),0 0 10px 0 rgba(237,90,35,.3)}ka-control.focus:not(.error)>.ka-control-overlay .ka-control-description{height:2rem;opacity:1}ka-control.focus.error>.ka-control-overlay .ka-control-error{height:2rem;opacity:1}ka-control.error>label{color:#f30;animation:ka-control-shake .7s}ka-control.error>div:first-of-type{background-color:#fff;box-shadow:inset 0 0 0 1px rgba(255,51,0,.3),0 0 10px 0 rgba(255,51,0,.3)}ka-control.error:not(.hadFocus)>.ka-control-overlay .ka-control-error{animation:4s ka-control-slidedownup}ka-control.ka-control-combo:not(.error)>div:hover+.ka-control-overlay .ka-control-description{display:block}ka-control.show-label-overflow>label{overflow:visible}ka-control.no-label>label{display:none}ka-control-backdrop{display:block;position:fixed;top:0;right:0;width:100%;height:100%;z-index:1999}@keyframes ka-control-slidedown{from{opacity:0;height:0}to{opacity:1;height:2rem}}@keyframes ka-control-slidedownup{0%{opacity:0;height:0}5%{opacity:1;height:2rem}95%{opacity:1;height:2rem}100%{opacity:0;height:0}}@keyframes ka-control-error-scroller{0%{transform:translateX(0%)}100%{transform:translateX(-50%)}}ka-control-check{position:relative;height:3rem;display:flex;align-items:center}ka-control-check input[type=checkbox]{display:block;margin:0;border:0;border-radius:1px;width:1.4rem;height:1.4rem;background:rgba(0,0,0,0);box-shadow:inset 0 0 0 1px #404040}ka-control-check input[type=checkbox]:checked{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-control-check .description{display:inline-block;padding-left:1rem;max-width:100%;overflow:hidden;line-height:3rem;font-size:1.4rem;color:#404040;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}ka-control-combo{display:block;position:relative;height:3rem;overflow:hidden}ka-control-combo .display-value{overflow:hidden;cursor:text}ka-control-combo .display-value ul{margin:0;padding:0 .1px 0 0;list-style:none;user-select:none;white-space:nowrap;display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:nowrap}ka-control-combo .display-value ul li{position:relative;display:block;font-size:1.4rem;line-height:3rem;color:#404040;cursor:pointer;overflow:hidden;text-overflow:ellipsis;flex-grow:0;flex-shrink:1;flex-basis:auto;transition:all .3s}ka-control-combo .display-value ul li:not(:last-child){margin-right:.3rem}ka-control-combo .display-value ul li:not(:last-child):after{content:\\\",\\\"}ka-control-combo .display-value ul li i{display:none;position:absolute;top:0;right:0;width:2.4rem;font-size:inherit;line-height:inherit;color:#fff;text-align:center;background-color:#ed5a23}ka-control-combo .display-value ul li:hover{flex-grow:0;flex-shrink:0;max-width:calc(100% - .6rem);max-width:--webkit-fill-available}ka-control-combo .display-value ul li:hover i{display:block}ka-control-combo.multiple .display-value:not(.readonly){padding-left:0}ka-control-combo.multiple .display-value:not(.readonly) ul li{margin:.3rem;border-radius:.2rem;padding:0 .5rem;line-height:2.4rem;box-shadow:inset 0 0 0 1px rgba(237,90,35,.5);background-color:rgba(237,90,35,.2)}ka-control-combo.multiple .display-value:not(.readonly) ul li:after{display:none}ka-control-backdrop{background-color:rgba(0,0,0,.0666666667)}ka-control-combo [ref=drawer],ka-control-backdrop [ref=drawer]{position:absolute;top:3rem;z-index:2000;width:100%;min-width:fit-content;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}ka-control-combo [ref=drawer] .search,ka-control-backdrop [ref=drawer] .search{outline:none;border:0;border-radius:0;padding:0 0 0 .7rem;width:100%;height:3rem;font-family:inherit;font-size:1.4rem;line-height:3rem;color:#404040;background-color:#fff}ka-control-combo [ref=drawer] .search-loader,ka-control-backdrop [ref=drawer] .search-loader{position:absolute;right:0;width:3rem;height:3rem;font-size:1.5rem;line-height:3rem;text-align:center;color:#404040;--fa-animation-duration: 0.5s}ka-control-combo [ref=drawer] ul,ka-control-backdrop [ref=drawer] ul{margin:0;padding:0;width:100%;max-height:25rem;overflow:hidden;overflow-y:auto;list-style:none;user-select:none}ka-control-combo [ref=drawer] ul li,ka-control-backdrop [ref=drawer] ul li{position:relative;margin:0;padding:.5rem 1rem;overflow:hidden;font-size:1.4rem;line-height:2rem;cursor:pointer;color:#404040;white-space:nowrap;text-overflow:ellipsis}ka-control-combo [ref=drawer] ul li.optgroup,ka-control-backdrop [ref=drawer] ul li.optgroup{color:rgba(64,64,64,.6)}ka-control-combo [ref=drawer] ul li:not(.optgroup):not(.readonly):hover,ka-control-backdrop [ref=drawer] ul li:not(.optgroup):not(.readonly):hover{background-color:rgba(237,90,35,.1)}ka-control-combo [ref=drawer] ul li:not(.readonly).selected,ka-control-backdrop [ref=drawer] ul li:not(.readonly).selected{color:#ed5a23}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup),ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup){padding-left:30px}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup)::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup)::before{content:\\\" \\\";display:block;position:absolute;top:8px;left:8px;width:14px;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px #404040}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup).selected::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup).selected::before{background-color:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23,inset 0 0 0 3px #fff}ka-control-combo [ref=drawer].multiple ul li:not(.optgroup).readonly.selected::before,ka-control-backdrop [ref=drawer].multiple ul li:not(.optgroup).readonly.selected::before{background-color:rgba(64,64,64,.7);box-shadow:inset 0 0 0 1px #404040,inset 0 0 0 3px #fff}ka-control-date .ka-control-date-drawer{display:none}ka-control-datetime .ka-control-datetime-drawer{display:none}ka-datetime{display:block}ka-datetime .selectors{color:rgba(64,64,64,.5);box-shadow:inset 0 -1px 0 #e0e0e0}ka-datetime .selectors:last-of-type{box-shadow:inset 0 1px 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(1) button{box-shadow:inset -1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(2)>div{position:relative;margin:0 0 0 auto;max-width:100px;text-align:right}ka-datetime .selectors [class*=col]:nth-child(2)>div select{text-transform:capitalize;box-shadow:inset 1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(3)>div{position:relative;margin:0 auto 0 0;max-width:100px;text-align:right}ka-datetime .selectors [class*=col]:nth-child(3)>div select{box-shadow:inset -1px 0 0 #e0e0e0,inset 1px 0 0 #e0e0e0}ka-datetime .selectors [class*=col]:nth-child(4) button{box-shadow:inset 1px 0 0 #e0e0e0}ka-datetime .selectors button{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;color:inherit;background:rgba(0,0,0,0);transition:all .5s}ka-datetime .selectors button:hover{color:#404040;background:rgba(237,90,35,.05)}ka-datetime .selectors select{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0 1rem;width:100%;height:3rem;font-size:1.4rem;line-height:3rem;color:#404040;background:rgba(0,0,0,0);box-shadow:inset -1px 0 0 #e0e0e0,inset 1px 0 0 #e0e0e0,inset 0 -1px 0 #e0e0e0;transition:all .5s}ka-datetime .selectors select:hover{color:#404040;background:rgba(237,90,35,.05)}ka-datetime .selectors select+.dropdown{pointer-events:none;display:block;position:absolute;top:0;right:0;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center}ka-datetime .weekdays{color:#404040;font-size:1rem;font-weight:700;line-height:2rem;text-align:center;text-transform:uppercase}ka-datetime .days button{cursor:pointer;appearance:none;display:block;border:0;outline:none;margin:0;padding:0;width:100%;height:2rem;font-size:1rem;line-height:2rem;color:inherit;text-align:center;background:rgba(0,0,0,0)}ka-datetime .days button:not([disabled]):hover{color:#ed5a23;background:rgba(237,90,35,.1)}ka-datetime .days button.selected,ka-datetime .days button.selected:hover{color:#fff;background:#ed5a23}ka-datetime .days button[disabled]{opacity:.5}ka-control-backdrop{display:block;position:fixed;top:0;right:0;width:100%;height:100%;z-index:1999;background-color:rgba(0,0,0,.0666666667)}ka-control-backdrop [ref=drawer]{display:block !important;position:absolute;z-index:2000;min-width:fit-content;background-color:#fff;box-shadow:0 10px 10px -10px rgba(0,0,0,.3),0 5px 15px -5px rgba(0,0,0,.2),0 -1px 0 0 #ed5a23}ka-control-file input[type=file]{outline:none;position:absolute;top:0;left:0;opacity:0;border:0;border-radius:0;padding:0;width:100%;height:3rem}ka-control-file .buttons{display:none;position:absolute;top:0;right:0;white-space:nowrap;text-align:right;background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%)}ka-control-file .buttons button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;border:0;padding:0;width:3rem;height:2.9rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:rgba(64,64,64,.3);text-align:center;text-decoration:none;background:rgba(0,0,0,0);transition:all .5s}ka-control-file .buttons button .material-icons{line-height:3rem;font-size:2rem}ka-control-file .buttons button:hover{color:#ed5a23}ka-control-file .buttons button+button{box-shadow:inset 1px 0 0 0 rgba(64,64,64,.1)}ka-control-file:hover .buttons{display:block}ka-control-list .display-value{background:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0)}ka-control-list .item:not(.readonly){background:linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%);box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.3)}ka-control-list .row{margin-left:0;margin-right:0}ka-control-list .row label{display:none}ka-control-list .buttons{display:inline-block;float:right;width:6rem;height:3rem;white-space:nowrap;text-align:right}ka-control-list .buttons button{display:inline-block;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;border:0;padding:0;width:3rem;height:3rem;font-size:1.4rem;font-weight:bold;line-height:3rem;color:rgba(64,64,64,.3);text-align:center;text-decoration:none;background:rgba(0,0,0,0);transition:all .5s}ka-control-list .buttons button .material-icons{line-height:3rem;font-size:2rem}ka-control-list .buttons button:hover{color:#ed5a23}ka-control-table{display:block;margin:1rem 0}ka-control-table h3{padding-left:0}ka-control-table table.ka-table-like{border:1px solid #e0e0e0;background-color:#fcfcfc}ka-control-table table.ka-table-like tbody tr:nth-child(even){background-color:#fcfcfc}ka-control-table table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}ka-control-table table.ka-table-like ka-input{margin:0}ka-control-table table.ka-table-like ka-input label{display:none}ka-control-table table.ka-table-like td.ka-tr-tools{width:5rem;border-left:1px solid #e0e0e0;text-align:center !important;vertical-align:middle}ka-control-textarea .display-value{padding-top:.4rem !important;padding-bottom:.4rem !important;min-height:10rem;line-height:1.6 !important}tr.ka-table-filters{border-top:1px solid #e0e0e0}tr.ka-table-filters th{padding:0 !important;height:4rem}tr.ka-table-filters th ka-control{position:absolute;top:.5rem;left:.5rem;margin:0;width:calc(100% - .75rem)}tr.ka-table-filters th ka-control .display-value,tr.ka-table-filters th ka-control .display-value:hover,tr.ka-table-filters th ka-control .display-value:focus{font-size:1.1rem;box-shadow:inset 0 0 5px 0 #d0d0d0,inset 0 0 1px 1px #d0d0d0}tr.ka-table-filters th:last-of-type{padding-right:1rem !important;font-size:1.1rem;font-weight:normal;text-align:right}tr.ka-table-filters th:last-of-type a{text-decoration:none}tr.ka-table-filters th:last-of-type a:hover{text-decoration:underline}ka-progress.linear{display:block;position:relative;z-index:2;height:3px;background-color:#e0e0e0;overflow:hidden}ka-progress.linear>div{background-color:#ed5a23}ka-progress.linear>div:before{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:ka-progress-linear-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}ka-progress.linear>div:after{content:\\\"\\\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:ka-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}@keyframes ka-progress-linear-indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes ka-progress-linear-indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}html{font:62.5% \\\"Roboto\\\",sans-serif;background:#f9f9f9}.hidden{display:none}.shadow1{box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}h1{color:#ed5a23}h2{position:relative;margin:0 0 1rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:0 0 0 1rem;line-height:5rem;font-size:1.6rem;font-weight:400;color:#ed5a23;text-decoration:none}h2:first-child{border-top:0}h2::before{content:\\\" \\\";display:block;position:absolute;left:0;top:0px;z-index:-1;border-radius:50%;height:10px;width:100%;background-color:#000;box-shadow:0 0 10px rgba(0,0,0,.2)}h2::after{content:\\\" \\\";display:block;position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;background-color:#fcfcfc}h2>i.material-icons{line-height:5rem;vertical-align:bottom}h2>i[class*=fa]{margin:0 1rem 0 -1rem;border-right:1px solid #e0e0e0;width:5rem;font-size:2.5rem;line-height:5rem;vertical-align:bottom;text-align:center}h2 .ka-button,h2 ka-button{float:right}h3{margin:1rem 0;padding:0 1rem;line-height:1.4rem;font-size:1.4rem;font-weight:400;color:#ed5a23;text-decoration:none}h4,h5{color:#404040}p{margin:1rem;font-size:1.4rem;line-height:1.6;color:#404040}ul,ol{margin:1rem;padding:0 0 0 1.5rem;font-size:1.4rem;line-height:1.6;color:#404040}ul li,ol li{margin:0;padding:0}p a,ul a,ol a{color:#404040}.primary-text{color:#ed5a23}.primary-background{background-color:#ed5a23}.accent-text{color:#19a5f2}.accent-background{background-color:#19a5f2}.error-text{color:#f30}.error-background{background-color:#f30}.success-text{color:#1cc800}.success-background{background-color:#1cc800}router-view{display:block;min-height:calc(100% - 5rem);max-height:calc(100% - 5rem);overflow-y:auto;transition:all 250ms;-moz-transition:all 250ms;-webkit-transition:all 250ms}ka-resource ka-input,ka-resource ka-tab>ka-input,ka-resource ka-flex-row ka-tab>ka-input,ka-resource ka-flex-col ka-tab>ka-input,ka-resource md-input,ka-resource ka-tab>md-input,ka-resource ka-flex-row ka-tab>md-input,ka-resource ka-flex-col ka-tab>md-input{margin-left:1rem;margin-right:1rem;width:calc(100% - 2rem)}ka-resource ka-flex-row ka-input,ka-resource ka-flex-col ka-input,ka-resource ka-flex-row md-input,ka-resource ka-flex-col md-input{margin-left:0;margin-right:0;width:100%}ka-resource ka-table{margin:1rem;border:1px solid #e0e0e0}ka-flex-col>h2{margin-left:-0.5rem;margin-right:-0.5rem}ka-flex-col:first-of-type>h2{margin-left:-1.5rem}ka-flex-col:last-of-type>h2{margin-right:-1.5rem}ka-tabs ka-tab>ka-table:first-child{margin-top:0}ka-tabs ka-tab>ka-input,ka-tabs ka-tab>md-input{margin-top:3rem}ka-tabs ka-tab>ka-input:first-child,ka-tabs ka-tab>md-input:first-child{margin-top:1.5rem}ka-tabs ka-tab>ka-input:first-child.no-label,ka-tabs ka-tab>md-input:first-child.no-label{margin-top:0}h2+ka-input,h2+md-input{margin-top:2.5rem}ka-flex-row>ka-input+.ka-button,ka-flex-row>ka-input+ka-button,ka-flex-row>md-input+.ka-button,ka-flex-row>md-input+ka-button{margin-top:1.5rem}.md-toast{padding:2rem;border-radius:5px;position:absolute;z-index:9999;left:50%;bottom:-100%;opacity:0;background:#353535;box-shadow:inset 0 0 0 1px #000,0 0 5px rgba(0,0,0,.5);transform:translateX(-50%);transition:bottom .8s ease-in-out,opacity .4s ease-in-out}.md-toast.visible{opacity:1;bottom:2rem}.md-toast.platform-messages{display:grid;grid-template-columns:min(12vw,8rem) 1fr min(12vw,8rem);padding:0;min-height:8rem;min-width:30rem}.md-toast.platform-messages>.icon-box,.md-toast.platform-messages .closure-box{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.8))}.md-toast.platform-messages>.icon-box{display:flex;align-items:center;justify-content:center;border-bottom-left-radius:4px;border-top-left-radius:4px;box-shadow:inset -1px 0 0 rgba(0,0,0,.3)}.md-toast.platform-messages>.icon-box>i{font-size:min(1vw + 1.4rem,2rem);text-shadow:1px 1px 0 #000}.md-toast.platform-messages>.closure-box{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s;border-bottom-right-radius:4px;border-top-right-radius:4px;box-shadow:inset 1px 0 0 rgba(0,0,0,.3)}.md-toast.platform-messages>.closure-box:before{text-shadow:1px 1px 0 #000;transition:transform .3s;display:inline-block;content:\\\"\\\";margin:0;font-size:min(1vw + 1.4rem,2rem);font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e0e0e0;vertical-align:unset;animation:unset;font-weight:400}.md-toast.platform-messages>.closure-box:hover{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), black)}.md-toast.platform-messages>.closure-box:hover:before{transform:scale(1.2)}.md-toast.platform-messages>.content-box{display:flex;align-items:center;position:relative;padding:1rem}.md-toast.platform-messages>.content-box:before,.md-toast.platform-messages>.content-box:after{display:block;position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0}.md-toast.platform-messages>.content-box:before{background:linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.5))}.md-toast.platform-messages>.content-box:after{background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.2) 1px, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 50%)}.md-toast.platform-messages>.content-box>p{display:flex;align-items:center;flex-direction:column;justify-content:space-around;margin:0;position:relative;z-index:1;max-height:100%;min-height:80%;line-height:1.3;text-align:center;font-size:min(1vw + .9rem,1.5rem);font-family:\\\"Roboto condensed\\\",sans-serif;font-weight:300;color:#fff}.md-toast.platform-messages>.content-box>p>a{line-height:2.2;font-weight:300;font-size:min(1vw + .8rem,1.3rem);font-family:\\\"Roboto flex\\\",sans-serif;text-shadow:1px 1px 0 #000;text-underline-offset:.4rem;white-space:nowrap;transition:all .3s}.md-toast.platform-messages>.content-box>p>a:hover{color:#fff}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.25)}0%{transform:scale(1)}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout{position:relative;display:block}km-layout aside{display:flex;flex-direction:column;align-content:stretch;position:fixed;z-index:200;top:0;left:0;bottom:0;height:auto;width:30rem;background:#fff;box-shadow:1px 0 0 0 rgba(35,45,61,.6);transition:transform .3s ease-in-out}km-layout aside .menu-level{padding:1rem;font-size:1rem;font-weight:700;text-align:center;text-transform:uppercase;color:#fff;background-color:#11254b}km-layout aside a:link{color:rgba(64,64,64,.9019607843);text-decoration:none}km-layout aside .km-layout-logo{position:relative;display:block;width:100%;padding-bottom:50%;background-position:center;background-repeat:no-repeat;background-size:75%;transition:background-size .3s ease-in-out;transition-delay:.1s;animation:logo-start-animation .8s ease-in-out}km-layout aside .km-layout-logo.empty{padding-bottom:0;height:6rem}km-layout aside .km-layout-logo:after{content:\\\"\\\";position:absolute;z-index:-1;width:100%;height:100%;box-shadow:inset 0 -12px 20px 10px rgba(239,0,0,.04);background:linear-gradient(to bottom, rgba(0, 0, 255, 0.04) 30%, rgba(239, 0, 0, 0.04) 60%)}km-layout aside nav{height:100%;overflow-y:auto;overflow-x:hidden;box-shadow:0 -1px 0 0 rgba(239,0,0,.3);background:#f0f0f0}km-layout aside nav::-webkit-scrollbar{display:none}km-layout aside nav.example{-ms-overflow-style:none;scrollbar-width:none}km-layout aside nav ul{list-style:none;margin:0;padding:0;width:100%;background:#fff}km-layout aside nav ul li{margin:0;width:100%;cursor:pointer}km-layout aside nav ul li>ul{overflow:hidden;interpolate-size:allow-keywords;transition:height .4s ease-in-out,visibility .4s ease-in-out}km-layout aside nav ul li>.wrapper{position:relative;z-index:401;display:flex;align-items:center;width:100%;transition:transform .6s ease-in-out,color .4s ease-in-out,box-shadow .4s ease-in-out,background .6s ease-in-out}km-layout aside nav ul li>.wrapper>a,km-layout aside nav ul li>.wrapper>span{display:flex;align-items:center;height:100%;flex-grow:1}km-layout aside nav ul li>.wrapper>a>.label,km-layout aside nav ul li>.wrapper>span>.label{position:relative}km-layout aside nav ul li.static .wrapper>*>i.after-icon{margin-left:auto;padding:0;font-size:1.2rem;color:#11254b}km-layout aside nav ul li.static:hover .wrapper>i{color:#e44c13}km-layout aside nav ul li.expandable .wrapper>i{display:flex;align-items:center;margin-left:auto;padding:0 1.5rem;height:4.8rem;font-size:1.2rem;transition:transform .5s ease-in-out}km-layout aside nav ul li.expanded>ul{height:auto;visibility:visible}km-layout aside nav ul li.collapsed>ul{height:0;visibility:collapse}km-layout aside nav ul li:not(.expandable)>.wrapper>a>.explanation,km-layout aside nav ul li:not(.expandable)>.wrapper>span>.explanation{display:flex;align-items:center;margin-left:auto;border-radius:3px;font-size:1.3rem;height:2rem;padding:.5rem;color:#11254b;text-transform:none;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif;background:rgba(64,64,64,.08)}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b{display:flex;align-items:center;margin-left:auto;font-size:1.2rem;text-align:center;position:relative;line-height:1;height:2.2rem;padding:0 .6rem;border-radius:3px;font-weight:600;font-family:\\\"Roboto mono\\\",sans-serif;color:#11254b;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(0,0,0,.04)}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b>i,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b>i{margin:0 0 0 .6rem;font-size:1.4rem;color:#ed5a23}km-layout aside nav ul li:not(.expandable)>.wrapper>a>b:not(.custom):after,km-layout aside nav ul li:not(.expandable)>.wrapper>span>b:not(.custom):after{content:\\\"\\\";display:inline-block;font-size:1.4rem;font-style:normal;font-weight:400;font-variant:normal;text-rendering:auto;margin:0 0 0 .5rem;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:badge-pulse 1s ease-in-out infinite alternate}km-layout aside nav ul.first-level{box-shadow:0 4px 4px 0 rgba(0,0,0,.2)}km-layout aside nav ul.first-level>li>.wrapper{font-weight:700;font-size:1.3rem;text-transform:uppercase;background:rgba(0,0,0,0);height:4.8rem;box-shadow:inset 0 -1px 0 0 rgba(35,45,61,.6)}km-layout aside nav ul.first-level>li>.wrapper:hover>*>.label:before{width:100%}km-layout aside nav ul.first-level>li>.wrapper>a,km-layout aside nav ul.first-level>li>.wrapper>span{padding:0 1.5rem;color:#0c1b36}km-layout aside nav ul.first-level>li>.wrapper>a>.label:before,km-layout aside nav ul.first-level>li>.wrapper>span>.label:before{display:block;content:\\\"\\\";position:absolute;bottom:0;left:0;width:0;height:1px;background:rgba(17,37,75,.6);transition:width .5s ease}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon{padding:0 .7rem 0 0;margin-bottom:.2rem;font-size:1.6rem;color:#1a3a75}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon.animated,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon.animated{animation:first-level-before-icon 10s ease-in-out infinite}km-layout aside nav ul.first-level>li>.wrapper>a>i.before-icon.primary,km-layout aside nav ul.first-level>li>.wrapper>span>i.before-icon.primary{color:#e44c13}km-layout aside nav ul.first-level>li>.wrapper>a>i.svg-icon,km-layout aside nav ul.first-level>li>.wrapper>span>i.svg-icon{margin:0 .7rem 0 0;width:2rem;height:-moz-available;height:-webkit-fill-available;height:stretch;background-position:0 45%;background-repeat:no-repeat}km-layout aside nav ul.first-level>li.expanded>ul.second-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset 1px 4px 4px 0 rgba(35,45,61,.2)}km-layout aside nav ul.first-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.5)}km-layout aside nav ul.first-level>li.expanded>.wrapper>i{transform:scale(1) rotate(180deg)}km-layout aside nav ul.first-level>li.collapsed>.wrapper>i{transform:scale(1) rotate(0deg)}km-layout aside nav ul.second-level{background:#f0f0f0}km-layout aside nav ul.second-level>li>.wrapper{font-weight:400;font-size:1.4rem;font-family:\\\"Roboto slab\\\",serif;height:4rem;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2)}km-layout aside nav ul.second-level>li>.wrapper>a,km-layout aside nav ul.second-level>li>.wrapper>span{padding:0 1.5rem 0 1.5rem;color:#404040}km-layout aside nav ul.second-level>li>.wrapper>a>i.after-icon,km-layout aside nav ul.second-level>li>.wrapper>span>i.after-icon{font-size:1.2rem;margin-left:auto;color:#11254b}km-layout aside nav ul.second-level>li:not(.expandable)>.wrapper{font-family:\\\"Roboto condensed\\\",sans-serif}km-layout aside nav ul.second-level>li:not(.expandable)>.wrapper:hover{background:rgba(17,37,75,.06)}km-layout aside nav ul.second-level>li>ul.third-level>li:first-of-type>.wrapper{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2),inset 0 1px 5px -2px rgba(0,0,0,.2)}km-layout aside nav ul.second-level li.expanded>.wrapper>i{transform:rotate(180deg)}km-layout aside nav ul.second-level li.collapsed>.wrapper>i{transform:rotate(0deg)}km-layout aside nav ul.second-level>li.expandable{background:#fff}km-layout aside nav ul.second-level>li.expandable .wrapper>i{color:rgba(64,64,64,.6)}km-layout aside nav ul.second-level>li.highlighted>.wrapper>a,km-layout aside nav ul.second-level>li.highlighted>.wrapper>span{font-size:1.5rem;color:#ec4f15}km-layout aside nav ul.third-level{background:#f0f0f0}km-layout aside nav ul.third-level>li>.wrapper{font-weight:400;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif;height:4rem;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.2)}km-layout aside nav ul.third-level>li>.wrapper>a,km-layout aside nav ul.third-level>li>.wrapper>span{color:rgba(0,0,0,.7);padding:0 1.5rem 0 2rem}km-layout aside nav ul.third-level>li>.wrapper>a>i.after-icon,km-layout aside nav ul.third-level>li>.wrapper>span>i.after-icon{font-size:1.3rem;margin-left:auto;color:#11254b}km-layout aside nav ul.third-level>li>.wrapper>a>.label:before,km-layout aside nav ul.third-level>li>.wrapper>span>.label:before{display:inline-block;margin:0 .7rem 0 0;content:\\\"\\\";width:3px;height:3px;border-radius:50%;background:rgba(0,0,0,.5);vertical-align:middle;transition:color .6s ease}km-layout aside nav ul.third-level>li.highlighted>.wrapper>a,km-layout aside nav ul.third-level>li.highlighted>.wrapper>span{font-weight:600;color:#11254b;letter-spacing:.01rem}km-layout aside nav ul.third-level>li.highlighted>.wrapper>a>span:before,km-layout aside nav ul.third-level>li.highlighted>.wrapper>span>span:before{width:3.5px;height:3.5px;background:#ec4f15}km-layout aside nav ul.second-level>li>.wrapper>*>.label:after,km-layout aside nav ul.third-level>li>.wrapper>*>.label:after{display:block;content:\\\"\\\";position:absolute;bottom:1px;left:0;width:0;height:1px;background:rgba(0,0,0,.5);transition:width .6s ease}km-layout aside nav ul.second-level>li>.wrapper:hover>*>.label:after,km-layout aside nav ul.third-level>li>.wrapper:hover>*>.label:after{width:100%}km-layout aside nav ul.second-level>li.highlighted>.wrapper>*>.label:after{background:rgba(237,90,35,.5)}km-layout aside nav ul.third-level>li>.wrapper>*>.label:after{left:1rem}km-layout aside nav ul.third-level>li>.wrapper:hover>*>.label:after{width:calc(100% - 1rem)}km-layout aside nav ul.third-level>li:not(.expandable)>.wrapper:hover{background:rgba(17,37,75,.07)}km-layout aside nav ul.third-level>li:not(.highlighted)>.wrapper:hover>*>.label:before{background:#000}km-layout aside div[slot=afterNav]{background:#f0f0f0}@keyframes first-level-before-icon{0%{opacity:0;transform:translateX(-200%)}3%{opacity:1;transform:translateX(0%)}96%{opacity:1}100%{opacity:0}}@keyframes logo-start-animation{0%{opacity:0;background-size:300%}30%{opacity:0;background-size:300%}100%{opacity:1;background-size:75%}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout header{position:fixed;top:0;right:0;left:0;z-index:1;padding-left:1rem;height:6rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#fff;background:#232d3d}km-layout header *{color:inherit}km-layout header h1{display:block;margin:0 1rem 0 0;font-size:min(1rem + 1.5vw,2.8rem);font-weight:100;font-family:\\\"Roboto flex\\\",sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}km-layout header .km-layout-info-box{display:flex;align-items:center;justify-content:center;margin-left:auto}km-layout header .km-layout-info-box>.wrapper{display:flex;align-items:center;justify-content:center;border-radius:2px;padding:.5rem 1.2rem;font-size:1.1rem;font-weight:800;line-height:1.1;color:#11254b;text-transform:uppercase;background:#fff}km-layout header .km-layout-info-box>.wrapper>div{margin-left:1.2rem;padding-left:1.6rem;white-space:nowrap;box-shadow:inset 1px 0 0 rgba(17,37,75,.5);font-size:1.2rem;font-weight:500;font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-info-box>.wrapper>div>strong{font-weight:700;color:#f30}km-layout header .km-layout-info-box>.wrapper>i{font-size:2.8rem;color:#f30}@media screen and (max-width: 1400px){km-layout header .km-layout-info-box{display:none}}km-layout header .km-layout-user{position:relative;display:flex;flex-direction:row;align-items:center;flex-shrink:0;margin-left:auto;overflow:hidden}km-layout header .km-layout-user>span{border-radius:50%;width:min(2rem + 2.2vw,4.2rem);height:min(2rem + 2.2vw,4.2rem);overflow:hidden;margin-left:1rem;background:rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px #fff}km-layout header .km-layout-user>span.profile-icon{display:flex;align-items:center;justify-content:center}km-layout header .km-layout-user>span.profile-icon>i{font-size:min(1rem + 1vw,2.1rem)}km-layout header .km-layout-user>span.profile-picture{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}km-layout header .km-layout-user>div.user-profile{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 1rem;font-size:1.3rem;line-height:1.5rem;height:6rem;cursor:pointer}km-layout header .km-layout-user>div.user-profile>strong.user-name-title{align-self:flex-start;font-size:min(1rem + .5vw,1.4rem);line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.05rem;font-family:\\\"Roboto flex\\\",sans-serif;color:#fff}km-layout header .km-layout-user>div.user-profile>span{display:block}km-layout header .km-layout-user>div.user-profile>span.displayName{font-weight:70}km-layout header .km-layout-user>div.user-profile>span.user-name{max-width:15vw;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-weight:200;font-size:min(1rem + .5vw,1.5rem);line-height:1.3;color:rgba(255,255,255,.8);font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-user>div.user-profile>span.impersonation{border-radius:2px;padding:.5rem;font-size:11px;font-weight:700;line-height:1;color:red;text-transform:uppercase;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.4)}km-layout header .km-layout-user>a{display:flex;position:absolute;flex-direction:row;align-items:center;justify-content:center;top:6rem;right:0;width:100%;height:100%;font-size:1.5rem;text-decoration:none;color:#fff;opacity:.5;font-weight:200;font-family:\\\"Roboto flex\\\",sans-serif;text-decoration:underline;text-underline-offset:.4rem;text-decoration-color:rgba(255,255,255,.4);background:#181f2b;transition:top .5s ease,opacity .5s ease;box-shadow:inset 1px 0 0 0 rgba(255,255,255,.2)}km-layout header .km-layout-user:hover>a{top:0;opacity:1}km-layout aside+header{left:30rem;transition:all .3s ease-in-out;transition-delay:.1s}km-layout+router-view{position:fixed;top:6rem;right:0;bottom:0;left:30rem;transition:left .3s ease-in-out;transition-delay:.2s}km-layout.collapsed aside{transform:translateX(-100%)}km-layout.collapsed aside .km-layout-logo{background-size:200%;transition-delay:.3s}km-layout.collapsed aside+header{padding-left:6rem;left:0;transition-delay:0s}km-layout.collapsed+router-view{left:0;transition-delay:0s}@media screen and (max-width: 860px){km-layout aside+header{padding-left:6rem;left:0}km-layout+router-view{left:0}}@media screen and (max-width: 620px){km-layout header .km-layout-user{display:none}}@keyframes badge-pulse{0%{transform:scale(1)}15%{transform:scale(0.8)}30%{transform:scale(1)}}km-layout header .km-layout-toolbar{display:flex;flex-direction:row;align-items:center}km-layout header .km-layout-toolbar>button,km-layout header .km-layout-toolbar>.button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:min(3rem + 3vw,60px);height:60px;font-size:13px;font-weight:700;line-height:1;color:#fff;text-decoration:none;background:rgba(0,0,0,.3);box-shadow:inset 1px 0 0 0 rgba(255,255,255,.2);transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>button i,km-layout header .km-layout-toolbar>.button i{display:block;font-size:min(1.5rem + 1vw,2.5rem)}km-layout header .km-layout-toolbar>button span,km-layout header .km-layout-toolbar>.button span{display:block;font-size:min(.5rem + .5vw,1rem);letter-spacing:.05rem;font-weight:300;text-transform:uppercase;opacity:0;font-family:\\\"Roboto condensed\\\",sans-serif}km-layout header .km-layout-toolbar>button i+span,km-layout header .km-layout-toolbar>.button i+span{height:0;overflow:hidden;opacity:0;transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>button:hover i+span,km-layout header .km-layout-toolbar>.button:hover i+span{margin-top:5px;height:10px;opacity:.8}km-layout header .km-layout-toolbar>button b,km-layout header .km-layout-toolbar>.button b{display:flex;align-items:center;justify-content:center;position:absolute;padding:0 .5rem;top:4px;right:4px;border-radius:50%;min-width:24px;height:24px;font-size:1.2rem;font-weight:500;color:#e62e00;text-align:center;background:#fff;font-family:\\\"Roboto condensed\\\",sans-serif;animation:badge-pulse 1s ease-in-out infinite alternate}km-layout header .km-layout-toolbar>.button b{letter-spacing:-0.3px}km-layout header .km-layout-toolbar .notifications-error a[href=notifiche]>b{font-size:1.4rem;color:#11254b}km-layout header .km-layout-toolbar>ul[data-subtool]{position:absolute;top:60px;margin:0;padding:0;list-style:none;max-height:0;overflow:hidden;background:#232d3d;transition:max-height .6s ease-in-out}km-layout header .km-layout-toolbar>ul[data-subtool].visible{max-height:calc(4.8rem*8)}km-layout header .km-layout-toolbar>ul[data-subtool] li{margin:0;padding:0}km-layout header .km-layout-toolbar>ul[data-subtool] li a{display:flex;align-items:center;padding:0 2rem;font-size:1.4rem;color:#fff;height:4.8rem;text-decoration:none;background-color:rgba(0,0,0,.15);box-shadow:inset 0 2px 0 -1px rgba(255,255,255,.3);transition:all .3s ease-in-out}km-layout header .km-layout-toolbar>ul[data-subtool] li a>i{margin-right:1rem;font-size:2rem;width:2.5rem;color:rgba(255,255,255,.8)}km-layout header .km-layout-toolbar>ul[data-subtool] li a>i.svg-icon{margin-right:1.1rem;width:2.3rem;height:-moz-available;height:-webkit-fill-available;height:stretch;background-position:center;background-repeat:no-repeat}km-layout header .km-layout-toolbar>ul[data-subtool] li a>.label{position:relative}km-layout header .km-layout-toolbar>ul[data-subtool] li a>.label:before{display:block;content:\\\"\\\";position:absolute;bottom:-1px;left:0;width:0;height:1px;background:#fff;transition:width .3s ease}km-layout header .km-layout-toolbar>ul[data-subtool] li a:hover{background-color:rgba(0,0,0,.3)}km-layout header .km-layout-toolbar>ul[data-subtool] li a:hover>.label:before{width:100%}km-layout header .km-layout-toolbar>ul[data-subtool] li:first-of-type>a{box-shadow:none}km-layout .km-layout-burger{display:block;position:fixed;top:10px;left:10px;width:4rem;height:4rem;cursor:pointer;z-index:100;text-align:center;color:#ed5a23}km-layout .km-layout-burger .material-icons{font-size:2.8rem;color:#e44c13;line-height:4rem;transition:color .3s ease-in-out}km-layout.collapsed .km-layout-burger{color:#fff}km-layout.collapsed .km-layout-burger .material-icons{color:#fff}body>.md-tooltip{display:block;position:absolute;content:attr(ka-tooltip);z-index:1100;padding:.5rem;border-radius:2px;border:1px solid #e0e0e0;max-width:20rem;line-height:1.2rem;font-size:1rem !important;opacity:0;color:#606060;background:#f9f9f9;transform:translateX(-50%);box-shadow:0 3px 6px -3px rgba(0,0,0,.5);pointer-events:none;transition:opacity .5s}body>.md-tooltip.visible{opacity:1}body>.md-tooltip ul{margin:-0.5rem;padding:0;list-style:none}body>.md-tooltip ul li{border-bottom:1px solid #e0e0e0;padding:.5rem;font-size:1rem;line-height:1.3}body>.md-tooltip ul li:last-of-type{border-bottom:0}ka-input[md-tooltip] i.tooltip-icon,md-input[md-tooltip] i.tooltip-icon,ka-control[md-tooltip] i.tooltip-icon,md-control[md-tooltip] i.tooltip-icon{margin-left:0;font-size:1.5rem;cursor:pointer;transition:color .3s;vertical-align:bottom}ka-input[md-tooltip] span+i.tooltip-icon,md-input[md-tooltip] span+i.tooltip-icon,ka-control[md-tooltip] span+i.tooltip-icon,md-control[md-tooltip] span+i.tooltip-icon{margin-left:.4rem;vertical-align:sub}ka-input[md-tooltip] i.tooltip-icon:hover,md-input[md-tooltip] i.tooltip-icon:hover,ka-control[md-tooltip] i.tooltip-icon:hover,md-control[md-tooltip] i.tooltip-icon:hover{color:#ed5a23}*[static-tooltip]{display:inline-flex;align-items:flex-start;line-height:inherit;cursor:pointer;transition:color .3s}*[static-tooltip]:not(.has-custom-icon):after{margin-left:.5rem !important;display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}*[static-tooltip]:hover{color:#ed5a23}*[static-tooltip]>i{display:flex;text-decoration:none}body>.static-tooltip{font-size:1.2rem;color:#fff;pointer-events:auto}body>.static-tooltip>.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;padding:0 0 1rem;border-bottom:1px dotted rgba(255,255,255,.3)}body>.static-tooltip>.header>.header-title{display:flex;align-items:flex-end}body>.static-tooltip>.header>.header-title>i{margin:0 !important}body>.static-tooltip>.header>.header-title>i>svg{width:2.2rem;height:2.2rem;margin:0 !important}body>.static-tooltip>.header>.header-title>h3{margin:0;padding:0 1rem 0 .6rem;font-size:1.5rem;font-weight:500;color:#fff;order:2;font-family:\\\"Roboto flex\\\",sans-serif}body>.static-tooltip>.header>.closure:before{cursor:pointer;display:inline-block;content:\\\"\\\";margin:0;font-size:1.7rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(255,255,255,.95);vertical-align:unset;animation:unset;font-weight:900}body>.static-tooltip>.value>p{margin:0;font-size:1.2rem;color:#fff}body>.static-tooltip>.value>p>strong{font-size:1.4rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif}body>.static-tooltip>.value>p>a{font-weight:300;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif;text-underline-offset:.4rem;color:#ffa150;text-shadow:1px 1px 0 #000}body>.static-tooltip>.value>p>a:hover{color:#fff}body>.static-tooltip>.value>p>a:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ffa150;vertical-align:unset;animation:unset;font-weight:400}km-layout:not(.collapsed)+router-view+.ka-toast,km-layout:not(.collapsed)+router-view+style+.ka-toast{left:calc(50% + 15rem) !important;transform:translate(-50%, calc(100% + 3rem)) !important}km-layout:not(.collapsed)+router-view+.ka-toast.visible,km-layout:not(.collapsed)+router-view+style+.ka-toast.visible{transform:translate(-50%, 0) !important}.ka-toast{position:fixed;right:auto;top:auto;bottom:2rem;left:50%;z-index:2000;border:0;border-radius:5px;padding:2rem;overflow:hidden;font-size:1.3rem;line-height:1rem;text-align:center;color:#e0e0e0;text-shadow:0 0 5px #1a1a1a;background-color:#404040;box-shadow:inset 0 0 0 1px #101010,0 0 10px rgba(0,0,0,.5);transform:translate(-50%, calc(100% + 3rem));transition:all .5s}.ka-toast.visible{transform:translate(-50%, 0)}.ka-toast a{color:#e0e0e0}.ka-toast:before{display:block;position:absolute;top:0;left:0;width:5rem;height:5rem;font-style:normal;font-variant:normal;font-size:2rem;line-height:5rem;text-align:center;text-rendering:auto;-webkit-font-smoothing:antialiased}.ka-toast.ka-toast-loading{padding-left:4rem;color:#fff;background-color:#202020}.ka-toast.ka-toast-loading:before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\";-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.ka-toast.ka-toast-error{padding-left:4rem;color:#f30;background-color:#202020}.ka-toast.ka-toast-error::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-error::after{content:\\\" \\\";display:block;border-radius:5px;position:absolute;inset:0 0 0 0;box-shadow:inset 0 0 0 1px #202020,inset 0 0 0 2px rgba(255,51,0,.5)}.ka-toast.ka-toast-success{padding-left:4rem;color:#1cc800;background-color:#202020}.ka-toast.ka-toast-success::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-accent,.ka-toast.ka-toast-warning{color:#19a5f2;background-color:#202020}.ka-toast.ka-toast-accent::before,.ka-toast.ka-toast-warning::before{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;content:\\\"\\\"}.ka-toast.ka-toast-primary{color:#ed5a23;background-color:#202020}@keyframes animate-katoast-icon{0%{transform:scale(1)}50%{transform:scale(1.5)}0%{transform:scale(1)}}#serverStatus,#appUpdate{position:fixed;left:0;bottom:0;width:100vw;height:5rem;line-height:5rem;z-index:200;font-size:1.4rem;font-weight:300;color:#fff;text-align:center;background:#f30;text-shadow:1px 1px 0 rgba(0,0,0,.8);box-shadow:0 0 10px rgba(0,0,0,.2)}#serverStatus#appUpdate,#appUpdate#appUpdate{display:flex;align-items:center;justify-content:center}#serverStatus#appUpdate strong:before,#appUpdate#appUpdate strong:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:unset;animation:unset;font-weight:400}#serverStatus#appUpdate ka-button,#appUpdate#appUpdate ka-button{text-shadow:none}@media screen and (max-width: 575px){table.ka-table-like{display:table}}@media screen and (max-width: 1400px){km-layout header .km-layout-info-box{display:none}}km-layout header>h1{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-primary{color:#ed5a23 !important}.text-secondary{color:#11254b !important}.text-error{color:#f30 !important}.text-success{color:#1cc800 !important}.text-color{color:#404040 !important}router-view{min-height:calc(100% - 60px);max-height:calc(100% - 60px);overflow:hidden}router-view h2{min-height:5.1rem;font-weight:400;font-family:\\\"Roboto slab\\\",serif}router-view>h2:first-child+.ka-table,router-view style:first-child+h2+.ka-table{margin-top:-1rem}router-view>h2:first-child+ka-table,router-view style:first-child+h2+ka-table{margin-top:-1rem}router-view>h2:first-child+ka-tabs,router-view style:first-child+h2+ka-tabs{margin-top:-1rem}router-view>ka-tabs ka-tab h2:first-child+ka-tabs{margin-top:-1rem}router-view>ka-tabs ka-tab>ka-table:first-child{margin-top:-1rem}router-view h2+md-table-toolbar{margin-top:-1.1rem}router-view h2+md-table-progressbar{margin-top:-1rem}router-view h2+md-table-wrapper,router-view h2+md-table-progressbar+md-table-wrapper{margin-top:-1rem}router-view h2 md-accordion-button{float:right;margin-top:1rem}*[class^=limitwidth]{max-width:30rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}*[class^=limitwidth]:not(td){display:block}*[class^=limitwidth].limitwidth-10{max-width:10rem}*[class^=limitwidth].limitwidth-20{max-width:20rem}*[class^=limitwidth].limitwidth-30{max-width:30rem}*[class^=limitwidth].limitwidth-40{max-width:40rem}*[class^=limitwidth].limitwidth-50{max-width:50rem}.app-shared-search-style{margin-left:0;margin-right:0;margin-bottom:1rem}.app-shared-search-style>div[class*=col-] ka-control,.app-shared-search-style>div[class*=col-] md-control,.app-shared-search-style>div.col ka-control,.app-shared-search-style>div.col md-control{display:block}.app-shared-search-style>div[class*=col-] ka-input,.app-shared-search-style>div[class*=col-] md-input,.app-shared-search-style>div.col ka-input,.app-shared-search-style>div.col md-input{margin-bottom:0}.app-shared-search-style>div[class*=col-] ka-button,.app-shared-search-style>div.col ka-button{margin:0}.app-shared-search-style>div[class*=col-] ka-button+ka-button,.app-shared-search-style>div.col ka-button+ka-button{margin-left:1rem}.user-initials{border-radius:50%;color:#fff;text-transform:uppercase;background-color:#404040}.ka-table-button.selected{color:#ed5a23}.ka-table-button.unselected{color:rgba(64,64,64,.3)}ka-table tbody td small.emphasis{color:#ed5a23 !important}ka-table tbody td a{color:inherit;text-decoration:none}ka-table tbody td a:hover{text-decoration:underline}.ka-table-like{height:1px}.ka-table-like tbody{transition:opacity .5s,filter .5s}.ka-table-like tbody.isLoading{opacity:.5;filter:blur(5px);pointer-events:none}.ka-table-like tbody tr{border:0 !important;box-shadow:inset 0 -1px 0 0 rgba(224,224,224,.5)}.ka-table-like tbody tr td:last-of-type ka-button{margin:0}.ka-table-like tbody tr td:last-of-type ka-button+ka-button{margin-left:1rem}.ka-table-like tbody tr td:last-of-type.flex-column>ka-button+ka-button{margin-top:1rem;margin-left:0}.ka-table-like .ka-table-row-tools{padding:0;height:100%;width:1%;white-space:nowrap}.ka-table-like .ka-table-row-tools>.tools-wrapper{display:flex;align-items:center;width:fit-content;height:100%;box-shadow:-5px 0 5px -5px rgba(0,0,0,0.2509803922),inset -1px 0 0 rgba(224,224,224,.5);background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, white 25%, white 75%, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0) 100%)}.ka-table-like .ka-table-row-tools>.tools-wrapper>button{display:inline-block;appearance:none;outline:none;cursor:pointer;margin:0;border:0;padding:0;width:4rem;height:4rem;height:100%;line-height:4rem;color:rgba(64,64,64,.5);vertical-align:top;background:#fff;background:linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0) 100%);box-shadow:inset -1px 0 0 rgba(224,224,224,.5);transition:all .5s}.ka-table-like .ka-table-row-tools>.tools-wrapper>button[disabled]{color:#e0e0e0;pointer-events:none}.ka-table-like .ka-table-row-tools>.tools-wrapper>button:hover{color:rgba(237,90,35,.7)}.ka-table-like .ka-table-row-tools>.tools-wrapper>button>i{font-size:2rem;line-height:inherit;color:inherit}md-table-progressbar{position:absolute;width:100%}.ka-tr-tools>button.ka-table-button[disabled]{color:rgba(64,64,64,.4) !important}.ka-tr-tools>button.ka-table-button>i[class*=fa-]{font-size:2rem}.ka-table-backdrop{z-index:1099}.ka-table-drawer.filters ka-input>label{overflow:visible}ka-tab{white-space:normal}ux-dialog-container{overflow-y:hidden}ux-dialog-container>div{padding:0}ux-dialog-container ux-dialog.small{max-width:40rem}ux-dialog-container ux-dialog.medium{max-width:70rem}ux-dialog-container ux-dialog.large{max-width:100rem}ux-dialog-container ux-dialog ux-dialog-body .body{max-height:calc(100vh - 5rem - 6.1rem - 6rem);overflow:auto}.ka-resource-buttons{z-index:2}.ka-resource-buttons a{color:rgba(237,90,35,.7)}.ka-resource-buttons a:hover{color:#ed5a23}ka-control{margin:0}ka-control input::placeholder{color:rgba(64,64,64,.4)}ka-input.error,md-input.error{box-shadow:inset 0 0 0 1px rgba(255,51,0,.6),0 0 10px rgba(255,51,0,.4)}.md-prefsel-dialog{width:calc(100vw - 80px);min-width:300px}.md-prefsel-dialog>ux-dialog-body{height:fit-content;max-height:calc(100vh - 103px - 80px);overflow:auto}ka-button{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif}ka-button:first-letter{text-transform:uppercase}ka-button>i{padding-right:1rem;transition:all .3s}ka-button>i:only-child{padding-right:0}ka-button>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button>span:first-letter{text-transform:uppercase}ka-button>i+span{display:inline-block}ka-button.icon{min-width:3rem;max-width:none}ka-button.with-icon{display:inline-flex;align-items:center}ka-button.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important}ka-button.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.disabled>i{color:rgba(64,64,64,.3)}ka-button.with-icon:not(.secondary):not(.error):not(.grey){max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0 1px #df4a12,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.with-icon:not(.secondary):not(.error):not(.grey):first-letter{text-transform:uppercase}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i{padding-right:1rem;transition:all .3s}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i:only-child{padding-right:0}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span:first-letter{text-transform:uppercase}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i+span{display:inline-block}ka-button.with-icon:not(.secondary):not(.error):not(.grey).icon{min-width:3rem;max-width:none}ka-button.with-icon:not(.secondary):not(.error):not(.grey).with-icon{display:inline-flex;align-items:center}ka-button.with-icon:not(.secondary):not(.error):not(.grey).with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#ed5a23;box-shadow:-1px 0 0 0 #df4a12}ka-button.with-icon:not(.secondary):not(.error):not(.grey)>i{color:#ed5a23}ka-button.with-icon:not(.secondary):not(.error):not(.grey).flat{box-shadow:inset 0 0 0 1px #df4a12 !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey).inverted>span{background:rgba(237,90,35,.1)}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled).inverted:hover{background-color:#ededed}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #df4a12,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey):not(.disabled):not(.inverted):hover>span{background:#ed5a23;box-shadow:-1px 0 0 0 #df4a12}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.with-icon:not(.secondary):not(.error):not(.grey).disabled>i{color:rgba(64,64,64,.3)}ka-button.secondary.with-icon{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0px 1px #0b1932,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.secondary.with-icon:first-letter{text-transform:uppercase}ka-button.secondary.with-icon>i{padding-right:1rem;transition:all .3s}ka-button.secondary.with-icon>i:only-child{padding-right:0}ka-button.secondary.with-icon>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.secondary.with-icon>span:first-letter{text-transform:uppercase}ka-button.secondary.with-icon>i+span{display:inline-block}ka-button.secondary.with-icon.icon{min-width:3rem;max-width:none}ka-button.secondary.with-icon.with-icon{display:inline-flex;align-items:center}ka-button.secondary.with-icon.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.secondary.with-icon>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#11254b;box-shadow:-1px 0 0 0 #0b1932 !important}ka-button.secondary.with-icon>i{color:#11254b}ka-button.secondary.with-icon.flat{box-shadow:inset 0 0 0 1px #0b1932 !important}ka-button.secondary.with-icon.inverted>span{background:rgba(17,37,75,.1)}ka-button.secondary.with-icon:not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #0b1932,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.secondary.with-icon:not(.disabled):not(.inverted):hover>span{background:#11254b;box-shadow:-1px 0 0 0 #0b1932 !important}ka-button.secondary.with-icon.busy:before,ka-button.secondary.with-icon>.busy:after{background:#11254b}ka-button.secondary.with-icon.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important}ka-button.secondary.with-icon.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.secondary.with-icon.disabled>i{color:rgba(64,64,64,.3)}ka-button.error.with-icon{max-width:min-content;white-space:nowrap;transition:all .3s;font-weight:600;font-family:\\\"Roboto flex\\\",sans-serif;background:#fff;box-shadow:inset 0 0 0 1px #e02d00,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2)}ka-button.error.with-icon:first-letter{text-transform:uppercase}ka-button.error.with-icon>i{padding-right:1rem;transition:all .3s}ka-button.error.with-icon>i:only-child{padding-right:0}ka-button.error.with-icon>span{padding:0 1rem;margin-right:-1rem;transition:all .3s}ka-button.error.with-icon>span:first-letter{text-transform:uppercase}ka-button.error.with-icon>i+span{display:inline-block}ka-button.error.with-icon.icon{min-width:3rem;max-width:none}ka-button.error.with-icon.with-icon{display:inline-flex;align-items:center}ka-button.error.with-icon.with-icon>.busy{background:#f0f0f0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),0 0 5px rgba(0,0,0,.1),0 5px 5px -5px rgba(0,0,0,.1)}ka-button.error.with-icon>span{border-top-right-radius:3px;border-bottom-right-radius:3px;background:#b32400;box-shadow:-1px 0 0 0 #b32400 !important}ka-button.error.with-icon>i{color:#b32400}ka-button.error.with-icon.flat{box-shadow:inset 0 0 0 1px #b32400 !important}ka-button.error.with-icon.inverted>span{color:#b32400;background:rgba(179,36,0,.15)}ka-button.error.with-icon:not(.disabled):not(.inverted):hover{background:#e0e0e0;box-shadow:inset 0 0 0 1px #e02d00,0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2) !important}ka-button.error.with-icon:not(.disabled):not(.inverted):hover>span{background:#b32400;box-shadow:-1px 0 0 0 #b32400 !important}ka-button.error.with-icon.busy:before,ka-button.error.with-icon>.busy:after{background:#b32400}ka-button.error.with-icon.disabled{background:rgba(64,64,64,.1);box-shadow:inset 0 0 0 1px rgba(64,64,64,.1) !important}ka-button.error.with-icon.disabled>span{background:rgba(0,0,0,0);color:rgba(64,64,64,.3);box-shadow:-1px 0 0 0 rgba(64,64,64,.1) !important}ka-button.error.with-icon.disabled>i{color:rgba(64,64,64,.3)}ux-dialog .dialog-loader>span:after{content:\\\"...\\\";margin-left:.3rem;animation:loading-elipsis .8s linear infinite}.tag{display:inline-block;padding:0 .5rem;border-radius:.3rem;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;vertical-align:middle;font-size:1.3rem;white-space:nowrap;cursor:pointer;color:inherit;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3)}.tag.primary{background:rgba(237,90,35,.1);box-shadow:0 0 0 1px rgba(237,90,35,.5);color:#e44c13}.tag.secondary{color:#fff;background:rgba(17,37,75,.7);box-shadow:0 0 0 1px rgba(17,37,75,.8)}.tag.accent{background:rgba(25,165,242,.2);box-shadow:0 0 0 1px rgba(25,165,242,.4)}.tag.success,.tag.completed{color:#0f6c00;background:rgba(28,200,0,.2);box-shadow:0 0 0 1px rgba(28,200,0,.4)}.tag.success.with-icon:before,.tag.completed.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.error{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.error.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.warning{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.warning.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.discontinued{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.discontinued.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#a32100;vertical-align:top;animation:unset;font-weight:400}.tag.pending{color:#9c630e;background:rgba(255,153,0,.2);box-shadow:0 0 0 1px rgba(255,153,0,.6)}.tag.pending.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.deleted{color:#fff;background:rgba(64,64,64,.9);box-shadow:0 0 0 1px #404040}.tag.deleted.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.refused{color:#a32100;background:rgba(255,51,0,.2);box-shadow:0 0 0 1px rgba(255,51,0,.4)}.tag.refused.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.abandoned{color:#11254b;background:rgba(17,37,75,.2);box-shadow:0 0 0 1px rgba(17,37,75,.4)}.tag.abandoned.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.tag.id{color:#404040 !important;background:rgba(28,200,0,.2);box-shadow:0 0 0 1px rgba(28,200,0,.4)}.tag.user{background:rgba(237,90,35,.2);box-shadow:0 0 0 1px rgba(237,90,35,.4)}.tag.user.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.tag.building.with-icon:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}.new-tag{display:inline-block;padding:0 .5rem;border-radius:.3rem;max-width:100%;overflow:hidden;text-decoration:none;text-overflow:ellipsis;vertical-align:middle;font-size:1.3rem;white-space:nowrap;cursor:pointer;color:inherit;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3);padding:.6rem .7rem;line-height:1;position:relative;font-size:1.5rem;font-weight:400;font-family:\\\"Roboto condensed\\\",sans-serif;color:#000;text-shadow:1px 1px 1px #fff;background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}.new-tag:first-letter{text-transform:uppercase}.new-tag strong{font-weight:600}.new-tag:after{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)}.new-tag.primary{color:#9a0000;box-shadow:0 0 0 1px #ff946e;background:#ffd6ab}.new-tag.secondary{color:#061735;box-shadow:0 0 0 1px #888e98;background:#d1dae9}.new-tag.pending{color:#930000;box-shadow:inset 0 0 0 1px #ea9f00;background:#ffebbc}.new-tag.success{color:#184011;box-shadow:inset 0 0 0 1px #86ac4d;background:#cef2ba}.new-tag.error{color:#a00000;box-shadow:inset 0 0 0 1px #d77e7e;background:#fcc}.banner-message{margin:0;position:relative;padding:.8rem 1.2rem;border-radius:.2rem;color:#000;line-height:1.2;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",\\\"serif\\\";background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}.banner-message:after{content:\\\"\\\";position:absolute;z-index:2;top:0;left:0;height:100%;width:100%;border-radius:.2rem;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.05) 0, rgba(0, 0, 0, 0.05) 1px, transparent 0, transparent 50%);pointer-events:none}.banner-message>span{position:relative;z-index:3}.banner-message>span>strong,.banner-message>span a{font-weight:600;text-underline-offset:.2rem}.banner-message>span:before{text-shadow:none}.banner-message>span>a{text-underline-offset:.3rem;text-decoration-thickness:.1rem;transition:color .3s;cursor:pointer}.banner-message>span>a:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 .3rem;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:text-bottom;animation:unset;font-weight:900}.banner-message>span>a:hover{color:#ed5a23}.banner-message.white{background:#fff}.banner-message.white:after{background-image:none}.banner-message.highlight{color:#000;box-shadow:inset 0 0 0 1px #034ea4;background:#fff}.banner-message.highlight:after{background-image:repeating-linear-gradient(45deg, rgba(3, 78, 164, 0.1) 0, rgba(3, 78, 164, 0.1) 1px, transparent 0, transparent 50%)}.banner-message.highlight>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#003c80;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.alert{color:#000;box-shadow:inset 0 0 0 1px #fbc51b;background:#fff}.banner-message.alert:after{background-image:repeating-linear-gradient(45deg, rgba(251, 197, 27, 0.3) 0, rgba(251, 197, 27, 0.3) 1px, transparent 0, transparent 50%)}.banner-message.alert>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.success{color:#000;box-shadow:inset 0 0 0 1px #86ac4d;background:#fff}.banner-message.success:after{background-image:repeating-linear-gradient(45deg, rgba(134, 172, 77, 0.2) 0, rgba(134, 172, 77, 0.2) 1px, transparent 0, transparent 50%)}.banner-message.success>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#517a15;vertical-align:bottom;animation:unset;font-weight:400}.banner-message.error{color:#000;box-shadow:inset 0 0 0 1px crimson;background:#fff}.banner-message.error:after{background-image:repeating-linear-gradient(45deg, rgba(220, 20, 60, 0.1) 0, rgba(220, 20, 60, 0.1) 1px, transparent 0, transparent 50%)}.banner-message.error>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:bottom;animation:unset;font-weight:400}.copy-text{transition:all .3s;cursor:pointer}.copy-text.with-icon:after{display:inline-block;content:\\\"\\\";margin-left:.3rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.2rem;font-style:normal;font-weight:400;-webkit-font-smoothing:antialiased}.copy-text:hover{color:#ed5a23}ka-tabs>nav,md-nav-utenti>nav{display:flex;flex-wrap:nowrap;padding:.6rem .5rem 0;width:100%;border:none;background:#ececec;box-shadow:0 1px 0 0 #d0d0d0}ka-tabs>nav>div,md-nav-utenti>nav>div{margin-left:auto;align-self:end;padding:0 .5rem 0 1rem;font-size:1.2rem;line-height:4rem;overflow:hidden;font-weight:400;text-align:right;text-overflow:ellipsis;white-space:nowrap;color:#11254b}@media screen and (max-width: 992px){ka-tabs>nav>div,md-nav-utenti>nav>div{display:none}}ka-tabs>nav>a,md-nav-utenti>nav>a{display:inline-block;margin-top:.5rem;padding:0 1.5rem 0;max-width:fit-content;border-radius:5px 5px 0 0;border:.1rem solid #d0d0d0;border-bottom-color:#d0d0d0;outline:none;overflow:hidden;font-size:1.1rem;font-weight:400;line-height:3.8rem;letter-spacing:.1rem;text-decoration:none;text-transform:uppercase;white-space:nowrap;color:rgba(64,64,64,.5);background:#f7f7f7;box-shadow:inset 0 -5px 5px -3px rgba(224,224,224,.6);transition:all .4s !important;text-overflow:ellipsis}@media screen and (max-width: 992px){ka-tabs>nav>a,md-nav-utenti>nav>a{font-size:1rem;letter-spacing:0}}ka-tabs>nav>a:hover,md-nav-utenti>nav>a:hover{color:#404040 !important}ka-tabs>nav>a:before,md-nav-utenti>nav>a:before{content:\\\"\\\";display:inline-block;margin-right:.5rem;border-radius:50%;width:.8rem;height:.8rem;box-shadow:inset 0 0 0 1px #d0d0d0}@media screen and (max-width: 992px){ka-tabs>nav>a:before,md-nav-utenti>nav>a:before{display:none}}ka-tabs>nav>a.active,md-nav-utenti>nav>a.active{margin-top:0;border-bottom-color:#fcfcfc;color:#11254b;line-height:4.3rem;background:#fcfcfc;box-shadow:inset 0 -1px 0 0 #f9f9f9,-5px 0 5px -5px rgba(176,176,176,.6),5px 0 5px -5px rgba(176,176,176,.6)}ka-tabs>nav>a.active:before,md-nav-utenti>nav>a.active:before{background:#ed5a23;box-shadow:inset 0 0 0 1px #ed5a23}ka-tabs>nav>a:after,md-nav-utenti>nav>a:after{display:none}ka-tabs>nav>a+a,md-nav-utenti>nav>a+a{margin-left:.5rem}md-nav-utenti>nav>a,ka-tabs>nav>a{margin-bottom:-1px}md-nav-utenti+h2{border-top:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/app.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/fontawesome/all.min.css\",\"webpack://./node_modules/ka-components/src/style/_ka-flex.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-grid.scss\",\"webpack://./node_modules/ka-components/src/style/_ka-navbar.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-mixins.sass\",\"webpack://./src/static/_vars.scss\",\"webpack://./node_modules/ka-components/src/style/_ka-input.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-button-deprecated.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-button.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-toast.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-table.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-resource.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-dialog.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-tabs.sass\",\"webpack://./node_modules/ka-components/src/style/_ka-tooltip.sass\",\"webpack://./node_modules/ka-components/src/ka-control/ka-control.sass\",\"webpack://./node_modules/ka-components/src/ka-control-check/ka-control-check.sass\",\"webpack://./node_modules/ka-components/src/ka-control-combo/ka-control-combo.sass\",\"webpack://./node_modules/ka-components/src/ka-control-date/ka-control-date.sass\",\"webpack://./node_modules/ka-components/src/ka-control-datetime/ka-control-datetime.sass\",\"webpack://./node_modules/ka-components/src/ka-datetime/ka-datetime.sass\",\"webpack://./node_modules/ka-components/src/ka-control-backdrop/ka-control-backdrop.sass\",\"webpack://./node_modules/ka-components/src/ka-control-file/ka-control-file.sass\",\"webpack://./node_modules/ka-components/src/ka-control-list/ka-control-list.sass\",\"webpack://./node_modules/ka-components/src/ka-control-table/ka-control-table.sass\",\"webpack://./node_modules/ka-components/src/ka-control-textarea/ka-control-textarea.sass\",\"webpack://./node_modules/ka-components/src/ka-table/ka-tableFilters.sass\",\"webpack://./node_modules/ka-components/src/ka-progress/ka-progress.sass\",\"webpack://./node_modules/ka-components/src/style/_ka.sass\",\"webpack://./src/classes/md-toast/md-toast.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-vars.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-aside.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-header.sass\",\"webpack://./src/resources/elements/km-layout/_km-layout-toolbar.sass\",\"webpack://./src/resources/elements/km-layout/km-layout.sass\",\"webpack://./src/resources/attributes/md-tooltip/md-tooltip.sass\",\"webpack://./src/resources/attributes/static-tooltip/static-tooltip.sass\",\"webpack://./src/static/_ka-toast.sass\",\"webpack://./src/static/_server-update.sass\"],\"names\":[],\"mappings\":\"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CA,UAAA,CACA,eAAA,CACA,wKACE,YAAA,CACA,cAAA,CACA,gBAAA,CACA,aLpHS,CKqHT,eAAA,CACA,oLACE,cAAA,CACJ,6FACE,+BAAA,CACA,sGACE,iBAAA,CACA,qBAAA,CACA,kBAAA,CACA,kBAAA,CACA,sJACE,iBAAA,CACA,eAAA,CACA,kBAAA,CACA,uBAAA,CACA,oBAAA,CACA,4JACE,mBAAA,CACA,yBAAA,CACF,wKACE,aAAA,CACF,uLACE,aLxIK,CKyIP,0LACE,aL1IK,CK2IL,uBAAA,CACF,wKACE,iBAAA,CACA,QAAA,CACA,UAAA,CACA,iBAAA,CACA,YAAA,CACA,aAAA,CACA,kBAAA,CACA,cAAA,CACA,UAAA,CACA,iBAAA,CACA,wBLvJK,CKyJP,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CACF,6LACE,WAAA,CAEN,sGACE,+BAAA,CACA,wBAAA,CACA,sJACE,wBAAA,CACF,gSACE,qCAAA,CACJ,sGACE,kBAAA,CACA,oLACE,eAAA,CACF,iLACE,gBAAA,CACF,0IACE,SAAA,CACA,kBAAA,CACA,4YACE,oBAAA,CACA,wBAAA,CACF,geAEE,UAAA,CACF,4JACE,WAAA,CACA,aAAA,CACA,UAAA,CACF,uLNhMN,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CM0LQ,oBAAA,CACA,iBAAA,CACA,OAAA,CACA,eAAA,CACA,gHAAA,CACA,0CAAA,CACJ,wHACE,uBAAA,CAER,kBACE,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,SAAA,CACA,0BAAA,CACA,iBAAA,CACA,QAAA,CACA,YAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CN7MA,mEAAA,CM+MA,2CAAA,CACA,oCAAA,CACA,uBACE,SAAA,CACA,0CAAA,CACF,yBACE,YAAA,CACF,2BACE,kBAAA,CACA,kBAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,UAAA,CACA,MAAA,CAEJ,iBACE,iBAAA,CACA,KAAA,CACA,QAAA,CACA,OAAA,CACA,8BAAA,CACA,SAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CACA,4CAAA,CACA,0BAAA,CACA,wBAAA,CACA,sBACE,uBAAA,CACF,wBACE,YAAA,CACF,gCACE,gBAAA,CAsBF,iCACE,QAAA,CAuBJ,mBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,UAAA,CAGF,mBACE,iBAAA,CACA,oBAAA,CACA,MAAA,CACA,OAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,uBACE,wBL5TY,CK6TZ,8BACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,6BACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CACN,iBACE,kBAAA,CACA,gCACE,SAAA,CACA,UAAA,CACA,4BAAA,CAEJ,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA,CAEN,0CAEE,+CACE,aAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CACA,sHACE,aAAA,CACF,2DACE,aAAA,CACA,iBAAA,CACA,kBAAA,CACA,UAAA,CACF,qDACE,aAAA,CACA,iBAAA,CACF,iEACE,eAAA,CACF,qDACE,YAAA,CACF,qDACE,aAAA,CACA,uBAAA,CACA,gBAAA,CACA,eAAA,CACA,iFACE,iBAAA,CACF,6EACE,WAAA,CACA,iBAAA,CACA,OAAA,CACA,KAAA,CACA,2FACE,YAAA,CACN,uEACE,sBAAA,CACA,qFACE,oBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,UAAA,CACA,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,qBAAA,CAAA,CC9ZR,qBACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,uBACE,iBAAA,CACA,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CAEA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,0BAAA,CACA,iBAAA,CACA,kBAAA,CACA,8BACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,MAAA,CACA,SAAA,CACA,YAAA,CACA,SAAA,CACA,qCAAA,CACF,6BACE,UAAA,CACF,qCACE,aAAA,CACF,oCACE,cAAA,CACF,6BACE,wBAAA,CACF,8BACE,cAAA,CACF,yBACE,mBAAA,CACN,+BACE,SAAA,CACA,iCACE,wBAAA,CACA,wCACE,mCAAA,CACF,uCACE,aAAA,CAEN,sBACE,iBAAA,CACA,QAAA,CACA,MAAA,CACA,OAAA,CACA,SAAA,CACA,UAAA,CACA,wBAAA,CACA,eAAA,CACA,0BACE,wBN1DY,CM2DZ,iCACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,6EAAA,CACF,gCACE,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,sBAAA,CAEA,8EAAA,CACA,qBAAA,CAEN,gCACE,QAAA,CAEF,yBACI,GACE,SAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,UAAA,CACF,KACE,SAAA,CACA,UAAA,CAAA,CAEN,+BACI,GACE,UAAA,CACA,UAAA,CACF,IACE,SAAA,CACA,SAAA,CACF,KACE,SAAA,CACA,SAAA,CAAA,CCzGN,oBACE,YAAA,CACA,2BACE,+BAAA,CACF,wBACE,sBAAA,CACJ,UACE,aAAA,CACA,iBAAA,CACA,QAAA,CACA,iBAAA,CACA,SAAA,CACA,eAAA,CACA,wBAAA,CRDA,mEAAA,CQGA,oBACE,wBAAA,CACF,2BACE,aAAA,CACA,QAAA,CACA,SAAA,CACA,8BACE,SAAA,CACA,QAAA,CACA,gBAAA,CACA,qCACE,0BAAA,CACA,2BAAA,CACN,yBACE,aAAA,CACA,YAAA,CACA,gBAAA,CACA,4BACE,SAAA,CACJ,mCACE,SAAA,CAEJ,0CACE,wBACE,uBAAA,CAEA,oBACE,wBAAA,CAAA,CC1CN,QTCE,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CSPA,wBAAA,CACA,YACE,kBAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,UAAA,CACA,MAAA,CACA,QAAA,CACA,+BAAA,CACA,WAAA,CACA,qBAAA,CACA,cACE,iBAAA,CACA,cAAA,CACA,oBAAA,CACA,YAAA,CACA,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,uBAAA,CACA,oBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kBAAA,CACA,qBACE,WAAA,CACA,SAAA,CACA,aAAA,CACA,iBAAA,CACA,UAAA,CACA,QAAA,CACA,SAAA,CACA,QAAA,CACA,UAAA,CACA,wBRpCQ,CQqCR,0BAAA,CACA,kBAAA,CACF,oBACE,aRxCQ,CQyCR,2BACE,SAAA,CACA,UAAA,CACJ,qBACE,aR7CQ,CQ8CR,4BACE,SAAA,CACA,UAAA,CACJ,uBACE,aAAA,CACA,iBAAA,CACA,QAAA,CACA,QAAA,CACA,SAAA,CACA,oBAAA,CACA,0BAAA,CACA,2BAAA,CACA,YAAA,CACA,cAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,wBR/DQ,CQgER,yBAAA,CACA,8BACE,qBR9DI,CQ+DZ,sBACE,WAAA,CACA,gBAAA,CACA,wBACE,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,6BAAA,CACA,+BAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CACA,8BACE,aRvFQ,CQwFV,sCACE,aAAA,CACF,qCACE,cAAA,CACF,8BACE,wBAAA,CACF,+BACE,cAAA,CACF,0BACE,mBAAA,CAEJ,8BACE,mBAAA,CCrGN,YACE,mBAAA,CACA,YAAA,CACA,iBAAA,CACA,YAAA,CAEA,iBAAA,CACA,iBAAA,CAEA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,UAAA,CACA,wBTbW,CSeX,oBACE,aAAA,CAEA,wBACE,aAAA,CACJ,sBACE,iBAAA,CACA,SAAA,CACA,UAAA,CACA,uBAAA,CACA,wBAAA,CAEF,oBACE,wBT3BY,CS4Bd,sBACE,wBT3BW,CUDf,kMAWE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,oQACE,YAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACF,4zBACE,YAAA,CACA,QAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CACA,mBAAA,CACA,gBAAA,CACA,gBAAA,CACA,aV/BS,CUgCT,qFAAA,CACA,6CAAA,CACA,kBAAA,CACA,g8BACE,6CAAA,CACF,ogEACE,mCAAA,CACF,8wGACE,kBAAA,CACA,wBAAA,CACA,6CAAA,CAEN,WACE,oBAAA,CACA,iBAAA,CACA,cAAA,CACA,UAAA,CAEA,iBACE,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACA,kBAAA,CAEF,eACE,YAAA,CACA,gBAAA,CACA,mCACE,YAAA,CACA,0FACE,uBAAA,CACA,oBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,QAAA,CACA,6BAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,qFAAA,CACA,6CAAA,CACA,kBAAA,CACA,8OACE,iBAAA,CACA,mBAAA,CACA,aAAA,CACF,sGACE,6CAAA,CACA,aV3FM,CU4FR,wNACE,mCAAA,CACJ,oDACE,aAAA,CAEN,+BACE,UAAA,CACA,iDACE,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,6BAAA,CACA,8BAAA,CACA,eAAA,CACA,UAAA,CACA,QAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,UV5GQ,CU6GR,sBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yCAAA,CACA,sJAAA,CACA,SAAA,CACA,iCAAA,CACA,mBAAA,CACA,wDACE,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kCAAA,CACA,UAAA,CACF,kEACE,WAAA,CACA,YAAA,CAEF,4EACE,YAAA,CACA,iBAAA,CACA,uFACE,YAAA,CACJ,mFACE,uDAAA,CACA,8FACE,cAAA,CAEN,uDACE,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,6BAAA,CACA,8BAAA,CACA,eAAA,CACA,UAAA,CACA,QAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,aV1JU,CU2JV,sBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yCAAA,CACA,0JAAA,CACA,SAAA,CACA,iCAAA,CACA,mBAAA,CACA,8DACE,WAAA,CACA,iBAAA,CACA,aAAA,CACA,mCAAA,CACA,UAAA,CAGN,mCACE,eAAA,CACA,2EAAA,CACF,yEACE,WAAA,CACA,SAAA,CACF,6DACE,WAAA,CACA,SAAA,CAGF,uBACE,UVnLU,CUoLV,8BAAA,CACF,mCACE,qBAAA,CACA,yEAAA,CACF,sEACE,mCAAA,CAGF,8FACE,aAAA,CAGF,qCACE,gBAAA,CAGF,0BACE,YAAA,CAEJ,oBACE,aAAA,CACA,cAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CAEF,gCACE,KACE,SAAA,CACA,QAAA,CACF,GACE,SAAA,CACA,WAAA,CAAA,CAEJ,kCACE,GACE,SAAA,CACA,QAAA,CACF,GACE,SAAA,CACA,WAAA,CACF,IACE,SAAA,CACA,WAAA,CACF,KACE,SAAA,CACA,QAAA,CAAA,CAEJ,qCACE,GACE,wBAAA,CACF,KACE,0BAAA,CAAA,CC/OJ,iBACE,iBAAA,CACA,WAAA,CACA,YAAA,CACA,kBAAA,CACA,sCACE,aAAA,CACA,QAAA,CACA,QAAA,CACA,iBAAA,CACA,YAAA,CACA,aAAA,CACA,wBAAA,CACA,kCAAA,CACA,8CACE,wBXdU,CWeV,uDAAA,CACJ,8BACE,oBAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,aXxBS,CWyBT,sBAAA,CACA,kBAAA,CACA,cAAA,CC3BJ,iBACE,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,gCAEE,eAAA,CACA,WAAA,CACA,mCACE,QAAA,CACA,kBAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CAEA,YAAA,CACA,kBAAA,CACA,0BAAA,CACA,gBAAA,CACA,sCACE,iBAAA,CACA,aAAA,CACA,gBAAA,CACA,gBAAA,CACA,aZzBK,CY0BL,cAAA,CACA,eAAA,CACA,sBAAA,CACA,WAAA,CACA,aAAA,CACA,eAAA,CACA,kBAAA,CACA,uDACE,kBAAA,CACA,6DACE,WAAA,CACJ,wCACE,YAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,wBZ9CM,CY+CR,4CACE,WAAA,CACA,aAAA,CACA,4BAAA,CACA,iCAAA,CACA,8CACE,aAAA,CAER,wDACE,cAAA,CAEE,8DACE,YAAA,CACA,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,6CAAA,CACA,mCAAA,CACA,oEACE,YAAA,CAEZ,oBACE,wCAAA,CAEA,+DACE,iBAAA,CACA,QAAA,CACA,YAAA,CACA,UAAA,CACA,qBAAA,CACA,qBAAA,CACA,6FAAA,CACA,+EACE,YAAA,CACA,QAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CACA,mBAAA,CACA,gBAAA,CACA,gBAAA,CACA,aZ1FO,CY2FP,qBAAA,CACF,6FACE,iBAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,aZpGO,CYqGP,6BAAA,CACF,qEACE,QAAA,CACA,SAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,gBAAA,CACA,2EACE,iBAAA,CACA,QAAA,CACA,kBAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,cAAA,CACA,aZvHK,CYwHL,kBAAA,CACA,sBAAA,CACA,6FACE,uBAAA,CAEA,mJACE,mCAAA,CACJ,2HACE,aZ/HM,CYmIR,2HACE,iBAAA,CACA,2IACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,kCAAA,CACF,6JACE,wBZhJI,CYiJJ,uDAAA,CACF,+KACE,kCAAA,CACA,uDAAA,CCnJV,wCACE,YAAA,CCDF,gDACE,YAAA,CCHJ,YACE,aAAA,CAEA,uBACE,uBAAA,CACA,iCAAA,CACA,oCACE,gCAAA,CAGE,wDACE,iCAAA,CAEF,qDACE,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,4DACE,yBAAA,CACA,gCAAA,CAEJ,qDACE,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,4DACE,uDAAA,CAEJ,wDACE,gCAAA,CAEN,8BACE,cAAA,CACA,eAAA,CACA,aAAA,CACA,QAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,wBAAA,CACA,kBAAA,CACA,oCACE,afjDK,CekDL,8BAAA,CAEJ,8BACE,cAAA,CACA,eAAA,CACA,aAAA,CACA,QAAA,CACA,YAAA,CACA,QAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,afhEO,CeiEP,wBAAA,CACA,8EAAA,CACA,kBAAA,CACA,oCACE,afrEK,CesEL,8BAAA,CACF,wCACE,mBAAA,CACA,aAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CAEN,sBACE,afpFS,CeqFT,cAAA,CACA,eAAA,CACA,gBAAA,CACA,iBAAA,CACA,wBAAA,CAGA,yBACE,cAAA,CACA,eAAA,CACA,aAAA,CACA,QAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,gBAAA,CACA,aAAA,CACA,iBAAA,CACA,wBAAA,CACA,+CACE,af3GQ,Ce4GR,6BAAA,CACF,0EACE,UAAA,CACA,kBAAA,CACF,mCACE,UAAA,CClHR,oBACE,aAAA,CACA,cAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,wCAAA,CACA,iCACE,wBAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,6FAAA,CCbF,iCACE,YAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACF,yBACE,YAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,kBAAA,CACA,gBAAA,CACA,qFAAA,CACA,gCACE,oBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,aAAA,CACA,gBAAA,CACA,gBAAA,CACA,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDACE,gBAAA,CACA,cAAA,CACF,sCACE,ajB3CQ,CiB4CZ,uCACE,4CAAA,CACJ,+BACE,aAAA,CC/CF,+BACE,wBAAA,CACA,yCAAA,CACF,qCACE,qFAAA,CACA,6CAAA,CACF,qBACE,aAAA,CACA,cAAA,CACA,2BACE,YAAA,CACJ,yBACE,oBAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAAA,CACA,gCACE,oBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kBAAA,CACA,gDACE,gBAAA,CACA,cAAA,CACF,sCACE,alBzCQ,CmBDhB,iBACE,aAAA,CACA,aAAA,CACA,oBACE,cAAA,CAC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CrEE,eDsEoB,CCrEpB,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,6BACE,aAAA,CACF,mCACE,eAAA,CACF,mCACE,eAAA,CACF,mCACE,eAAA,CACF,mCACE,eAAA,CACF,mCACE,eAAA,CDyDJ,yBACE,aAAA,CACA,cAAA,CACA,kBAAA,CAEE,kMACE,aAAA,CACF,0LACE,eAAA,CACF,+FACE,QAAA,CACF,mHACE,gBAAA,CAEN,eACE,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,wBO7FW,CP+Fb,0BACE,aO/Fc,CPgGhB,4BACE,uBAAA,CACF,iCACE,wBAAA,CACF,oBACE,aAAA,CACA,oBAAA,CACA,0BACE,yBAAA,CACJ,eACE,UAAA,CACA,qBACE,iCAAA,CACA,+BACE,UAAA,CACA,gBAAA,CACA,mBAAA,CACF,wBACE,mBAAA,CACA,gDAAA,CAEE,kDACE,QAAA,CACF,4DACE,gBAAA,CACF,wEACE,eAAA,CACA,aAAA,CACR,mCACE,SAAA,CACA,WAAA,CACA,QAAA,CACA,kBAAA,CACA,kDACE,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,WAAA,CACA,uFAAA,CACA,4KAAA,CACA,yDACE,oBAAA,CACA,eAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,gBAAA,CACA,uBAAA,CACA,kBAAA,CACA,eAAA,CACA,yEAAA,CACA,8CAAA,CACA,kBAAA,CACA,mEACE,aAAA,CACA,mBAAA,CACF,+DACE,wBAAA,CACF,2DACE,cAAA,CACA,mBAAA,CACA,aAAA,CAEV,qBACE,iBAAA,CACA,UAAA,CAGA,8CACE,kCAAA,CACF,kDACE,cAAA,CAGJ,mBACE,YAAA,CACF,wCACE,gBAAA,CACF,OACE,kBAAA,CAGF,oBACE,iBAAA,CACA,wBACE,SAAA,CAEA,oCACE,eAAA,CACF,qCACE,eAAA,CACF,oCACE,gBAAA,CACF,mDACE,6CAAA,CACA,aAAA,CAEN,qBACE,SAAA,CACA,uBACE,wBAAA,CACA,6BACE,aO3MU,CP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\",\"sourcesContent\":[\"@import 'vars'\\n@import 'mixins'\\n@import '../static/fontawesome/all.min'\\n\\n@import '../../node_modules/ka-components/src/style/ka'\\n@import '../../node_modules/ka-components/node_modules/pikaday/css/pikaday.css'\\n\\n@import '../classes/md-toast/md-toast.sass'\\n@import '../resources/elements/km-layout/km-layout.sass'\\n@import '../resources/attributes/md-tooltip/md-tooltip.sass'\\n@import '../resources/attributes/static-tooltip/static-tooltip.sass'\\n\\n@import 'ka-toast'\\n@import 'server-update'\\n\\n// Move to km-layout\\ntable.ka-table-like\\n  @media screen and (max-width: 575px)\\n    display: table\\nkm-layout \\n  header\\n    .km-layout-info-box\\n      @media screen and (max-width: 1400px)\\n        display: none\\n    > h1\\n      display: block\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n.text-primary\\n  color: $primary-color !important\\n.text-secondary\\n  color: $secondary-color !important\\n.text-error\\n  color: $error-color !important\\n.text-success\\n  color: $success-color !important\\n.text-color\\n  color: $text-color !important\\n\\nrouter-view\\n  min-height: calc(100% - 60px)\\n  max-height: calc(100% - 60px)\\n  overflow: hidden\\n  h2\\n    min-height: 5.1rem\\n    font-weight: 400\\n    font-family: 'Roboto slab', serif\\n  > h2:first-child + .ka-table,\\n    style:first-child + h2 + .ka-table\\n    margin-top: -1rem\\n  > h2:first-child + ka-table,\\n    style:first-child + h2 + ka-table\\n    margin-top: -1rem\\n  > h2:first-child + ka-tabs,\\n    style:first-child + h2 + ka-tabs\\n    margin-top: -1rem\\n  > ka-tabs ka-tab h2:first-child + ka-tabs // Sub tabs\\n    margin-top: -1rem\\n  > ka-tabs ka-tab > ka-table:first-child\\n    margin-top: -1rem\\n  h2 + md-table-toolbar\\n    margin-top: -1.1rem\\n  h2 + md-table-progressbar\\n    margin-top: -1rem\\n  h2 + md-table-wrapper, h2 + md-table-progressbar + md-table-wrapper\\n    margin-top: -1rem\\n  h2 md-accordion-button\\n    float: right\\n    margin-top: 1rem\\n\\n*[class^=\\\"limitwidth\\\"]\\n  @include limitwidth(30rem)\\n\\n.app-shared-search-style\\n  margin-left: 0\\n  margin-right: 0\\n  margin-bottom: 1rem\\n  > div[class*=\\\"col-\\\"], > div.col\\n    ka-control, md-control\\n      display: block\\n    ka-input, md-input\\n      margin-bottom: 0\\n    ka-button\\n      margin: 0\\n    ka-button + ka-button\\n      margin-left: 1rem\\n\\n.user-initials\\n  border-radius: 50%\\n  color: #fff\\n  text-transform: uppercase\\n  background-color: $text-color\\n\\n.ka-table-button.selected\\n  color: $primary-color\\n.ka-table-button.unselected\\n  color: rgba($text-color, 0.3)\\nka-table tbody td small.emphasis\\n  color: $primary-color !important\\nka-table tbody td a\\n  color: inherit\\n  text-decoration: none\\n  &:hover\\n    text-decoration: underline\\n.ka-table-like\\n  height: 1px\\n  tbody\\n    transition: opacity 0.5s, filter 0.5s\\n    &.isLoading\\n      opacity: 0.5\\n      filter: blur(5px)\\n      pointer-events: none\\n    tr\\n      border: 0 !important\\n      box-shadow: inset 0 -1px 0 0 rgba(224, 224, 224, 0.5)\\n      td:last-of-type\\n        ka-button\\n          margin: 0\\n        ka-button + ka-button\\n          margin-left: 1rem\\n        &.flex-column > ka-button + ka-button\\n          margin-top: 1rem\\n          margin-left: 0\\n  .ka-table-row-tools\\n    padding: 0\\n    height: 100%\\n    width: 1%\\n    white-space: nowrap\\n    > .tools-wrapper\\n      display: flex\\n      align-items: center\\n      width: fit-content\\n      height: 100%\\n      box-shadow: -5px 0 5px -5px rgba(0, 0, 0, 0.2509803922), inset -1px 0 0 rgba(224, 224, 224, 0.5)\\n      background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, white 25%, white 75%, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0) 100%)\\n      > button\\n        display: inline-block\\n        appearance: none\\n        outline: none\\n        cursor: pointer\\n        margin: 0\\n        border: 0\\n        padding: 0\\n        width: 4rem\\n        height: 4rem\\n        height: 100%\\n        line-height: 4rem\\n        color: rgba($text-color, 0.5)\\n        vertical-align: top\\n        background: #ffffff\\n        background: linear-gradient(180deg, white 0%, rgba(#fff, 0) 100%)\\n        box-shadow: inset -1px 0 0 rgba(224, 224, 224, 0.5)\\n        transition: all 0.5s\\n        &[disabled]\\n          color: #e0e0e0\\n          pointer-events: none\\n        &:hover\\n          color: rgba($primary-color, 0.7)\\n        > i\\n          font-size: 2rem\\n          line-height: inherit\\n          color: inherit\\n\\nmd-table-progressbar\\n  position: absolute\\n  width: 100%\\n\\n.ka-tr-tools > button.ka-table-button\\n  &[disabled]\\n    color: rgba($text-color, 0.4) !important\\n  > i[class*=\\\"fa-\\\"]\\n    font-size: 2rem\\n\\n/* DA COPIARE IN KA-COMPONENTS!!! */\\n.ka-table-backdrop\\n  z-index: 1099\\n.ka-table-drawer.filters ka-input > label\\n  overflow: visible\\nka-tab\\n  white-space: normal\\n\\n/*  DIALOG */\\nux-dialog-container\\n  overflow-y: hidden\\n  > div\\n    padding: 0\\n  ux-dialog\\n    &.small\\n      max-width: 40rem\\n    &.medium\\n      max-width: 70rem\\n    &.large\\n      max-width: 100rem\\n    ux-dialog-body .body\\n      max-height: calc(100vh - 5rem - 6.1rem - 6rem)\\n      overflow: auto\\n\\n.ka-resource-buttons\\n  z-index: 2\\n  a\\n    color: rgba($primary-color, 0.7)\\n    &:hover\\n      color: $primary-color\\nka-control\\n  margin: 0\\n  input::placeholder\\n    color: rgba($text-color, .4)\\n\\nka-input.error, md-input.error\\n  box-shadow: inset 0 0 0 1px #ff330099, 0 0 10px #ff330066\\n\\n// md-prefsel-dialog\\n.md-prefsel-dialog\\n  width: calc(100vw - 80px)\\n  min-width: 300px\\n  > ux-dialog-body\\n    height: fit-content\\n    max-height: calc(100vh - 103px - 80px)\\n    overflow: auto\\n\\nka-button\\n  @include ka-button()\\n  &.with-icon:not(.secondary):not(.error):not(.grey)\\n    @include ka-button('with-icon-primary')\\n  &.secondary.with-icon\\n    @include ka-button('with-icon-secondary')\\n  &.error.with-icon\\n    @include ka-button('with-icon-error')\\n\\nux-dialog\\n  .dialog-loader\\n    @include dialogLoader()\\n.tag\\n  @include tag()\\n.new-tag\\n  @include newTag()\\n.banner-message\\n  @include bannerMessage()\\n\\n// .tag-new\\n//   @include tagNew()\\n\\n.copy-text\\n  @include copy-text()\\n\\nka-tabs, md-nav-utenti\\n  > nav\\n    display: flex\\n    flex-wrap: nowrap\\n    padding: .6rem .5rem 0\\n    width: 100%\\n    border: none\\n    background: #ececec\\n    box-shadow: 0 1px 0 0 #d0d0d0\\n\\n    > div\\n      margin-left: auto\\n      align-self: end\\n      padding: 0 .5rem 0 1rem\\n      font-size: 1.2rem\\n      line-height: 4rem\\n      overflow: hidden\\n      font-weight: 400\\n      text-align: right\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      color: $secondary-color\\n      @media screen and (max-width: 992px)\\n        display: none\\n\\n    > a\\n      display: inline-block\\n      margin-top: 0.5rem\\n      padding: 0 1.5rem 0\\n      max-width: fit-content\\n      border-radius: 5px 5px 0 0\\n      border: 0.1rem solid #d0d0d0\\n      border-bottom-color: #d0d0d0\\n      outline: none\\n      overflow: hidden\\n      font-size: 1.1rem\\n      font-weight: 400\\n      line-height: 3.8rem\\n      letter-spacing: 0.1rem\\n      text-decoration: none\\n      text-transform: uppercase\\n      white-space: nowrap\\n      color: rgba($text-color, .5)\\n      background: #f7f7f7\\n      box-shadow: inset 0 -5px 5px -3px #e0e0e099\\n      transition: all .4s !important\\n      text-overflow: ellipsis\\n\\n      @media screen and (max-width: 992px)\\n        font-size: 1rem\\n        letter-spacing: 0\\n\\n      &:hover\\n        color: $text-color !important\\n\\n      &:before\\n        content: \\\"\\\"\\n        display: inline-block\\n        margin-right: .5rem\\n        border-radius: 50%\\n        width: .8rem\\n        height: .8rem\\n        box-shadow: inset 0 0 0 1px #d0d0d0\\n        @media screen and (max-width: 992px)\\n          display: none\\n\\n      &.active\\n        margin-top: 0\\n        border-bottom-color: #fcfcfc\\n        color: $secondary-color\\n        line-height: 4.3rem\\n        background: #fcfcfc\\n        box-shadow: inset 0 -1px 0 0 $background-color, -5px 0 5px -5px #b0b0b099, 5px 0 5px -5px #b0b0b099\\n        &:before\\n          background: $primary-color\\n          box-shadow: inset 0 0 0 1px $primary-color\\n\\n      &:after\\n        display: none\\n      & + a\\n        margin-left: .5rem\\n\\nmd-nav-utenti > nav > a, ka-tabs > nav > a\\n  margin-bottom: -1px\\nmd-nav-utenti + h2\\n  border-top: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"/*!\\n * Font Awesome Pro 5.13.0 by @fontawesome - https://fontawesome.com\\n * License - https://fontawesome.com/license (Commercial License)\\n */\\n.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\\\"\\\\f26e\\\"}.fa-abacus:before{content:\\\"\\\\f640\\\"}.fa-accessible-icon:before{content:\\\"\\\\f368\\\"}.fa-accusoft:before{content:\\\"\\\\f369\\\"}.fa-acorn:before{content:\\\"\\\\f6ae\\\"}.fa-acquisitions-incorporated:before{content:\\\"\\\\f6af\\\"}.fa-ad:before{content:\\\"\\\\f641\\\"}.fa-address-book:before{content:\\\"\\\\f2b9\\\"}.fa-address-card:before{content:\\\"\\\\f2bb\\\"}.fa-adjust:before{content:\\\"\\\\f042\\\"}.fa-adn:before{content:\\\"\\\\f170\\\"}.fa-adobe:before{content:\\\"\\\\f778\\\"}.fa-adversal:before{content:\\\"\\\\f36a\\\"}.fa-affiliatetheme:before{content:\\\"\\\\f36b\\\"}.fa-air-conditioner:before{content:\\\"\\\\f8f4\\\"}.fa-air-freshener:before{content:\\\"\\\\f5d0\\\"}.fa-airbnb:before{content:\\\"\\\\f834\\\"}.fa-alarm-clock:before{content:\\\"\\\\f34e\\\"}.fa-alarm-exclamation:before{content:\\\"\\\\f843\\\"}.fa-alarm-plus:before{content:\\\"\\\\f844\\\"}.fa-alarm-snooze:before{content:\\\"\\\\f845\\\"}.fa-album:before{content:\\\"\\\\f89f\\\"}.fa-album-collection:before{content:\\\"\\\\f8a0\\\"}.fa-algolia:before{content:\\\"\\\\f36c\\\"}.fa-alicorn:before{content:\\\"\\\\f6b0\\\"}.fa-alien:before{content:\\\"\\\\f8f5\\\"}.fa-alien-monster:before{content:\\\"\\\\f8f6\\\"}.fa-align-center:before{content:\\\"\\\\f037\\\"}.fa-align-justify:before{content:\\\"\\\\f039\\\"}.fa-align-left:before{content:\\\"\\\\f036\\\"}.fa-align-right:before{content:\\\"\\\\f038\\\"}.fa-align-slash:before{content:\\\"\\\\f846\\\"}.fa-alipay:before{content:\\\"\\\\f642\\\"}.fa-allergies:before{content:\\\"\\\\f461\\\"}.fa-amazon:before{content:\\\"\\\\f270\\\"}.fa-amazon-pay:before{content:\\\"\\\\f42c\\\"}.fa-ambulance:before{content:\\\"\\\\f0f9\\\"}.fa-american-sign-language-interpreting:before{content:\\\"\\\\f2a3\\\"}.fa-amilia:before{content:\\\"\\\\f36d\\\"}.fa-amp-guitar:before{content:\\\"\\\\f8a1\\\"}.fa-analytics:before{content:\\\"\\\\f643\\\"}.fa-anchor:before{content:\\\"\\\\f13d\\\"}.fa-android:before{content:\\\"\\\\f17b\\\"}.fa-angel:before{content:\\\"\\\\f779\\\"}.fa-angellist:before{content:\\\"\\\\f209\\\"}.fa-angle-double-down:before{content:\\\"\\\\f103\\\"}.fa-angle-double-left:before{content:\\\"\\\\f100\\\"}.fa-angle-double-right:before{content:\\\"\\\\f101\\\"}.fa-angle-double-up:before{content:\\\"\\\\f102\\\"}.fa-angle-down:before{content:\\\"\\\\f107\\\"}.fa-angle-left:before{content:\\\"\\\\f104\\\"}.fa-angle-right:before{content:\\\"\\\\f105\\\"}.fa-angle-up:before{content:\\\"\\\\f106\\\"}.fa-angry:before{content:\\\"\\\\f556\\\"}.fa-angrycreative:before{content:\\\"\\\\f36e\\\"}.fa-angular:before{content:\\\"\\\\f420\\\"}.fa-ankh:before{content:\\\"\\\\f644\\\"}.fa-app-store:before{content:\\\"\\\\f36f\\\"}.fa-app-store-ios:before{content:\\\"\\\\f370\\\"}.fa-apper:before{content:\\\"\\\\f371\\\"}.fa-apple:before{content:\\\"\\\\f179\\\"}.fa-apple-alt:before{content:\\\"\\\\f5d1\\\"}.fa-apple-crate:before{content:\\\"\\\\f6b1\\\"}.fa-apple-pay:before{content:\\\"\\\\f415\\\"}.fa-archive:before{content:\\\"\\\\f187\\\"}.fa-archway:before{content:\\\"\\\\f557\\\"}.fa-arrow-alt-circle-down:before{content:\\\"\\\\f358\\\"}.fa-arrow-alt-circle-left:before{content:\\\"\\\\f359\\\"}.fa-arrow-alt-circle-right:before{content:\\\"\\\\f35a\\\"}.fa-arrow-alt-circle-up:before{content:\\\"\\\\f35b\\\"}.fa-arrow-alt-down:before{content:\\\"\\\\f354\\\"}.fa-arrow-alt-from-bottom:before{content:\\\"\\\\f346\\\"}.fa-arrow-alt-from-left:before{content:\\\"\\\\f347\\\"}.fa-arrow-alt-from-right:before{content:\\\"\\\\f348\\\"}.fa-arrow-alt-from-top:before{content:\\\"\\\\f349\\\"}.fa-arrow-alt-left:before{content:\\\"\\\\f355\\\"}.fa-arrow-alt-right:before{content:\\\"\\\\f356\\\"}.fa-arrow-alt-square-down:before{content:\\\"\\\\f350\\\"}.fa-arrow-alt-square-left:before{content:\\\"\\\\f351\\\"}.fa-arrow-alt-square-right:before{content:\\\"\\\\f352\\\"}.fa-arrow-alt-square-up:before{content:\\\"\\\\f353\\\"}.fa-arrow-alt-to-bottom:before{content:\\\"\\\\f34a\\\"}.fa-arrow-alt-to-left:before{content:\\\"\\\\f34b\\\"}.fa-arrow-alt-to-right:before{content:\\\"\\\\f34c\\\"}.fa-arrow-alt-to-top:before{content:\\\"\\\\f34d\\\"}.fa-arrow-alt-up:before{content:\\\"\\\\f357\\\"}.fa-arrow-circle-down:before{content:\\\"\\\\f0ab\\\"}.fa-arrow-circle-left:before{content:\\\"\\\\f0a8\\\"}.fa-arrow-circle-right:before{content:\\\"\\\\f0a9\\\"}.fa-arrow-circle-up:before{content:\\\"\\\\f0aa\\\"}.fa-arrow-down:before{content:\\\"\\\\f063\\\"}.fa-arrow-from-bottom:before{content:\\\"\\\\f342\\\"}.fa-arrow-from-left:before{content:\\\"\\\\f343\\\"}.fa-arrow-from-right:before{content:\\\"\\\\f344\\\"}.fa-arrow-from-top:before{content:\\\"\\\\f345\\\"}.fa-arrow-left:before{content:\\\"\\\\f060\\\"}.fa-arrow-right:before{content:\\\"\\\\f061\\\"}.fa-arrow-square-down:before{content:\\\"\\\\f339\\\"}.fa-arrow-square-left:before{content:\\\"\\\\f33a\\\"}.fa-arrow-square-right:before{content:\\\"\\\\f33b\\\"}.fa-arrow-square-up:before{content:\\\"\\\\f33c\\\"}.fa-arrow-to-bottom:before{content:\\\"\\\\f33d\\\"}.fa-arrow-to-left:before{content:\\\"\\\\f33e\\\"}.fa-arrow-to-right:before{content:\\\"\\\\f340\\\"}.fa-arrow-to-top:before{content:\\\"\\\\f341\\\"}.fa-arrow-up:before{content:\\\"\\\\f062\\\"}.fa-arrows:before{content:\\\"\\\\f047\\\"}.fa-arrows-alt:before{content:\\\"\\\\f0b2\\\"}.fa-arrows-alt-h:before{content:\\\"\\\\f337\\\"}.fa-arrows-alt-v:before{content:\\\"\\\\f338\\\"}.fa-arrows-h:before{content:\\\"\\\\f07e\\\"}.fa-arrows-v:before{content:\\\"\\\\f07d\\\"}.fa-artstation:before{content:\\\"\\\\f77a\\\"}.fa-assistive-listening-systems:before{content:\\\"\\\\f2a2\\\"}.fa-asterisk:before{content:\\\"\\\\f069\\\"}.fa-asymmetrik:before{content:\\\"\\\\f372\\\"}.fa-at:before{content:\\\"\\\\f1fa\\\"}.fa-atlas:before{content:\\\"\\\\f558\\\"}.fa-atlassian:before{content:\\\"\\\\f77b\\\"}.fa-atom:before{content:\\\"\\\\f5d2\\\"}.fa-atom-alt:before{content:\\\"\\\\f5d3\\\"}.fa-audible:before{content:\\\"\\\\f373\\\"}.fa-audio-description:before{content:\\\"\\\\f29e\\\"}.fa-autoprefixer:before{content:\\\"\\\\f41c\\\"}.fa-avianex:before{content:\\\"\\\\f374\\\"}.fa-aviato:before{content:\\\"\\\\f421\\\"}.fa-award:before{content:\\\"\\\\f559\\\"}.fa-aws:before{content:\\\"\\\\f375\\\"}.fa-axe:before{content:\\\"\\\\f6b2\\\"}.fa-axe-battle:before{content:\\\"\\\\f6b3\\\"}.fa-baby:before{content:\\\"\\\\f77c\\\"}.fa-baby-carriage:before{content:\\\"\\\\f77d\\\"}.fa-backpack:before{content:\\\"\\\\f5d4\\\"}.fa-backspace:before{content:\\\"\\\\f55a\\\"}.fa-backward:before{content:\\\"\\\\f04a\\\"}.fa-bacon:before{content:\\\"\\\\f7e5\\\"}.fa-bacteria:before{content:\\\"\\\\f959\\\"}.fa-bacterium:before{content:\\\"\\\\f95a\\\"}.fa-badge:before{content:\\\"\\\\f335\\\"}.fa-badge-check:before{content:\\\"\\\\f336\\\"}.fa-badge-dollar:before{content:\\\"\\\\f645\\\"}.fa-badge-percent:before{content:\\\"\\\\f646\\\"}.fa-badge-sheriff:before{content:\\\"\\\\f8a2\\\"}.fa-badger-honey:before{content:\\\"\\\\f6b4\\\"}.fa-bags-shopping:before{content:\\\"\\\\f847\\\"}.fa-bahai:before{content:\\\"\\\\f666\\\"}.fa-balance-scale:before{content:\\\"\\\\f24e\\\"}.fa-balance-scale-left:before{content:\\\"\\\\f515\\\"}.fa-balance-scale-right:before{content:\\\"\\\\f516\\\"}.fa-ball-pile:before{content:\\\"\\\\f77e\\\"}.fa-ballot:before{content:\\\"\\\\f732\\\"}.fa-ballot-check:before{content:\\\"\\\\f733\\\"}.fa-ban:before{content:\\\"\\\\f05e\\\"}.fa-band-aid:before{content:\\\"\\\\f462\\\"}.fa-bandcamp:before{content:\\\"\\\\f2d5\\\"}.fa-banjo:before{content:\\\"\\\\f8a3\\\"}.fa-barcode:before{content:\\\"\\\\f02a\\\"}.fa-barcode-alt:before{content:\\\"\\\\f463\\\"}.fa-barcode-read:before{content:\\\"\\\\f464\\\"}.fa-barcode-scan:before{content:\\\"\\\\f465\\\"}.fa-bars:before{content:\\\"\\\\f0c9\\\"}.fa-baseball:before{content:\\\"\\\\f432\\\"}.fa-baseball-ball:before{content:\\\"\\\\f433\\\"}.fa-basketball-ball:before{content:\\\"\\\\f434\\\"}.fa-basketball-hoop:before{content:\\\"\\\\f435\\\"}.fa-bat:before{content:\\\"\\\\f6b5\\\"}.fa-bath:before{content:\\\"\\\\f2cd\\\"}.fa-battery-bolt:before{content:\\\"\\\\f376\\\"}.fa-battery-empty:before{content:\\\"\\\\f244\\\"}.fa-battery-full:before{content:\\\"\\\\f240\\\"}.fa-battery-half:before{content:\\\"\\\\f242\\\"}.fa-battery-quarter:before{content:\\\"\\\\f243\\\"}.fa-battery-slash:before{content:\\\"\\\\f377\\\"}.fa-battery-three-quarters:before{content:\\\"\\\\f241\\\"}.fa-battle-net:before{content:\\\"\\\\f835\\\"}.fa-bed:before{content:\\\"\\\\f236\\\"}.fa-bed-alt:before{content:\\\"\\\\f8f7\\\"}.fa-bed-bunk:before{content:\\\"\\\\f8f8\\\"}.fa-bed-empty:before{content:\\\"\\\\f8f9\\\"}.fa-beer:before{content:\\\"\\\\f0fc\\\"}.fa-behance:before{content:\\\"\\\\f1b4\\\"}.fa-behance-square:before{content:\\\"\\\\f1b5\\\"}.fa-bell:before{content:\\\"\\\\f0f3\\\"}.fa-bell-exclamation:before{content:\\\"\\\\f848\\\"}.fa-bell-on:before{content:\\\"\\\\f8fa\\\"}.fa-bell-plus:before{content:\\\"\\\\f849\\\"}.fa-bell-school:before{content:\\\"\\\\f5d5\\\"}.fa-bell-school-slash:before{content:\\\"\\\\f5d6\\\"}.fa-bell-slash:before{content:\\\"\\\\f1f6\\\"}.fa-bells:before{content:\\\"\\\\f77f\\\"}.fa-betamax:before{content:\\\"\\\\f8a4\\\"}.fa-bezier-curve:before{content:\\\"\\\\f55b\\\"}.fa-bible:before{content:\\\"\\\\f647\\\"}.fa-bicycle:before{content:\\\"\\\\f206\\\"}.fa-biking:before{content:\\\"\\\\f84a\\\"}.fa-biking-mountain:before{content:\\\"\\\\f84b\\\"}.fa-bimobject:before{content:\\\"\\\\f378\\\"}.fa-binoculars:before{content:\\\"\\\\f1e5\\\"}.fa-biohazard:before{content:\\\"\\\\f780\\\"}.fa-birthday-cake:before{content:\\\"\\\\f1fd\\\"}.fa-bitbucket:before{content:\\\"\\\\f171\\\"}.fa-bitcoin:before{content:\\\"\\\\f379\\\"}.fa-bity:before{content:\\\"\\\\f37a\\\"}.fa-black-tie:before{content:\\\"\\\\f27e\\\"}.fa-blackberry:before{content:\\\"\\\\f37b\\\"}.fa-blanket:before{content:\\\"\\\\f498\\\"}.fa-blender:before{content:\\\"\\\\f517\\\"}.fa-blender-phone:before{content:\\\"\\\\f6b6\\\"}.fa-blind:before{content:\\\"\\\\f29d\\\"}.fa-blinds:before{content:\\\"\\\\f8fb\\\"}.fa-blinds-open:before{content:\\\"\\\\f8fc\\\"}.fa-blinds-raised:before{content:\\\"\\\\f8fd\\\"}.fa-blog:before{content:\\\"\\\\f781\\\"}.fa-blogger:before{content:\\\"\\\\f37c\\\"}.fa-blogger-b:before{content:\\\"\\\\f37d\\\"}.fa-bluetooth:before{content:\\\"\\\\f293\\\"}.fa-bluetooth-b:before{content:\\\"\\\\f294\\\"}.fa-bold:before{content:\\\"\\\\f032\\\"}.fa-bolt:before{content:\\\"\\\\f0e7\\\"}.fa-bomb:before{content:\\\"\\\\f1e2\\\"}.fa-bone:before{content:\\\"\\\\f5d7\\\"}.fa-bone-break:before{content:\\\"\\\\f5d8\\\"}.fa-bong:before{content:\\\"\\\\f55c\\\"}.fa-book:before{content:\\\"\\\\f02d\\\"}.fa-book-alt:before{content:\\\"\\\\f5d9\\\"}.fa-book-dead:before{content:\\\"\\\\f6b7\\\"}.fa-book-heart:before{content:\\\"\\\\f499\\\"}.fa-book-medical:before{content:\\\"\\\\f7e6\\\"}.fa-book-open:before{content:\\\"\\\\f518\\\"}.fa-book-reader:before{content:\\\"\\\\f5da\\\"}.fa-book-spells:before{content:\\\"\\\\f6b8\\\"}.fa-book-user:before{content:\\\"\\\\f7e7\\\"}.fa-bookmark:before{content:\\\"\\\\f02e\\\"}.fa-books:before{content:\\\"\\\\f5db\\\"}.fa-books-medical:before{content:\\\"\\\\f7e8\\\"}.fa-boombox:before{content:\\\"\\\\f8a5\\\"}.fa-boot:before{content:\\\"\\\\f782\\\"}.fa-booth-curtain:before{content:\\\"\\\\f734\\\"}.fa-bootstrap:before{content:\\\"\\\\f836\\\"}.fa-border-all:before{content:\\\"\\\\f84c\\\"}.fa-border-bottom:before{content:\\\"\\\\f84d\\\"}.fa-border-center-h:before{content:\\\"\\\\f89c\\\"}.fa-border-center-v:before{content:\\\"\\\\f89d\\\"}.fa-border-inner:before{content:\\\"\\\\f84e\\\"}.fa-border-left:before{content:\\\"\\\\f84f\\\"}.fa-border-none:before{content:\\\"\\\\f850\\\"}.fa-border-outer:before{content:\\\"\\\\f851\\\"}.fa-border-right:before{content:\\\"\\\\f852\\\"}.fa-border-style:before{content:\\\"\\\\f853\\\"}.fa-border-style-alt:before{content:\\\"\\\\f854\\\"}.fa-border-top:before{content:\\\"\\\\f855\\\"}.fa-bow-arrow:before{content:\\\"\\\\f6b9\\\"}.fa-bowling-ball:before{content:\\\"\\\\f436\\\"}.fa-bowling-pins:before{content:\\\"\\\\f437\\\"}.fa-box:before{content:\\\"\\\\f466\\\"}.fa-box-alt:before{content:\\\"\\\\f49a\\\"}.fa-box-ballot:before{content:\\\"\\\\f735\\\"}.fa-box-check:before{content:\\\"\\\\f467\\\"}.fa-box-fragile:before{content:\\\"\\\\f49b\\\"}.fa-box-full:before{content:\\\"\\\\f49c\\\"}.fa-box-heart:before{content:\\\"\\\\f49d\\\"}.fa-box-open:before{content:\\\"\\\\f49e\\\"}.fa-box-tissue:before{content:\\\"\\\\f95b\\\"}.fa-box-up:before{content:\\\"\\\\f49f\\\"}.fa-box-usd:before{content:\\\"\\\\f4a0\\\"}.fa-boxes:before{content:\\\"\\\\f468\\\"}.fa-boxes-alt:before{content:\\\"\\\\f4a1\\\"}.fa-boxing-glove:before{content:\\\"\\\\f438\\\"}.fa-brackets:before{content:\\\"\\\\f7e9\\\"}.fa-brackets-curly:before{content:\\\"\\\\f7ea\\\"}.fa-braille:before{content:\\\"\\\\f2a1\\\"}.fa-brain:before{content:\\\"\\\\f5dc\\\"}.fa-bread-loaf:before{content:\\\"\\\\f7eb\\\"}.fa-bread-slice:before{content:\\\"\\\\f7ec\\\"}.fa-briefcase:before{content:\\\"\\\\f0b1\\\"}.fa-briefcase-medical:before{content:\\\"\\\\f469\\\"}.fa-bring-forward:before{content:\\\"\\\\f856\\\"}.fa-bring-front:before{content:\\\"\\\\f857\\\"}.fa-broadcast-tower:before{content:\\\"\\\\f519\\\"}.fa-broom:before{content:\\\"\\\\f51a\\\"}.fa-browser:before{content:\\\"\\\\f37e\\\"}.fa-brush:before{content:\\\"\\\\f55d\\\"}.fa-btc:before{content:\\\"\\\\f15a\\\"}.fa-buffer:before{content:\\\"\\\\f837\\\"}.fa-bug:before{content:\\\"\\\\f188\\\"}.fa-building:before{content:\\\"\\\\f1ad\\\"}.fa-bullhorn:before{content:\\\"\\\\f0a1\\\"}.fa-bullseye:before{content:\\\"\\\\f140\\\"}.fa-bullseye-arrow:before{content:\\\"\\\\f648\\\"}.fa-bullseye-pointer:before{content:\\\"\\\\f649\\\"}.fa-burger-soda:before{content:\\\"\\\\f858\\\"}.fa-burn:before{content:\\\"\\\\f46a\\\"}.fa-buromobelexperte:before{content:\\\"\\\\f37f\\\"}.fa-burrito:before{content:\\\"\\\\f7ed\\\"}.fa-bus:before{content:\\\"\\\\f207\\\"}.fa-bus-alt:before{content:\\\"\\\\f55e\\\"}.fa-bus-school:before{content:\\\"\\\\f5dd\\\"}.fa-business-time:before{content:\\\"\\\\f64a\\\"}.fa-buy-n-large:before{content:\\\"\\\\f8a6\\\"}.fa-buysellads:before{content:\\\"\\\\f20d\\\"}.fa-cabinet-filing:before{content:\\\"\\\\f64b\\\"}.fa-cactus:before{content:\\\"\\\\f8a7\\\"}.fa-calculator:before{content:\\\"\\\\f1ec\\\"}.fa-calculator-alt:before{content:\\\"\\\\f64c\\\"}.fa-calendar:before{content:\\\"\\\\f133\\\"}.fa-calendar-alt:before{content:\\\"\\\\f073\\\"}.fa-calendar-check:before{content:\\\"\\\\f274\\\"}.fa-calendar-day:before{content:\\\"\\\\f783\\\"}.fa-calendar-edit:before{content:\\\"\\\\f333\\\"}.fa-calendar-exclamation:before{content:\\\"\\\\f334\\\"}.fa-calendar-minus:before{content:\\\"\\\\f272\\\"}.fa-calendar-plus:before{content:\\\"\\\\f271\\\"}.fa-calendar-star:before{content:\\\"\\\\f736\\\"}.fa-calendar-times:before{content:\\\"\\\\f273\\\"}.fa-calendar-week:before{content:\\\"\\\\f784\\\"}.fa-camcorder:before{content:\\\"\\\\f8a8\\\"}.fa-camera:before{content:\\\"\\\\f030\\\"}.fa-camera-alt:before{content:\\\"\\\\f332\\\"}.fa-camera-home:before{content:\\\"\\\\f8fe\\\"}.fa-camera-movie:before{content:\\\"\\\\f8a9\\\"}.fa-camera-polaroid:before{content:\\\"\\\\f8aa\\\"}.fa-camera-retro:before{content:\\\"\\\\f083\\\"}.fa-campfire:before{content:\\\"\\\\f6ba\\\"}.fa-campground:before{content:\\\"\\\\f6bb\\\"}.fa-canadian-maple-leaf:before{content:\\\"\\\\f785\\\"}.fa-candle-holder:before{content:\\\"\\\\f6bc\\\"}.fa-candy-cane:before{content:\\\"\\\\f786\\\"}.fa-candy-corn:before{content:\\\"\\\\f6bd\\\"}.fa-cannabis:before{content:\\\"\\\\f55f\\\"}.fa-capsules:before{content:\\\"\\\\f46b\\\"}.fa-car:before{content:\\\"\\\\f1b9\\\"}.fa-car-alt:before{content:\\\"\\\\f5de\\\"}.fa-car-battery:before{content:\\\"\\\\f5df\\\"}.fa-car-building:before{content:\\\"\\\\f859\\\"}.fa-car-bump:before{content:\\\"\\\\f5e0\\\"}.fa-car-bus:before{content:\\\"\\\\f85a\\\"}.fa-car-crash:before{content:\\\"\\\\f5e1\\\"}.fa-car-garage:before{content:\\\"\\\\f5e2\\\"}.fa-car-mechanic:before{content:\\\"\\\\f5e3\\\"}.fa-car-side:before{content:\\\"\\\\f5e4\\\"}.fa-car-tilt:before{content:\\\"\\\\f5e5\\\"}.fa-car-wash:before{content:\\\"\\\\f5e6\\\"}.fa-caravan:before{content:\\\"\\\\f8ff\\\"}.fa-caravan-alt:before{content:\\\"\\\\f900\\\"}.fa-caret-circle-down:before{content:\\\"\\\\f32d\\\"}.fa-caret-circle-left:before{content:\\\"\\\\f32e\\\"}.fa-caret-circle-right:before{content:\\\"\\\\f330\\\"}.fa-caret-circle-up:before{content:\\\"\\\\f331\\\"}.fa-caret-down:before{content:\\\"\\\\f0d7\\\"}.fa-caret-left:before{content:\\\"\\\\f0d9\\\"}.fa-caret-right:before{content:\\\"\\\\f0da\\\"}.fa-caret-square-down:before{content:\\\"\\\\f150\\\"}.fa-caret-square-left:before{content:\\\"\\\\f191\\\"}.fa-caret-square-right:before{content:\\\"\\\\f152\\\"}.fa-caret-square-up:before{content:\\\"\\\\f151\\\"}.fa-caret-up:before{content:\\\"\\\\f0d8\\\"}.fa-carrot:before{content:\\\"\\\\f787\\\"}.fa-cars:before{content:\\\"\\\\f85b\\\"}.fa-cart-arrow-down:before{content:\\\"\\\\f218\\\"}.fa-cart-plus:before{content:\\\"\\\\f217\\\"}.fa-cash-register:before{content:\\\"\\\\f788\\\"}.fa-cassette-tape:before{content:\\\"\\\\f8ab\\\"}.fa-cat:before{content:\\\"\\\\f6be\\\"}.fa-cat-space:before{content:\\\"\\\\f901\\\"}.fa-cauldron:before{content:\\\"\\\\f6bf\\\"}.fa-cc-amazon-pay:before{content:\\\"\\\\f42d\\\"}.fa-cc-amex:before{content:\\\"\\\\f1f3\\\"}.fa-cc-apple-pay:before{content:\\\"\\\\f416\\\"}.fa-cc-diners-club:before{content:\\\"\\\\f24c\\\"}.fa-cc-discover:before{content:\\\"\\\\f1f2\\\"}.fa-cc-jcb:before{content:\\\"\\\\f24b\\\"}.fa-cc-mastercard:before{content:\\\"\\\\f1f1\\\"}.fa-cc-paypal:before{content:\\\"\\\\f1f4\\\"}.fa-cc-stripe:before{content:\\\"\\\\f1f5\\\"}.fa-cc-visa:before{content:\\\"\\\\f1f0\\\"}.fa-cctv:before{content:\\\"\\\\f8ac\\\"}.fa-centercode:before{content:\\\"\\\\f380\\\"}.fa-centos:before{content:\\\"\\\\f789\\\"}.fa-certificate:before{content:\\\"\\\\f0a3\\\"}.fa-chair:before{content:\\\"\\\\f6c0\\\"}.fa-chair-office:before{content:\\\"\\\\f6c1\\\"}.fa-chalkboard:before{content:\\\"\\\\f51b\\\"}.fa-chalkboard-teacher:before{content:\\\"\\\\f51c\\\"}.fa-charging-station:before{content:\\\"\\\\f5e7\\\"}.fa-chart-area:before{content:\\\"\\\\f1fe\\\"}.fa-chart-bar:before{content:\\\"\\\\f080\\\"}.fa-chart-line:before{content:\\\"\\\\f201\\\"}.fa-chart-line-down:before{content:\\\"\\\\f64d\\\"}.fa-chart-network:before{content:\\\"\\\\f78a\\\"}.fa-chart-pie:before{content:\\\"\\\\f200\\\"}.fa-chart-pie-alt:before{content:\\\"\\\\f64e\\\"}.fa-chart-scatter:before{content:\\\"\\\\f7ee\\\"}.fa-check:before{content:\\\"\\\\f00c\\\"}.fa-check-circle:before{content:\\\"\\\\f058\\\"}.fa-check-double:before{content:\\\"\\\\f560\\\"}.fa-check-square:before{content:\\\"\\\\f14a\\\"}.fa-cheese:before{content:\\\"\\\\f7ef\\\"}.fa-cheese-swiss:before{content:\\\"\\\\f7f0\\\"}.fa-cheeseburger:before{content:\\\"\\\\f7f1\\\"}.fa-chess:before{content:\\\"\\\\f439\\\"}.fa-chess-bishop:before{content:\\\"\\\\f43a\\\"}.fa-chess-bishop-alt:before{content:\\\"\\\\f43b\\\"}.fa-chess-board:before{content:\\\"\\\\f43c\\\"}.fa-chess-clock:before{content:\\\"\\\\f43d\\\"}.fa-chess-clock-alt:before{content:\\\"\\\\f43e\\\"}.fa-chess-king:before{content:\\\"\\\\f43f\\\"}.fa-chess-king-alt:before{content:\\\"\\\\f440\\\"}.fa-chess-knight:before{content:\\\"\\\\f441\\\"}.fa-chess-knight-alt:before{content:\\\"\\\\f442\\\"}.fa-chess-pawn:before{content:\\\"\\\\f443\\\"}.fa-chess-pawn-alt:before{content:\\\"\\\\f444\\\"}.fa-chess-queen:before{content:\\\"\\\\f445\\\"}.fa-chess-queen-alt:before{content:\\\"\\\\f446\\\"}.fa-chess-rook:before{content:\\\"\\\\f447\\\"}.fa-chess-rook-alt:before{content:\\\"\\\\f448\\\"}.fa-chevron-circle-down:before{content:\\\"\\\\f13a\\\"}.fa-chevron-circle-left:before{content:\\\"\\\\f137\\\"}.fa-chevron-circle-right:before{content:\\\"\\\\f138\\\"}.fa-chevron-circle-up:before{content:\\\"\\\\f139\\\"}.fa-chevron-double-down:before{content:\\\"\\\\f322\\\"}.fa-chevron-double-left:before{content:\\\"\\\\f323\\\"}.fa-chevron-double-right:before{content:\\\"\\\\f324\\\"}.fa-chevron-double-up:before{content:\\\"\\\\f325\\\"}.fa-chevron-down:before{content:\\\"\\\\f078\\\"}.fa-chevron-left:before{content:\\\"\\\\f053\\\"}.fa-chevron-right:before{content:\\\"\\\\f054\\\"}.fa-chevron-square-down:before{content:\\\"\\\\f329\\\"}.fa-chevron-square-left:before{content:\\\"\\\\f32a\\\"}.fa-chevron-square-right:before{content:\\\"\\\\f32b\\\"}.fa-chevron-square-up:before{content:\\\"\\\\f32c\\\"}.fa-chevron-up:before{content:\\\"\\\\f077\\\"}.fa-child:before{content:\\\"\\\\f1ae\\\"}.fa-chimney:before{content:\\\"\\\\f78b\\\"}.fa-chrome:before{content:\\\"\\\\f268\\\"}.fa-chromecast:before{content:\\\"\\\\f838\\\"}.fa-church:before{content:\\\"\\\\f51d\\\"}.fa-circle:before{content:\\\"\\\\f111\\\"}.fa-circle-notch:before{content:\\\"\\\\f1ce\\\"}.fa-city:before{content:\\\"\\\\f64f\\\"}.fa-clarinet:before{content:\\\"\\\\f8ad\\\"}.fa-claw-marks:before{content:\\\"\\\\f6c2\\\"}.fa-clinic-medical:before{content:\\\"\\\\f7f2\\\"}.fa-clipboard:before{content:\\\"\\\\f328\\\"}.fa-clipboard-check:before{content:\\\"\\\\f46c\\\"}.fa-clipboard-list:before{content:\\\"\\\\f46d\\\"}.fa-clipboard-list-check:before{content:\\\"\\\\f737\\\"}.fa-clipboard-prescription:before{content:\\\"\\\\f5e8\\\"}.fa-clipboard-user:before{content:\\\"\\\\f7f3\\\"}.fa-clock:before{content:\\\"\\\\f017\\\"}.fa-clone:before{content:\\\"\\\\f24d\\\"}.fa-closed-captioning:before{content:\\\"\\\\f20a\\\"}.fa-cloud:before{content:\\\"\\\\f0c2\\\"}.fa-cloud-download:before{content:\\\"\\\\f0ed\\\"}.fa-cloud-download-alt:before{content:\\\"\\\\f381\\\"}.fa-cloud-drizzle:before{content:\\\"\\\\f738\\\"}.fa-cloud-hail:before{content:\\\"\\\\f739\\\"}.fa-cloud-hail-mixed:before{content:\\\"\\\\f73a\\\"}.fa-cloud-meatball:before{content:\\\"\\\\f73b\\\"}.fa-cloud-moon:before{content:\\\"\\\\f6c3\\\"}.fa-cloud-moon-rain:before{content:\\\"\\\\f73c\\\"}.fa-cloud-music:before{content:\\\"\\\\f8ae\\\"}.fa-cloud-rain:before{content:\\\"\\\\f73d\\\"}.fa-cloud-rainbow:before{content:\\\"\\\\f73e\\\"}.fa-cloud-showers:before{content:\\\"\\\\f73f\\\"}.fa-cloud-showers-heavy:before{content:\\\"\\\\f740\\\"}.fa-cloud-sleet:before{content:\\\"\\\\f741\\\"}.fa-cloud-snow:before{content:\\\"\\\\f742\\\"}.fa-cloud-sun:before{content:\\\"\\\\f6c4\\\"}.fa-cloud-sun-rain:before{content:\\\"\\\\f743\\\"}.fa-cloud-upload:before{content:\\\"\\\\f0ee\\\"}.fa-cloud-upload-alt:before{content:\\\"\\\\f382\\\"}.fa-clouds:before{content:\\\"\\\\f744\\\"}.fa-clouds-moon:before{content:\\\"\\\\f745\\\"}.fa-clouds-sun:before{content:\\\"\\\\f746\\\"}.fa-cloudscale:before{content:\\\"\\\\f383\\\"}.fa-cloudsmith:before{content:\\\"\\\\f384\\\"}.fa-cloudversify:before{content:\\\"\\\\f385\\\"}.fa-club:before{content:\\\"\\\\f327\\\"}.fa-cocktail:before{content:\\\"\\\\f561\\\"}.fa-code:before{content:\\\"\\\\f121\\\"}.fa-code-branch:before{content:\\\"\\\\f126\\\"}.fa-code-commit:before{content:\\\"\\\\f386\\\"}.fa-code-merge:before{content:\\\"\\\\f387\\\"}.fa-codepen:before{content:\\\"\\\\f1cb\\\"}.fa-codiepie:before{content:\\\"\\\\f284\\\"}.fa-coffee:before{content:\\\"\\\\f0f4\\\"}.fa-coffee-pot:before{content:\\\"\\\\f902\\\"}.fa-coffee-togo:before{content:\\\"\\\\f6c5\\\"}.fa-coffin:before{content:\\\"\\\\f6c6\\\"}.fa-coffin-cross:before{content:\\\"\\\\f951\\\"}.fa-cog:before{content:\\\"\\\\f013\\\"}.fa-cogs:before{content:\\\"\\\\f085\\\"}.fa-coin:before{content:\\\"\\\\f85c\\\"}.fa-coins:before{content:\\\"\\\\f51e\\\"}.fa-columns:before{content:\\\"\\\\f0db\\\"}.fa-comet:before{content:\\\"\\\\f903\\\"}.fa-comment:before{content:\\\"\\\\f075\\\"}.fa-comment-alt:before{content:\\\"\\\\f27a\\\"}.fa-comment-alt-check:before{content:\\\"\\\\f4a2\\\"}.fa-comment-alt-dollar:before{content:\\\"\\\\f650\\\"}.fa-comment-alt-dots:before{content:\\\"\\\\f4a3\\\"}.fa-comment-alt-edit:before{content:\\\"\\\\f4a4\\\"}.fa-comment-alt-exclamation:before{content:\\\"\\\\f4a5\\\"}.fa-comment-alt-lines:before{content:\\\"\\\\f4a6\\\"}.fa-comment-alt-medical:before{content:\\\"\\\\f7f4\\\"}.fa-comment-alt-minus:before{content:\\\"\\\\f4a7\\\"}.fa-comment-alt-music:before{content:\\\"\\\\f8af\\\"}.fa-comment-alt-plus:before{content:\\\"\\\\f4a8\\\"}.fa-comment-alt-slash:before{content:\\\"\\\\f4a9\\\"}.fa-comment-alt-smile:before{content:\\\"\\\\f4aa\\\"}.fa-comment-alt-times:before{content:\\\"\\\\f4ab\\\"}.fa-comment-check:before{content:\\\"\\\\f4ac\\\"}.fa-comment-dollar:before{content:\\\"\\\\f651\\\"}.fa-comment-dots:before{content:\\\"\\\\f4ad\\\"}.fa-comment-edit:before{content:\\\"\\\\f4ae\\\"}.fa-comment-exclamation:before{content:\\\"\\\\f4af\\\"}.fa-comment-lines:before{content:\\\"\\\\f4b0\\\"}.fa-comment-medical:before{content:\\\"\\\\f7f5\\\"}.fa-comment-minus:before{content:\\\"\\\\f4b1\\\"}.fa-comment-music:before{content:\\\"\\\\f8b0\\\"}.fa-comment-plus:before{content:\\\"\\\\f4b2\\\"}.fa-comment-slash:before{content:\\\"\\\\f4b3\\\"}.fa-comment-smile:before{content:\\\"\\\\f4b4\\\"}.fa-comment-times:before{content:\\\"\\\\f4b5\\\"}.fa-comments:before{content:\\\"\\\\f086\\\"}.fa-comments-alt:before{content:\\\"\\\\f4b6\\\"}.fa-comments-alt-dollar:before{content:\\\"\\\\f652\\\"}.fa-comments-dollar:before{content:\\\"\\\\f653\\\"}.fa-compact-disc:before{content:\\\"\\\\f51f\\\"}.fa-compass:before{content:\\\"\\\\f14e\\\"}.fa-compass-slash:before{content:\\\"\\\\f5e9\\\"}.fa-compress:before{content:\\\"\\\\f066\\\"}.fa-compress-alt:before{content:\\\"\\\\f422\\\"}.fa-compress-arrows-alt:before{content:\\\"\\\\f78c\\\"}.fa-compress-wide:before{content:\\\"\\\\f326\\\"}.fa-computer-classic:before{content:\\\"\\\\f8b1\\\"}.fa-computer-speaker:before{content:\\\"\\\\f8b2\\\"}.fa-concierge-bell:before{content:\\\"\\\\f562\\\"}.fa-confluence:before{content:\\\"\\\\f78d\\\"}.fa-connectdevelop:before{content:\\\"\\\\f20e\\\"}.fa-construction:before{content:\\\"\\\\f85d\\\"}.fa-container-storage:before{content:\\\"\\\\f4b7\\\"}.fa-contao:before{content:\\\"\\\\f26d\\\"}.fa-conveyor-belt:before{content:\\\"\\\\f46e\\\"}.fa-conveyor-belt-alt:before{content:\\\"\\\\f46f\\\"}.fa-cookie:before{content:\\\"\\\\f563\\\"}.fa-cookie-bite:before{content:\\\"\\\\f564\\\"}.fa-copy:before{content:\\\"\\\\f0c5\\\"}.fa-copyright:before{content:\\\"\\\\f1f9\\\"}.fa-corn:before{content:\\\"\\\\f6c7\\\"}.fa-cotton-bureau:before{content:\\\"\\\\f89e\\\"}.fa-couch:before{content:\\\"\\\\f4b8\\\"}.fa-cow:before{content:\\\"\\\\f6c8\\\"}.fa-cowbell:before{content:\\\"\\\\f8b3\\\"}.fa-cowbell-more:before{content:\\\"\\\\f8b4\\\"}.fa-cpanel:before{content:\\\"\\\\f388\\\"}.fa-creative-commons:before{content:\\\"\\\\f25e\\\"}.fa-creative-commons-by:before{content:\\\"\\\\f4e7\\\"}.fa-creative-commons-nc:before{content:\\\"\\\\f4e8\\\"}.fa-creative-commons-nc-eu:before{content:\\\"\\\\f4e9\\\"}.fa-creative-commons-nc-jp:before{content:\\\"\\\\f4ea\\\"}.fa-creative-commons-nd:before{content:\\\"\\\\f4eb\\\"}.fa-creative-commons-pd:before{content:\\\"\\\\f4ec\\\"}.fa-creative-commons-pd-alt:before{content:\\\"\\\\f4ed\\\"}.fa-creative-commons-remix:before{content:\\\"\\\\f4ee\\\"}.fa-creative-commons-sa:before{content:\\\"\\\\f4ef\\\"}.fa-creative-commons-sampling:before{content:\\\"\\\\f4f0\\\"}.fa-creative-commons-sampling-plus:before{content:\\\"\\\\f4f1\\\"}.fa-creative-commons-share:before{content:\\\"\\\\f4f2\\\"}.fa-creative-commons-zero:before{content:\\\"\\\\f4f3\\\"}.fa-credit-card:before{content:\\\"\\\\f09d\\\"}.fa-credit-card-blank:before{content:\\\"\\\\f389\\\"}.fa-credit-card-front:before{content:\\\"\\\\f38a\\\"}.fa-cricket:before{content:\\\"\\\\f449\\\"}.fa-critical-role:before{content:\\\"\\\\f6c9\\\"}.fa-croissant:before{content:\\\"\\\\f7f6\\\"}.fa-crop:before{content:\\\"\\\\f125\\\"}.fa-crop-alt:before{content:\\\"\\\\f565\\\"}.fa-cross:before{content:\\\"\\\\f654\\\"}.fa-crosshairs:before{content:\\\"\\\\f05b\\\"}.fa-crow:before{content:\\\"\\\\f520\\\"}.fa-crown:before{content:\\\"\\\\f521\\\"}.fa-crutch:before{content:\\\"\\\\f7f7\\\"}.fa-crutches:before{content:\\\"\\\\f7f8\\\"}.fa-css3:before{content:\\\"\\\\f13c\\\"}.fa-css3-alt:before{content:\\\"\\\\f38b\\\"}.fa-cube:before{content:\\\"\\\\f1b2\\\"}.fa-cubes:before{content:\\\"\\\\f1b3\\\"}.fa-curling:before{content:\\\"\\\\f44a\\\"}.fa-cut:before{content:\\\"\\\\f0c4\\\"}.fa-cuttlefish:before{content:\\\"\\\\f38c\\\"}.fa-d-and-d:before{content:\\\"\\\\f38d\\\"}.fa-d-and-d-beyond:before{content:\\\"\\\\f6ca\\\"}.fa-dagger:before{content:\\\"\\\\f6cb\\\"}.fa-dailymotion:before{content:\\\"\\\\f952\\\"}.fa-dashcube:before{content:\\\"\\\\f210\\\"}.fa-database:before{content:\\\"\\\\f1c0\\\"}.fa-deaf:before{content:\\\"\\\\f2a4\\\"}.fa-debug:before{content:\\\"\\\\f7f9\\\"}.fa-deer:before{content:\\\"\\\\f78e\\\"}.fa-deer-rudolph:before{content:\\\"\\\\f78f\\\"}.fa-delicious:before{content:\\\"\\\\f1a5\\\"}.fa-democrat:before{content:\\\"\\\\f747\\\"}.fa-deploydog:before{content:\\\"\\\\f38e\\\"}.fa-deskpro:before{content:\\\"\\\\f38f\\\"}.fa-desktop:before{content:\\\"\\\\f108\\\"}.fa-desktop-alt:before{content:\\\"\\\\f390\\\"}.fa-dev:before{content:\\\"\\\\f6cc\\\"}.fa-deviantart:before{content:\\\"\\\\f1bd\\\"}.fa-dewpoint:before{content:\\\"\\\\f748\\\"}.fa-dharmachakra:before{content:\\\"\\\\f655\\\"}.fa-dhl:before{content:\\\"\\\\f790\\\"}.fa-diagnoses:before{content:\\\"\\\\f470\\\"}.fa-diamond:before{content:\\\"\\\\f219\\\"}.fa-diaspora:before{content:\\\"\\\\f791\\\"}.fa-dice:before{content:\\\"\\\\f522\\\"}.fa-dice-d10:before{content:\\\"\\\\f6cd\\\"}.fa-dice-d12:before{content:\\\"\\\\f6ce\\\"}.fa-dice-d20:before{content:\\\"\\\\f6cf\\\"}.fa-dice-d4:before{content:\\\"\\\\f6d0\\\"}.fa-dice-d6:before{content:\\\"\\\\f6d1\\\"}.fa-dice-d8:before{content:\\\"\\\\f6d2\\\"}.fa-dice-five:before{content:\\\"\\\\f523\\\"}.fa-dice-four:before{content:\\\"\\\\f524\\\"}.fa-dice-one:before{content:\\\"\\\\f525\\\"}.fa-dice-six:before{content:\\\"\\\\f526\\\"}.fa-dice-three:before{content:\\\"\\\\f527\\\"}.fa-dice-two:before{content:\\\"\\\\f528\\\"}.fa-digg:before{content:\\\"\\\\f1a6\\\"}.fa-digging:before{content:\\\"\\\\f85e\\\"}.fa-digital-ocean:before{content:\\\"\\\\f391\\\"}.fa-digital-tachograph:before{content:\\\"\\\\f566\\\"}.fa-diploma:before{content:\\\"\\\\f5ea\\\"}.fa-directions:before{content:\\\"\\\\f5eb\\\"}.fa-disc-drive:before{content:\\\"\\\\f8b5\\\"}.fa-discord:before{content:\\\"\\\\f392\\\"}.fa-discourse:before{content:\\\"\\\\f393\\\"}.fa-disease:before{content:\\\"\\\\f7fa\\\"}.fa-divide:before{content:\\\"\\\\f529\\\"}.fa-dizzy:before{content:\\\"\\\\f567\\\"}.fa-dna:before{content:\\\"\\\\f471\\\"}.fa-do-not-enter:before{content:\\\"\\\\f5ec\\\"}.fa-dochub:before{content:\\\"\\\\f394\\\"}.fa-docker:before{content:\\\"\\\\f395\\\"}.fa-dog:before{content:\\\"\\\\f6d3\\\"}.fa-dog-leashed:before{content:\\\"\\\\f6d4\\\"}.fa-dollar-sign:before{content:\\\"\\\\f155\\\"}.fa-dolly:before{content:\\\"\\\\f472\\\"}.fa-dolly-empty:before{content:\\\"\\\\f473\\\"}.fa-dolly-flatbed:before{content:\\\"\\\\f474\\\"}.fa-dolly-flatbed-alt:before{content:\\\"\\\\f475\\\"}.fa-dolly-flatbed-empty:before{content:\\\"\\\\f476\\\"}.fa-donate:before{content:\\\"\\\\f4b9\\\"}.fa-door-closed:before{content:\\\"\\\\f52a\\\"}.fa-door-open:before{content:\\\"\\\\f52b\\\"}.fa-dot-circle:before{content:\\\"\\\\f192\\\"}.fa-dove:before{content:\\\"\\\\f4ba\\\"}.fa-download:before{content:\\\"\\\\f019\\\"}.fa-draft2digital:before{content:\\\"\\\\f396\\\"}.fa-drafting-compass:before{content:\\\"\\\\f568\\\"}.fa-dragon:before{content:\\\"\\\\f6d5\\\"}.fa-draw-circle:before{content:\\\"\\\\f5ed\\\"}.fa-draw-polygon:before{content:\\\"\\\\f5ee\\\"}.fa-draw-square:before{content:\\\"\\\\f5ef\\\"}.fa-dreidel:before{content:\\\"\\\\f792\\\"}.fa-dribbble:before{content:\\\"\\\\f17d\\\"}.fa-dribbble-square:before{content:\\\"\\\\f397\\\"}.fa-drone:before{content:\\\"\\\\f85f\\\"}.fa-drone-alt:before{content:\\\"\\\\f860\\\"}.fa-dropbox:before{content:\\\"\\\\f16b\\\"}.fa-drum:before{content:\\\"\\\\f569\\\"}.fa-drum-steelpan:before{content:\\\"\\\\f56a\\\"}.fa-drumstick:before{content:\\\"\\\\f6d6\\\"}.fa-drumstick-bite:before{content:\\\"\\\\f6d7\\\"}.fa-drupal:before{content:\\\"\\\\f1a9\\\"}.fa-dryer:before{content:\\\"\\\\f861\\\"}.fa-dryer-alt:before{content:\\\"\\\\f862\\\"}.fa-duck:before{content:\\\"\\\\f6d8\\\"}.fa-dumbbell:before{content:\\\"\\\\f44b\\\"}.fa-dumpster:before{content:\\\"\\\\f793\\\"}.fa-dumpster-fire:before{content:\\\"\\\\f794\\\"}.fa-dungeon:before{content:\\\"\\\\f6d9\\\"}.fa-dyalog:before{content:\\\"\\\\f399\\\"}.fa-ear:before{content:\\\"\\\\f5f0\\\"}.fa-ear-muffs:before{content:\\\"\\\\f795\\\"}.fa-earlybirds:before{content:\\\"\\\\f39a\\\"}.fa-ebay:before{content:\\\"\\\\f4f4\\\"}.fa-eclipse:before{content:\\\"\\\\f749\\\"}.fa-eclipse-alt:before{content:\\\"\\\\f74a\\\"}.fa-edge:before{content:\\\"\\\\f282\\\"}.fa-edit:before{content:\\\"\\\\f044\\\"}.fa-egg:before{content:\\\"\\\\f7fb\\\"}.fa-egg-fried:before{content:\\\"\\\\f7fc\\\"}.fa-eject:before{content:\\\"\\\\f052\\\"}.fa-elementor:before{content:\\\"\\\\f430\\\"}.fa-elephant:before{content:\\\"\\\\f6da\\\"}.fa-ellipsis-h:before{content:\\\"\\\\f141\\\"}.fa-ellipsis-h-alt:before{content:\\\"\\\\f39b\\\"}.fa-ellipsis-v:before{content:\\\"\\\\f142\\\"}.fa-ellipsis-v-alt:before{content:\\\"\\\\f39c\\\"}.fa-ello:before{content:\\\"\\\\f5f1\\\"}.fa-ember:before{content:\\\"\\\\f423\\\"}.fa-empire:before{content:\\\"\\\\f1d1\\\"}.fa-empty-set:before{content:\\\"\\\\f656\\\"}.fa-engine-warning:before{content:\\\"\\\\f5f2\\\"}.fa-envelope:before{content:\\\"\\\\f0e0\\\"}.fa-envelope-open:before{content:\\\"\\\\f2b6\\\"}.fa-envelope-open-dollar:before{content:\\\"\\\\f657\\\"}.fa-envelope-open-text:before{content:\\\"\\\\f658\\\"}.fa-envelope-square:before{content:\\\"\\\\f199\\\"}.fa-envira:before{content:\\\"\\\\f299\\\"}.fa-equals:before{content:\\\"\\\\f52c\\\"}.fa-eraser:before{content:\\\"\\\\f12d\\\"}.fa-erlang:before{content:\\\"\\\\f39d\\\"}.fa-ethereum:before{content:\\\"\\\\f42e\\\"}.fa-ethernet:before{content:\\\"\\\\f796\\\"}.fa-etsy:before{content:\\\"\\\\f2d7\\\"}.fa-euro-sign:before{content:\\\"\\\\f153\\\"}.fa-evernote:before{content:\\\"\\\\f839\\\"}.fa-exchange:before{content:\\\"\\\\f0ec\\\"}.fa-exchange-alt:before{content:\\\"\\\\f362\\\"}.fa-exclamation:before{content:\\\"\\\\f12a\\\"}.fa-exclamation-circle:before{content:\\\"\\\\f06a\\\"}.fa-exclamation-square:before{content:\\\"\\\\f321\\\"}.fa-exclamation-triangle:before{content:\\\"\\\\f071\\\"}.fa-expand:before{content:\\\"\\\\f065\\\"}.fa-expand-alt:before{content:\\\"\\\\f424\\\"}.fa-expand-arrows:before{content:\\\"\\\\f31d\\\"}.fa-expand-arrows-alt:before{content:\\\"\\\\f31e\\\"}.fa-expand-wide:before{content:\\\"\\\\f320\\\"}.fa-expeditedssl:before{content:\\\"\\\\f23e\\\"}.fa-external-link:before{content:\\\"\\\\f08e\\\"}.fa-external-link-alt:before{content:\\\"\\\\f35d\\\"}.fa-external-link-square:before{content:\\\"\\\\f14c\\\"}.fa-external-link-square-alt:before{content:\\\"\\\\f360\\\"}.fa-eye:before{content:\\\"\\\\f06e\\\"}.fa-eye-dropper:before{content:\\\"\\\\f1fb\\\"}.fa-eye-evil:before{content:\\\"\\\\f6db\\\"}.fa-eye-slash:before{content:\\\"\\\\f070\\\"}.fa-facebook:before{content:\\\"\\\\f09a\\\"}.fa-facebook-f:before{content:\\\"\\\\f39e\\\"}.fa-facebook-messenger:before{content:\\\"\\\\f39f\\\"}.fa-facebook-square:before{content:\\\"\\\\f082\\\"}.fa-fan:before{content:\\\"\\\\f863\\\"}.fa-fan-table:before{content:\\\"\\\\f904\\\"}.fa-fantasy-flight-games:before{content:\\\"\\\\f6dc\\\"}.fa-farm:before{content:\\\"\\\\f864\\\"}.fa-fast-backward:before{content:\\\"\\\\f049\\\"}.fa-fast-forward:before{content:\\\"\\\\f050\\\"}.fa-faucet:before{content:\\\"\\\\f905\\\"}.fa-faucet-drip:before{content:\\\"\\\\f906\\\"}.fa-fax:before{content:\\\"\\\\f1ac\\\"}.fa-feather:before{content:\\\"\\\\f52d\\\"}.fa-feather-alt:before{content:\\\"\\\\f56b\\\"}.fa-fedex:before{content:\\\"\\\\f797\\\"}.fa-fedora:before{content:\\\"\\\\f798\\\"}.fa-female:before{content:\\\"\\\\f182\\\"}.fa-field-hockey:before{content:\\\"\\\\f44c\\\"}.fa-fighter-jet:before{content:\\\"\\\\f0fb\\\"}.fa-figma:before{content:\\\"\\\\f799\\\"}.fa-file:before{content:\\\"\\\\f15b\\\"}.fa-file-alt:before{content:\\\"\\\\f15c\\\"}.fa-file-archive:before{content:\\\"\\\\f1c6\\\"}.fa-file-audio:before{content:\\\"\\\\f1c7\\\"}.fa-file-certificate:before{content:\\\"\\\\f5f3\\\"}.fa-file-chart-line:before{content:\\\"\\\\f659\\\"}.fa-file-chart-pie:before{content:\\\"\\\\f65a\\\"}.fa-file-check:before{content:\\\"\\\\f316\\\"}.fa-file-code:before{content:\\\"\\\\f1c9\\\"}.fa-file-contract:before{content:\\\"\\\\f56c\\\"}.fa-file-csv:before{content:\\\"\\\\f6dd\\\"}.fa-file-download:before{content:\\\"\\\\f56d\\\"}.fa-file-edit:before{content:\\\"\\\\f31c\\\"}.fa-file-excel:before{content:\\\"\\\\f1c3\\\"}.fa-file-exclamation:before{content:\\\"\\\\f31a\\\"}.fa-file-export:before{content:\\\"\\\\f56e\\\"}.fa-file-image:before{content:\\\"\\\\f1c5\\\"}.fa-file-import:before{content:\\\"\\\\f56f\\\"}.fa-file-invoice:before{content:\\\"\\\\f570\\\"}.fa-file-invoice-dollar:before{content:\\\"\\\\f571\\\"}.fa-file-medical:before{content:\\\"\\\\f477\\\"}.fa-file-medical-alt:before{content:\\\"\\\\f478\\\"}.fa-file-minus:before{content:\\\"\\\\f318\\\"}.fa-file-music:before{content:\\\"\\\\f8b6\\\"}.fa-file-pdf:before{content:\\\"\\\\f1c1\\\"}.fa-file-plus:before{content:\\\"\\\\f319\\\"}.fa-file-powerpoint:before{content:\\\"\\\\f1c4\\\"}.fa-file-prescription:before{content:\\\"\\\\f572\\\"}.fa-file-search:before{content:\\\"\\\\f865\\\"}.fa-file-signature:before{content:\\\"\\\\f573\\\"}.fa-file-spreadsheet:before{content:\\\"\\\\f65b\\\"}.fa-file-times:before{content:\\\"\\\\f317\\\"}.fa-file-upload:before{content:\\\"\\\\f574\\\"}.fa-file-user:before{content:\\\"\\\\f65c\\\"}.fa-file-video:before{content:\\\"\\\\f1c8\\\"}.fa-file-word:before{content:\\\"\\\\f1c2\\\"}.fa-files-medical:before{content:\\\"\\\\f7fd\\\"}.fa-fill:before{content:\\\"\\\\f575\\\"}.fa-fill-drip:before{content:\\\"\\\\f576\\\"}.fa-film:before{content:\\\"\\\\f008\\\"}.fa-film-alt:before{content:\\\"\\\\f3a0\\\"}.fa-film-canister:before{content:\\\"\\\\f8b7\\\"}.fa-filter:before{content:\\\"\\\\f0b0\\\"}.fa-fingerprint:before{content:\\\"\\\\f577\\\"}.fa-fire:before{content:\\\"\\\\f06d\\\"}.fa-fire-alt:before{content:\\\"\\\\f7e4\\\"}.fa-fire-extinguisher:before{content:\\\"\\\\f134\\\"}.fa-fire-smoke:before{content:\\\"\\\\f74b\\\"}.fa-firefox:before{content:\\\"\\\\f269\\\"}.fa-firefox-browser:before{content:\\\"\\\\f907\\\"}.fa-fireplace:before{content:\\\"\\\\f79a\\\"}.fa-first-aid:before{content:\\\"\\\\f479\\\"}.fa-first-order:before{content:\\\"\\\\f2b0\\\"}.fa-first-order-alt:before{content:\\\"\\\\f50a\\\"}.fa-firstdraft:before{content:\\\"\\\\f3a1\\\"}.fa-fish:before{content:\\\"\\\\f578\\\"}.fa-fish-cooked:before{content:\\\"\\\\f7fe\\\"}.fa-fist-raised:before{content:\\\"\\\\f6de\\\"}.fa-flag:before{content:\\\"\\\\f024\\\"}.fa-flag-alt:before{content:\\\"\\\\f74c\\\"}.fa-flag-checkered:before{content:\\\"\\\\f11e\\\"}.fa-flag-usa:before{content:\\\"\\\\f74d\\\"}.fa-flame:before{content:\\\"\\\\f6df\\\"}.fa-flashlight:before{content:\\\"\\\\f8b8\\\"}.fa-flask:before{content:\\\"\\\\f0c3\\\"}.fa-flask-poison:before{content:\\\"\\\\f6e0\\\"}.fa-flask-potion:before{content:\\\"\\\\f6e1\\\"}.fa-flickr:before{content:\\\"\\\\f16e\\\"}.fa-flipboard:before{content:\\\"\\\\f44d\\\"}.fa-flower:before{content:\\\"\\\\f7ff\\\"}.fa-flower-daffodil:before{content:\\\"\\\\f800\\\"}.fa-flower-tulip:before{content:\\\"\\\\f801\\\"}.fa-flushed:before{content:\\\"\\\\f579\\\"}.fa-flute:before{content:\\\"\\\\f8b9\\\"}.fa-flux-capacitor:before{content:\\\"\\\\f8ba\\\"}.fa-fly:before{content:\\\"\\\\f417\\\"}.fa-fog:before{content:\\\"\\\\f74e\\\"}.fa-folder:before{content:\\\"\\\\f07b\\\"}.fa-folder-download:before{content:\\\"\\\\f953\\\"}.fa-folder-minus:before{content:\\\"\\\\f65d\\\"}.fa-folder-open:before{content:\\\"\\\\f07c\\\"}.fa-folder-plus:before{content:\\\"\\\\f65e\\\"}.fa-folder-times:before{content:\\\"\\\\f65f\\\"}.fa-folder-tree:before{content:\\\"\\\\f802\\\"}.fa-folder-upload:before{content:\\\"\\\\f954\\\"}.fa-folders:before{content:\\\"\\\\f660\\\"}.fa-font:before{content:\\\"\\\\f031\\\"}.fa-font-awesome:before{content:\\\"\\\\f2b4\\\"}.fa-font-awesome-alt:before{content:\\\"\\\\f35c\\\"}.fa-font-awesome-flag:before{content:\\\"\\\\f425\\\"}.fa-font-awesome-logo-full:before{content:\\\"\\\\f4e6\\\"}.fa-font-case:before{content:\\\"\\\\f866\\\"}.fa-fonticons:before{content:\\\"\\\\f280\\\"}.fa-fonticons-fi:before{content:\\\"\\\\f3a2\\\"}.fa-football-ball:before{content:\\\"\\\\f44e\\\"}.fa-football-helmet:before{content:\\\"\\\\f44f\\\"}.fa-forklift:before{content:\\\"\\\\f47a\\\"}.fa-fort-awesome:before{content:\\\"\\\\f286\\\"}.fa-fort-awesome-alt:before{content:\\\"\\\\f3a3\\\"}.fa-forumbee:before{content:\\\"\\\\f211\\\"}.fa-forward:before{content:\\\"\\\\f04e\\\"}.fa-foursquare:before{content:\\\"\\\\f180\\\"}.fa-fragile:before{content:\\\"\\\\f4bb\\\"}.fa-free-code-camp:before{content:\\\"\\\\f2c5\\\"}.fa-freebsd:before{content:\\\"\\\\f3a4\\\"}.fa-french-fries:before{content:\\\"\\\\f803\\\"}.fa-frog:before{content:\\\"\\\\f52e\\\"}.fa-frosty-head:before{content:\\\"\\\\f79b\\\"}.fa-frown:before{content:\\\"\\\\f119\\\"}.fa-frown-open:before{content:\\\"\\\\f57a\\\"}.fa-fulcrum:before{content:\\\"\\\\f50b\\\"}.fa-function:before{content:\\\"\\\\f661\\\"}.fa-funnel-dollar:before{content:\\\"\\\\f662\\\"}.fa-futbol:before{content:\\\"\\\\f1e3\\\"}.fa-galactic-republic:before{content:\\\"\\\\f50c\\\"}.fa-galactic-senate:before{content:\\\"\\\\f50d\\\"}.fa-galaxy:before{content:\\\"\\\\f908\\\"}.fa-game-board:before{content:\\\"\\\\f867\\\"}.fa-game-board-alt:before{content:\\\"\\\\f868\\\"}.fa-game-console-handheld:before{content:\\\"\\\\f8bb\\\"}.fa-gamepad:before{content:\\\"\\\\f11b\\\"}.fa-gamepad-alt:before{content:\\\"\\\\f8bc\\\"}.fa-garage:before{content:\\\"\\\\f909\\\"}.fa-garage-car:before{content:\\\"\\\\f90a\\\"}.fa-garage-open:before{content:\\\"\\\\f90b\\\"}.fa-gas-pump:before{content:\\\"\\\\f52f\\\"}.fa-gas-pump-slash:before{content:\\\"\\\\f5f4\\\"}.fa-gavel:before{content:\\\"\\\\f0e3\\\"}.fa-gem:before{content:\\\"\\\\f3a5\\\"}.fa-genderless:before{content:\\\"\\\\f22d\\\"}.fa-get-pocket:before{content:\\\"\\\\f265\\\"}.fa-gg:before{content:\\\"\\\\f260\\\"}.fa-gg-circle:before{content:\\\"\\\\f261\\\"}.fa-ghost:before{content:\\\"\\\\f6e2\\\"}.fa-gift:before{content:\\\"\\\\f06b\\\"}.fa-gift-card:before{content:\\\"\\\\f663\\\"}.fa-gifts:before{content:\\\"\\\\f79c\\\"}.fa-gingerbread-man:before{content:\\\"\\\\f79d\\\"}.fa-git:before{content:\\\"\\\\f1d3\\\"}.fa-git-alt:before{content:\\\"\\\\f841\\\"}.fa-git-square:before{content:\\\"\\\\f1d2\\\"}.fa-github:before{content:\\\"\\\\f09b\\\"}.fa-github-alt:before{content:\\\"\\\\f113\\\"}.fa-github-square:before{content:\\\"\\\\f092\\\"}.fa-gitkraken:before{content:\\\"\\\\f3a6\\\"}.fa-gitlab:before{content:\\\"\\\\f296\\\"}.fa-gitter:before{content:\\\"\\\\f426\\\"}.fa-glass:before{content:\\\"\\\\f804\\\"}.fa-glass-champagne:before{content:\\\"\\\\f79e\\\"}.fa-glass-cheers:before{content:\\\"\\\\f79f\\\"}.fa-glass-citrus:before{content:\\\"\\\\f869\\\"}.fa-glass-martini:before{content:\\\"\\\\f000\\\"}.fa-glass-martini-alt:before{content:\\\"\\\\f57b\\\"}.fa-glass-whiskey:before{content:\\\"\\\\f7a0\\\"}.fa-glass-whiskey-rocks:before{content:\\\"\\\\f7a1\\\"}.fa-glasses:before{content:\\\"\\\\f530\\\"}.fa-glasses-alt:before{content:\\\"\\\\f5f5\\\"}.fa-glide:before{content:\\\"\\\\f2a5\\\"}.fa-glide-g:before{content:\\\"\\\\f2a6\\\"}.fa-globe:before{content:\\\"\\\\f0ac\\\"}.fa-globe-africa:before{content:\\\"\\\\f57c\\\"}.fa-globe-americas:before{content:\\\"\\\\f57d\\\"}.fa-globe-asia:before{content:\\\"\\\\f57e\\\"}.fa-globe-europe:before{content:\\\"\\\\f7a2\\\"}.fa-globe-snow:before{content:\\\"\\\\f7a3\\\"}.fa-globe-stand:before{content:\\\"\\\\f5f6\\\"}.fa-gofore:before{content:\\\"\\\\f3a7\\\"}.fa-golf-ball:before{content:\\\"\\\\f450\\\"}.fa-golf-club:before{content:\\\"\\\\f451\\\"}.fa-goodreads:before{content:\\\"\\\\f3a8\\\"}.fa-goodreads-g:before{content:\\\"\\\\f3a9\\\"}.fa-google:before{content:\\\"\\\\f1a0\\\"}.fa-google-drive:before{content:\\\"\\\\f3aa\\\"}.fa-google-play:before{content:\\\"\\\\f3ab\\\"}.fa-google-plus:before{content:\\\"\\\\f2b3\\\"}.fa-google-plus-g:before{content:\\\"\\\\f0d5\\\"}.fa-google-plus-square:before{content:\\\"\\\\f0d4\\\"}.fa-google-wallet:before{content:\\\"\\\\f1ee\\\"}.fa-gopuram:before{content:\\\"\\\\f664\\\"}.fa-graduation-cap:before{content:\\\"\\\\f19d\\\"}.fa-gramophone:before{content:\\\"\\\\f8bd\\\"}.fa-gratipay:before{content:\\\"\\\\f184\\\"}.fa-grav:before{content:\\\"\\\\f2d6\\\"}.fa-greater-than:before{content:\\\"\\\\f531\\\"}.fa-greater-than-equal:before{content:\\\"\\\\f532\\\"}.fa-grimace:before{content:\\\"\\\\f57f\\\"}.fa-grin:before{content:\\\"\\\\f580\\\"}.fa-grin-alt:before{content:\\\"\\\\f581\\\"}.fa-grin-beam:before{content:\\\"\\\\f582\\\"}.fa-grin-beam-sweat:before{content:\\\"\\\\f583\\\"}.fa-grin-hearts:before{content:\\\"\\\\f584\\\"}.fa-grin-squint:before{content:\\\"\\\\f585\\\"}.fa-grin-squint-tears:before{content:\\\"\\\\f586\\\"}.fa-grin-stars:before{content:\\\"\\\\f587\\\"}.fa-grin-tears:before{content:\\\"\\\\f588\\\"}.fa-grin-tongue:before{content:\\\"\\\\f589\\\"}.fa-grin-tongue-squint:before{content:\\\"\\\\f58a\\\"}.fa-grin-tongue-wink:before{content:\\\"\\\\f58b\\\"}.fa-grin-wink:before{content:\\\"\\\\f58c\\\"}.fa-grip-horizontal:before{content:\\\"\\\\f58d\\\"}.fa-grip-lines:before{content:\\\"\\\\f7a4\\\"}.fa-grip-lines-vertical:before{content:\\\"\\\\f7a5\\\"}.fa-grip-vertical:before{content:\\\"\\\\f58e\\\"}.fa-gripfire:before{content:\\\"\\\\f3ac\\\"}.fa-grunt:before{content:\\\"\\\\f3ad\\\"}.fa-guitar:before{content:\\\"\\\\f7a6\\\"}.fa-guitar-electric:before{content:\\\"\\\\f8be\\\"}.fa-guitars:before{content:\\\"\\\\f8bf\\\"}.fa-gulp:before{content:\\\"\\\\f3ae\\\"}.fa-h-square:before{content:\\\"\\\\f0fd\\\"}.fa-h1:before{content:\\\"\\\\f313\\\"}.fa-h2:before{content:\\\"\\\\f314\\\"}.fa-h3:before{content:\\\"\\\\f315\\\"}.fa-h4:before{content:\\\"\\\\f86a\\\"}.fa-hacker-news:before{content:\\\"\\\\f1d4\\\"}.fa-hacker-news-square:before{content:\\\"\\\\f3af\\\"}.fa-hackerrank:before{content:\\\"\\\\f5f7\\\"}.fa-hamburger:before{content:\\\"\\\\f805\\\"}.fa-hammer:before{content:\\\"\\\\f6e3\\\"}.fa-hammer-war:before{content:\\\"\\\\f6e4\\\"}.fa-hamsa:before{content:\\\"\\\\f665\\\"}.fa-hand-heart:before{content:\\\"\\\\f4bc\\\"}.fa-hand-holding:before{content:\\\"\\\\f4bd\\\"}.fa-hand-holding-box:before{content:\\\"\\\\f47b\\\"}.fa-hand-holding-heart:before{content:\\\"\\\\f4be\\\"}.fa-hand-holding-magic:before{content:\\\"\\\\f6e5\\\"}.fa-hand-holding-medical:before{content:\\\"\\\\f95c\\\"}.fa-hand-holding-seedling:before{content:\\\"\\\\f4bf\\\"}.fa-hand-holding-usd:before{content:\\\"\\\\f4c0\\\"}.fa-hand-holding-water:before{content:\\\"\\\\f4c1\\\"}.fa-hand-lizard:before{content:\\\"\\\\f258\\\"}.fa-hand-middle-finger:before{content:\\\"\\\\f806\\\"}.fa-hand-paper:before{content:\\\"\\\\f256\\\"}.fa-hand-peace:before{content:\\\"\\\\f25b\\\"}.fa-hand-point-down:before{content:\\\"\\\\f0a7\\\"}.fa-hand-point-left:before{content:\\\"\\\\f0a5\\\"}.fa-hand-point-right:before{content:\\\"\\\\f0a4\\\"}.fa-hand-point-up:before{content:\\\"\\\\f0a6\\\"}.fa-hand-pointer:before{content:\\\"\\\\f25a\\\"}.fa-hand-receiving:before{content:\\\"\\\\f47c\\\"}.fa-hand-rock:before{content:\\\"\\\\f255\\\"}.fa-hand-scissors:before{content:\\\"\\\\f257\\\"}.fa-hand-sparkles:before{content:\\\"\\\\f95d\\\"}.fa-hand-spock:before{content:\\\"\\\\f259\\\"}.fa-hands:before{content:\\\"\\\\f4c2\\\"}.fa-hands-heart:before{content:\\\"\\\\f4c3\\\"}.fa-hands-helping:before{content:\\\"\\\\f4c4\\\"}.fa-hands-usd:before{content:\\\"\\\\f4c5\\\"}.fa-hands-wash:before{content:\\\"\\\\f95e\\\"}.fa-handshake:before{content:\\\"\\\\f2b5\\\"}.fa-handshake-alt:before{content:\\\"\\\\f4c6\\\"}.fa-handshake-alt-slash:before{content:\\\"\\\\f95f\\\"}.fa-handshake-slash:before{content:\\\"\\\\f960\\\"}.fa-hanukiah:before{content:\\\"\\\\f6e6\\\"}.fa-hard-hat:before{content:\\\"\\\\f807\\\"}.fa-hashtag:before{content:\\\"\\\\f292\\\"}.fa-hat-chef:before{content:\\\"\\\\f86b\\\"}.fa-hat-cowboy:before{content:\\\"\\\\f8c0\\\"}.fa-hat-cowboy-side:before{content:\\\"\\\\f8c1\\\"}.fa-hat-santa:before{content:\\\"\\\\f7a7\\\"}.fa-hat-winter:before{content:\\\"\\\\f7a8\\\"}.fa-hat-witch:before{content:\\\"\\\\f6e7\\\"}.fa-hat-wizard:before{content:\\\"\\\\f6e8\\\"}.fa-hdd:before{content:\\\"\\\\f0a0\\\"}.fa-head-side:before{content:\\\"\\\\f6e9\\\"}.fa-head-side-brain:before{content:\\\"\\\\f808\\\"}.fa-head-side-cough:before{content:\\\"\\\\f961\\\"}.fa-head-side-cough-slash:before{content:\\\"\\\\f962\\\"}.fa-head-side-headphones:before{content:\\\"\\\\f8c2\\\"}.fa-head-side-mask:before{content:\\\"\\\\f963\\\"}.fa-head-side-medical:before{content:\\\"\\\\f809\\\"}.fa-head-side-virus:before{content:\\\"\\\\f964\\\"}.fa-head-vr:before{content:\\\"\\\\f6ea\\\"}.fa-heading:before{content:\\\"\\\\f1dc\\\"}.fa-headphones:before{content:\\\"\\\\f025\\\"}.fa-headphones-alt:before{content:\\\"\\\\f58f\\\"}.fa-headset:before{content:\\\"\\\\f590\\\"}.fa-heart:before{content:\\\"\\\\f004\\\"}.fa-heart-broken:before{content:\\\"\\\\f7a9\\\"}.fa-heart-circle:before{content:\\\"\\\\f4c7\\\"}.fa-heart-rate:before{content:\\\"\\\\f5f8\\\"}.fa-heart-square:before{content:\\\"\\\\f4c8\\\"}.fa-heartbeat:before{content:\\\"\\\\f21e\\\"}.fa-heat:before{content:\\\"\\\\f90c\\\"}.fa-helicopter:before{content:\\\"\\\\f533\\\"}.fa-helmet-battle:before{content:\\\"\\\\f6eb\\\"}.fa-hexagon:before{content:\\\"\\\\f312\\\"}.fa-highlighter:before{content:\\\"\\\\f591\\\"}.fa-hiking:before{content:\\\"\\\\f6ec\\\"}.fa-hippo:before{content:\\\"\\\\f6ed\\\"}.fa-hips:before{content:\\\"\\\\f452\\\"}.fa-hire-a-helper:before{content:\\\"\\\\f3b0\\\"}.fa-history:before{content:\\\"\\\\f1da\\\"}.fa-hockey-mask:before{content:\\\"\\\\f6ee\\\"}.fa-hockey-puck:before{content:\\\"\\\\f453\\\"}.fa-hockey-sticks:before{content:\\\"\\\\f454\\\"}.fa-holly-berry:before{content:\\\"\\\\f7aa\\\"}.fa-home:before{content:\\\"\\\\f015\\\"}.fa-home-alt:before{content:\\\"\\\\f80a\\\"}.fa-home-heart:before{content:\\\"\\\\f4c9\\\"}.fa-home-lg:before{content:\\\"\\\\f80b\\\"}.fa-home-lg-alt:before{content:\\\"\\\\f80c\\\"}.fa-hood-cloak:before{content:\\\"\\\\f6ef\\\"}.fa-hooli:before{content:\\\"\\\\f427\\\"}.fa-horizontal-rule:before{content:\\\"\\\\f86c\\\"}.fa-hornbill:before{content:\\\"\\\\f592\\\"}.fa-horse:before{content:\\\"\\\\f6f0\\\"}.fa-horse-head:before{content:\\\"\\\\f7ab\\\"}.fa-horse-saddle:before{content:\\\"\\\\f8c3\\\"}.fa-hospital:before{content:\\\"\\\\f0f8\\\"}.fa-hospital-alt:before{content:\\\"\\\\f47d\\\"}.fa-hospital-symbol:before{content:\\\"\\\\f47e\\\"}.fa-hospital-user:before{content:\\\"\\\\f80d\\\"}.fa-hospitals:before{content:\\\"\\\\f80e\\\"}.fa-hot-tub:before{content:\\\"\\\\f593\\\"}.fa-hotdog:before{content:\\\"\\\\f80f\\\"}.fa-hotel:before{content:\\\"\\\\f594\\\"}.fa-hotjar:before{content:\\\"\\\\f3b1\\\"}.fa-hourglass:before{content:\\\"\\\\f254\\\"}.fa-hourglass-end:before{content:\\\"\\\\f253\\\"}.fa-hourglass-half:before{content:\\\"\\\\f252\\\"}.fa-hourglass-start:before{content:\\\"\\\\f251\\\"}.fa-house:before{content:\\\"\\\\f90d\\\"}.fa-house-damage:before{content:\\\"\\\\f6f1\\\"}.fa-house-day:before{content:\\\"\\\\f90e\\\"}.fa-house-flood:before{content:\\\"\\\\f74f\\\"}.fa-house-leave:before{content:\\\"\\\\f90f\\\"}.fa-house-night:before{content:\\\"\\\\f910\\\"}.fa-house-return:before{content:\\\"\\\\f911\\\"}.fa-house-signal:before{content:\\\"\\\\f912\\\"}.fa-house-user:before{content:\\\"\\\\f965\\\"}.fa-houzz:before{content:\\\"\\\\f27c\\\"}.fa-hryvnia:before{content:\\\"\\\\f6f2\\\"}.fa-html5:before{content:\\\"\\\\f13b\\\"}.fa-hubspot:before{content:\\\"\\\\f3b2\\\"}.fa-humidity:before{content:\\\"\\\\f750\\\"}.fa-hurricane:before{content:\\\"\\\\f751\\\"}.fa-i-cursor:before{content:\\\"\\\\f246\\\"}.fa-ice-cream:before{content:\\\"\\\\f810\\\"}.fa-ice-skate:before{content:\\\"\\\\f7ac\\\"}.fa-icicles:before{content:\\\"\\\\f7ad\\\"}.fa-icons:before{content:\\\"\\\\f86d\\\"}.fa-icons-alt:before{content:\\\"\\\\f86e\\\"}.fa-id-badge:before{content:\\\"\\\\f2c1\\\"}.fa-id-card:before{content:\\\"\\\\f2c2\\\"}.fa-id-card-alt:before{content:\\\"\\\\f47f\\\"}.fa-ideal:before{content:\\\"\\\\f913\\\"}.fa-igloo:before{content:\\\"\\\\f7ae\\\"}.fa-image:before{content:\\\"\\\\f03e\\\"}.fa-image-polaroid:before{content:\\\"\\\\f8c4\\\"}.fa-images:before{content:\\\"\\\\f302\\\"}.fa-imdb:before{content:\\\"\\\\f2d8\\\"}.fa-inbox:before{content:\\\"\\\\f01c\\\"}.fa-inbox-in:before{content:\\\"\\\\f310\\\"}.fa-inbox-out:before{content:\\\"\\\\f311\\\"}.fa-indent:before{content:\\\"\\\\f03c\\\"}.fa-industry:before{content:\\\"\\\\f275\\\"}.fa-industry-alt:before{content:\\\"\\\\f3b3\\\"}.fa-infinity:before{content:\\\"\\\\f534\\\"}.fa-info:before{content:\\\"\\\\f129\\\"}.fa-info-circle:before{content:\\\"\\\\f05a\\\"}.fa-info-square:before{content:\\\"\\\\f30f\\\"}.fa-inhaler:before{content:\\\"\\\\f5f9\\\"}.fa-instagram:before{content:\\\"\\\\f16d\\\"}.fa-instagram-square:before{content:\\\"\\\\f955\\\"}.fa-integral:before{content:\\\"\\\\f667\\\"}.fa-intercom:before{content:\\\"\\\\f7af\\\"}.fa-internet-explorer:before{content:\\\"\\\\f26b\\\"}.fa-intersection:before{content:\\\"\\\\f668\\\"}.fa-inventory:before{content:\\\"\\\\f480\\\"}.fa-invision:before{content:\\\"\\\\f7b0\\\"}.fa-ioxhost:before{content:\\\"\\\\f208\\\"}.fa-island-tropical:before{content:\\\"\\\\f811\\\"}.fa-italic:before{content:\\\"\\\\f033\\\"}.fa-itch-io:before{content:\\\"\\\\f83a\\\"}.fa-itunes:before{content:\\\"\\\\f3b4\\\"}.fa-itunes-note:before{content:\\\"\\\\f3b5\\\"}.fa-jack-o-lantern:before{content:\\\"\\\\f30e\\\"}.fa-java:before{content:\\\"\\\\f4e4\\\"}.fa-jedi:before{content:\\\"\\\\f669\\\"}.fa-jedi-order:before{content:\\\"\\\\f50e\\\"}.fa-jenkins:before{content:\\\"\\\\f3b6\\\"}.fa-jira:before{content:\\\"\\\\f7b1\\\"}.fa-joget:before{content:\\\"\\\\f3b7\\\"}.fa-joint:before{content:\\\"\\\\f595\\\"}.fa-joomla:before{content:\\\"\\\\f1aa\\\"}.fa-journal-whills:before{content:\\\"\\\\f66a\\\"}.fa-joystick:before{content:\\\"\\\\f8c5\\\"}.fa-js:before{content:\\\"\\\\f3b8\\\"}.fa-js-square:before{content:\\\"\\\\f3b9\\\"}.fa-jsfiddle:before{content:\\\"\\\\f1cc\\\"}.fa-jug:before{content:\\\"\\\\f8c6\\\"}.fa-kaaba:before{content:\\\"\\\\f66b\\\"}.fa-kaggle:before{content:\\\"\\\\f5fa\\\"}.fa-kazoo:before{content:\\\"\\\\f8c7\\\"}.fa-kerning:before{content:\\\"\\\\f86f\\\"}.fa-key:before{content:\\\"\\\\f084\\\"}.fa-key-skeleton:before{content:\\\"\\\\f6f3\\\"}.fa-keybase:before{content:\\\"\\\\f4f5\\\"}.fa-keyboard:before{content:\\\"\\\\f11c\\\"}.fa-keycdn:before{content:\\\"\\\\f3ba\\\"}.fa-keynote:before{content:\\\"\\\\f66c\\\"}.fa-khanda:before{content:\\\"\\\\f66d\\\"}.fa-kickstarter:before{content:\\\"\\\\f3bb\\\"}.fa-kickstarter-k:before{content:\\\"\\\\f3bc\\\"}.fa-kidneys:before{content:\\\"\\\\f5fb\\\"}.fa-kiss:before{content:\\\"\\\\f596\\\"}.fa-kiss-beam:before{content:\\\"\\\\f597\\\"}.fa-kiss-wink-heart:before{content:\\\"\\\\f598\\\"}.fa-kite:before{content:\\\"\\\\f6f4\\\"}.fa-kiwi-bird:before{content:\\\"\\\\f535\\\"}.fa-knife-kitchen:before{content:\\\"\\\\f6f5\\\"}.fa-korvue:before{content:\\\"\\\\f42f\\\"}.fa-lambda:before{content:\\\"\\\\f66e\\\"}.fa-lamp:before{content:\\\"\\\\f4ca\\\"}.fa-lamp-desk:before{content:\\\"\\\\f914\\\"}.fa-lamp-floor:before{content:\\\"\\\\f915\\\"}.fa-landmark:before{content:\\\"\\\\f66f\\\"}.fa-landmark-alt:before{content:\\\"\\\\f752\\\"}.fa-language:before{content:\\\"\\\\f1ab\\\"}.fa-laptop:before{content:\\\"\\\\f109\\\"}.fa-laptop-code:before{content:\\\"\\\\f5fc\\\"}.fa-laptop-house:before{content:\\\"\\\\f966\\\"}.fa-laptop-medical:before{content:\\\"\\\\f812\\\"}.fa-laravel:before{content:\\\"\\\\f3bd\\\"}.fa-lasso:before{content:\\\"\\\\f8c8\\\"}.fa-lastfm:before{content:\\\"\\\\f202\\\"}.fa-lastfm-square:before{content:\\\"\\\\f203\\\"}.fa-laugh:before{content:\\\"\\\\f599\\\"}.fa-laugh-beam:before{content:\\\"\\\\f59a\\\"}.fa-laugh-squint:before{content:\\\"\\\\f59b\\\"}.fa-laugh-wink:before{content:\\\"\\\\f59c\\\"}.fa-layer-group:before{content:\\\"\\\\f5fd\\\"}.fa-layer-minus:before{content:\\\"\\\\f5fe\\\"}.fa-layer-plus:before{content:\\\"\\\\f5ff\\\"}.fa-leaf:before{content:\\\"\\\\f06c\\\"}.fa-leaf-heart:before{content:\\\"\\\\f4cb\\\"}.fa-leaf-maple:before{content:\\\"\\\\f6f6\\\"}.fa-leaf-oak:before{content:\\\"\\\\f6f7\\\"}.fa-leanpub:before{content:\\\"\\\\f212\\\"}.fa-lemon:before{content:\\\"\\\\f094\\\"}.fa-less:before{content:\\\"\\\\f41d\\\"}.fa-less-than:before{content:\\\"\\\\f536\\\"}.fa-less-than-equal:before{content:\\\"\\\\f537\\\"}.fa-level-down:before{content:\\\"\\\\f149\\\"}.fa-level-down-alt:before{content:\\\"\\\\f3be\\\"}.fa-level-up:before{content:\\\"\\\\f148\\\"}.fa-level-up-alt:before{content:\\\"\\\\f3bf\\\"}.fa-life-ring:before{content:\\\"\\\\f1cd\\\"}.fa-light-ceiling:before{content:\\\"\\\\f916\\\"}.fa-light-switch:before{content:\\\"\\\\f917\\\"}.fa-light-switch-off:before{content:\\\"\\\\f918\\\"}.fa-light-switch-on:before{content:\\\"\\\\f919\\\"}.fa-lightbulb:before{content:\\\"\\\\f0eb\\\"}.fa-lightbulb-dollar:before{content:\\\"\\\\f670\\\"}.fa-lightbulb-exclamation:before{content:\\\"\\\\f671\\\"}.fa-lightbulb-on:before{content:\\\"\\\\f672\\\"}.fa-lightbulb-slash:before{content:\\\"\\\\f673\\\"}.fa-lights-holiday:before{content:\\\"\\\\f7b2\\\"}.fa-line:before{content:\\\"\\\\f3c0\\\"}.fa-line-columns:before{content:\\\"\\\\f870\\\"}.fa-line-height:before{content:\\\"\\\\f871\\\"}.fa-link:before{content:\\\"\\\\f0c1\\\"}.fa-linkedin:before{content:\\\"\\\\f08c\\\"}.fa-linkedin-in:before{content:\\\"\\\\f0e1\\\"}.fa-linode:before{content:\\\"\\\\f2b8\\\"}.fa-linux:before{content:\\\"\\\\f17c\\\"}.fa-lips:before{content:\\\"\\\\f600\\\"}.fa-lira-sign:before{content:\\\"\\\\f195\\\"}.fa-list:before{content:\\\"\\\\f03a\\\"}.fa-list-alt:before{content:\\\"\\\\f022\\\"}.fa-list-music:before{content:\\\"\\\\f8c9\\\"}.fa-list-ol:before{content:\\\"\\\\f0cb\\\"}.fa-list-ul:before{content:\\\"\\\\f0ca\\\"}.fa-location:before{content:\\\"\\\\f601\\\"}.fa-location-arrow:before{content:\\\"\\\\f124\\\"}.fa-location-circle:before{content:\\\"\\\\f602\\\"}.fa-location-slash:before{content:\\\"\\\\f603\\\"}.fa-lock:before{content:\\\"\\\\f023\\\"}.fa-lock-alt:before{content:\\\"\\\\f30d\\\"}.fa-lock-open:before{content:\\\"\\\\f3c1\\\"}.fa-lock-open-alt:before{content:\\\"\\\\f3c2\\\"}.fa-long-arrow-alt-down:before{content:\\\"\\\\f309\\\"}.fa-long-arrow-alt-left:before{content:\\\"\\\\f30a\\\"}.fa-long-arrow-alt-right:before{content:\\\"\\\\f30b\\\"}.fa-long-arrow-alt-up:before{content:\\\"\\\\f30c\\\"}.fa-long-arrow-down:before{content:\\\"\\\\f175\\\"}.fa-long-arrow-left:before{content:\\\"\\\\f177\\\"}.fa-long-arrow-right:before{content:\\\"\\\\f178\\\"}.fa-long-arrow-up:before{content:\\\"\\\\f176\\\"}.fa-loveseat:before{content:\\\"\\\\f4cc\\\"}.fa-low-vision:before{content:\\\"\\\\f2a8\\\"}.fa-luchador:before{content:\\\"\\\\f455\\\"}.fa-luggage-cart:before{content:\\\"\\\\f59d\\\"}.fa-lungs:before{content:\\\"\\\\f604\\\"}.fa-lungs-virus:before{content:\\\"\\\\f967\\\"}.fa-lyft:before{content:\\\"\\\\f3c3\\\"}.fa-mace:before{content:\\\"\\\\f6f8\\\"}.fa-magento:before{content:\\\"\\\\f3c4\\\"}.fa-magic:before{content:\\\"\\\\f0d0\\\"}.fa-magnet:before{content:\\\"\\\\f076\\\"}.fa-mail-bulk:before{content:\\\"\\\\f674\\\"}.fa-mailbox:before{content:\\\"\\\\f813\\\"}.fa-mailchimp:before{content:\\\"\\\\f59e\\\"}.fa-male:before{content:\\\"\\\\f183\\\"}.fa-mandalorian:before{content:\\\"\\\\f50f\\\"}.fa-mandolin:before{content:\\\"\\\\f6f9\\\"}.fa-map:before{content:\\\"\\\\f279\\\"}.fa-map-marked:before{content:\\\"\\\\f59f\\\"}.fa-map-marked-alt:before{content:\\\"\\\\f5a0\\\"}.fa-map-marker:before{content:\\\"\\\\f041\\\"}.fa-map-marker-alt:before{content:\\\"\\\\f3c5\\\"}.fa-map-marker-alt-slash:before{content:\\\"\\\\f605\\\"}.fa-map-marker-check:before{content:\\\"\\\\f606\\\"}.fa-map-marker-edit:before{content:\\\"\\\\f607\\\"}.fa-map-marker-exclamation:before{content:\\\"\\\\f608\\\"}.fa-map-marker-minus:before{content:\\\"\\\\f609\\\"}.fa-map-marker-plus:before{content:\\\"\\\\f60a\\\"}.fa-map-marker-question:before{content:\\\"\\\\f60b\\\"}.fa-map-marker-slash:before{content:\\\"\\\\f60c\\\"}.fa-map-marker-smile:before{content:\\\"\\\\f60d\\\"}.fa-map-marker-times:before{content:\\\"\\\\f60e\\\"}.fa-map-pin:before{content:\\\"\\\\f276\\\"}.fa-map-signs:before{content:\\\"\\\\f277\\\"}.fa-markdown:before{content:\\\"\\\\f60f\\\"}.fa-marker:before{content:\\\"\\\\f5a1\\\"}.fa-mars:before{content:\\\"\\\\f222\\\"}.fa-mars-double:before{content:\\\"\\\\f227\\\"}.fa-mars-stroke:before{content:\\\"\\\\f229\\\"}.fa-mars-stroke-h:before{content:\\\"\\\\f22b\\\"}.fa-mars-stroke-v:before{content:\\\"\\\\f22a\\\"}.fa-mask:before{content:\\\"\\\\f6fa\\\"}.fa-mastodon:before{content:\\\"\\\\f4f6\\\"}.fa-maxcdn:before{content:\\\"\\\\f136\\\"}.fa-mdb:before{content:\\\"\\\\f8ca\\\"}.fa-meat:before{content:\\\"\\\\f814\\\"}.fa-medal:before{content:\\\"\\\\f5a2\\\"}.fa-medapps:before{content:\\\"\\\\f3c6\\\"}.fa-medium:before{content:\\\"\\\\f23a\\\"}.fa-medium-m:before{content:\\\"\\\\f3c7\\\"}.fa-medkit:before{content:\\\"\\\\f0fa\\\"}.fa-medrt:before{content:\\\"\\\\f3c8\\\"}.fa-meetup:before{content:\\\"\\\\f2e0\\\"}.fa-megaphone:before{content:\\\"\\\\f675\\\"}.fa-megaport:before{content:\\\"\\\\f5a3\\\"}.fa-meh:before{content:\\\"\\\\f11a\\\"}.fa-meh-blank:before{content:\\\"\\\\f5a4\\\"}.fa-meh-rolling-eyes:before{content:\\\"\\\\f5a5\\\"}.fa-memory:before{content:\\\"\\\\f538\\\"}.fa-mendeley:before{content:\\\"\\\\f7b3\\\"}.fa-menorah:before{content:\\\"\\\\f676\\\"}.fa-mercury:before{content:\\\"\\\\f223\\\"}.fa-meteor:before{content:\\\"\\\\f753\\\"}.fa-microblog:before{content:\\\"\\\\f91a\\\"}.fa-microchip:before{content:\\\"\\\\f2db\\\"}.fa-microphone:before{content:\\\"\\\\f130\\\"}.fa-microphone-alt:before{content:\\\"\\\\f3c9\\\"}.fa-microphone-alt-slash:before{content:\\\"\\\\f539\\\"}.fa-microphone-slash:before{content:\\\"\\\\f131\\\"}.fa-microphone-stand:before{content:\\\"\\\\f8cb\\\"}.fa-microscope:before{content:\\\"\\\\f610\\\"}.fa-microsoft:before{content:\\\"\\\\f3ca\\\"}.fa-microwave:before{content:\\\"\\\\f91b\\\"}.fa-mind-share:before{content:\\\"\\\\f677\\\"}.fa-minus:before{content:\\\"\\\\f068\\\"}.fa-minus-circle:before{content:\\\"\\\\f056\\\"}.fa-minus-hexagon:before{content:\\\"\\\\f307\\\"}.fa-minus-octagon:before{content:\\\"\\\\f308\\\"}.fa-minus-square:before{content:\\\"\\\\f146\\\"}.fa-mistletoe:before{content:\\\"\\\\f7b4\\\"}.fa-mitten:before{content:\\\"\\\\f7b5\\\"}.fa-mix:before{content:\\\"\\\\f3cb\\\"}.fa-mixcloud:before{content:\\\"\\\\f289\\\"}.fa-mixer:before{content:\\\"\\\\f956\\\"}.fa-mizuni:before{content:\\\"\\\\f3cc\\\"}.fa-mobile:before{content:\\\"\\\\f10b\\\"}.fa-mobile-alt:before{content:\\\"\\\\f3cd\\\"}.fa-mobile-android:before{content:\\\"\\\\f3ce\\\"}.fa-mobile-android-alt:before{content:\\\"\\\\f3cf\\\"}.fa-modx:before{content:\\\"\\\\f285\\\"}.fa-monero:before{content:\\\"\\\\f3d0\\\"}.fa-money-bill:before{content:\\\"\\\\f0d6\\\"}.fa-money-bill-alt:before{content:\\\"\\\\f3d1\\\"}.fa-money-bill-wave:before{content:\\\"\\\\f53a\\\"}.fa-money-bill-wave-alt:before{content:\\\"\\\\f53b\\\"}.fa-money-check:before{content:\\\"\\\\f53c\\\"}.fa-money-check-alt:before{content:\\\"\\\\f53d\\\"}.fa-money-check-edit:before{content:\\\"\\\\f872\\\"}.fa-money-check-edit-alt:before{content:\\\"\\\\f873\\\"}.fa-monitor-heart-rate:before{content:\\\"\\\\f611\\\"}.fa-monkey:before{content:\\\"\\\\f6fb\\\"}.fa-monument:before{content:\\\"\\\\f5a6\\\"}.fa-moon:before{content:\\\"\\\\f186\\\"}.fa-moon-cloud:before{content:\\\"\\\\f754\\\"}.fa-moon-stars:before{content:\\\"\\\\f755\\\"}.fa-mortar-pestle:before{content:\\\"\\\\f5a7\\\"}.fa-mosque:before{content:\\\"\\\\f678\\\"}.fa-motorcycle:before{content:\\\"\\\\f21c\\\"}.fa-mountain:before{content:\\\"\\\\f6fc\\\"}.fa-mountains:before{content:\\\"\\\\f6fd\\\"}.fa-mouse:before{content:\\\"\\\\f8cc\\\"}.fa-mouse-alt:before{content:\\\"\\\\f8cd\\\"}.fa-mouse-pointer:before{content:\\\"\\\\f245\\\"}.fa-mp3-player:before{content:\\\"\\\\f8ce\\\"}.fa-mug:before{content:\\\"\\\\f874\\\"}.fa-mug-hot:before{content:\\\"\\\\f7b6\\\"}.fa-mug-marshmallows:before{content:\\\"\\\\f7b7\\\"}.fa-mug-tea:before{content:\\\"\\\\f875\\\"}.fa-music:before{content:\\\"\\\\f001\\\"}.fa-music-alt:before{content:\\\"\\\\f8cf\\\"}.fa-music-alt-slash:before{content:\\\"\\\\f8d0\\\"}.fa-music-slash:before{content:\\\"\\\\f8d1\\\"}.fa-napster:before{content:\\\"\\\\f3d2\\\"}.fa-narwhal:before{content:\\\"\\\\f6fe\\\"}.fa-neos:before{content:\\\"\\\\f612\\\"}.fa-network-wired:before{content:\\\"\\\\f6ff\\\"}.fa-neuter:before{content:\\\"\\\\f22c\\\"}.fa-newspaper:before{content:\\\"\\\\f1ea\\\"}.fa-nimblr:before{content:\\\"\\\\f5a8\\\"}.fa-node:before{content:\\\"\\\\f419\\\"}.fa-node-js:before{content:\\\"\\\\f3d3\\\"}.fa-not-equal:before{content:\\\"\\\\f53e\\\"}.fa-notes-medical:before{content:\\\"\\\\f481\\\"}.fa-npm:before{content:\\\"\\\\f3d4\\\"}.fa-ns8:before{content:\\\"\\\\f3d5\\\"}.fa-nutritionix:before{content:\\\"\\\\f3d6\\\"}.fa-object-group:before{content:\\\"\\\\f247\\\"}.fa-object-ungroup:before{content:\\\"\\\\f248\\\"}.fa-octagon:before{content:\\\"\\\\f306\\\"}.fa-odnoklassniki:before{content:\\\"\\\\f263\\\"}.fa-odnoklassniki-square:before{content:\\\"\\\\f264\\\"}.fa-oil-can:before{content:\\\"\\\\f613\\\"}.fa-oil-temp:before{content:\\\"\\\\f614\\\"}.fa-old-republic:before{content:\\\"\\\\f510\\\"}.fa-om:before{content:\\\"\\\\f679\\\"}.fa-omega:before{content:\\\"\\\\f67a\\\"}.fa-opencart:before{content:\\\"\\\\f23d\\\"}.fa-openid:before{content:\\\"\\\\f19b\\\"}.fa-opera:before{content:\\\"\\\\f26a\\\"}.fa-optin-monster:before{content:\\\"\\\\f23c\\\"}.fa-orcid:before{content:\\\"\\\\f8d2\\\"}.fa-ornament:before{content:\\\"\\\\f7b8\\\"}.fa-osi:before{content:\\\"\\\\f41a\\\"}.fa-otter:before{content:\\\"\\\\f700\\\"}.fa-outdent:before{content:\\\"\\\\f03b\\\"}.fa-outlet:before{content:\\\"\\\\f91c\\\"}.fa-oven:before{content:\\\"\\\\f91d\\\"}.fa-overline:before{content:\\\"\\\\f876\\\"}.fa-page-break:before{content:\\\"\\\\f877\\\"}.fa-page4:before{content:\\\"\\\\f3d7\\\"}.fa-pagelines:before{content:\\\"\\\\f18c\\\"}.fa-pager:before{content:\\\"\\\\f815\\\"}.fa-paint-brush:before{content:\\\"\\\\f1fc\\\"}.fa-paint-brush-alt:before{content:\\\"\\\\f5a9\\\"}.fa-paint-roller:before{content:\\\"\\\\f5aa\\\"}.fa-palette:before{content:\\\"\\\\f53f\\\"}.fa-palfed:before{content:\\\"\\\\f3d8\\\"}.fa-pallet:before{content:\\\"\\\\f482\\\"}.fa-pallet-alt:before{content:\\\"\\\\f483\\\"}.fa-paper-plane:before{content:\\\"\\\\f1d8\\\"}.fa-paperclip:before{content:\\\"\\\\f0c6\\\"}.fa-parachute-box:before{content:\\\"\\\\f4cd\\\"}.fa-paragraph:before{content:\\\"\\\\f1dd\\\"}.fa-paragraph-rtl:before{content:\\\"\\\\f878\\\"}.fa-parking:before{content:\\\"\\\\f540\\\"}.fa-parking-circle:before{content:\\\"\\\\f615\\\"}.fa-parking-circle-slash:before{content:\\\"\\\\f616\\\"}.fa-parking-slash:before{content:\\\"\\\\f617\\\"}.fa-passport:before{content:\\\"\\\\f5ab\\\"}.fa-pastafarianism:before{content:\\\"\\\\f67b\\\"}.fa-paste:before{content:\\\"\\\\f0ea\\\"}.fa-patreon:before{content:\\\"\\\\f3d9\\\"}.fa-pause:before{content:\\\"\\\\f04c\\\"}.fa-pause-circle:before{content:\\\"\\\\f28b\\\"}.fa-paw:before{content:\\\"\\\\f1b0\\\"}.fa-paw-alt:before{content:\\\"\\\\f701\\\"}.fa-paw-claws:before{content:\\\"\\\\f702\\\"}.fa-paypal:before{content:\\\"\\\\f1ed\\\"}.fa-peace:before{content:\\\"\\\\f67c\\\"}.fa-pegasus:before{content:\\\"\\\\f703\\\"}.fa-pen:before{content:\\\"\\\\f304\\\"}.fa-pen-alt:before{content:\\\"\\\\f305\\\"}.fa-pen-fancy:before{content:\\\"\\\\f5ac\\\"}.fa-pen-nib:before{content:\\\"\\\\f5ad\\\"}.fa-pen-square:before{content:\\\"\\\\f14b\\\"}.fa-pencil:before{content:\\\"\\\\f040\\\"}.fa-pencil-alt:before{content:\\\"\\\\f303\\\"}.fa-pencil-paintbrush:before{content:\\\"\\\\f618\\\"}.fa-pencil-ruler:before{content:\\\"\\\\f5ae\\\"}.fa-pennant:before{content:\\\"\\\\f456\\\"}.fa-penny-arcade:before{content:\\\"\\\\f704\\\"}.fa-people-arrows:before{content:\\\"\\\\f968\\\"}.fa-people-carry:before{content:\\\"\\\\f4ce\\\"}.fa-pepper-hot:before{content:\\\"\\\\f816\\\"}.fa-percent:before{content:\\\"\\\\f295\\\"}.fa-percentage:before{content:\\\"\\\\f541\\\"}.fa-periscope:before{content:\\\"\\\\f3da\\\"}.fa-person-booth:before{content:\\\"\\\\f756\\\"}.fa-person-carry:before{content:\\\"\\\\f4cf\\\"}.fa-person-dolly:before{content:\\\"\\\\f4d0\\\"}.fa-person-dolly-empty:before{content:\\\"\\\\f4d1\\\"}.fa-person-sign:before{content:\\\"\\\\f757\\\"}.fa-phabricator:before{content:\\\"\\\\f3db\\\"}.fa-phoenix-framework:before{content:\\\"\\\\f3dc\\\"}.fa-phoenix-squadron:before{content:\\\"\\\\f511\\\"}.fa-phone:before{content:\\\"\\\\f095\\\"}.fa-phone-alt:before{content:\\\"\\\\f879\\\"}.fa-phone-laptop:before{content:\\\"\\\\f87a\\\"}.fa-phone-office:before{content:\\\"\\\\f67d\\\"}.fa-phone-plus:before{content:\\\"\\\\f4d2\\\"}.fa-phone-rotary:before{content:\\\"\\\\f8d3\\\"}.fa-phone-slash:before{content:\\\"\\\\f3dd\\\"}.fa-phone-square:before{content:\\\"\\\\f098\\\"}.fa-phone-square-alt:before{content:\\\"\\\\f87b\\\"}.fa-phone-volume:before{content:\\\"\\\\f2a0\\\"}.fa-photo-video:before{content:\\\"\\\\f87c\\\"}.fa-php:before{content:\\\"\\\\f457\\\"}.fa-pi:before{content:\\\"\\\\f67e\\\"}.fa-piano:before{content:\\\"\\\\f8d4\\\"}.fa-piano-keyboard:before{content:\\\"\\\\f8d5\\\"}.fa-pie:before{content:\\\"\\\\f705\\\"}.fa-pied-piper:before{content:\\\"\\\\f2ae\\\"}.fa-pied-piper-alt:before{content:\\\"\\\\f1a8\\\"}.fa-pied-piper-hat:before{content:\\\"\\\\f4e5\\\"}.fa-pied-piper-pp:before{content:\\\"\\\\f1a7\\\"}.fa-pied-piper-square:before{content:\\\"\\\\f91e\\\"}.fa-pig:before{content:\\\"\\\\f706\\\"}.fa-piggy-bank:before{content:\\\"\\\\f4d3\\\"}.fa-pills:before{content:\\\"\\\\f484\\\"}.fa-pinterest:before{content:\\\"\\\\f0d2\\\"}.fa-pinterest-p:before{content:\\\"\\\\f231\\\"}.fa-pinterest-square:before{content:\\\"\\\\f0d3\\\"}.fa-pizza:before{content:\\\"\\\\f817\\\"}.fa-pizza-slice:before{content:\\\"\\\\f818\\\"}.fa-place-of-worship:before{content:\\\"\\\\f67f\\\"}.fa-plane:before{content:\\\"\\\\f072\\\"}.fa-plane-alt:before{content:\\\"\\\\f3de\\\"}.fa-plane-arrival:before{content:\\\"\\\\f5af\\\"}.fa-plane-departure:before{content:\\\"\\\\f5b0\\\"}.fa-plane-slash:before{content:\\\"\\\\f969\\\"}.fa-planet-moon:before{content:\\\"\\\\f91f\\\"}.fa-planet-ringed:before{content:\\\"\\\\f920\\\"}.fa-play:before{content:\\\"\\\\f04b\\\"}.fa-play-circle:before{content:\\\"\\\\f144\\\"}.fa-playstation:before{content:\\\"\\\\f3df\\\"}.fa-plug:before{content:\\\"\\\\f1e6\\\"}.fa-plus:before{content:\\\"\\\\f067\\\"}.fa-plus-circle:before{content:\\\"\\\\f055\\\"}.fa-plus-hexagon:before{content:\\\"\\\\f300\\\"}.fa-plus-octagon:before{content:\\\"\\\\f301\\\"}.fa-plus-square:before{content:\\\"\\\\f0fe\\\"}.fa-podcast:before{content:\\\"\\\\f2ce\\\"}.fa-podium:before{content:\\\"\\\\f680\\\"}.fa-podium-star:before{content:\\\"\\\\f758\\\"}.fa-police-box:before{content:\\\"\\\\f921\\\"}.fa-poll:before{content:\\\"\\\\f681\\\"}.fa-poll-h:before{content:\\\"\\\\f682\\\"}.fa-poll-people:before{content:\\\"\\\\f759\\\"}.fa-poo:before{content:\\\"\\\\f2fe\\\"}.fa-poo-storm:before{content:\\\"\\\\f75a\\\"}.fa-poop:before{content:\\\"\\\\f619\\\"}.fa-popcorn:before{content:\\\"\\\\f819\\\"}.fa-portal-enter:before{content:\\\"\\\\f922\\\"}.fa-portal-exit:before{content:\\\"\\\\f923\\\"}.fa-portrait:before{content:\\\"\\\\f3e0\\\"}.fa-pound-sign:before{content:\\\"\\\\f154\\\"}.fa-power-off:before{content:\\\"\\\\f011\\\"}.fa-pray:before{content:\\\"\\\\f683\\\"}.fa-praying-hands:before{content:\\\"\\\\f684\\\"}.fa-prescription:before{content:\\\"\\\\f5b1\\\"}.fa-prescription-bottle:before{content:\\\"\\\\f485\\\"}.fa-prescription-bottle-alt:before{content:\\\"\\\\f486\\\"}.fa-presentation:before{content:\\\"\\\\f685\\\"}.fa-print:before{content:\\\"\\\\f02f\\\"}.fa-print-search:before{content:\\\"\\\\f81a\\\"}.fa-print-slash:before{content:\\\"\\\\f686\\\"}.fa-procedures:before{content:\\\"\\\\f487\\\"}.fa-product-hunt:before{content:\\\"\\\\f288\\\"}.fa-project-diagram:before{content:\\\"\\\\f542\\\"}.fa-projector:before{content:\\\"\\\\f8d6\\\"}.fa-pump-medical:before{content:\\\"\\\\f96a\\\"}.fa-pump-soap:before{content:\\\"\\\\f96b\\\"}.fa-pumpkin:before{content:\\\"\\\\f707\\\"}.fa-pushed:before{content:\\\"\\\\f3e1\\\"}.fa-puzzle-piece:before{content:\\\"\\\\f12e\\\"}.fa-python:before{content:\\\"\\\\f3e2\\\"}.fa-qq:before{content:\\\"\\\\f1d6\\\"}.fa-qrcode:before{content:\\\"\\\\f029\\\"}.fa-question:before{content:\\\"\\\\f128\\\"}.fa-question-circle:before{content:\\\"\\\\f059\\\"}.fa-question-square:before{content:\\\"\\\\f2fd\\\"}.fa-quidditch:before{content:\\\"\\\\f458\\\"}.fa-quinscape:before{content:\\\"\\\\f459\\\"}.fa-quora:before{content:\\\"\\\\f2c4\\\"}.fa-quote-left:before{content:\\\"\\\\f10d\\\"}.fa-quote-right:before{content:\\\"\\\\f10e\\\"}.fa-quran:before{content:\\\"\\\\f687\\\"}.fa-r-project:before{content:\\\"\\\\f4f7\\\"}.fa-rabbit:before{content:\\\"\\\\f708\\\"}.fa-rabbit-fast:before{content:\\\"\\\\f709\\\"}.fa-racquet:before{content:\\\"\\\\f45a\\\"}.fa-radar:before{content:\\\"\\\\f924\\\"}.fa-radiation:before{content:\\\"\\\\f7b9\\\"}.fa-radiation-alt:before{content:\\\"\\\\f7ba\\\"}.fa-radio:before{content:\\\"\\\\f8d7\\\"}.fa-radio-alt:before{content:\\\"\\\\f8d8\\\"}.fa-rainbow:before{content:\\\"\\\\f75b\\\"}.fa-raindrops:before{content:\\\"\\\\f75c\\\"}.fa-ram:before{content:\\\"\\\\f70a\\\"}.fa-ramp-loading:before{content:\\\"\\\\f4d4\\\"}.fa-random:before{content:\\\"\\\\f074\\\"}.fa-raspberry-pi:before{content:\\\"\\\\f7bb\\\"}.fa-ravelry:before{content:\\\"\\\\f2d9\\\"}.fa-raygun:before{content:\\\"\\\\f925\\\"}.fa-react:before{content:\\\"\\\\f41b\\\"}.fa-reacteurope:before{content:\\\"\\\\f75d\\\"}.fa-readme:before{content:\\\"\\\\f4d5\\\"}.fa-rebel:before{content:\\\"\\\\f1d0\\\"}.fa-receipt:before{content:\\\"\\\\f543\\\"}.fa-record-vinyl:before{content:\\\"\\\\f8d9\\\"}.fa-rectangle-landscape:before{content:\\\"\\\\f2fa\\\"}.fa-rectangle-portrait:before{content:\\\"\\\\f2fb\\\"}.fa-rectangle-wide:before{content:\\\"\\\\f2fc\\\"}.fa-recycle:before{content:\\\"\\\\f1b8\\\"}.fa-red-river:before{content:\\\"\\\\f3e3\\\"}.fa-reddit:before{content:\\\"\\\\f1a1\\\"}.fa-reddit-alien:before{content:\\\"\\\\f281\\\"}.fa-reddit-square:before{content:\\\"\\\\f1a2\\\"}.fa-redhat:before{content:\\\"\\\\f7bc\\\"}.fa-redo:before{content:\\\"\\\\f01e\\\"}.fa-redo-alt:before{content:\\\"\\\\f2f9\\\"}.fa-refrigerator:before{content:\\\"\\\\f926\\\"}.fa-registered:before{content:\\\"\\\\f25d\\\"}.fa-remove-format:before{content:\\\"\\\\f87d\\\"}.fa-renren:before{content:\\\"\\\\f18b\\\"}.fa-repeat:before{content:\\\"\\\\f363\\\"}.fa-repeat-1:before{content:\\\"\\\\f365\\\"}.fa-repeat-1-alt:before{content:\\\"\\\\f366\\\"}.fa-repeat-alt:before{content:\\\"\\\\f364\\\"}.fa-reply:before{content:\\\"\\\\f3e5\\\"}.fa-reply-all:before{content:\\\"\\\\f122\\\"}.fa-replyd:before{content:\\\"\\\\f3e6\\\"}.fa-republican:before{content:\\\"\\\\f75e\\\"}.fa-researchgate:before{content:\\\"\\\\f4f8\\\"}.fa-resolving:before{content:\\\"\\\\f3e7\\\"}.fa-restroom:before{content:\\\"\\\\f7bd\\\"}.fa-retweet:before{content:\\\"\\\\f079\\\"}.fa-retweet-alt:before{content:\\\"\\\\f361\\\"}.fa-rev:before{content:\\\"\\\\f5b2\\\"}.fa-ribbon:before{content:\\\"\\\\f4d6\\\"}.fa-ring:before{content:\\\"\\\\f70b\\\"}.fa-rings-wedding:before{content:\\\"\\\\f81b\\\"}.fa-road:before{content:\\\"\\\\f018\\\"}.fa-robot:before{content:\\\"\\\\f544\\\"}.fa-rocket:before{content:\\\"\\\\f135\\\"}.fa-rocket-launch:before{content:\\\"\\\\f927\\\"}.fa-rocketchat:before{content:\\\"\\\\f3e8\\\"}.fa-rockrms:before{content:\\\"\\\\f3e9\\\"}.fa-route:before{content:\\\"\\\\f4d7\\\"}.fa-route-highway:before{content:\\\"\\\\f61a\\\"}.fa-route-interstate:before{content:\\\"\\\\f61b\\\"}.fa-router:before{content:\\\"\\\\f8da\\\"}.fa-rss:before{content:\\\"\\\\f09e\\\"}.fa-rss-square:before{content:\\\"\\\\f143\\\"}.fa-ruble-sign:before{content:\\\"\\\\f158\\\"}.fa-ruler:before{content:\\\"\\\\f545\\\"}.fa-ruler-combined:before{content:\\\"\\\\f546\\\"}.fa-ruler-horizontal:before{content:\\\"\\\\f547\\\"}.fa-ruler-triangle:before{content:\\\"\\\\f61c\\\"}.fa-ruler-vertical:before{content:\\\"\\\\f548\\\"}.fa-running:before{content:\\\"\\\\f70c\\\"}.fa-rupee-sign:before{content:\\\"\\\\f156\\\"}.fa-rv:before{content:\\\"\\\\f7be\\\"}.fa-sack:before{content:\\\"\\\\f81c\\\"}.fa-sack-dollar:before{content:\\\"\\\\f81d\\\"}.fa-sad-cry:before{content:\\\"\\\\f5b3\\\"}.fa-sad-tear:before{content:\\\"\\\\f5b4\\\"}.fa-safari:before{content:\\\"\\\\f267\\\"}.fa-salad:before{content:\\\"\\\\f81e\\\"}.fa-salesforce:before{content:\\\"\\\\f83b\\\"}.fa-sandwich:before{content:\\\"\\\\f81f\\\"}.fa-sass:before{content:\\\"\\\\f41e\\\"}.fa-satellite:before{content:\\\"\\\\f7bf\\\"}.fa-satellite-dish:before{content:\\\"\\\\f7c0\\\"}.fa-sausage:before{content:\\\"\\\\f820\\\"}.fa-save:before{content:\\\"\\\\f0c7\\\"}.fa-sax-hot:before{content:\\\"\\\\f8db\\\"}.fa-saxophone:before{content:\\\"\\\\f8dc\\\"}.fa-scalpel:before{content:\\\"\\\\f61d\\\"}.fa-scalpel-path:before{content:\\\"\\\\f61e\\\"}.fa-scanner:before{content:\\\"\\\\f488\\\"}.fa-scanner-image:before{content:\\\"\\\\f8f3\\\"}.fa-scanner-keyboard:before{content:\\\"\\\\f489\\\"}.fa-scanner-touchscreen:before{content:\\\"\\\\f48a\\\"}.fa-scarecrow:before{content:\\\"\\\\f70d\\\"}.fa-scarf:before{content:\\\"\\\\f7c1\\\"}.fa-schlix:before{content:\\\"\\\\f3ea\\\"}.fa-school:before{content:\\\"\\\\f549\\\"}.fa-screwdriver:before{content:\\\"\\\\f54a\\\"}.fa-scribd:before{content:\\\"\\\\f28a\\\"}.fa-scroll:before{content:\\\"\\\\f70e\\\"}.fa-scroll-old:before{content:\\\"\\\\f70f\\\"}.fa-scrubber:before{content:\\\"\\\\f2f8\\\"}.fa-scythe:before{content:\\\"\\\\f710\\\"}.fa-sd-card:before{content:\\\"\\\\f7c2\\\"}.fa-search:before{content:\\\"\\\\f002\\\"}.fa-search-dollar:before{content:\\\"\\\\f688\\\"}.fa-search-location:before{content:\\\"\\\\f689\\\"}.fa-search-minus:before{content:\\\"\\\\f010\\\"}.fa-search-plus:before{content:\\\"\\\\f00e\\\"}.fa-searchengin:before{content:\\\"\\\\f3eb\\\"}.fa-seedling:before{content:\\\"\\\\f4d8\\\"}.fa-sellcast:before{content:\\\"\\\\f2da\\\"}.fa-sellsy:before{content:\\\"\\\\f213\\\"}.fa-send-back:before{content:\\\"\\\\f87e\\\"}.fa-send-backward:before{content:\\\"\\\\f87f\\\"}.fa-sensor:before{content:\\\"\\\\f928\\\"}.fa-sensor-alert:before{content:\\\"\\\\f929\\\"}.fa-sensor-fire:before{content:\\\"\\\\f92a\\\"}.fa-sensor-on:before{content:\\\"\\\\f92b\\\"}.fa-sensor-smoke:before{content:\\\"\\\\f92c\\\"}.fa-server:before{content:\\\"\\\\f233\\\"}.fa-servicestack:before{content:\\\"\\\\f3ec\\\"}.fa-shapes:before{content:\\\"\\\\f61f\\\"}.fa-share:before{content:\\\"\\\\f064\\\"}.fa-share-all:before{content:\\\"\\\\f367\\\"}.fa-share-alt:before{content:\\\"\\\\f1e0\\\"}.fa-share-alt-square:before{content:\\\"\\\\f1e1\\\"}.fa-share-square:before{content:\\\"\\\\f14d\\\"}.fa-sheep:before{content:\\\"\\\\f711\\\"}.fa-shekel-sign:before{content:\\\"\\\\f20b\\\"}.fa-shield:before{content:\\\"\\\\f132\\\"}.fa-shield-alt:before{content:\\\"\\\\f3ed\\\"}.fa-shield-check:before{content:\\\"\\\\f2f7\\\"}.fa-shield-cross:before{content:\\\"\\\\f712\\\"}.fa-shield-virus:before{content:\\\"\\\\f96c\\\"}.fa-ship:before{content:\\\"\\\\f21a\\\"}.fa-shipping-fast:before{content:\\\"\\\\f48b\\\"}.fa-shipping-timed:before{content:\\\"\\\\f48c\\\"}.fa-shirtsinbulk:before{content:\\\"\\\\f214\\\"}.fa-shish-kebab:before{content:\\\"\\\\f821\\\"}.fa-shoe-prints:before{content:\\\"\\\\f54b\\\"}.fa-shopify:before{content:\\\"\\\\f957\\\"}.fa-shopping-bag:before{content:\\\"\\\\f290\\\"}.fa-shopping-basket:before{content:\\\"\\\\f291\\\"}.fa-shopping-cart:before{content:\\\"\\\\f07a\\\"}.fa-shopware:before{content:\\\"\\\\f5b5\\\"}.fa-shovel:before{content:\\\"\\\\f713\\\"}.fa-shovel-snow:before{content:\\\"\\\\f7c3\\\"}.fa-shower:before{content:\\\"\\\\f2cc\\\"}.fa-shredder:before{content:\\\"\\\\f68a\\\"}.fa-shuttle-van:before{content:\\\"\\\\f5b6\\\"}.fa-shuttlecock:before{content:\\\"\\\\f45b\\\"}.fa-sickle:before{content:\\\"\\\\f822\\\"}.fa-sigma:before{content:\\\"\\\\f68b\\\"}.fa-sign:before{content:\\\"\\\\f4d9\\\"}.fa-sign-in:before{content:\\\"\\\\f090\\\"}.fa-sign-in-alt:before{content:\\\"\\\\f2f6\\\"}.fa-sign-language:before{content:\\\"\\\\f2a7\\\"}.fa-sign-out:before{content:\\\"\\\\f08b\\\"}.fa-sign-out-alt:before{content:\\\"\\\\f2f5\\\"}.fa-signal:before{content:\\\"\\\\f012\\\"}.fa-signal-1:before{content:\\\"\\\\f68c\\\"}.fa-signal-2:before{content:\\\"\\\\f68d\\\"}.fa-signal-3:before{content:\\\"\\\\f68e\\\"}.fa-signal-4:before{content:\\\"\\\\f68f\\\"}.fa-signal-alt:before{content:\\\"\\\\f690\\\"}.fa-signal-alt-1:before{content:\\\"\\\\f691\\\"}.fa-signal-alt-2:before{content:\\\"\\\\f692\\\"}.fa-signal-alt-3:before{content:\\\"\\\\f693\\\"}.fa-signal-alt-slash:before{content:\\\"\\\\f694\\\"}.fa-signal-slash:before{content:\\\"\\\\f695\\\"}.fa-signal-stream:before{content:\\\"\\\\f8dd\\\"}.fa-signature:before{content:\\\"\\\\f5b7\\\"}.fa-sim-card:before{content:\\\"\\\\f7c4\\\"}.fa-simplybuilt:before{content:\\\"\\\\f215\\\"}.fa-sink:before{content:\\\"\\\\f96d\\\"}.fa-siren:before{content:\\\"\\\\f92d\\\"}.fa-siren-on:before{content:\\\"\\\\f92e\\\"}.fa-sistrix:before{content:\\\"\\\\f3ee\\\"}.fa-sitemap:before{content:\\\"\\\\f0e8\\\"}.fa-sith:before{content:\\\"\\\\f512\\\"}.fa-skating:before{content:\\\"\\\\f7c5\\\"}.fa-skeleton:before{content:\\\"\\\\f620\\\"}.fa-sketch:before{content:\\\"\\\\f7c6\\\"}.fa-ski-jump:before{content:\\\"\\\\f7c7\\\"}.fa-ski-lift:before{content:\\\"\\\\f7c8\\\"}.fa-skiing:before{content:\\\"\\\\f7c9\\\"}.fa-skiing-nordic:before{content:\\\"\\\\f7ca\\\"}.fa-skull:before{content:\\\"\\\\f54c\\\"}.fa-skull-cow:before{content:\\\"\\\\f8de\\\"}.fa-skull-crossbones:before{content:\\\"\\\\f714\\\"}.fa-skyatlas:before{content:\\\"\\\\f216\\\"}.fa-skype:before{content:\\\"\\\\f17e\\\"}.fa-slack:before{content:\\\"\\\\f198\\\"}.fa-slack-hash:before{content:\\\"\\\\f3ef\\\"}.fa-slash:before{content:\\\"\\\\f715\\\"}.fa-sledding:before{content:\\\"\\\\f7cb\\\"}.fa-sleigh:before{content:\\\"\\\\f7cc\\\"}.fa-sliders-h:before{content:\\\"\\\\f1de\\\"}.fa-sliders-h-square:before{content:\\\"\\\\f3f0\\\"}.fa-sliders-v:before{content:\\\"\\\\f3f1\\\"}.fa-sliders-v-square:before{content:\\\"\\\\f3f2\\\"}.fa-slideshare:before{content:\\\"\\\\f1e7\\\"}.fa-smile:before{content:\\\"\\\\f118\\\"}.fa-smile-beam:before{content:\\\"\\\\f5b8\\\"}.fa-smile-plus:before{content:\\\"\\\\f5b9\\\"}.fa-smile-wink:before{content:\\\"\\\\f4da\\\"}.fa-smog:before{content:\\\"\\\\f75f\\\"}.fa-smoke:before{content:\\\"\\\\f760\\\"}.fa-smoking:before{content:\\\"\\\\f48d\\\"}.fa-smoking-ban:before{content:\\\"\\\\f54d\\\"}.fa-sms:before{content:\\\"\\\\f7cd\\\"}.fa-snake:before{content:\\\"\\\\f716\\\"}.fa-snapchat:before{content:\\\"\\\\f2ab\\\"}.fa-snapchat-ghost:before{content:\\\"\\\\f2ac\\\"}.fa-snapchat-square:before{content:\\\"\\\\f2ad\\\"}.fa-snooze:before{content:\\\"\\\\f880\\\"}.fa-snow-blowing:before{content:\\\"\\\\f761\\\"}.fa-snowboarding:before{content:\\\"\\\\f7ce\\\"}.fa-snowflake:before{content:\\\"\\\\f2dc\\\"}.fa-snowflakes:before{content:\\\"\\\\f7cf\\\"}.fa-snowman:before{content:\\\"\\\\f7d0\\\"}.fa-snowmobile:before{content:\\\"\\\\f7d1\\\"}.fa-snowplow:before{content:\\\"\\\\f7d2\\\"}.fa-soap:before{content:\\\"\\\\f96e\\\"}.fa-socks:before{content:\\\"\\\\f696\\\"}.fa-solar-panel:before{content:\\\"\\\\f5ba\\\"}.fa-solar-system:before{content:\\\"\\\\f92f\\\"}.fa-sort:before{content:\\\"\\\\f0dc\\\"}.fa-sort-alpha-down:before{content:\\\"\\\\f15d\\\"}.fa-sort-alpha-down-alt:before{content:\\\"\\\\f881\\\"}.fa-sort-alpha-up:before{content:\\\"\\\\f15e\\\"}.fa-sort-alpha-up-alt:before{content:\\\"\\\\f882\\\"}.fa-sort-alt:before{content:\\\"\\\\f883\\\"}.fa-sort-amount-down:before{content:\\\"\\\\f160\\\"}.fa-sort-amount-down-alt:before{content:\\\"\\\\f884\\\"}.fa-sort-amount-up:before{content:\\\"\\\\f161\\\"}.fa-sort-amount-up-alt:before{content:\\\"\\\\f885\\\"}.fa-sort-circle:before{content:\\\"\\\\f930\\\"}.fa-sort-circle-down:before{content:\\\"\\\\f931\\\"}.fa-sort-circle-up:before{content:\\\"\\\\f932\\\"}.fa-sort-down:before{content:\\\"\\\\f0dd\\\"}.fa-sort-numeric-down:before{content:\\\"\\\\f162\\\"}.fa-sort-numeric-down-alt:before{content:\\\"\\\\f886\\\"}.fa-sort-numeric-up:before{content:\\\"\\\\f163\\\"}.fa-sort-numeric-up-alt:before{content:\\\"\\\\f887\\\"}.fa-sort-shapes-down:before{content:\\\"\\\\f888\\\"}.fa-sort-shapes-down-alt:before{content:\\\"\\\\f889\\\"}.fa-sort-shapes-up:before{content:\\\"\\\\f88a\\\"}.fa-sort-shapes-up-alt:before{content:\\\"\\\\f88b\\\"}.fa-sort-size-down:before{content:\\\"\\\\f88c\\\"}.fa-sort-size-down-alt:before{content:\\\"\\\\f88d\\\"}.fa-sort-size-up:before{content:\\\"\\\\f88e\\\"}.fa-sort-size-up-alt:before{content:\\\"\\\\f88f\\\"}.fa-sort-up:before{content:\\\"\\\\f0de\\\"}.fa-soundcloud:before{content:\\\"\\\\f1be\\\"}.fa-soup:before{content:\\\"\\\\f823\\\"}.fa-sourcetree:before{content:\\\"\\\\f7d3\\\"}.fa-spa:before{content:\\\"\\\\f5bb\\\"}.fa-space-shuttle:before{content:\\\"\\\\f197\\\"}.fa-space-station-moon:before{content:\\\"\\\\f933\\\"}.fa-space-station-moon-alt:before{content:\\\"\\\\f934\\\"}.fa-spade:before{content:\\\"\\\\f2f4\\\"}.fa-sparkles:before{content:\\\"\\\\f890\\\"}.fa-speakap:before{content:\\\"\\\\f3f3\\\"}.fa-speaker:before{content:\\\"\\\\f8df\\\"}.fa-speaker-deck:before{content:\\\"\\\\f83c\\\"}.fa-speakers:before{content:\\\"\\\\f8e0\\\"}.fa-spell-check:before{content:\\\"\\\\f891\\\"}.fa-spider:before{content:\\\"\\\\f717\\\"}.fa-spider-black-widow:before{content:\\\"\\\\f718\\\"}.fa-spider-web:before{content:\\\"\\\\f719\\\"}.fa-spinner:before{content:\\\"\\\\f110\\\"}.fa-spinner-third:before{content:\\\"\\\\f3f4\\\"}.fa-splotch:before{content:\\\"\\\\f5bc\\\"}.fa-spotify:before{content:\\\"\\\\f1bc\\\"}.fa-spray-can:before{content:\\\"\\\\f5bd\\\"}.fa-sprinkler:before{content:\\\"\\\\f935\\\"}.fa-square:before{content:\\\"\\\\f0c8\\\"}.fa-square-full:before{content:\\\"\\\\f45c\\\"}.fa-square-root:before{content:\\\"\\\\f697\\\"}.fa-square-root-alt:before{content:\\\"\\\\f698\\\"}.fa-squarespace:before{content:\\\"\\\\f5be\\\"}.fa-squirrel:before{content:\\\"\\\\f71a\\\"}.fa-stack-exchange:before{content:\\\"\\\\f18d\\\"}.fa-stack-overflow:before{content:\\\"\\\\f16c\\\"}.fa-stackpath:before{content:\\\"\\\\f842\\\"}.fa-staff:before{content:\\\"\\\\f71b\\\"}.fa-stamp:before{content:\\\"\\\\f5bf\\\"}.fa-star:before{content:\\\"\\\\f005\\\"}.fa-star-and-crescent:before{content:\\\"\\\\f699\\\"}.fa-star-christmas:before{content:\\\"\\\\f7d4\\\"}.fa-star-exclamation:before{content:\\\"\\\\f2f3\\\"}.fa-star-half:before{content:\\\"\\\\f089\\\"}.fa-star-half-alt:before{content:\\\"\\\\f5c0\\\"}.fa-star-of-david:before{content:\\\"\\\\f69a\\\"}.fa-star-of-life:before{content:\\\"\\\\f621\\\"}.fa-star-shooting:before{content:\\\"\\\\f936\\\"}.fa-starfighter:before{content:\\\"\\\\f937\\\"}.fa-starfighter-alt:before{content:\\\"\\\\f938\\\"}.fa-stars:before{content:\\\"\\\\f762\\\"}.fa-starship:before{content:\\\"\\\\f939\\\"}.fa-starship-freighter:before{content:\\\"\\\\f93a\\\"}.fa-staylinked:before{content:\\\"\\\\f3f5\\\"}.fa-steak:before{content:\\\"\\\\f824\\\"}.fa-steam:before{content:\\\"\\\\f1b6\\\"}.fa-steam-square:before{content:\\\"\\\\f1b7\\\"}.fa-steam-symbol:before{content:\\\"\\\\f3f6\\\"}.fa-steering-wheel:before{content:\\\"\\\\f622\\\"}.fa-step-backward:before{content:\\\"\\\\f048\\\"}.fa-step-forward:before{content:\\\"\\\\f051\\\"}.fa-stethoscope:before{content:\\\"\\\\f0f1\\\"}.fa-sticker-mule:before{content:\\\"\\\\f3f7\\\"}.fa-sticky-note:before{content:\\\"\\\\f249\\\"}.fa-stocking:before{content:\\\"\\\\f7d5\\\"}.fa-stomach:before{content:\\\"\\\\f623\\\"}.fa-stop:before{content:\\\"\\\\f04d\\\"}.fa-stop-circle:before{content:\\\"\\\\f28d\\\"}.fa-stopwatch:before{content:\\\"\\\\f2f2\\\"}.fa-stopwatch-20:before{content:\\\"\\\\f96f\\\"}.fa-store:before{content:\\\"\\\\f54e\\\"}.fa-store-alt:before{content:\\\"\\\\f54f\\\"}.fa-store-alt-slash:before{content:\\\"\\\\f970\\\"}.fa-store-slash:before{content:\\\"\\\\f971\\\"}.fa-strava:before{content:\\\"\\\\f428\\\"}.fa-stream:before{content:\\\"\\\\f550\\\"}.fa-street-view:before{content:\\\"\\\\f21d\\\"}.fa-stretcher:before{content:\\\"\\\\f825\\\"}.fa-strikethrough:before{content:\\\"\\\\f0cc\\\"}.fa-stripe:before{content:\\\"\\\\f429\\\"}.fa-stripe-s:before{content:\\\"\\\\f42a\\\"}.fa-stroopwafel:before{content:\\\"\\\\f551\\\"}.fa-studiovinari:before{content:\\\"\\\\f3f8\\\"}.fa-stumbleupon:before{content:\\\"\\\\f1a4\\\"}.fa-stumbleupon-circle:before{content:\\\"\\\\f1a3\\\"}.fa-subscript:before{content:\\\"\\\\f12c\\\"}.fa-subway:before{content:\\\"\\\\f239\\\"}.fa-suitcase:before{content:\\\"\\\\f0f2\\\"}.fa-suitcase-rolling:before{content:\\\"\\\\f5c1\\\"}.fa-sun:before{content:\\\"\\\\f185\\\"}.fa-sun-cloud:before{content:\\\"\\\\f763\\\"}.fa-sun-dust:before{content:\\\"\\\\f764\\\"}.fa-sun-haze:before{content:\\\"\\\\f765\\\"}.fa-sunglasses:before{content:\\\"\\\\f892\\\"}.fa-sunrise:before{content:\\\"\\\\f766\\\"}.fa-sunset:before{content:\\\"\\\\f767\\\"}.fa-superpowers:before{content:\\\"\\\\f2dd\\\"}.fa-superscript:before{content:\\\"\\\\f12b\\\"}.fa-supple:before{content:\\\"\\\\f3f9\\\"}.fa-surprise:before{content:\\\"\\\\f5c2\\\"}.fa-suse:before{content:\\\"\\\\f7d6\\\"}.fa-swatchbook:before{content:\\\"\\\\f5c3\\\"}.fa-swift:before{content:\\\"\\\\f8e1\\\"}.fa-swimmer:before{content:\\\"\\\\f5c4\\\"}.fa-swimming-pool:before{content:\\\"\\\\f5c5\\\"}.fa-sword:before{content:\\\"\\\\f71c\\\"}.fa-sword-laser:before{content:\\\"\\\\f93b\\\"}.fa-sword-laser-alt:before{content:\\\"\\\\f93c\\\"}.fa-swords:before{content:\\\"\\\\f71d\\\"}.fa-swords-laser:before{content:\\\"\\\\f93d\\\"}.fa-symfony:before{content:\\\"\\\\f83d\\\"}.fa-synagogue:before{content:\\\"\\\\f69b\\\"}.fa-sync:before{content:\\\"\\\\f021\\\"}.fa-sync-alt:before{content:\\\"\\\\f2f1\\\"}.fa-syringe:before{content:\\\"\\\\f48e\\\"}.fa-table:before{content:\\\"\\\\f0ce\\\"}.fa-table-tennis:before{content:\\\"\\\\f45d\\\"}.fa-tablet:before{content:\\\"\\\\f10a\\\"}.fa-tablet-alt:before{content:\\\"\\\\f3fa\\\"}.fa-tablet-android:before{content:\\\"\\\\f3fb\\\"}.fa-tablet-android-alt:before{content:\\\"\\\\f3fc\\\"}.fa-tablet-rugged:before{content:\\\"\\\\f48f\\\"}.fa-tablets:before{content:\\\"\\\\f490\\\"}.fa-tachometer:before{content:\\\"\\\\f0e4\\\"}.fa-tachometer-alt:before{content:\\\"\\\\f3fd\\\"}.fa-tachometer-alt-average:before{content:\\\"\\\\f624\\\"}.fa-tachometer-alt-fast:before{content:\\\"\\\\f625\\\"}.fa-tachometer-alt-fastest:before{content:\\\"\\\\f626\\\"}.fa-tachometer-alt-slow:before{content:\\\"\\\\f627\\\"}.fa-tachometer-alt-slowest:before{content:\\\"\\\\f628\\\"}.fa-tachometer-average:before{content:\\\"\\\\f629\\\"}.fa-tachometer-fast:before{content:\\\"\\\\f62a\\\"}.fa-tachometer-fastest:before{content:\\\"\\\\f62b\\\"}.fa-tachometer-slow:before{content:\\\"\\\\f62c\\\"}.fa-tachometer-slowest:before{content:\\\"\\\\f62d\\\"}.fa-taco:before{content:\\\"\\\\f826\\\"}.fa-tag:before{content:\\\"\\\\f02b\\\"}.fa-tags:before{content:\\\"\\\\f02c\\\"}.fa-tally:before{content:\\\"\\\\f69c\\\"}.fa-tanakh:before{content:\\\"\\\\f827\\\"}.fa-tape:before{content:\\\"\\\\f4db\\\"}.fa-tasks:before{content:\\\"\\\\f0ae\\\"}.fa-tasks-alt:before{content:\\\"\\\\f828\\\"}.fa-taxi:before{content:\\\"\\\\f1ba\\\"}.fa-teamspeak:before{content:\\\"\\\\f4f9\\\"}.fa-teeth:before{content:\\\"\\\\f62e\\\"}.fa-teeth-open:before{content:\\\"\\\\f62f\\\"}.fa-telegram:before{content:\\\"\\\\f2c6\\\"}.fa-telegram-plane:before{content:\\\"\\\\f3fe\\\"}.fa-telescope:before{content:\\\"\\\\f93e\\\"}.fa-temperature-down:before{content:\\\"\\\\f93f\\\"}.fa-temperature-frigid:before{content:\\\"\\\\f768\\\"}.fa-temperature-high:before{content:\\\"\\\\f769\\\"}.fa-temperature-hot:before{content:\\\"\\\\f76a\\\"}.fa-temperature-low:before{content:\\\"\\\\f76b\\\"}.fa-temperature-up:before{content:\\\"\\\\f940\\\"}.fa-tencent-weibo:before{content:\\\"\\\\f1d5\\\"}.fa-tenge:before{content:\\\"\\\\f7d7\\\"}.fa-tennis-ball:before{content:\\\"\\\\f45e\\\"}.fa-terminal:before{content:\\\"\\\\f120\\\"}.fa-text:before{content:\\\"\\\\f893\\\"}.fa-text-height:before{content:\\\"\\\\f034\\\"}.fa-text-size:before{content:\\\"\\\\f894\\\"}.fa-text-width:before{content:\\\"\\\\f035\\\"}.fa-th:before{content:\\\"\\\\f00a\\\"}.fa-th-large:before{content:\\\"\\\\f009\\\"}.fa-th-list:before{content:\\\"\\\\f00b\\\"}.fa-the-red-yeti:before{content:\\\"\\\\f69d\\\"}.fa-theater-masks:before{content:\\\"\\\\f630\\\"}.fa-themeco:before{content:\\\"\\\\f5c6\\\"}.fa-themeisle:before{content:\\\"\\\\f2b2\\\"}.fa-thermometer:before{content:\\\"\\\\f491\\\"}.fa-thermometer-empty:before{content:\\\"\\\\f2cb\\\"}.fa-thermometer-full:before{content:\\\"\\\\f2c7\\\"}.fa-thermometer-half:before{content:\\\"\\\\f2c9\\\"}.fa-thermometer-quarter:before{content:\\\"\\\\f2ca\\\"}.fa-thermometer-three-quarters:before{content:\\\"\\\\f2c8\\\"}.fa-theta:before{content:\\\"\\\\f69e\\\"}.fa-think-peaks:before{content:\\\"\\\\f731\\\"}.fa-thumbs-down:before{content:\\\"\\\\f165\\\"}.fa-thumbs-up:before{content:\\\"\\\\f164\\\"}.fa-thumbtack:before{content:\\\"\\\\f08d\\\"}.fa-thunderstorm:before{content:\\\"\\\\f76c\\\"}.fa-thunderstorm-moon:before{content:\\\"\\\\f76d\\\"}.fa-thunderstorm-sun:before{content:\\\"\\\\f76e\\\"}.fa-ticket:before{content:\\\"\\\\f145\\\"}.fa-ticket-alt:before{content:\\\"\\\\f3ff\\\"}.fa-tilde:before{content:\\\"\\\\f69f\\\"}.fa-times:before{content:\\\"\\\\f00d\\\"}.fa-times-circle:before{content:\\\"\\\\f057\\\"}.fa-times-hexagon:before{content:\\\"\\\\f2ee\\\"}.fa-times-octagon:before{content:\\\"\\\\f2f0\\\"}.fa-times-square:before{content:\\\"\\\\f2d3\\\"}.fa-tint:before{content:\\\"\\\\f043\\\"}.fa-tint-slash:before{content:\\\"\\\\f5c7\\\"}.fa-tire:before{content:\\\"\\\\f631\\\"}.fa-tire-flat:before{content:\\\"\\\\f632\\\"}.fa-tire-pressure-warning:before{content:\\\"\\\\f633\\\"}.fa-tire-rugged:before{content:\\\"\\\\f634\\\"}.fa-tired:before{content:\\\"\\\\f5c8\\\"}.fa-toggle-off:before{content:\\\"\\\\f204\\\"}.fa-toggle-on:before{content:\\\"\\\\f205\\\"}.fa-toilet:before{content:\\\"\\\\f7d8\\\"}.fa-toilet-paper:before{content:\\\"\\\\f71e\\\"}.fa-toilet-paper-alt:before{content:\\\"\\\\f71f\\\"}.fa-toilet-paper-slash:before{content:\\\"\\\\f972\\\"}.fa-tombstone:before{content:\\\"\\\\f720\\\"}.fa-tombstone-alt:before{content:\\\"\\\\f721\\\"}.fa-toolbox:before{content:\\\"\\\\f552\\\"}.fa-tools:before{content:\\\"\\\\f7d9\\\"}.fa-tooth:before{content:\\\"\\\\f5c9\\\"}.fa-toothbrush:before{content:\\\"\\\\f635\\\"}.fa-torah:before{content:\\\"\\\\f6a0\\\"}.fa-torii-gate:before{content:\\\"\\\\f6a1\\\"}.fa-tornado:before{content:\\\"\\\\f76f\\\"}.fa-tractor:before{content:\\\"\\\\f722\\\"}.fa-trade-federation:before{content:\\\"\\\\f513\\\"}.fa-trademark:before{content:\\\"\\\\f25c\\\"}.fa-traffic-cone:before{content:\\\"\\\\f636\\\"}.fa-traffic-light:before{content:\\\"\\\\f637\\\"}.fa-traffic-light-go:before{content:\\\"\\\\f638\\\"}.fa-traffic-light-slow:before{content:\\\"\\\\f639\\\"}.fa-traffic-light-stop:before{content:\\\"\\\\f63a\\\"}.fa-trailer:before{content:\\\"\\\\f941\\\"}.fa-train:before{content:\\\"\\\\f238\\\"}.fa-tram:before{content:\\\"\\\\f7da\\\"}.fa-transgender:before{content:\\\"\\\\f224\\\"}.fa-transgender-alt:before{content:\\\"\\\\f225\\\"}.fa-transporter:before{content:\\\"\\\\f942\\\"}.fa-transporter-1:before{content:\\\"\\\\f943\\\"}.fa-transporter-2:before{content:\\\"\\\\f944\\\"}.fa-transporter-3:before{content:\\\"\\\\f945\\\"}.fa-transporter-empty:before{content:\\\"\\\\f946\\\"}.fa-trash:before{content:\\\"\\\\f1f8\\\"}.fa-trash-alt:before{content:\\\"\\\\f2ed\\\"}.fa-trash-restore:before{content:\\\"\\\\f829\\\"}.fa-trash-restore-alt:before{content:\\\"\\\\f82a\\\"}.fa-trash-undo:before{content:\\\"\\\\f895\\\"}.fa-trash-undo-alt:before{content:\\\"\\\\f896\\\"}.fa-treasure-chest:before{content:\\\"\\\\f723\\\"}.fa-tree:before{content:\\\"\\\\f1bb\\\"}.fa-tree-alt:before{content:\\\"\\\\f400\\\"}.fa-tree-christmas:before{content:\\\"\\\\f7db\\\"}.fa-tree-decorated:before{content:\\\"\\\\f7dc\\\"}.fa-tree-large:before{content:\\\"\\\\f7dd\\\"}.fa-tree-palm:before{content:\\\"\\\\f82b\\\"}.fa-trees:before{content:\\\"\\\\f724\\\"}.fa-trello:before{content:\\\"\\\\f181\\\"}.fa-triangle:before{content:\\\"\\\\f2ec\\\"}.fa-triangle-music:before{content:\\\"\\\\f8e2\\\"}.fa-tripadvisor:before{content:\\\"\\\\f262\\\"}.fa-trophy:before{content:\\\"\\\\f091\\\"}.fa-trophy-alt:before{content:\\\"\\\\f2eb\\\"}.fa-truck:before{content:\\\"\\\\f0d1\\\"}.fa-truck-container:before{content:\\\"\\\\f4dc\\\"}.fa-truck-couch:before{content:\\\"\\\\f4dd\\\"}.fa-truck-loading:before{content:\\\"\\\\f4de\\\"}.fa-truck-monster:before{content:\\\"\\\\f63b\\\"}.fa-truck-moving:before{content:\\\"\\\\f4df\\\"}.fa-truck-pickup:before{content:\\\"\\\\f63c\\\"}.fa-truck-plow:before{content:\\\"\\\\f7de\\\"}.fa-truck-ramp:before{content:\\\"\\\\f4e0\\\"}.fa-trumpet:before{content:\\\"\\\\f8e3\\\"}.fa-tshirt:before{content:\\\"\\\\f553\\\"}.fa-tty:before{content:\\\"\\\\f1e4\\\"}.fa-tumblr:before{content:\\\"\\\\f173\\\"}.fa-tumblr-square:before{content:\\\"\\\\f174\\\"}.fa-turkey:before{content:\\\"\\\\f725\\\"}.fa-turntable:before{content:\\\"\\\\f8e4\\\"}.fa-turtle:before{content:\\\"\\\\f726\\\"}.fa-tv:before{content:\\\"\\\\f26c\\\"}.fa-tv-alt:before{content:\\\"\\\\f8e5\\\"}.fa-tv-music:before{content:\\\"\\\\f8e6\\\"}.fa-tv-retro:before{content:\\\"\\\\f401\\\"}.fa-twitch:before{content:\\\"\\\\f1e8\\\"}.fa-twitter:before{content:\\\"\\\\f099\\\"}.fa-twitter-square:before{content:\\\"\\\\f081\\\"}.fa-typewriter:before{content:\\\"\\\\f8e7\\\"}.fa-typo3:before{content:\\\"\\\\f42b\\\"}.fa-uber:before{content:\\\"\\\\f402\\\"}.fa-ubuntu:before{content:\\\"\\\\f7df\\\"}.fa-ufo:before{content:\\\"\\\\f947\\\"}.fa-ufo-beam:before{content:\\\"\\\\f948\\\"}.fa-uikit:before{content:\\\"\\\\f403\\\"}.fa-umbraco:before{content:\\\"\\\\f8e8\\\"}.fa-umbrella:before{content:\\\"\\\\f0e9\\\"}.fa-umbrella-beach:before{content:\\\"\\\\f5ca\\\"}.fa-underline:before{content:\\\"\\\\f0cd\\\"}.fa-undo:before{content:\\\"\\\\f0e2\\\"}.fa-undo-alt:before{content:\\\"\\\\f2ea\\\"}.fa-unicorn:before{content:\\\"\\\\f727\\\"}.fa-union:before{content:\\\"\\\\f6a2\\\"}.fa-uniregistry:before{content:\\\"\\\\f404\\\"}.fa-unity:before{content:\\\"\\\\f949\\\"}.fa-universal-access:before{content:\\\"\\\\f29a\\\"}.fa-university:before{content:\\\"\\\\f19c\\\"}.fa-unlink:before{content:\\\"\\\\f127\\\"}.fa-unlock:before{content:\\\"\\\\f09c\\\"}.fa-unlock-alt:before{content:\\\"\\\\f13e\\\"}.fa-untappd:before{content:\\\"\\\\f405\\\"}.fa-upload:before{content:\\\"\\\\f093\\\"}.fa-ups:before{content:\\\"\\\\f7e0\\\"}.fa-usb:before{content:\\\"\\\\f287\\\"}.fa-usb-drive:before{content:\\\"\\\\f8e9\\\"}.fa-usd-circle:before{content:\\\"\\\\f2e8\\\"}.fa-usd-square:before{content:\\\"\\\\f2e9\\\"}.fa-user:before{content:\\\"\\\\f007\\\"}.fa-user-alien:before{content:\\\"\\\\f94a\\\"}.fa-user-alt:before{content:\\\"\\\\f406\\\"}.fa-user-alt-slash:before{content:\\\"\\\\f4fa\\\"}.fa-user-astronaut:before{content:\\\"\\\\f4fb\\\"}.fa-user-chart:before{content:\\\"\\\\f6a3\\\"}.fa-user-check:before{content:\\\"\\\\f4fc\\\"}.fa-user-circle:before{content:\\\"\\\\f2bd\\\"}.fa-user-clock:before{content:\\\"\\\\f4fd\\\"}.fa-user-cog:before{content:\\\"\\\\f4fe\\\"}.fa-user-cowboy:before{content:\\\"\\\\f8ea\\\"}.fa-user-crown:before{content:\\\"\\\\f6a4\\\"}.fa-user-edit:before{content:\\\"\\\\f4ff\\\"}.fa-user-friends:before{content:\\\"\\\\f500\\\"}.fa-user-graduate:before{content:\\\"\\\\f501\\\"}.fa-user-hard-hat:before{content:\\\"\\\\f82c\\\"}.fa-user-headset:before{content:\\\"\\\\f82d\\\"}.fa-user-injured:before{content:\\\"\\\\f728\\\"}.fa-user-lock:before{content:\\\"\\\\f502\\\"}.fa-user-md:before{content:\\\"\\\\f0f0\\\"}.fa-user-md-chat:before{content:\\\"\\\\f82e\\\"}.fa-user-minus:before{content:\\\"\\\\f503\\\"}.fa-user-music:before{content:\\\"\\\\f8eb\\\"}.fa-user-ninja:before{content:\\\"\\\\f504\\\"}.fa-user-nurse:before{content:\\\"\\\\f82f\\\"}.fa-user-plus:before{content:\\\"\\\\f234\\\"}.fa-user-robot:before{content:\\\"\\\\f94b\\\"}.fa-user-secret:before{content:\\\"\\\\f21b\\\"}.fa-user-shield:before{content:\\\"\\\\f505\\\"}.fa-user-slash:before{content:\\\"\\\\f506\\\"}.fa-user-tag:before{content:\\\"\\\\f507\\\"}.fa-user-tie:before{content:\\\"\\\\f508\\\"}.fa-user-times:before{content:\\\"\\\\f235\\\"}.fa-user-unlock:before{content:\\\"\\\\f958\\\"}.fa-user-visor:before{content:\\\"\\\\f94c\\\"}.fa-users:before{content:\\\"\\\\f0c0\\\"}.fa-users-class:before{content:\\\"\\\\f63d\\\"}.fa-users-cog:before{content:\\\"\\\\f509\\\"}.fa-users-crown:before{content:\\\"\\\\f6a5\\\"}.fa-users-medical:before{content:\\\"\\\\f830\\\"}.fa-users-slash:before{content:\\\"\\\\f973\\\"}.fa-usps:before{content:\\\"\\\\f7e1\\\"}.fa-ussunnah:before{content:\\\"\\\\f407\\\"}.fa-utensil-fork:before{content:\\\"\\\\f2e3\\\"}.fa-utensil-knife:before{content:\\\"\\\\f2e4\\\"}.fa-utensil-spoon:before{content:\\\"\\\\f2e5\\\"}.fa-utensils:before{content:\\\"\\\\f2e7\\\"}.fa-utensils-alt:before{content:\\\"\\\\f2e6\\\"}.fa-vaadin:before{content:\\\"\\\\f408\\\"}.fa-vacuum:before{content:\\\"\\\\f94d\\\"}.fa-vacuum-robot:before{content:\\\"\\\\f94e\\\"}.fa-value-absolute:before{content:\\\"\\\\f6a6\\\"}.fa-vector-square:before{content:\\\"\\\\f5cb\\\"}.fa-venus:before{content:\\\"\\\\f221\\\"}.fa-venus-double:before{content:\\\"\\\\f226\\\"}.fa-venus-mars:before{content:\\\"\\\\f228\\\"}.fa-vhs:before{content:\\\"\\\\f8ec\\\"}.fa-viacoin:before{content:\\\"\\\\f237\\\"}.fa-viadeo:before{content:\\\"\\\\f2a9\\\"}.fa-viadeo-square:before{content:\\\"\\\\f2aa\\\"}.fa-vial:before{content:\\\"\\\\f492\\\"}.fa-vials:before{content:\\\"\\\\f493\\\"}.fa-viber:before{content:\\\"\\\\f409\\\"}.fa-video:before{content:\\\"\\\\f03d\\\"}.fa-video-plus:before{content:\\\"\\\\f4e1\\\"}.fa-video-slash:before{content:\\\"\\\\f4e2\\\"}.fa-vihara:before{content:\\\"\\\\f6a7\\\"}.fa-vimeo:before{content:\\\"\\\\f40a\\\"}.fa-vimeo-square:before{content:\\\"\\\\f194\\\"}.fa-vimeo-v:before{content:\\\"\\\\f27d\\\"}.fa-vine:before{content:\\\"\\\\f1ca\\\"}.fa-violin:before{content:\\\"\\\\f8ed\\\"}.fa-virus:before{content:\\\"\\\\f974\\\"}.fa-virus-slash:before{content:\\\"\\\\f975\\\"}.fa-viruses:before{content:\\\"\\\\f976\\\"}.fa-vk:before{content:\\\"\\\\f189\\\"}.fa-vnv:before{content:\\\"\\\\f40b\\\"}.fa-voicemail:before{content:\\\"\\\\f897\\\"}.fa-volcano:before{content:\\\"\\\\f770\\\"}.fa-volleyball-ball:before{content:\\\"\\\\f45f\\\"}.fa-volume:before{content:\\\"\\\\f6a8\\\"}.fa-volume-down:before{content:\\\"\\\\f027\\\"}.fa-volume-mute:before{content:\\\"\\\\f6a9\\\"}.fa-volume-off:before{content:\\\"\\\\f026\\\"}.fa-volume-slash:before{content:\\\"\\\\f2e2\\\"}.fa-volume-up:before{content:\\\"\\\\f028\\\"}.fa-vote-nay:before{content:\\\"\\\\f771\\\"}.fa-vote-yea:before{content:\\\"\\\\f772\\\"}.fa-vr-cardboard:before{content:\\\"\\\\f729\\\"}.fa-vuejs:before{content:\\\"\\\\f41f\\\"}.fa-wagon-covered:before{content:\\\"\\\\f8ee\\\"}.fa-walker:before{content:\\\"\\\\f831\\\"}.fa-walkie-talkie:before{content:\\\"\\\\f8ef\\\"}.fa-walking:before{content:\\\"\\\\f554\\\"}.fa-wallet:before{content:\\\"\\\\f555\\\"}.fa-wand:before{content:\\\"\\\\f72a\\\"}.fa-wand-magic:before{content:\\\"\\\\f72b\\\"}.fa-warehouse:before{content:\\\"\\\\f494\\\"}.fa-warehouse-alt:before{content:\\\"\\\\f495\\\"}.fa-washer:before{content:\\\"\\\\f898\\\"}.fa-watch:before{content:\\\"\\\\f2e1\\\"}.fa-watch-calculator:before{content:\\\"\\\\f8f0\\\"}.fa-watch-fitness:before{content:\\\"\\\\f63e\\\"}.fa-water:before{content:\\\"\\\\f773\\\"}.fa-water-lower:before{content:\\\"\\\\f774\\\"}.fa-water-rise:before{content:\\\"\\\\f775\\\"}.fa-wave-sine:before{content:\\\"\\\\f899\\\"}.fa-wave-square:before{content:\\\"\\\\f83e\\\"}.fa-wave-triangle:before{content:\\\"\\\\f89a\\\"}.fa-waveform:before{content:\\\"\\\\f8f1\\\"}.fa-waveform-path:before{content:\\\"\\\\f8f2\\\"}.fa-waze:before{content:\\\"\\\\f83f\\\"}.fa-webcam:before{content:\\\"\\\\f832\\\"}.fa-webcam-slash:before{content:\\\"\\\\f833\\\"}.fa-weebly:before{content:\\\"\\\\f5cc\\\"}.fa-weibo:before{content:\\\"\\\\f18a\\\"}.fa-weight:before{content:\\\"\\\\f496\\\"}.fa-weight-hanging:before{content:\\\"\\\\f5cd\\\"}.fa-weixin:before{content:\\\"\\\\f1d7\\\"}.fa-whale:before{content:\\\"\\\\f72c\\\"}.fa-whatsapp:before{content:\\\"\\\\f232\\\"}.fa-whatsapp-square:before{content:\\\"\\\\f40c\\\"}.fa-wheat:before{content:\\\"\\\\f72d\\\"}.fa-wheelchair:before{content:\\\"\\\\f193\\\"}.fa-whistle:before{content:\\\"\\\\f460\\\"}.fa-whmcs:before{content:\\\"\\\\f40d\\\"}.fa-wifi:before{content:\\\"\\\\f1eb\\\"}.fa-wifi-1:before{content:\\\"\\\\f6aa\\\"}.fa-wifi-2:before{content:\\\"\\\\f6ab\\\"}.fa-wifi-slash:before{content:\\\"\\\\f6ac\\\"}.fa-wikipedia-w:before{content:\\\"\\\\f266\\\"}.fa-wind:before{content:\\\"\\\\f72e\\\"}.fa-wind-turbine:before{content:\\\"\\\\f89b\\\"}.fa-wind-warning:before{content:\\\"\\\\f776\\\"}.fa-window:before{content:\\\"\\\\f40e\\\"}.fa-window-alt:before{content:\\\"\\\\f40f\\\"}.fa-window-close:before{content:\\\"\\\\f410\\\"}.fa-window-frame:before{content:\\\"\\\\f94f\\\"}.fa-window-frame-open:before{content:\\\"\\\\f950\\\"}.fa-window-maximize:before{content:\\\"\\\\f2d0\\\"}.fa-window-minimize:before{content:\\\"\\\\f2d1\\\"}.fa-window-restore:before{content:\\\"\\\\f2d2\\\"}.fa-windows:before{content:\\\"\\\\f17a\\\"}.fa-windsock:before{content:\\\"\\\\f777\\\"}.fa-wine-bottle:before{content:\\\"\\\\f72f\\\"}.fa-wine-glass:before{content:\\\"\\\\f4e3\\\"}.fa-wine-glass-alt:before{content:\\\"\\\\f5ce\\\"}.fa-wix:before{content:\\\"\\\\f5cf\\\"}.fa-wizards-of-the-coast:before{content:\\\"\\\\f730\\\"}.fa-wolf-pack-battalion:before{content:\\\"\\\\f514\\\"}.fa-won-sign:before{content:\\\"\\\\f159\\\"}.fa-wordpress:before{content:\\\"\\\\f19a\\\"}.fa-wordpress-simple:before{content:\\\"\\\\f411\\\"}.fa-wpbeginner:before{content:\\\"\\\\f297\\\"}.fa-wpexplorer:before{content:\\\"\\\\f2de\\\"}.fa-wpforms:before{content:\\\"\\\\f298\\\"}.fa-wpressr:before{content:\\\"\\\\f3e4\\\"}.fa-wreath:before{content:\\\"\\\\f7e2\\\"}.fa-wrench:before{content:\\\"\\\\f0ad\\\"}.fa-x-ray:before{content:\\\"\\\\f497\\\"}.fa-xbox:before{content:\\\"\\\\f412\\\"}.fa-xing:before{content:\\\"\\\\f168\\\"}.fa-xing-square:before{content:\\\"\\\\f169\\\"}.fa-y-combinator:before{content:\\\"\\\\f23b\\\"}.fa-yahoo:before{content:\\\"\\\\f19e\\\"}.fa-yammer:before{content:\\\"\\\\f840\\\"}.fa-yandex:before{content:\\\"\\\\f413\\\"}.fa-yandex-international:before{content:\\\"\\\\f414\\\"}.fa-yarn:before{content:\\\"\\\\f7e3\\\"}.fa-yelp:before{content:\\\"\\\\f1e9\\\"}.fa-yen-sign:before{content:\\\"\\\\f157\\\"}.fa-yin-yang:before{content:\\\"\\\\f6ad\\\"}.fa-yoast:before{content:\\\"\\\\f2b1\\\"}.fa-youtube:before{content:\\\"\\\\f167\\\"}.fa-youtube-square:before{content:\\\"\\\\f431\\\"}.fa-zhihu:before{content:\\\"\\\\f63f\\\"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:\\\"Font Awesome 5 Brands\\\";font-style:normal;font-weight:400;font-display:block;src:url(/src/static/webfonts/fa-brands-400.eot);src:url(/src/static/webfonts/fa-brands-400.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-brands-400.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-brands-400.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-brands-400.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-brands-400.svg#fontawesome) format(\\\"svg\\\")}.fab{font-family:\\\"Font Awesome 5 Brands\\\";font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Duotone\\\";font-style:normal;font-weight:900;font-display:block;src:url(/src/static/webfonts/fa-duotone-900.eot);src:url(/src/static/webfonts/fa-duotone-900.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-duotone-900.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-duotone-900.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-duotone-900.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-duotone-900.svg#fontawesome) format(\\\"svg\\\")}.fad{position:relative;font-family:\\\"Font Awesome 5 Duotone\\\";font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color,inherit);opacity:1;opacity:var(--fa-primary-opacity,1)}.fad:after{color:var(--fa-secondary-color,inherit)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity,1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-fw:before,.fad.fa-stack-1x:before,.fad.fa-stack-2x:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-abacus:after{content:\\\"\\\\10f640\\\"}.fad.fa-acorn:after{content:\\\"\\\\10f6ae\\\"}.fad.fa-ad:after{content:\\\"\\\\10f641\\\"}.fad.fa-address-book:after{content:\\\"\\\\10f2b9\\\"}.fad.fa-address-card:after{content:\\\"\\\\10f2bb\\\"}.fad.fa-adjust:after{content:\\\"\\\\10f042\\\"}.fad.fa-air-conditioner:after{content:\\\"\\\\10f8f4\\\"}.fad.fa-air-freshener:after{content:\\\"\\\\10f5d0\\\"}.fad.fa-alarm-clock:after{content:\\\"\\\\10f34e\\\"}.fad.fa-alarm-exclamation:after{content:\\\"\\\\10f843\\\"}.fad.fa-alarm-plus:after{content:\\\"\\\\10f844\\\"}.fad.fa-alarm-snooze:after{content:\\\"\\\\10f845\\\"}.fad.fa-album:after{content:\\\"\\\\10f89f\\\"}.fad.fa-album-collection:after{content:\\\"\\\\10f8a0\\\"}.fad.fa-alicorn:after{content:\\\"\\\\10f6b0\\\"}.fad.fa-alien:after{content:\\\"\\\\10f8f5\\\"}.fad.fa-alien-monster:after{content:\\\"\\\\10f8f6\\\"}.fad.fa-align-center:after{content:\\\"\\\\10f037\\\"}.fad.fa-align-justify:after{content:\\\"\\\\10f039\\\"}.fad.fa-align-left:after{content:\\\"\\\\10f036\\\"}.fad.fa-align-right:after{content:\\\"\\\\10f038\\\"}.fad.fa-align-slash:after{content:\\\"\\\\10f846\\\"}.fad.fa-allergies:after{content:\\\"\\\\10f461\\\"}.fad.fa-ambulance:after{content:\\\"\\\\10f0f9\\\"}.fad.fa-american-sign-language-interpreting:after{content:\\\"\\\\10f2a3\\\"}.fad.fa-amp-guitar:after{content:\\\"\\\\10f8a1\\\"}.fad.fa-analytics:after{content:\\\"\\\\10f643\\\"}.fad.fa-anchor:after{content:\\\"\\\\10f13d\\\"}.fad.fa-angel:after{content:\\\"\\\\10f779\\\"}.fad.fa-angle-double-down:after{content:\\\"\\\\10f103\\\"}.fad.fa-angle-double-left:after{content:\\\"\\\\10f100\\\"}.fad.fa-angle-double-right:after{content:\\\"\\\\10f101\\\"}.fad.fa-angle-double-up:after{content:\\\"\\\\10f102\\\"}.fad.fa-angle-down:after{content:\\\"\\\\10f107\\\"}.fad.fa-angle-left:after{content:\\\"\\\\10f104\\\"}.fad.fa-angle-right:after{content:\\\"\\\\10f105\\\"}.fad.fa-angle-up:after{content:\\\"\\\\10f106\\\"}.fad.fa-angry:after{content:\\\"\\\\10f556\\\"}.fad.fa-ankh:after{content:\\\"\\\\10f644\\\"}.fad.fa-apple-alt:after{content:\\\"\\\\10f5d1\\\"}.fad.fa-apple-crate:after{content:\\\"\\\\10f6b1\\\"}.fad.fa-archive:after{content:\\\"\\\\10f187\\\"}.fad.fa-archway:after{content:\\\"\\\\10f557\\\"}.fad.fa-arrow-alt-circle-down:after{content:\\\"\\\\10f358\\\"}.fad.fa-arrow-alt-circle-left:after{content:\\\"\\\\10f359\\\"}.fad.fa-arrow-alt-circle-right:after{content:\\\"\\\\10f35a\\\"}.fad.fa-arrow-alt-circle-up:after{content:\\\"\\\\10f35b\\\"}.fad.fa-arrow-alt-down:after{content:\\\"\\\\10f354\\\"}.fad.fa-arrow-alt-from-bottom:after{content:\\\"\\\\10f346\\\"}.fad.fa-arrow-alt-from-left:after{content:\\\"\\\\10f347\\\"}.fad.fa-arrow-alt-from-right:after{content:\\\"\\\\10f348\\\"}.fad.fa-arrow-alt-from-top:after{content:\\\"\\\\10f349\\\"}.fad.fa-arrow-alt-left:after{content:\\\"\\\\10f355\\\"}.fad.fa-arrow-alt-right:after{content:\\\"\\\\10f356\\\"}.fad.fa-arrow-alt-square-down:after{content:\\\"\\\\10f350\\\"}.fad.fa-arrow-alt-square-left:after{content:\\\"\\\\10f351\\\"}.fad.fa-arrow-alt-square-right:after{content:\\\"\\\\10f352\\\"}.fad.fa-arrow-alt-square-up:after{content:\\\"\\\\10f353\\\"}.fad.fa-arrow-alt-to-bottom:after{content:\\\"\\\\10f34a\\\"}.fad.fa-arrow-alt-to-left:after{content:\\\"\\\\10f34b\\\"}.fad.fa-arrow-alt-to-right:after{content:\\\"\\\\10f34c\\\"}.fad.fa-arrow-alt-to-top:after{content:\\\"\\\\10f34d\\\"}.fad.fa-arrow-alt-up:after{content:\\\"\\\\10f357\\\"}.fad.fa-arrow-circle-down:after{content:\\\"\\\\10f0ab\\\"}.fad.fa-arrow-circle-left:after{content:\\\"\\\\10f0a8\\\"}.fad.fa-arrow-circle-right:after{content:\\\"\\\\10f0a9\\\"}.fad.fa-arrow-circle-up:after{content:\\\"\\\\10f0aa\\\"}.fad.fa-arrow-down:after{content:\\\"\\\\10f063\\\"}.fad.fa-arrow-from-bottom:after{content:\\\"\\\\10f342\\\"}.fad.fa-arrow-from-left:after{content:\\\"\\\\10f343\\\"}.fad.fa-arrow-from-right:after{content:\\\"\\\\10f344\\\"}.fad.fa-arrow-from-top:after{content:\\\"\\\\10f345\\\"}.fad.fa-arrow-left:after{content:\\\"\\\\10f060\\\"}.fad.fa-arrow-right:after{content:\\\"\\\\10f061\\\"}.fad.fa-arrow-square-down:after{content:\\\"\\\\10f339\\\"}.fad.fa-arrow-square-left:after{content:\\\"\\\\10f33a\\\"}.fad.fa-arrow-square-right:after{content:\\\"\\\\10f33b\\\"}.fad.fa-arrow-square-up:after{content:\\\"\\\\10f33c\\\"}.fad.fa-arrow-to-bottom:after{content:\\\"\\\\10f33d\\\"}.fad.fa-arrow-to-left:after{content:\\\"\\\\10f33e\\\"}.fad.fa-arrow-to-right:after{content:\\\"\\\\10f340\\\"}.fad.fa-arrow-to-top:after{content:\\\"\\\\10f341\\\"}.fad.fa-arrow-up:after{content:\\\"\\\\10f062\\\"}.fad.fa-arrows:after{content:\\\"\\\\10f047\\\"}.fad.fa-arrows-alt:after{content:\\\"\\\\10f0b2\\\"}.fad.fa-arrows-alt-h:after{content:\\\"\\\\10f337\\\"}.fad.fa-arrows-alt-v:after{content:\\\"\\\\10f338\\\"}.fad.fa-arrows-h:after{content:\\\"\\\\10f07e\\\"}.fad.fa-arrows-v:after{content:\\\"\\\\10f07d\\\"}.fad.fa-assistive-listening-systems:after{content:\\\"\\\\10f2a2\\\"}.fad.fa-asterisk:after{content:\\\"\\\\10f069\\\"}.fad.fa-at:after{content:\\\"\\\\10f1fa\\\"}.fad.fa-atlas:after{content:\\\"\\\\10f558\\\"}.fad.fa-atom:after{content:\\\"\\\\10f5d2\\\"}.fad.fa-atom-alt:after{content:\\\"\\\\10f5d3\\\"}.fad.fa-audio-description:after{content:\\\"\\\\10f29e\\\"}.fad.fa-award:after{content:\\\"\\\\10f559\\\"}.fad.fa-axe:after{content:\\\"\\\\10f6b2\\\"}.fad.fa-axe-battle:after{content:\\\"\\\\10f6b3\\\"}.fad.fa-baby:after{content:\\\"\\\\10f77c\\\"}.fad.fa-baby-carriage:after{content:\\\"\\\\10f77d\\\"}.fad.fa-backpack:after{content:\\\"\\\\10f5d4\\\"}.fad.fa-backspace:after{content:\\\"\\\\10f55a\\\"}.fad.fa-backward:after{content:\\\"\\\\10f04a\\\"}.fad.fa-bacon:after{content:\\\"\\\\10f7e5\\\"}.fad.fa-bacteria:after{content:\\\"\\\\10f959\\\"}.fad.fa-bacterium:after{content:\\\"\\\\10f95a\\\"}.fad.fa-badge:after{content:\\\"\\\\10f335\\\"}.fad.fa-badge-check:after{content:\\\"\\\\10f336\\\"}.fad.fa-badge-dollar:after{content:\\\"\\\\10f645\\\"}.fad.fa-badge-percent:after{content:\\\"\\\\10f646\\\"}.fad.fa-badge-sheriff:after{content:\\\"\\\\10f8a2\\\"}.fad.fa-badger-honey:after{content:\\\"\\\\10f6b4\\\"}.fad.fa-bags-shopping:after{content:\\\"\\\\10f847\\\"}.fad.fa-bahai:after{content:\\\"\\\\10f666\\\"}.fad.fa-balance-scale:after{content:\\\"\\\\10f24e\\\"}.fad.fa-balance-scale-left:after{content:\\\"\\\\10f515\\\"}.fad.fa-balance-scale-right:after{content:\\\"\\\\10f516\\\"}.fad.fa-ball-pile:after{content:\\\"\\\\10f77e\\\"}.fad.fa-ballot:after{content:\\\"\\\\10f732\\\"}.fad.fa-ballot-check:after{content:\\\"\\\\10f733\\\"}.fad.fa-ban:after{content:\\\"\\\\10f05e\\\"}.fad.fa-band-aid:after{content:\\\"\\\\10f462\\\"}.fad.fa-banjo:after{content:\\\"\\\\10f8a3\\\"}.fad.fa-barcode:after{content:\\\"\\\\10f02a\\\"}.fad.fa-barcode-alt:after{content:\\\"\\\\10f463\\\"}.fad.fa-barcode-read:after{content:\\\"\\\\10f464\\\"}.fad.fa-barcode-scan:after{content:\\\"\\\\10f465\\\"}.fad.fa-bars:after{content:\\\"\\\\10f0c9\\\"}.fad.fa-baseball:after{content:\\\"\\\\10f432\\\"}.fad.fa-baseball-ball:after{content:\\\"\\\\10f433\\\"}.fad.fa-basketball-ball:after{content:\\\"\\\\10f434\\\"}.fad.fa-basketball-hoop:after{content:\\\"\\\\10f435\\\"}.fad.fa-bat:after{content:\\\"\\\\10f6b5\\\"}.fad.fa-bath:after{content:\\\"\\\\10f2cd\\\"}.fad.fa-battery-bolt:after{content:\\\"\\\\10f376\\\"}.fad.fa-battery-empty:after{content:\\\"\\\\10f244\\\"}.fad.fa-battery-full:after{content:\\\"\\\\10f240\\\"}.fad.fa-battery-half:after{content:\\\"\\\\10f242\\\"}.fad.fa-battery-quarter:after{content:\\\"\\\\10f243\\\"}.fad.fa-battery-slash:after{content:\\\"\\\\10f377\\\"}.fad.fa-battery-three-quarters:after{content:\\\"\\\\10f241\\\"}.fad.fa-bed:after{content:\\\"\\\\10f236\\\"}.fad.fa-bed-alt:after{content:\\\"\\\\10f8f7\\\"}.fad.fa-bed-bunk:after{content:\\\"\\\\10f8f8\\\"}.fad.fa-bed-empty:after{content:\\\"\\\\10f8f9\\\"}.fad.fa-beer:after{content:\\\"\\\\10f0fc\\\"}.fad.fa-bell:after{content:\\\"\\\\10f0f3\\\"}.fad.fa-bell-exclamation:after{content:\\\"\\\\10f848\\\"}.fad.fa-bell-on:after{content:\\\"\\\\10f8fa\\\"}.fad.fa-bell-plus:after{content:\\\"\\\\10f849\\\"}.fad.fa-bell-school:after{content:\\\"\\\\10f5d5\\\"}.fad.fa-bell-school-slash:after{content:\\\"\\\\10f5d6\\\"}.fad.fa-bell-slash:after{content:\\\"\\\\10f1f6\\\"}.fad.fa-bells:after{content:\\\"\\\\10f77f\\\"}.fad.fa-betamax:after{content:\\\"\\\\10f8a4\\\"}.fad.fa-bezier-curve:after{content:\\\"\\\\10f55b\\\"}.fad.fa-bible:after{content:\\\"\\\\10f647\\\"}.fad.fa-bicycle:after{content:\\\"\\\\10f206\\\"}.fad.fa-biking:after{content:\\\"\\\\10f84a\\\"}.fad.fa-biking-mountain:after{content:\\\"\\\\10f84b\\\"}.fad.fa-binoculars:after{content:\\\"\\\\10f1e5\\\"}.fad.fa-biohazard:after{content:\\\"\\\\10f780\\\"}.fad.fa-birthday-cake:after{content:\\\"\\\\10f1fd\\\"}.fad.fa-blanket:after{content:\\\"\\\\10f498\\\"}.fad.fa-blender:after{content:\\\"\\\\10f517\\\"}.fad.fa-blender-phone:after{content:\\\"\\\\10f6b6\\\"}.fad.fa-blind:after{content:\\\"\\\\10f29d\\\"}.fad.fa-blinds:after{content:\\\"\\\\10f8fb\\\"}.fad.fa-blinds-open:after{content:\\\"\\\\10f8fc\\\"}.fad.fa-blinds-raised:after{content:\\\"\\\\10f8fd\\\"}.fad.fa-blog:after{content:\\\"\\\\10f781\\\"}.fad.fa-bold:after{content:\\\"\\\\10f032\\\"}.fad.fa-bolt:after{content:\\\"\\\\10f0e7\\\"}.fad.fa-bomb:after{content:\\\"\\\\10f1e2\\\"}.fad.fa-bone:after{content:\\\"\\\\10f5d7\\\"}.fad.fa-bone-break:after{content:\\\"\\\\10f5d8\\\"}.fad.fa-bong:after{content:\\\"\\\\10f55c\\\"}.fad.fa-book:after{content:\\\"\\\\10f02d\\\"}.fad.fa-book-alt:after{content:\\\"\\\\10f5d9\\\"}.fad.fa-book-dead:after{content:\\\"\\\\10f6b7\\\"}.fad.fa-book-heart:after{content:\\\"\\\\10f499\\\"}.fad.fa-book-medical:after{content:\\\"\\\\10f7e6\\\"}.fad.fa-book-open:after{content:\\\"\\\\10f518\\\"}.fad.fa-book-reader:after{content:\\\"\\\\10f5da\\\"}.fad.fa-book-spells:after{content:\\\"\\\\10f6b8\\\"}.fad.fa-book-user:after{content:\\\"\\\\10f7e7\\\"}.fad.fa-bookmark:after{content:\\\"\\\\10f02e\\\"}.fad.fa-books:after{content:\\\"\\\\10f5db\\\"}.fad.fa-books-medical:after{content:\\\"\\\\10f7e8\\\"}.fad.fa-boombox:after{content:\\\"\\\\10f8a5\\\"}.fad.fa-boot:after{content:\\\"\\\\10f782\\\"}.fad.fa-booth-curtain:after{content:\\\"\\\\10f734\\\"}.fad.fa-border-all:after{content:\\\"\\\\10f84c\\\"}.fad.fa-border-bottom:after{content:\\\"\\\\10f84d\\\"}.fad.fa-border-center-h:after{content:\\\"\\\\10f89c\\\"}.fad.fa-border-center-v:after{content:\\\"\\\\10f89d\\\"}.fad.fa-border-inner:after{content:\\\"\\\\10f84e\\\"}.fad.fa-border-left:after{content:\\\"\\\\10f84f\\\"}.fad.fa-border-none:after{content:\\\"\\\\10f850\\\"}.fad.fa-border-outer:after{content:\\\"\\\\10f851\\\"}.fad.fa-border-right:after{content:\\\"\\\\10f852\\\"}.fad.fa-border-style:after{content:\\\"\\\\10f853\\\"}.fad.fa-border-style-alt:after{content:\\\"\\\\10f854\\\"}.fad.fa-border-top:after{content:\\\"\\\\10f855\\\"}.fad.fa-bow-arrow:after{content:\\\"\\\\10f6b9\\\"}.fad.fa-bowling-ball:after{content:\\\"\\\\10f436\\\"}.fad.fa-bowling-pins:after{content:\\\"\\\\10f437\\\"}.fad.fa-box:after{content:\\\"\\\\10f466\\\"}.fad.fa-box-alt:after{content:\\\"\\\\10f49a\\\"}.fad.fa-box-ballot:after{content:\\\"\\\\10f735\\\"}.fad.fa-box-check:after{content:\\\"\\\\10f467\\\"}.fad.fa-box-fragile:after{content:\\\"\\\\10f49b\\\"}.fad.fa-box-full:after{content:\\\"\\\\10f49c\\\"}.fad.fa-box-heart:after{content:\\\"\\\\10f49d\\\"}.fad.fa-box-open:after{content:\\\"\\\\10f49e\\\"}.fad.fa-box-tissue:after{content:\\\"\\\\10f95b\\\"}.fad.fa-box-up:after{content:\\\"\\\\10f49f\\\"}.fad.fa-box-usd:after{content:\\\"\\\\10f4a0\\\"}.fad.fa-boxes:after{content:\\\"\\\\10f468\\\"}.fad.fa-boxes-alt:after{content:\\\"\\\\10f4a1\\\"}.fad.fa-boxing-glove:after{content:\\\"\\\\10f438\\\"}.fad.fa-brackets:after{content:\\\"\\\\10f7e9\\\"}.fad.fa-brackets-curly:after{content:\\\"\\\\10f7ea\\\"}.fad.fa-braille:after{content:\\\"\\\\10f2a1\\\"}.fad.fa-brain:after{content:\\\"\\\\10f5dc\\\"}.fad.fa-bread-loaf:after{content:\\\"\\\\10f7eb\\\"}.fad.fa-bread-slice:after{content:\\\"\\\\10f7ec\\\"}.fad.fa-briefcase:after{content:\\\"\\\\10f0b1\\\"}.fad.fa-briefcase-medical:after{content:\\\"\\\\10f469\\\"}.fad.fa-bring-forward:after{content:\\\"\\\\10f856\\\"}.fad.fa-bring-front:after{content:\\\"\\\\10f857\\\"}.fad.fa-broadcast-tower:after{content:\\\"\\\\10f519\\\"}.fad.fa-broom:after{content:\\\"\\\\10f51a\\\"}.fad.fa-browser:after{content:\\\"\\\\10f37e\\\"}.fad.fa-brush:after{content:\\\"\\\\10f55d\\\"}.fad.fa-bug:after{content:\\\"\\\\10f188\\\"}.fad.fa-building:after{content:\\\"\\\\10f1ad\\\"}.fad.fa-bullhorn:after{content:\\\"\\\\10f0a1\\\"}.fad.fa-bullseye:after{content:\\\"\\\\10f140\\\"}.fad.fa-bullseye-arrow:after{content:\\\"\\\\10f648\\\"}.fad.fa-bullseye-pointer:after{content:\\\"\\\\10f649\\\"}.fad.fa-burger-soda:after{content:\\\"\\\\10f858\\\"}.fad.fa-burn:after{content:\\\"\\\\10f46a\\\"}.fad.fa-burrito:after{content:\\\"\\\\10f7ed\\\"}.fad.fa-bus:after{content:\\\"\\\\10f207\\\"}.fad.fa-bus-alt:after{content:\\\"\\\\10f55e\\\"}.fad.fa-bus-school:after{content:\\\"\\\\10f5dd\\\"}.fad.fa-business-time:after{content:\\\"\\\\10f64a\\\"}.fad.fa-cabinet-filing:after{content:\\\"\\\\10f64b\\\"}.fad.fa-cactus:after{content:\\\"\\\\10f8a7\\\"}.fad.fa-calculator:after{content:\\\"\\\\10f1ec\\\"}.fad.fa-calculator-alt:after{content:\\\"\\\\10f64c\\\"}.fad.fa-calendar:after{content:\\\"\\\\10f133\\\"}.fad.fa-calendar-alt:after{content:\\\"\\\\10f073\\\"}.fad.fa-calendar-check:after{content:\\\"\\\\10f274\\\"}.fad.fa-calendar-day:after{content:\\\"\\\\10f783\\\"}.fad.fa-calendar-edit:after{content:\\\"\\\\10f333\\\"}.fad.fa-calendar-exclamation:after{content:\\\"\\\\10f334\\\"}.fad.fa-calendar-minus:after{content:\\\"\\\\10f272\\\"}.fad.fa-calendar-plus:after{content:\\\"\\\\10f271\\\"}.fad.fa-calendar-star:after{content:\\\"\\\\10f736\\\"}.fad.fa-calendar-times:after{content:\\\"\\\\10f273\\\"}.fad.fa-calendar-week:after{content:\\\"\\\\10f784\\\"}.fad.fa-camcorder:after{content:\\\"\\\\10f8a8\\\"}.fad.fa-camera:after{content:\\\"\\\\10f030\\\"}.fad.fa-camera-alt:after{content:\\\"\\\\10f332\\\"}.fad.fa-camera-home:after{content:\\\"\\\\10f8fe\\\"}.fad.fa-camera-movie:after{content:\\\"\\\\10f8a9\\\"}.fad.fa-camera-polaroid:after{content:\\\"\\\\10f8aa\\\"}.fad.fa-camera-retro:after{content:\\\"\\\\10f083\\\"}.fad.fa-campfire:after{content:\\\"\\\\10f6ba\\\"}.fad.fa-campground:after{content:\\\"\\\\10f6bb\\\"}.fad.fa-candle-holder:after{content:\\\"\\\\10f6bc\\\"}.fad.fa-candy-cane:after{content:\\\"\\\\10f786\\\"}.fad.fa-candy-corn:after{content:\\\"\\\\10f6bd\\\"}.fad.fa-cannabis:after{content:\\\"\\\\10f55f\\\"}.fad.fa-capsules:after{content:\\\"\\\\10f46b\\\"}.fad.fa-car:after{content:\\\"\\\\10f1b9\\\"}.fad.fa-car-alt:after{content:\\\"\\\\10f5de\\\"}.fad.fa-car-battery:after{content:\\\"\\\\10f5df\\\"}.fad.fa-car-building:after{content:\\\"\\\\10f859\\\"}.fad.fa-car-bump:after{content:\\\"\\\\10f5e0\\\"}.fad.fa-car-bus:after{content:\\\"\\\\10f85a\\\"}.fad.fa-car-crash:after{content:\\\"\\\\10f5e1\\\"}.fad.fa-car-garage:after{content:\\\"\\\\10f5e2\\\"}.fad.fa-car-mechanic:after{content:\\\"\\\\10f5e3\\\"}.fad.fa-car-side:after{content:\\\"\\\\10f5e4\\\"}.fad.fa-car-tilt:after{content:\\\"\\\\10f5e5\\\"}.fad.fa-car-wash:after{content:\\\"\\\\10f5e6\\\"}.fad.fa-caravan:after{content:\\\"\\\\10f8ff\\\"}.fad.fa-caravan-alt:after{content:\\\"\\\\10f900\\\"}.fad.fa-caret-circle-down:after{content:\\\"\\\\10f32d\\\"}.fad.fa-caret-circle-left:after{content:\\\"\\\\10f32e\\\"}.fad.fa-caret-circle-right:after{content:\\\"\\\\10f330\\\"}.fad.fa-caret-circle-up:after{content:\\\"\\\\10f331\\\"}.fad.fa-caret-down:after{content:\\\"\\\\10f0d7\\\"}.fad.fa-caret-left:after{content:\\\"\\\\10f0d9\\\"}.fad.fa-caret-right:after{content:\\\"\\\\10f0da\\\"}.fad.fa-caret-square-down:after{content:\\\"\\\\10f150\\\"}.fad.fa-caret-square-left:after{content:\\\"\\\\10f191\\\"}.fad.fa-caret-square-right:after{content:\\\"\\\\10f152\\\"}.fad.fa-caret-square-up:after{content:\\\"\\\\10f151\\\"}.fad.fa-caret-up:after{content:\\\"\\\\10f0d8\\\"}.fad.fa-carrot:after{content:\\\"\\\\10f787\\\"}.fad.fa-cars:after{content:\\\"\\\\10f85b\\\"}.fad.fa-cart-arrow-down:after{content:\\\"\\\\10f218\\\"}.fad.fa-cart-plus:after{content:\\\"\\\\10f217\\\"}.fad.fa-cash-register:after{content:\\\"\\\\10f788\\\"}.fad.fa-cassette-tape:after{content:\\\"\\\\10f8ab\\\"}.fad.fa-cat:after{content:\\\"\\\\10f6be\\\"}.fad.fa-cat-space:after{content:\\\"\\\\10f901\\\"}.fad.fa-cauldron:after{content:\\\"\\\\10f6bf\\\"}.fad.fa-cctv:after{content:\\\"\\\\10f8ac\\\"}.fad.fa-certificate:after{content:\\\"\\\\10f0a3\\\"}.fad.fa-chair:after{content:\\\"\\\\10f6c0\\\"}.fad.fa-chair-office:after{content:\\\"\\\\10f6c1\\\"}.fad.fa-chalkboard:after{content:\\\"\\\\10f51b\\\"}.fad.fa-chalkboard-teacher:after{content:\\\"\\\\10f51c\\\"}.fad.fa-charging-station:after{content:\\\"\\\\10f5e7\\\"}.fad.fa-chart-area:after{content:\\\"\\\\10f1fe\\\"}.fad.fa-chart-bar:after{content:\\\"\\\\10f080\\\"}.fad.fa-chart-line:after{content:\\\"\\\\10f201\\\"}.fad.fa-chart-line-down:after{content:\\\"\\\\10f64d\\\"}.fad.fa-chart-network:after{content:\\\"\\\\10f78a\\\"}.fad.fa-chart-pie:after{content:\\\"\\\\10f200\\\"}.fad.fa-chart-pie-alt:after{content:\\\"\\\\10f64e\\\"}.fad.fa-chart-scatter:after{content:\\\"\\\\10f7ee\\\"}.fad.fa-check:after{content:\\\"\\\\10f00c\\\"}.fad.fa-check-circle:after{content:\\\"\\\\10f058\\\"}.fad.fa-check-double:after{content:\\\"\\\\10f560\\\"}.fad.fa-check-square:after{content:\\\"\\\\10f14a\\\"}.fad.fa-cheese:after{content:\\\"\\\\10f7ef\\\"}.fad.fa-cheese-swiss:after{content:\\\"\\\\10f7f0\\\"}.fad.fa-cheeseburger:after{content:\\\"\\\\10f7f1\\\"}.fad.fa-chess:after{content:\\\"\\\\10f439\\\"}.fad.fa-chess-bishop:after{content:\\\"\\\\10f43a\\\"}.fad.fa-chess-bishop-alt:after{content:\\\"\\\\10f43b\\\"}.fad.fa-chess-board:after{content:\\\"\\\\10f43c\\\"}.fad.fa-chess-clock:after{content:\\\"\\\\10f43d\\\"}.fad.fa-chess-clock-alt:after{content:\\\"\\\\10f43e\\\"}.fad.fa-chess-king:after{content:\\\"\\\\10f43f\\\"}.fad.fa-chess-king-alt:after{content:\\\"\\\\10f440\\\"}.fad.fa-chess-knight:after{content:\\\"\\\\10f441\\\"}.fad.fa-chess-knight-alt:after{content:\\\"\\\\10f442\\\"}.fad.fa-chess-pawn:after{content:\\\"\\\\10f443\\\"}.fad.fa-chess-pawn-alt:after{content:\\\"\\\\10f444\\\"}.fad.fa-chess-queen:after{content:\\\"\\\\10f445\\\"}.fad.fa-chess-queen-alt:after{content:\\\"\\\\10f446\\\"}.fad.fa-chess-rook:after{content:\\\"\\\\10f447\\\"}.fad.fa-chess-rook-alt:after{content:\\\"\\\\10f448\\\"}.fad.fa-chevron-circle-down:after{content:\\\"\\\\10f13a\\\"}.fad.fa-chevron-circle-left:after{content:\\\"\\\\10f137\\\"}.fad.fa-chevron-circle-right:after{content:\\\"\\\\10f138\\\"}.fad.fa-chevron-circle-up:after{content:\\\"\\\\10f139\\\"}.fad.fa-chevron-double-down:after{content:\\\"\\\\10f322\\\"}.fad.fa-chevron-double-left:after{content:\\\"\\\\10f323\\\"}.fad.fa-chevron-double-right:after{content:\\\"\\\\10f324\\\"}.fad.fa-chevron-double-up:after{content:\\\"\\\\10f325\\\"}.fad.fa-chevron-down:after{content:\\\"\\\\10f078\\\"}.fad.fa-chevron-left:after{content:\\\"\\\\10f053\\\"}.fad.fa-chevron-right:after{content:\\\"\\\\10f054\\\"}.fad.fa-chevron-square-down:after{content:\\\"\\\\10f329\\\"}.fad.fa-chevron-square-left:after{content:\\\"\\\\10f32a\\\"}.fad.fa-chevron-square-right:after{content:\\\"\\\\10f32b\\\"}.fad.fa-chevron-square-up:after{content:\\\"\\\\10f32c\\\"}.fad.fa-chevron-up:after{content:\\\"\\\\10f077\\\"}.fad.fa-child:after{content:\\\"\\\\10f1ae\\\"}.fad.fa-chimney:after{content:\\\"\\\\10f78b\\\"}.fad.fa-church:after{content:\\\"\\\\10f51d\\\"}.fad.fa-circle:after{content:\\\"\\\\10f111\\\"}.fad.fa-circle-notch:after{content:\\\"\\\\10f1ce\\\"}.fad.fa-city:after{content:\\\"\\\\10f64f\\\"}.fad.fa-clarinet:after{content:\\\"\\\\10f8ad\\\"}.fad.fa-claw-marks:after{content:\\\"\\\\10f6c2\\\"}.fad.fa-clinic-medical:after{content:\\\"\\\\10f7f2\\\"}.fad.fa-clipboard:after{content:\\\"\\\\10f328\\\"}.fad.fa-clipboard-check:after{content:\\\"\\\\10f46c\\\"}.fad.fa-clipboard-list:after{content:\\\"\\\\10f46d\\\"}.fad.fa-clipboard-list-check:after{content:\\\"\\\\10f737\\\"}.fad.fa-clipboard-prescription:after{content:\\\"\\\\10f5e8\\\"}.fad.fa-clipboard-user:after{content:\\\"\\\\10f7f3\\\"}.fad.fa-clock:after{content:\\\"\\\\10f017\\\"}.fad.fa-clone:after{content:\\\"\\\\10f24d\\\"}.fad.fa-closed-captioning:after{content:\\\"\\\\10f20a\\\"}.fad.fa-cloud:after{content:\\\"\\\\10f0c2\\\"}.fad.fa-cloud-download:after{content:\\\"\\\\10f0ed\\\"}.fad.fa-cloud-download-alt:after{content:\\\"\\\\10f381\\\"}.fad.fa-cloud-drizzle:after{content:\\\"\\\\10f738\\\"}.fad.fa-cloud-hail:after{content:\\\"\\\\10f739\\\"}.fad.fa-cloud-hail-mixed:after{content:\\\"\\\\10f73a\\\"}.fad.fa-cloud-meatball:after{content:\\\"\\\\10f73b\\\"}.fad.fa-cloud-moon:after{content:\\\"\\\\10f6c3\\\"}.fad.fa-cloud-moon-rain:after{content:\\\"\\\\10f73c\\\"}.fad.fa-cloud-music:after{content:\\\"\\\\10f8ae\\\"}.fad.fa-cloud-rain:after{content:\\\"\\\\10f73d\\\"}.fad.fa-cloud-rainbow:after{content:\\\"\\\\10f73e\\\"}.fad.fa-cloud-showers:after{content:\\\"\\\\10f73f\\\"}.fad.fa-cloud-showers-heavy:after{content:\\\"\\\\10f740\\\"}.fad.fa-cloud-sleet:after{content:\\\"\\\\10f741\\\"}.fad.fa-cloud-snow:after{content:\\\"\\\\10f742\\\"}.fad.fa-cloud-sun:after{content:\\\"\\\\10f6c4\\\"}.fad.fa-cloud-sun-rain:after{content:\\\"\\\\10f743\\\"}.fad.fa-cloud-upload:after{content:\\\"\\\\10f0ee\\\"}.fad.fa-cloud-upload-alt:after{content:\\\"\\\\10f382\\\"}.fad.fa-clouds:after{content:\\\"\\\\10f744\\\"}.fad.fa-clouds-moon:after{content:\\\"\\\\10f745\\\"}.fad.fa-clouds-sun:after{content:\\\"\\\\10f746\\\"}.fad.fa-club:after{content:\\\"\\\\10f327\\\"}.fad.fa-cocktail:after{content:\\\"\\\\10f561\\\"}.fad.fa-code:after{content:\\\"\\\\10f121\\\"}.fad.fa-code-branch:after{content:\\\"\\\\10f126\\\"}.fad.fa-code-commit:after{content:\\\"\\\\10f386\\\"}.fad.fa-code-merge:after{content:\\\"\\\\10f387\\\"}.fad.fa-coffee:after{content:\\\"\\\\10f0f4\\\"}.fad.fa-coffee-pot:after{content:\\\"\\\\10f902\\\"}.fad.fa-coffee-togo:after{content:\\\"\\\\10f6c5\\\"}.fad.fa-coffin:after{content:\\\"\\\\10f6c6\\\"}.fad.fa-coffin-cross:after{content:\\\"\\\\10f951\\\"}.fad.fa-cog:after{content:\\\"\\\\10f013\\\"}.fad.fa-cogs:after{content:\\\"\\\\10f085\\\"}.fad.fa-coin:after{content:\\\"\\\\10f85c\\\"}.fad.fa-coins:after{content:\\\"\\\\10f51e\\\"}.fad.fa-columns:after{content:\\\"\\\\10f0db\\\"}.fad.fa-comet:after{content:\\\"\\\\10f903\\\"}.fad.fa-comment:after{content:\\\"\\\\10f075\\\"}.fad.fa-comment-alt:after{content:\\\"\\\\10f27a\\\"}.fad.fa-comment-alt-check:after{content:\\\"\\\\10f4a2\\\"}.fad.fa-comment-alt-dollar:after{content:\\\"\\\\10f650\\\"}.fad.fa-comment-alt-dots:after{content:\\\"\\\\10f4a3\\\"}.fad.fa-comment-alt-edit:after{content:\\\"\\\\10f4a4\\\"}.fad.fa-comment-alt-exclamation:after{content:\\\"\\\\10f4a5\\\"}.fad.fa-comment-alt-lines:after{content:\\\"\\\\10f4a6\\\"}.fad.fa-comment-alt-medical:after{content:\\\"\\\\10f7f4\\\"}.fad.fa-comment-alt-minus:after{content:\\\"\\\\10f4a7\\\"}.fad.fa-comment-alt-music:after{content:\\\"\\\\10f8af\\\"}.fad.fa-comment-alt-plus:after{content:\\\"\\\\10f4a8\\\"}.fad.fa-comment-alt-slash:after{content:\\\"\\\\10f4a9\\\"}.fad.fa-comment-alt-smile:after{content:\\\"\\\\10f4aa\\\"}.fad.fa-comment-alt-times:after{content:\\\"\\\\10f4ab\\\"}.fad.fa-comment-check:after{content:\\\"\\\\10f4ac\\\"}.fad.fa-comment-dollar:after{content:\\\"\\\\10f651\\\"}.fad.fa-comment-dots:after{content:\\\"\\\\10f4ad\\\"}.fad.fa-comment-edit:after{content:\\\"\\\\10f4ae\\\"}.fad.fa-comment-exclamation:after{content:\\\"\\\\10f4af\\\"}.fad.fa-comment-lines:after{content:\\\"\\\\10f4b0\\\"}.fad.fa-comment-medical:after{content:\\\"\\\\10f7f5\\\"}.fad.fa-comment-minus:after{content:\\\"\\\\10f4b1\\\"}.fad.fa-comment-music:after{content:\\\"\\\\10f8b0\\\"}.fad.fa-comment-plus:after{content:\\\"\\\\10f4b2\\\"}.fad.fa-comment-slash:after{content:\\\"\\\\10f4b3\\\"}.fad.fa-comment-smile:after{content:\\\"\\\\10f4b4\\\"}.fad.fa-comment-times:after{content:\\\"\\\\10f4b5\\\"}.fad.fa-comments:after{content:\\\"\\\\10f086\\\"}.fad.fa-comments-alt:after{content:\\\"\\\\10f4b6\\\"}.fad.fa-comments-alt-dollar:after{content:\\\"\\\\10f652\\\"}.fad.fa-comments-dollar:after{content:\\\"\\\\10f653\\\"}.fad.fa-compact-disc:after{content:\\\"\\\\10f51f\\\"}.fad.fa-compass:after{content:\\\"\\\\10f14e\\\"}.fad.fa-compass-slash:after{content:\\\"\\\\10f5e9\\\"}.fad.fa-compress:after{content:\\\"\\\\10f066\\\"}.fad.fa-compress-alt:after{content:\\\"\\\\10f422\\\"}.fad.fa-compress-arrows-alt:after{content:\\\"\\\\10f78c\\\"}.fad.fa-compress-wide:after{content:\\\"\\\\10f326\\\"}.fad.fa-computer-classic:after{content:\\\"\\\\10f8b1\\\"}.fad.fa-computer-speaker:after{content:\\\"\\\\10f8b2\\\"}.fad.fa-concierge-bell:after{content:\\\"\\\\10f562\\\"}.fad.fa-construction:after{content:\\\"\\\\10f85d\\\"}.fad.fa-container-storage:after{content:\\\"\\\\10f4b7\\\"}.fad.fa-conveyor-belt:after{content:\\\"\\\\10f46e\\\"}.fad.fa-conveyor-belt-alt:after{content:\\\"\\\\10f46f\\\"}.fad.fa-cookie:after{content:\\\"\\\\10f563\\\"}.fad.fa-cookie-bite:after{content:\\\"\\\\10f564\\\"}.fad.fa-copy:after{content:\\\"\\\\10f0c5\\\"}.fad.fa-copyright:after{content:\\\"\\\\10f1f9\\\"}.fad.fa-corn:after{content:\\\"\\\\10f6c7\\\"}.fad.fa-couch:after{content:\\\"\\\\10f4b8\\\"}.fad.fa-cow:after{content:\\\"\\\\10f6c8\\\"}.fad.fa-cowbell:after{content:\\\"\\\\10f8b3\\\"}.fad.fa-cowbell-more:after{content:\\\"\\\\10f8b4\\\"}.fad.fa-credit-card:after{content:\\\"\\\\10f09d\\\"}.fad.fa-credit-card-blank:after{content:\\\"\\\\10f389\\\"}.fad.fa-credit-card-front:after{content:\\\"\\\\10f38a\\\"}.fad.fa-cricket:after{content:\\\"\\\\10f449\\\"}.fad.fa-croissant:after{content:\\\"\\\\10f7f6\\\"}.fad.fa-crop:after{content:\\\"\\\\10f125\\\"}.fad.fa-crop-alt:after{content:\\\"\\\\10f565\\\"}.fad.fa-cross:after{content:\\\"\\\\10f654\\\"}.fad.fa-crosshairs:after{content:\\\"\\\\10f05b\\\"}.fad.fa-crow:after{content:\\\"\\\\10f520\\\"}.fad.fa-crown:after{content:\\\"\\\\10f521\\\"}.fad.fa-crutch:after{content:\\\"\\\\10f7f7\\\"}.fad.fa-crutches:after{content:\\\"\\\\10f7f8\\\"}.fad.fa-cube:after{content:\\\"\\\\10f1b2\\\"}.fad.fa-cubes:after{content:\\\"\\\\10f1b3\\\"}.fad.fa-curling:after{content:\\\"\\\\10f44a\\\"}.fad.fa-cut:after{content:\\\"\\\\10f0c4\\\"}.fad.fa-dagger:after{content:\\\"\\\\10f6cb\\\"}.fad.fa-database:after{content:\\\"\\\\10f1c0\\\"}.fad.fa-deaf:after{content:\\\"\\\\10f2a4\\\"}.fad.fa-debug:after{content:\\\"\\\\10f7f9\\\"}.fad.fa-deer:after{content:\\\"\\\\10f78e\\\"}.fad.fa-deer-rudolph:after{content:\\\"\\\\10f78f\\\"}.fad.fa-democrat:after{content:\\\"\\\\10f747\\\"}.fad.fa-desktop:after{content:\\\"\\\\10f108\\\"}.fad.fa-desktop-alt:after{content:\\\"\\\\10f390\\\"}.fad.fa-dewpoint:after{content:\\\"\\\\10f748\\\"}.fad.fa-dharmachakra:after{content:\\\"\\\\10f655\\\"}.fad.fa-diagnoses:after{content:\\\"\\\\10f470\\\"}.fad.fa-diamond:after{content:\\\"\\\\10f219\\\"}.fad.fa-dice:after{content:\\\"\\\\10f522\\\"}.fad.fa-dice-d10:after{content:\\\"\\\\10f6cd\\\"}.fad.fa-dice-d12:after{content:\\\"\\\\10f6ce\\\"}.fad.fa-dice-d20:after{content:\\\"\\\\10f6cf\\\"}.fad.fa-dice-d4:after{content:\\\"\\\\10f6d0\\\"}.fad.fa-dice-d6:after{content:\\\"\\\\10f6d1\\\"}.fad.fa-dice-d8:after{content:\\\"\\\\10f6d2\\\"}.fad.fa-dice-five:after{content:\\\"\\\\10f523\\\"}.fad.fa-dice-four:after{content:\\\"\\\\10f524\\\"}.fad.fa-dice-one:after{content:\\\"\\\\10f525\\\"}.fad.fa-dice-six:after{content:\\\"\\\\10f526\\\"}.fad.fa-dice-three:after{content:\\\"\\\\10f527\\\"}.fad.fa-dice-two:after{content:\\\"\\\\10f528\\\"}.fad.fa-digging:after{content:\\\"\\\\10f85e\\\"}.fad.fa-digital-tachograph:after{content:\\\"\\\\10f566\\\"}.fad.fa-diploma:after{content:\\\"\\\\10f5ea\\\"}.fad.fa-directions:after{content:\\\"\\\\10f5eb\\\"}.fad.fa-disc-drive:after{content:\\\"\\\\10f8b5\\\"}.fad.fa-disease:after{content:\\\"\\\\10f7fa\\\"}.fad.fa-divide:after{content:\\\"\\\\10f529\\\"}.fad.fa-dizzy:after{content:\\\"\\\\10f567\\\"}.fad.fa-dna:after{content:\\\"\\\\10f471\\\"}.fad.fa-do-not-enter:after{content:\\\"\\\\10f5ec\\\"}.fad.fa-dog:after{content:\\\"\\\\10f6d3\\\"}.fad.fa-dog-leashed:after{content:\\\"\\\\10f6d4\\\"}.fad.fa-dollar-sign:after{content:\\\"\\\\10f155\\\"}.fad.fa-dolly:after{content:\\\"\\\\10f472\\\"}.fad.fa-dolly-empty:after{content:\\\"\\\\10f473\\\"}.fad.fa-dolly-flatbed:after{content:\\\"\\\\10f474\\\"}.fad.fa-dolly-flatbed-alt:after{content:\\\"\\\\10f475\\\"}.fad.fa-dolly-flatbed-empty:after{content:\\\"\\\\10f476\\\"}.fad.fa-donate:after{content:\\\"\\\\10f4b9\\\"}.fad.fa-door-closed:after{content:\\\"\\\\10f52a\\\"}.fad.fa-door-open:after{content:\\\"\\\\10f52b\\\"}.fad.fa-dot-circle:after{content:\\\"\\\\10f192\\\"}.fad.fa-dove:after{content:\\\"\\\\10f4ba\\\"}.fad.fa-download:after{content:\\\"\\\\10f019\\\"}.fad.fa-drafting-compass:after{content:\\\"\\\\10f568\\\"}.fad.fa-dragon:after{content:\\\"\\\\10f6d5\\\"}.fad.fa-draw-circle:after{content:\\\"\\\\10f5ed\\\"}.fad.fa-draw-polygon:after{content:\\\"\\\\10f5ee\\\"}.fad.fa-draw-square:after{content:\\\"\\\\10f5ef\\\"}.fad.fa-dreidel:after{content:\\\"\\\\10f792\\\"}.fad.fa-drone:after{content:\\\"\\\\10f85f\\\"}.fad.fa-drone-alt:after{content:\\\"\\\\10f860\\\"}.fad.fa-drum:after{content:\\\"\\\\10f569\\\"}.fad.fa-drum-steelpan:after{content:\\\"\\\\10f56a\\\"}.fad.fa-drumstick:after{content:\\\"\\\\10f6d6\\\"}.fad.fa-drumstick-bite:after{content:\\\"\\\\10f6d7\\\"}.fad.fa-dryer:after{content:\\\"\\\\10f861\\\"}.fad.fa-dryer-alt:after{content:\\\"\\\\10f862\\\"}.fad.fa-duck:after{content:\\\"\\\\10f6d8\\\"}.fad.fa-dumbbell:after{content:\\\"\\\\10f44b\\\"}.fad.fa-dumpster:after{content:\\\"\\\\10f793\\\"}.fad.fa-dumpster-fire:after{content:\\\"\\\\10f794\\\"}.fad.fa-dungeon:after{content:\\\"\\\\10f6d9\\\"}.fad.fa-ear:after{content:\\\"\\\\10f5f0\\\"}.fad.fa-ear-muffs:after{content:\\\"\\\\10f795\\\"}.fad.fa-eclipse:after{content:\\\"\\\\10f749\\\"}.fad.fa-eclipse-alt:after{content:\\\"\\\\10f74a\\\"}.fad.fa-edit:after{content:\\\"\\\\10f044\\\"}.fad.fa-egg:after{content:\\\"\\\\10f7fb\\\"}.fad.fa-egg-fried:after{content:\\\"\\\\10f7fc\\\"}.fad.fa-eject:after{content:\\\"\\\\10f052\\\"}.fad.fa-elephant:after{content:\\\"\\\\10f6da\\\"}.fad.fa-ellipsis-h:after{content:\\\"\\\\10f141\\\"}.fad.fa-ellipsis-h-alt:after{content:\\\"\\\\10f39b\\\"}.fad.fa-ellipsis-v:after{content:\\\"\\\\10f142\\\"}.fad.fa-ellipsis-v-alt:after{content:\\\"\\\\10f39c\\\"}.fad.fa-empty-set:after{content:\\\"\\\\10f656\\\"}.fad.fa-engine-warning:after{content:\\\"\\\\10f5f2\\\"}.fad.fa-envelope:after{content:\\\"\\\\10f0e0\\\"}.fad.fa-envelope-open:after{content:\\\"\\\\10f2b6\\\"}.fad.fa-envelope-open-dollar:after{content:\\\"\\\\10f657\\\"}.fad.fa-envelope-open-text:after{content:\\\"\\\\10f658\\\"}.fad.fa-envelope-square:after{content:\\\"\\\\10f199\\\"}.fad.fa-equals:after{content:\\\"\\\\10f52c\\\"}.fad.fa-eraser:after{content:\\\"\\\\10f12d\\\"}.fad.fa-ethernet:after{content:\\\"\\\\10f796\\\"}.fad.fa-euro-sign:after{content:\\\"\\\\10f153\\\"}.fad.fa-exchange:after{content:\\\"\\\\10f0ec\\\"}.fad.fa-exchange-alt:after{content:\\\"\\\\10f362\\\"}.fad.fa-exclamation:after{content:\\\"\\\\10f12a\\\"}.fad.fa-exclamation-circle:after{content:\\\"\\\\10f06a\\\"}.fad.fa-exclamation-square:after{content:\\\"\\\\10f321\\\"}.fad.fa-exclamation-triangle:after{content:\\\"\\\\10f071\\\"}.fad.fa-expand:after{content:\\\"\\\\10f065\\\"}.fad.fa-expand-alt:after{content:\\\"\\\\10f424\\\"}.fad.fa-expand-arrows:after{content:\\\"\\\\10f31d\\\"}.fad.fa-expand-arrows-alt:after{content:\\\"\\\\10f31e\\\"}.fad.fa-expand-wide:after{content:\\\"\\\\10f320\\\"}.fad.fa-external-link:after{content:\\\"\\\\10f08e\\\"}.fad.fa-external-link-alt:after{content:\\\"\\\\10f35d\\\"}.fad.fa-external-link-square:after{content:\\\"\\\\10f14c\\\"}.fad.fa-external-link-square-alt:after{content:\\\"\\\\10f360\\\"}.fad.fa-eye:after{content:\\\"\\\\10f06e\\\"}.fad.fa-eye-dropper:after{content:\\\"\\\\10f1fb\\\"}.fad.fa-eye-evil:after{content:\\\"\\\\10f6db\\\"}.fad.fa-eye-slash:after{content:\\\"\\\\10f070\\\"}.fad.fa-fan:after{content:\\\"\\\\10f863\\\"}.fad.fa-fan-table:after{content:\\\"\\\\10f904\\\"}.fad.fa-farm:after{content:\\\"\\\\10f864\\\"}.fad.fa-fast-backward:after{content:\\\"\\\\10f049\\\"}.fad.fa-fast-forward:after{content:\\\"\\\\10f050\\\"}.fad.fa-faucet:after{content:\\\"\\\\10f905\\\"}.fad.fa-faucet-drip:after{content:\\\"\\\\10f906\\\"}.fad.fa-fax:after{content:\\\"\\\\10f1ac\\\"}.fad.fa-feather:after{content:\\\"\\\\10f52d\\\"}.fad.fa-feather-alt:after{content:\\\"\\\\10f56b\\\"}.fad.fa-female:after{content:\\\"\\\\10f182\\\"}.fad.fa-field-hockey:after{content:\\\"\\\\10f44c\\\"}.fad.fa-fighter-jet:after{content:\\\"\\\\10f0fb\\\"}.fad.fa-file:after{content:\\\"\\\\10f15b\\\"}.fad.fa-file-alt:after{content:\\\"\\\\10f15c\\\"}.fad.fa-file-archive:after{content:\\\"\\\\10f1c6\\\"}.fad.fa-file-audio:after{content:\\\"\\\\10f1c7\\\"}.fad.fa-file-certificate:after{content:\\\"\\\\10f5f3\\\"}.fad.fa-file-chart-line:after{content:\\\"\\\\10f659\\\"}.fad.fa-file-chart-pie:after{content:\\\"\\\\10f65a\\\"}.fad.fa-file-check:after{content:\\\"\\\\10f316\\\"}.fad.fa-file-code:after{content:\\\"\\\\10f1c9\\\"}.fad.fa-file-contract:after{content:\\\"\\\\10f56c\\\"}.fad.fa-file-csv:after{content:\\\"\\\\10f6dd\\\"}.fad.fa-file-download:after{content:\\\"\\\\10f56d\\\"}.fad.fa-file-edit:after{content:\\\"\\\\10f31c\\\"}.fad.fa-file-excel:after{content:\\\"\\\\10f1c3\\\"}.fad.fa-file-exclamation:after{content:\\\"\\\\10f31a\\\"}.fad.fa-file-export:after{content:\\\"\\\\10f56e\\\"}.fad.fa-file-image:after{content:\\\"\\\\10f1c5\\\"}.fad.fa-file-import:after{content:\\\"\\\\10f56f\\\"}.fad.fa-file-invoice:after{content:\\\"\\\\10f570\\\"}.fad.fa-file-invoice-dollar:after{content:\\\"\\\\10f571\\\"}.fad.fa-file-medical:after{content:\\\"\\\\10f477\\\"}.fad.fa-file-medical-alt:after{content:\\\"\\\\10f478\\\"}.fad.fa-file-minus:after{content:\\\"\\\\10f318\\\"}.fad.fa-file-music:after{content:\\\"\\\\10f8b6\\\"}.fad.fa-file-pdf:after{content:\\\"\\\\10f1c1\\\"}.fad.fa-file-plus:after{content:\\\"\\\\10f319\\\"}.fad.fa-file-powerpoint:after{content:\\\"\\\\10f1c4\\\"}.fad.fa-file-prescription:after{content:\\\"\\\\10f572\\\"}.fad.fa-file-search:after{content:\\\"\\\\10f865\\\"}.fad.fa-file-signature:after{content:\\\"\\\\10f573\\\"}.fad.fa-file-spreadsheet:after{content:\\\"\\\\10f65b\\\"}.fad.fa-file-times:after{content:\\\"\\\\10f317\\\"}.fad.fa-file-upload:after{content:\\\"\\\\10f574\\\"}.fad.fa-file-user:after{content:\\\"\\\\10f65c\\\"}.fad.fa-file-video:after{content:\\\"\\\\10f1c8\\\"}.fad.fa-file-word:after{content:\\\"\\\\10f1c2\\\"}.fad.fa-files-medical:after{content:\\\"\\\\10f7fd\\\"}.fad.fa-fill:after{content:\\\"\\\\10f575\\\"}.fad.fa-fill-drip:after{content:\\\"\\\\10f576\\\"}.fad.fa-film:after{content:\\\"\\\\10f008\\\"}.fad.fa-film-alt:after{content:\\\"\\\\10f3a0\\\"}.fad.fa-film-canister:after{content:\\\"\\\\10f8b7\\\"}.fad.fa-filter:after{content:\\\"\\\\10f0b0\\\"}.fad.fa-fingerprint:after{content:\\\"\\\\10f577\\\"}.fad.fa-fire:after{content:\\\"\\\\10f06d\\\"}.fad.fa-fire-alt:after{content:\\\"\\\\10f7e4\\\"}.fad.fa-fire-extinguisher:after{content:\\\"\\\\10f134\\\"}.fad.fa-fire-smoke:after{content:\\\"\\\\10f74b\\\"}.fad.fa-fireplace:after{content:\\\"\\\\10f79a\\\"}.fad.fa-first-aid:after{content:\\\"\\\\10f479\\\"}.fad.fa-fish:after{content:\\\"\\\\10f578\\\"}.fad.fa-fish-cooked:after{content:\\\"\\\\10f7fe\\\"}.fad.fa-fist-raised:after{content:\\\"\\\\10f6de\\\"}.fad.fa-flag:after{content:\\\"\\\\10f024\\\"}.fad.fa-flag-alt:after{content:\\\"\\\\10f74c\\\"}.fad.fa-flag-checkered:after{content:\\\"\\\\10f11e\\\"}.fad.fa-flag-usa:after{content:\\\"\\\\10f74d\\\"}.fad.fa-flame:after{content:\\\"\\\\10f6df\\\"}.fad.fa-flashlight:after{content:\\\"\\\\10f8b8\\\"}.fad.fa-flask:after{content:\\\"\\\\10f0c3\\\"}.fad.fa-flask-poison:after{content:\\\"\\\\10f6e0\\\"}.fad.fa-flask-potion:after{content:\\\"\\\\10f6e1\\\"}.fad.fa-flower:after{content:\\\"\\\\10f7ff\\\"}.fad.fa-flower-daffodil:after{content:\\\"\\\\10f800\\\"}.fad.fa-flower-tulip:after{content:\\\"\\\\10f801\\\"}.fad.fa-flushed:after{content:\\\"\\\\10f579\\\"}.fad.fa-flute:after{content:\\\"\\\\10f8b9\\\"}.fad.fa-flux-capacitor:after{content:\\\"\\\\10f8ba\\\"}.fad.fa-fog:after{content:\\\"\\\\10f74e\\\"}.fad.fa-folder:after{content:\\\"\\\\10f07b\\\"}.fad.fa-folder-download:after{content:\\\"\\\\10f953\\\"}.fad.fa-folder-minus:after{content:\\\"\\\\10f65d\\\"}.fad.fa-folder-open:after{content:\\\"\\\\10f07c\\\"}.fad.fa-folder-plus:after{content:\\\"\\\\10f65e\\\"}.fad.fa-folder-times:after{content:\\\"\\\\10f65f\\\"}.fad.fa-folder-tree:after{content:\\\"\\\\10f802\\\"}.fad.fa-folder-upload:after{content:\\\"\\\\10f954\\\"}.fad.fa-folders:after{content:\\\"\\\\10f660\\\"}.fad.fa-font:after{content:\\\"\\\\10f031\\\"}.fad.fa-font-awesome-logo-full:after{content:\\\"\\\\10f4e6\\\"}.fad.fa-font-case:after{content:\\\"\\\\10f866\\\"}.fad.fa-football-ball:after{content:\\\"\\\\10f44e\\\"}.fad.fa-football-helmet:after{content:\\\"\\\\10f44f\\\"}.fad.fa-forklift:after{content:\\\"\\\\10f47a\\\"}.fad.fa-forward:after{content:\\\"\\\\10f04e\\\"}.fad.fa-fragile:after{content:\\\"\\\\10f4bb\\\"}.fad.fa-french-fries:after{content:\\\"\\\\10f803\\\"}.fad.fa-frog:after{content:\\\"\\\\10f52e\\\"}.fad.fa-frosty-head:after{content:\\\"\\\\10f79b\\\"}.fad.fa-frown:after{content:\\\"\\\\10f119\\\"}.fad.fa-frown-open:after{content:\\\"\\\\10f57a\\\"}.fad.fa-function:after{content:\\\"\\\\10f661\\\"}.fad.fa-funnel-dollar:after{content:\\\"\\\\10f662\\\"}.fad.fa-futbol:after{content:\\\"\\\\10f1e3\\\"}.fad.fa-galaxy:after{content:\\\"\\\\10f908\\\"}.fad.fa-game-board:after{content:\\\"\\\\10f867\\\"}.fad.fa-game-board-alt:after{content:\\\"\\\\10f868\\\"}.fad.fa-game-console-handheld:after{content:\\\"\\\\10f8bb\\\"}.fad.fa-gamepad:after{content:\\\"\\\\10f11b\\\"}.fad.fa-gamepad-alt:after{content:\\\"\\\\10f8bc\\\"}.fad.fa-garage:after{content:\\\"\\\\10f909\\\"}.fad.fa-garage-car:after{content:\\\"\\\\10f90a\\\"}.fad.fa-garage-open:after{content:\\\"\\\\10f90b\\\"}.fad.fa-gas-pump:after{content:\\\"\\\\10f52f\\\"}.fad.fa-gas-pump-slash:after{content:\\\"\\\\10f5f4\\\"}.fad.fa-gavel:after{content:\\\"\\\\10f0e3\\\"}.fad.fa-gem:after{content:\\\"\\\\10f3a5\\\"}.fad.fa-genderless:after{content:\\\"\\\\10f22d\\\"}.fad.fa-ghost:after{content:\\\"\\\\10f6e2\\\"}.fad.fa-gift:after{content:\\\"\\\\10f06b\\\"}.fad.fa-gift-card:after{content:\\\"\\\\10f663\\\"}.fad.fa-gifts:after{content:\\\"\\\\10f79c\\\"}.fad.fa-gingerbread-man:after{content:\\\"\\\\10f79d\\\"}.fad.fa-glass:after{content:\\\"\\\\10f804\\\"}.fad.fa-glass-champagne:after{content:\\\"\\\\10f79e\\\"}.fad.fa-glass-cheers:after{content:\\\"\\\\10f79f\\\"}.fad.fa-glass-citrus:after{content:\\\"\\\\10f869\\\"}.fad.fa-glass-martini:after{content:\\\"\\\\10f000\\\"}.fad.fa-glass-martini-alt:after{content:\\\"\\\\10f57b\\\"}.fad.fa-glass-whiskey:after{content:\\\"\\\\10f7a0\\\"}.fad.fa-glass-whiskey-rocks:after{content:\\\"\\\\10f7a1\\\"}.fad.fa-glasses:after{content:\\\"\\\\10f530\\\"}.fad.fa-glasses-alt:after{content:\\\"\\\\10f5f5\\\"}.fad.fa-globe:after{content:\\\"\\\\10f0ac\\\"}.fad.fa-globe-africa:after{content:\\\"\\\\10f57c\\\"}.fad.fa-globe-americas:after{content:\\\"\\\\10f57d\\\"}.fad.fa-globe-asia:after{content:\\\"\\\\10f57e\\\"}.fad.fa-globe-europe:after{content:\\\"\\\\10f7a2\\\"}.fad.fa-globe-snow:after{content:\\\"\\\\10f7a3\\\"}.fad.fa-globe-stand:after{content:\\\"\\\\10f5f6\\\"}.fad.fa-golf-ball:after{content:\\\"\\\\10f450\\\"}.fad.fa-golf-club:after{content:\\\"\\\\10f451\\\"}.fad.fa-gopuram:after{content:\\\"\\\\10f664\\\"}.fad.fa-graduation-cap:after{content:\\\"\\\\10f19d\\\"}.fad.fa-gramophone:after{content:\\\"\\\\10f8bd\\\"}.fad.fa-greater-than:after{content:\\\"\\\\10f531\\\"}.fad.fa-greater-than-equal:after{content:\\\"\\\\10f532\\\"}.fad.fa-grimace:after{content:\\\"\\\\10f57f\\\"}.fad.fa-grin:after{content:\\\"\\\\10f580\\\"}.fad.fa-grin-alt:after{content:\\\"\\\\10f581\\\"}.fad.fa-grin-beam:after{content:\\\"\\\\10f582\\\"}.fad.fa-grin-beam-sweat:after{content:\\\"\\\\10f583\\\"}.fad.fa-grin-hearts:after{content:\\\"\\\\10f584\\\"}.fad.fa-grin-squint:after{content:\\\"\\\\10f585\\\"}.fad.fa-grin-squint-tears:after{content:\\\"\\\\10f586\\\"}.fad.fa-grin-stars:after{content:\\\"\\\\10f587\\\"}.fad.fa-grin-tears:after{content:\\\"\\\\10f588\\\"}.fad.fa-grin-tongue:after{content:\\\"\\\\10f589\\\"}.fad.fa-grin-tongue-squint:after{content:\\\"\\\\10f58a\\\"}.fad.fa-grin-tongue-wink:after{content:\\\"\\\\10f58b\\\"}.fad.fa-grin-wink:after{content:\\\"\\\\10f58c\\\"}.fad.fa-grip-horizontal:after{content:\\\"\\\\10f58d\\\"}.fad.fa-grip-lines:after{content:\\\"\\\\10f7a4\\\"}.fad.fa-grip-lines-vertical:after{content:\\\"\\\\10f7a5\\\"}.fad.fa-grip-vertical:after{content:\\\"\\\\10f58e\\\"}.fad.fa-guitar:after{content:\\\"\\\\10f7a6\\\"}.fad.fa-guitar-electric:after{content:\\\"\\\\10f8be\\\"}.fad.fa-guitars:after{content:\\\"\\\\10f8bf\\\"}.fad.fa-h-square:after{content:\\\"\\\\10f0fd\\\"}.fad.fa-h1:after{content:\\\"\\\\10f313\\\"}.fad.fa-h2:after{content:\\\"\\\\10f314\\\"}.fad.fa-h3:after{content:\\\"\\\\10f315\\\"}.fad.fa-h4:after{content:\\\"\\\\10f86a\\\"}.fad.fa-hamburger:after{content:\\\"\\\\10f805\\\"}.fad.fa-hammer:after{content:\\\"\\\\10f6e3\\\"}.fad.fa-hammer-war:after{content:\\\"\\\\10f6e4\\\"}.fad.fa-hamsa:after{content:\\\"\\\\10f665\\\"}.fad.fa-hand-heart:after{content:\\\"\\\\10f4bc\\\"}.fad.fa-hand-holding:after{content:\\\"\\\\10f4bd\\\"}.fad.fa-hand-holding-box:after{content:\\\"\\\\10f47b\\\"}.fad.fa-hand-holding-heart:after{content:\\\"\\\\10f4be\\\"}.fad.fa-hand-holding-magic:after{content:\\\"\\\\10f6e5\\\"}.fad.fa-hand-holding-medical:after{content:\\\"\\\\10f95c\\\"}.fad.fa-hand-holding-seedling:after{content:\\\"\\\\10f4bf\\\"}.fad.fa-hand-holding-usd:after{content:\\\"\\\\10f4c0\\\"}.fad.fa-hand-holding-water:after{content:\\\"\\\\10f4c1\\\"}.fad.fa-hand-lizard:after{content:\\\"\\\\10f258\\\"}.fad.fa-hand-middle-finger:after{content:\\\"\\\\10f806\\\"}.fad.fa-hand-paper:after{content:\\\"\\\\10f256\\\"}.fad.fa-hand-peace:after{content:\\\"\\\\10f25b\\\"}.fad.fa-hand-point-down:after{content:\\\"\\\\10f0a7\\\"}.fad.fa-hand-point-left:after{content:\\\"\\\\10f0a5\\\"}.fad.fa-hand-point-right:after{content:\\\"\\\\10f0a4\\\"}.fad.fa-hand-point-up:after{content:\\\"\\\\10f0a6\\\"}.fad.fa-hand-pointer:after{content:\\\"\\\\10f25a\\\"}.fad.fa-hand-receiving:after{content:\\\"\\\\10f47c\\\"}.fad.fa-hand-rock:after{content:\\\"\\\\10f255\\\"}.fad.fa-hand-scissors:after{content:\\\"\\\\10f257\\\"}.fad.fa-hand-sparkles:after{content:\\\"\\\\10f95d\\\"}.fad.fa-hand-spock:after{content:\\\"\\\\10f259\\\"}.fad.fa-hands:after{content:\\\"\\\\10f4c2\\\"}.fad.fa-hands-heart:after{content:\\\"\\\\10f4c3\\\"}.fad.fa-hands-helping:after{content:\\\"\\\\10f4c4\\\"}.fad.fa-hands-usd:after{content:\\\"\\\\10f4c5\\\"}.fad.fa-hands-wash:after{content:\\\"\\\\10f95e\\\"}.fad.fa-handshake:after{content:\\\"\\\\10f2b5\\\"}.fad.fa-handshake-alt:after{content:\\\"\\\\10f4c6\\\"}.fad.fa-handshake-alt-slash:after{content:\\\"\\\\10f95f\\\"}.fad.fa-handshake-slash:after{content:\\\"\\\\10f960\\\"}.fad.fa-hanukiah:after{content:\\\"\\\\10f6e6\\\"}.fad.fa-hard-hat:after{content:\\\"\\\\10f807\\\"}.fad.fa-hashtag:after{content:\\\"\\\\10f292\\\"}.fad.fa-hat-chef:after{content:\\\"\\\\10f86b\\\"}.fad.fa-hat-cowboy:after{content:\\\"\\\\10f8c0\\\"}.fad.fa-hat-cowboy-side:after{content:\\\"\\\\10f8c1\\\"}.fad.fa-hat-santa:after{content:\\\"\\\\10f7a7\\\"}.fad.fa-hat-winter:after{content:\\\"\\\\10f7a8\\\"}.fad.fa-hat-witch:after{content:\\\"\\\\10f6e7\\\"}.fad.fa-hat-wizard:after{content:\\\"\\\\10f6e8\\\"}.fad.fa-hdd:after{content:\\\"\\\\10f0a0\\\"}.fad.fa-head-side:after{content:\\\"\\\\10f6e9\\\"}.fad.fa-head-side-brain:after{content:\\\"\\\\10f808\\\"}.fad.fa-head-side-cough:after{content:\\\"\\\\10f961\\\"}.fad.fa-head-side-cough-slash:after{content:\\\"\\\\10f962\\\"}.fad.fa-head-side-headphones:after{content:\\\"\\\\10f8c2\\\"}.fad.fa-head-side-mask:after{content:\\\"\\\\10f963\\\"}.fad.fa-head-side-medical:after{content:\\\"\\\\10f809\\\"}.fad.fa-head-side-virus:after{content:\\\"\\\\10f964\\\"}.fad.fa-head-vr:after{content:\\\"\\\\10f6ea\\\"}.fad.fa-heading:after{content:\\\"\\\\10f1dc\\\"}.fad.fa-headphones:after{content:\\\"\\\\10f025\\\"}.fad.fa-headphones-alt:after{content:\\\"\\\\10f58f\\\"}.fad.fa-headset:after{content:\\\"\\\\10f590\\\"}.fad.fa-heart:after{content:\\\"\\\\10f004\\\"}.fad.fa-heart-broken:after{content:\\\"\\\\10f7a9\\\"}.fad.fa-heart-circle:after{content:\\\"\\\\10f4c7\\\"}.fad.fa-heart-rate:after{content:\\\"\\\\10f5f8\\\"}.fad.fa-heart-square:after{content:\\\"\\\\10f4c8\\\"}.fad.fa-heartbeat:after{content:\\\"\\\\10f21e\\\"}.fad.fa-heat:after{content:\\\"\\\\10f90c\\\"}.fad.fa-helicopter:after{content:\\\"\\\\10f533\\\"}.fad.fa-helmet-battle:after{content:\\\"\\\\10f6eb\\\"}.fad.fa-hexagon:after{content:\\\"\\\\10f312\\\"}.fad.fa-highlighter:after{content:\\\"\\\\10f591\\\"}.fad.fa-hiking:after{content:\\\"\\\\10f6ec\\\"}.fad.fa-hippo:after{content:\\\"\\\\10f6ed\\\"}.fad.fa-history:after{content:\\\"\\\\10f1da\\\"}.fad.fa-hockey-mask:after{content:\\\"\\\\10f6ee\\\"}.fad.fa-hockey-puck:after{content:\\\"\\\\10f453\\\"}.fad.fa-hockey-sticks:after{content:\\\"\\\\10f454\\\"}.fad.fa-holly-berry:after{content:\\\"\\\\10f7aa\\\"}.fad.fa-home:after{content:\\\"\\\\10f015\\\"}.fad.fa-home-alt:after{content:\\\"\\\\10f80a\\\"}.fad.fa-home-heart:after{content:\\\"\\\\10f4c9\\\"}.fad.fa-home-lg:after{content:\\\"\\\\10f80b\\\"}.fad.fa-home-lg-alt:after{content:\\\"\\\\10f80c\\\"}.fad.fa-hood-cloak:after{content:\\\"\\\\10f6ef\\\"}.fad.fa-horizontal-rule:after{content:\\\"\\\\10f86c\\\"}.fad.fa-horse:after{content:\\\"\\\\10f6f0\\\"}.fad.fa-horse-head:after{content:\\\"\\\\10f7ab\\\"}.fad.fa-horse-saddle:after{content:\\\"\\\\10f8c3\\\"}.fad.fa-hospital:after{content:\\\"\\\\10f0f8\\\"}.fad.fa-hospital-alt:after{content:\\\"\\\\10f47d\\\"}.fad.fa-hospital-symbol:after{content:\\\"\\\\10f47e\\\"}.fad.fa-hospital-user:after{content:\\\"\\\\10f80d\\\"}.fad.fa-hospitals:after{content:\\\"\\\\10f80e\\\"}.fad.fa-hot-tub:after{content:\\\"\\\\10f593\\\"}.fad.fa-hotdog:after{content:\\\"\\\\10f80f\\\"}.fad.fa-hotel:after{content:\\\"\\\\10f594\\\"}.fad.fa-hourglass:after{content:\\\"\\\\10f254\\\"}.fad.fa-hourglass-end:after{content:\\\"\\\\10f253\\\"}.fad.fa-hourglass-half:after{content:\\\"\\\\10f252\\\"}.fad.fa-hourglass-start:after{content:\\\"\\\\10f251\\\"}.fad.fa-house:after{content:\\\"\\\\10f90d\\\"}.fad.fa-house-damage:after{content:\\\"\\\\10f6f1\\\"}.fad.fa-house-day:after{content:\\\"\\\\10f90e\\\"}.fad.fa-house-flood:after{content:\\\"\\\\10f74f\\\"}.fad.fa-house-leave:after{content:\\\"\\\\10f90f\\\"}.fad.fa-house-night:after{content:\\\"\\\\10f910\\\"}.fad.fa-house-return:after{content:\\\"\\\\10f911\\\"}.fad.fa-house-signal:after{content:\\\"\\\\10f912\\\"}.fad.fa-house-user:after{content:\\\"\\\\10f965\\\"}.fad.fa-hryvnia:after{content:\\\"\\\\10f6f2\\\"}.fad.fa-humidity:after{content:\\\"\\\\10f750\\\"}.fad.fa-hurricane:after{content:\\\"\\\\10f751\\\"}.fad.fa-i-cursor:after{content:\\\"\\\\10f246\\\"}.fad.fa-ice-cream:after{content:\\\"\\\\10f810\\\"}.fad.fa-ice-skate:after{content:\\\"\\\\10f7ac\\\"}.fad.fa-icicles:after{content:\\\"\\\\10f7ad\\\"}.fad.fa-icons:after{content:\\\"\\\\10f86d\\\"}.fad.fa-icons-alt:after{content:\\\"\\\\10f86e\\\"}.fad.fa-id-badge:after{content:\\\"\\\\10f2c1\\\"}.fad.fa-id-card:after{content:\\\"\\\\10f2c2\\\"}.fad.fa-id-card-alt:after{content:\\\"\\\\10f47f\\\"}.fad.fa-igloo:after{content:\\\"\\\\10f7ae\\\"}.fad.fa-image:after{content:\\\"\\\\10f03e\\\"}.fad.fa-image-polaroid:after{content:\\\"\\\\10f8c4\\\"}.fad.fa-images:after{content:\\\"\\\\10f302\\\"}.fad.fa-inbox:after{content:\\\"\\\\10f01c\\\"}.fad.fa-inbox-in:after{content:\\\"\\\\10f310\\\"}.fad.fa-inbox-out:after{content:\\\"\\\\10f311\\\"}.fad.fa-indent:after{content:\\\"\\\\10f03c\\\"}.fad.fa-industry:after{content:\\\"\\\\10f275\\\"}.fad.fa-industry-alt:after{content:\\\"\\\\10f3b3\\\"}.fad.fa-infinity:after{content:\\\"\\\\10f534\\\"}.fad.fa-info:after{content:\\\"\\\\10f129\\\"}.fad.fa-info-circle:after{content:\\\"\\\\10f05a\\\"}.fad.fa-info-square:after{content:\\\"\\\\10f30f\\\"}.fad.fa-inhaler:after{content:\\\"\\\\10f5f9\\\"}.fad.fa-integral:after{content:\\\"\\\\10f667\\\"}.fad.fa-intersection:after{content:\\\"\\\\10f668\\\"}.fad.fa-inventory:after{content:\\\"\\\\10f480\\\"}.fad.fa-island-tropical:after{content:\\\"\\\\10f811\\\"}.fad.fa-italic:after{content:\\\"\\\\10f033\\\"}.fad.fa-jack-o-lantern:after{content:\\\"\\\\10f30e\\\"}.fad.fa-jedi:after{content:\\\"\\\\10f669\\\"}.fad.fa-joint:after{content:\\\"\\\\10f595\\\"}.fad.fa-journal-whills:after{content:\\\"\\\\10f66a\\\"}.fad.fa-joystick:after{content:\\\"\\\\10f8c5\\\"}.fad.fa-jug:after{content:\\\"\\\\10f8c6\\\"}.fad.fa-kaaba:after{content:\\\"\\\\10f66b\\\"}.fad.fa-kazoo:after{content:\\\"\\\\10f8c7\\\"}.fad.fa-kerning:after{content:\\\"\\\\10f86f\\\"}.fad.fa-key:after{content:\\\"\\\\10f084\\\"}.fad.fa-key-skeleton:after{content:\\\"\\\\10f6f3\\\"}.fad.fa-keyboard:after{content:\\\"\\\\10f11c\\\"}.fad.fa-keynote:after{content:\\\"\\\\10f66c\\\"}.fad.fa-khanda:after{content:\\\"\\\\10f66d\\\"}.fad.fa-kidneys:after{content:\\\"\\\\10f5fb\\\"}.fad.fa-kiss:after{content:\\\"\\\\10f596\\\"}.fad.fa-kiss-beam:after{content:\\\"\\\\10f597\\\"}.fad.fa-kiss-wink-heart:after{content:\\\"\\\\10f598\\\"}.fad.fa-kite:after{content:\\\"\\\\10f6f4\\\"}.fad.fa-kiwi-bird:after{content:\\\"\\\\10f535\\\"}.fad.fa-knife-kitchen:after{content:\\\"\\\\10f6f5\\\"}.fad.fa-lambda:after{content:\\\"\\\\10f66e\\\"}.fad.fa-lamp:after{content:\\\"\\\\10f4ca\\\"}.fad.fa-lamp-desk:after{content:\\\"\\\\10f914\\\"}.fad.fa-lamp-floor:after{content:\\\"\\\\10f915\\\"}.fad.fa-landmark:after{content:\\\"\\\\10f66f\\\"}.fad.fa-landmark-alt:after{content:\\\"\\\\10f752\\\"}.fad.fa-language:after{content:\\\"\\\\10f1ab\\\"}.fad.fa-laptop:after{content:\\\"\\\\10f109\\\"}.fad.fa-laptop-code:after{content:\\\"\\\\10f5fc\\\"}.fad.fa-laptop-house:after{content:\\\"\\\\10f966\\\"}.fad.fa-laptop-medical:after{content:\\\"\\\\10f812\\\"}.fad.fa-lasso:after{content:\\\"\\\\10f8c8\\\"}.fad.fa-laugh:after{content:\\\"\\\\10f599\\\"}.fad.fa-laugh-beam:after{content:\\\"\\\\10f59a\\\"}.fad.fa-laugh-squint:after{content:\\\"\\\\10f59b\\\"}.fad.fa-laugh-wink:after{content:\\\"\\\\10f59c\\\"}.fad.fa-layer-group:after{content:\\\"\\\\10f5fd\\\"}.fad.fa-layer-minus:after{content:\\\"\\\\10f5fe\\\"}.fad.fa-layer-plus:after{content:\\\"\\\\10f5ff\\\"}.fad.fa-leaf:after{content:\\\"\\\\10f06c\\\"}.fad.fa-leaf-heart:after{content:\\\"\\\\10f4cb\\\"}.fad.fa-leaf-maple:after{content:\\\"\\\\10f6f6\\\"}.fad.fa-leaf-oak:after{content:\\\"\\\\10f6f7\\\"}.fad.fa-lemon:after{content:\\\"\\\\10f094\\\"}.fad.fa-less-than:after{content:\\\"\\\\10f536\\\"}.fad.fa-less-than-equal:after{content:\\\"\\\\10f537\\\"}.fad.fa-level-down:after{content:\\\"\\\\10f149\\\"}.fad.fa-level-down-alt:after{content:\\\"\\\\10f3be\\\"}.fad.fa-level-up:after{content:\\\"\\\\10f148\\\"}.fad.fa-level-up-alt:after{content:\\\"\\\\10f3bf\\\"}.fad.fa-life-ring:after{content:\\\"\\\\10f1cd\\\"}.fad.fa-light-ceiling:after{content:\\\"\\\\10f916\\\"}.fad.fa-light-switch:after{content:\\\"\\\\10f917\\\"}.fad.fa-light-switch-off:after{content:\\\"\\\\10f918\\\"}.fad.fa-light-switch-on:after{content:\\\"\\\\10f919\\\"}.fad.fa-lightbulb:after{content:\\\"\\\\10f0eb\\\"}.fad.fa-lightbulb-dollar:after{content:\\\"\\\\10f670\\\"}.fad.fa-lightbulb-exclamation:after{content:\\\"\\\\10f671\\\"}.fad.fa-lightbulb-on:after{content:\\\"\\\\10f672\\\"}.fad.fa-lightbulb-slash:after{content:\\\"\\\\10f673\\\"}.fad.fa-lights-holiday:after{content:\\\"\\\\10f7b2\\\"}.fad.fa-line-columns:after{content:\\\"\\\\10f870\\\"}.fad.fa-line-height:after{content:\\\"\\\\10f871\\\"}.fad.fa-link:after{content:\\\"\\\\10f0c1\\\"}.fad.fa-lips:after{content:\\\"\\\\10f600\\\"}.fad.fa-lira-sign:after{content:\\\"\\\\10f195\\\"}.fad.fa-list:after{content:\\\"\\\\10f03a\\\"}.fad.fa-list-alt:after{content:\\\"\\\\10f022\\\"}.fad.fa-list-music:after{content:\\\"\\\\10f8c9\\\"}.fad.fa-list-ol:after{content:\\\"\\\\10f0cb\\\"}.fad.fa-list-ul:after{content:\\\"\\\\10f0ca\\\"}.fad.fa-location:after{content:\\\"\\\\10f601\\\"}.fad.fa-location-arrow:after{content:\\\"\\\\10f124\\\"}.fad.fa-location-circle:after{content:\\\"\\\\10f602\\\"}.fad.fa-location-slash:after{content:\\\"\\\\10f603\\\"}.fad.fa-lock:after{content:\\\"\\\\10f023\\\"}.fad.fa-lock-alt:after{content:\\\"\\\\10f30d\\\"}.fad.fa-lock-open:after{content:\\\"\\\\10f3c1\\\"}.fad.fa-lock-open-alt:after{content:\\\"\\\\10f3c2\\\"}.fad.fa-long-arrow-alt-down:after{content:\\\"\\\\10f309\\\"}.fad.fa-long-arrow-alt-left:after{content:\\\"\\\\10f30a\\\"}.fad.fa-long-arrow-alt-right:after{content:\\\"\\\\10f30b\\\"}.fad.fa-long-arrow-alt-up:after{content:\\\"\\\\10f30c\\\"}.fad.fa-long-arrow-down:after{content:\\\"\\\\10f175\\\"}.fad.fa-long-arrow-left:after{content:\\\"\\\\10f177\\\"}.fad.fa-long-arrow-right:after{content:\\\"\\\\10f178\\\"}.fad.fa-long-arrow-up:after{content:\\\"\\\\10f176\\\"}.fad.fa-loveseat:after{content:\\\"\\\\10f4cc\\\"}.fad.fa-low-vision:after{content:\\\"\\\\10f2a8\\\"}.fad.fa-luchador:after{content:\\\"\\\\10f455\\\"}.fad.fa-luggage-cart:after{content:\\\"\\\\10f59d\\\"}.fad.fa-lungs:after{content:\\\"\\\\10f604\\\"}.fad.fa-lungs-virus:after{content:\\\"\\\\10f967\\\"}.fad.fa-mace:after{content:\\\"\\\\10f6f8\\\"}.fad.fa-magic:after{content:\\\"\\\\10f0d0\\\"}.fad.fa-magnet:after{content:\\\"\\\\10f076\\\"}.fad.fa-mail-bulk:after{content:\\\"\\\\10f674\\\"}.fad.fa-mailbox:after{content:\\\"\\\\10f813\\\"}.fad.fa-male:after{content:\\\"\\\\10f183\\\"}.fad.fa-mandolin:after{content:\\\"\\\\10f6f9\\\"}.fad.fa-map:after{content:\\\"\\\\10f279\\\"}.fad.fa-map-marked:after{content:\\\"\\\\10f59f\\\"}.fad.fa-map-marked-alt:after{content:\\\"\\\\10f5a0\\\"}.fad.fa-map-marker:after{content:\\\"\\\\10f041\\\"}.fad.fa-map-marker-alt:after{content:\\\"\\\\10f3c5\\\"}.fad.fa-map-marker-alt-slash:after{content:\\\"\\\\10f605\\\"}.fad.fa-map-marker-check:after{content:\\\"\\\\10f606\\\"}.fad.fa-map-marker-edit:after{content:\\\"\\\\10f607\\\"}.fad.fa-map-marker-exclamation:after{content:\\\"\\\\10f608\\\"}.fad.fa-map-marker-minus:after{content:\\\"\\\\10f609\\\"}.fad.fa-map-marker-plus:after{content:\\\"\\\\10f60a\\\"}.fad.fa-map-marker-question:after{content:\\\"\\\\10f60b\\\"}.fad.fa-map-marker-slash:after{content:\\\"\\\\10f60c\\\"}.fad.fa-map-marker-smile:after{content:\\\"\\\\10f60d\\\"}.fad.fa-map-marker-times:after{content:\\\"\\\\10f60e\\\"}.fad.fa-map-pin:after{content:\\\"\\\\10f276\\\"}.fad.fa-map-signs:after{content:\\\"\\\\10f277\\\"}.fad.fa-marker:after{content:\\\"\\\\10f5a1\\\"}.fad.fa-mars:after{content:\\\"\\\\10f222\\\"}.fad.fa-mars-double:after{content:\\\"\\\\10f227\\\"}.fad.fa-mars-stroke:after{content:\\\"\\\\10f229\\\"}.fad.fa-mars-stroke-h:after{content:\\\"\\\\10f22b\\\"}.fad.fa-mars-stroke-v:after{content:\\\"\\\\10f22a\\\"}.fad.fa-mask:after{content:\\\"\\\\10f6fa\\\"}.fad.fa-meat:after{content:\\\"\\\\10f814\\\"}.fad.fa-medal:after{content:\\\"\\\\10f5a2\\\"}.fad.fa-medkit:after{content:\\\"\\\\10f0fa\\\"}.fad.fa-megaphone:after{content:\\\"\\\\10f675\\\"}.fad.fa-meh:after{content:\\\"\\\\10f11a\\\"}.fad.fa-meh-blank:after{content:\\\"\\\\10f5a4\\\"}.fad.fa-meh-rolling-eyes:after{content:\\\"\\\\10f5a5\\\"}.fad.fa-memory:after{content:\\\"\\\\10f538\\\"}.fad.fa-menorah:after{content:\\\"\\\\10f676\\\"}.fad.fa-mercury:after{content:\\\"\\\\10f223\\\"}.fad.fa-meteor:after{content:\\\"\\\\10f753\\\"}.fad.fa-microchip:after{content:\\\"\\\\10f2db\\\"}.fad.fa-microphone:after{content:\\\"\\\\10f130\\\"}.fad.fa-microphone-alt:after{content:\\\"\\\\10f3c9\\\"}.fad.fa-microphone-alt-slash:after{content:\\\"\\\\10f539\\\"}.fad.fa-microphone-slash:after{content:\\\"\\\\10f131\\\"}.fad.fa-microphone-stand:after{content:\\\"\\\\10f8cb\\\"}.fad.fa-microscope:after{content:\\\"\\\\10f610\\\"}.fad.fa-microwave:after{content:\\\"\\\\10f91b\\\"}.fad.fa-mind-share:after{content:\\\"\\\\10f677\\\"}.fad.fa-minus:after{content:\\\"\\\\10f068\\\"}.fad.fa-minus-circle:after{content:\\\"\\\\10f056\\\"}.fad.fa-minus-hexagon:after{content:\\\"\\\\10f307\\\"}.fad.fa-minus-octagon:after{content:\\\"\\\\10f308\\\"}.fad.fa-minus-square:after{content:\\\"\\\\10f146\\\"}.fad.fa-mistletoe:after{content:\\\"\\\\10f7b4\\\"}.fad.fa-mitten:after{content:\\\"\\\\10f7b5\\\"}.fad.fa-mobile:after{content:\\\"\\\\10f10b\\\"}.fad.fa-mobile-alt:after{content:\\\"\\\\10f3cd\\\"}.fad.fa-mobile-android:after{content:\\\"\\\\10f3ce\\\"}.fad.fa-mobile-android-alt:after{content:\\\"\\\\10f3cf\\\"}.fad.fa-money-bill:after{content:\\\"\\\\10f0d6\\\"}.fad.fa-money-bill-alt:after{content:\\\"\\\\10f3d1\\\"}.fad.fa-money-bill-wave:after{content:\\\"\\\\10f53a\\\"}.fad.fa-money-bill-wave-alt:after{content:\\\"\\\\10f53b\\\"}.fad.fa-money-check:after{content:\\\"\\\\10f53c\\\"}.fad.fa-money-check-alt:after{content:\\\"\\\\10f53d\\\"}.fad.fa-money-check-edit:after{content:\\\"\\\\10f872\\\"}.fad.fa-money-check-edit-alt:after{content:\\\"\\\\10f873\\\"}.fad.fa-monitor-heart-rate:after{content:\\\"\\\\10f611\\\"}.fad.fa-monkey:after{content:\\\"\\\\10f6fb\\\"}.fad.fa-monument:after{content:\\\"\\\\10f5a6\\\"}.fad.fa-moon:after{content:\\\"\\\\10f186\\\"}.fad.fa-moon-cloud:after{content:\\\"\\\\10f754\\\"}.fad.fa-moon-stars:after{content:\\\"\\\\10f755\\\"}.fad.fa-mortar-pestle:after{content:\\\"\\\\10f5a7\\\"}.fad.fa-mosque:after{content:\\\"\\\\10f678\\\"}.fad.fa-motorcycle:after{content:\\\"\\\\10f21c\\\"}.fad.fa-mountain:after{content:\\\"\\\\10f6fc\\\"}.fad.fa-mountains:after{content:\\\"\\\\10f6fd\\\"}.fad.fa-mouse:after{content:\\\"\\\\10f8cc\\\"}.fad.fa-mouse-alt:after{content:\\\"\\\\10f8cd\\\"}.fad.fa-mouse-pointer:after{content:\\\"\\\\10f245\\\"}.fad.fa-mp3-player:after{content:\\\"\\\\10f8ce\\\"}.fad.fa-mug:after{content:\\\"\\\\10f874\\\"}.fad.fa-mug-hot:after{content:\\\"\\\\10f7b6\\\"}.fad.fa-mug-marshmallows:after{content:\\\"\\\\10f7b7\\\"}.fad.fa-mug-tea:after{content:\\\"\\\\10f875\\\"}.fad.fa-music:after{content:\\\"\\\\10f001\\\"}.fad.fa-music-alt:after{content:\\\"\\\\10f8cf\\\"}.fad.fa-music-alt-slash:after{content:\\\"\\\\10f8d0\\\"}.fad.fa-music-slash:after{content:\\\"\\\\10f8d1\\\"}.fad.fa-narwhal:after{content:\\\"\\\\10f6fe\\\"}.fad.fa-network-wired:after{content:\\\"\\\\10f6ff\\\"}.fad.fa-neuter:after{content:\\\"\\\\10f22c\\\"}.fad.fa-newspaper:after{content:\\\"\\\\10f1ea\\\"}.fad.fa-not-equal:after{content:\\\"\\\\10f53e\\\"}.fad.fa-notes-medical:after{content:\\\"\\\\10f481\\\"}.fad.fa-object-group:after{content:\\\"\\\\10f247\\\"}.fad.fa-object-ungroup:after{content:\\\"\\\\10f248\\\"}.fad.fa-octagon:after{content:\\\"\\\\10f306\\\"}.fad.fa-oil-can:after{content:\\\"\\\\10f613\\\"}.fad.fa-oil-temp:after{content:\\\"\\\\10f614\\\"}.fad.fa-om:after{content:\\\"\\\\10f679\\\"}.fad.fa-omega:after{content:\\\"\\\\10f67a\\\"}.fad.fa-ornament:after{content:\\\"\\\\10f7b8\\\"}.fad.fa-otter:after{content:\\\"\\\\10f700\\\"}.fad.fa-outdent:after{content:\\\"\\\\10f03b\\\"}.fad.fa-outlet:after{content:\\\"\\\\10f91c\\\"}.fad.fa-oven:after{content:\\\"\\\\10f91d\\\"}.fad.fa-overline:after{content:\\\"\\\\10f876\\\"}.fad.fa-page-break:after{content:\\\"\\\\10f877\\\"}.fad.fa-pager:after{content:\\\"\\\\10f815\\\"}.fad.fa-paint-brush:after{content:\\\"\\\\10f1fc\\\"}.fad.fa-paint-brush-alt:after{content:\\\"\\\\10f5a9\\\"}.fad.fa-paint-roller:after{content:\\\"\\\\10f5aa\\\"}.fad.fa-palette:after{content:\\\"\\\\10f53f\\\"}.fad.fa-pallet:after{content:\\\"\\\\10f482\\\"}.fad.fa-pallet-alt:after{content:\\\"\\\\10f483\\\"}.fad.fa-paper-plane:after{content:\\\"\\\\10f1d8\\\"}.fad.fa-paperclip:after{content:\\\"\\\\10f0c6\\\"}.fad.fa-parachute-box:after{content:\\\"\\\\10f4cd\\\"}.fad.fa-paragraph:after{content:\\\"\\\\10f1dd\\\"}.fad.fa-paragraph-rtl:after{content:\\\"\\\\10f878\\\"}.fad.fa-parking:after{content:\\\"\\\\10f540\\\"}.fad.fa-parking-circle:after{content:\\\"\\\\10f615\\\"}.fad.fa-parking-circle-slash:after{content:\\\"\\\\10f616\\\"}.fad.fa-parking-slash:after{content:\\\"\\\\10f617\\\"}.fad.fa-passport:after{content:\\\"\\\\10f5ab\\\"}.fad.fa-pastafarianism:after{content:\\\"\\\\10f67b\\\"}.fad.fa-paste:after{content:\\\"\\\\10f0ea\\\"}.fad.fa-pause:after{content:\\\"\\\\10f04c\\\"}.fad.fa-pause-circle:after{content:\\\"\\\\10f28b\\\"}.fad.fa-paw:after{content:\\\"\\\\10f1b0\\\"}.fad.fa-paw-alt:after{content:\\\"\\\\10f701\\\"}.fad.fa-paw-claws:after{content:\\\"\\\\10f702\\\"}.fad.fa-peace:after{content:\\\"\\\\10f67c\\\"}.fad.fa-pegasus:after{content:\\\"\\\\10f703\\\"}.fad.fa-pen:after{content:\\\"\\\\10f304\\\"}.fad.fa-pen-alt:after{content:\\\"\\\\10f305\\\"}.fad.fa-pen-fancy:after{content:\\\"\\\\10f5ac\\\"}.fad.fa-pen-nib:after{content:\\\"\\\\10f5ad\\\"}.fad.fa-pen-square:after{content:\\\"\\\\10f14b\\\"}.fad.fa-pencil:after{content:\\\"\\\\10f040\\\"}.fad.fa-pencil-alt:after{content:\\\"\\\\10f303\\\"}.fad.fa-pencil-paintbrush:after{content:\\\"\\\\10f618\\\"}.fad.fa-pencil-ruler:after{content:\\\"\\\\10f5ae\\\"}.fad.fa-pennant:after{content:\\\"\\\\10f456\\\"}.fad.fa-people-arrows:after{content:\\\"\\\\10f968\\\"}.fad.fa-people-carry:after{content:\\\"\\\\10f4ce\\\"}.fad.fa-pepper-hot:after{content:\\\"\\\\10f816\\\"}.fad.fa-percent:after{content:\\\"\\\\10f295\\\"}.fad.fa-percentage:after{content:\\\"\\\\10f541\\\"}.fad.fa-person-booth:after{content:\\\"\\\\10f756\\\"}.fad.fa-person-carry:after{content:\\\"\\\\10f4cf\\\"}.fad.fa-person-dolly:after{content:\\\"\\\\10f4d0\\\"}.fad.fa-person-dolly-empty:after{content:\\\"\\\\10f4d1\\\"}.fad.fa-person-sign:after{content:\\\"\\\\10f757\\\"}.fad.fa-phone:after{content:\\\"\\\\10f095\\\"}.fad.fa-phone-alt:after{content:\\\"\\\\10f879\\\"}.fad.fa-phone-laptop:after{content:\\\"\\\\10f87a\\\"}.fad.fa-phone-office:after{content:\\\"\\\\10f67d\\\"}.fad.fa-phone-plus:after{content:\\\"\\\\10f4d2\\\"}.fad.fa-phone-rotary:after{content:\\\"\\\\10f8d3\\\"}.fad.fa-phone-slash:after{content:\\\"\\\\10f3dd\\\"}.fad.fa-phone-square:after{content:\\\"\\\\10f098\\\"}.fad.fa-phone-square-alt:after{content:\\\"\\\\10f87b\\\"}.fad.fa-phone-volume:after{content:\\\"\\\\10f2a0\\\"}.fad.fa-photo-video:after{content:\\\"\\\\10f87c\\\"}.fad.fa-pi:after{content:\\\"\\\\10f67e\\\"}.fad.fa-piano:after{content:\\\"\\\\10f8d4\\\"}.fad.fa-piano-keyboard:after{content:\\\"\\\\10f8d5\\\"}.fad.fa-pie:after{content:\\\"\\\\10f705\\\"}.fad.fa-pig:after{content:\\\"\\\\10f706\\\"}.fad.fa-piggy-bank:after{content:\\\"\\\\10f4d3\\\"}.fad.fa-pills:after{content:\\\"\\\\10f484\\\"}.fad.fa-pizza:after{content:\\\"\\\\10f817\\\"}.fad.fa-pizza-slice:after{content:\\\"\\\\10f818\\\"}.fad.fa-place-of-worship:after{content:\\\"\\\\10f67f\\\"}.fad.fa-plane:after{content:\\\"\\\\10f072\\\"}.fad.fa-plane-alt:after{content:\\\"\\\\10f3de\\\"}.fad.fa-plane-arrival:after{content:\\\"\\\\10f5af\\\"}.fad.fa-plane-departure:after{content:\\\"\\\\10f5b0\\\"}.fad.fa-plane-slash:after{content:\\\"\\\\10f969\\\"}.fad.fa-planet-moon:after{content:\\\"\\\\10f91f\\\"}.fad.fa-planet-ringed:after{content:\\\"\\\\10f920\\\"}.fad.fa-play:after{content:\\\"\\\\10f04b\\\"}.fad.fa-play-circle:after{content:\\\"\\\\10f144\\\"}.fad.fa-plug:after{content:\\\"\\\\10f1e6\\\"}.fad.fa-plus:after{content:\\\"\\\\10f067\\\"}.fad.fa-plus-circle:after{content:\\\"\\\\10f055\\\"}.fad.fa-plus-hexagon:after{content:\\\"\\\\10f300\\\"}.fad.fa-plus-octagon:after{content:\\\"\\\\10f301\\\"}.fad.fa-plus-square:after{content:\\\"\\\\10f0fe\\\"}.fad.fa-podcast:after{content:\\\"\\\\10f2ce\\\"}.fad.fa-podium:after{content:\\\"\\\\10f680\\\"}.fad.fa-podium-star:after{content:\\\"\\\\10f758\\\"}.fad.fa-police-box:after{content:\\\"\\\\10f921\\\"}.fad.fa-poll:after{content:\\\"\\\\10f681\\\"}.fad.fa-poll-h:after{content:\\\"\\\\10f682\\\"}.fad.fa-poll-people:after{content:\\\"\\\\10f759\\\"}.fad.fa-poo:after{content:\\\"\\\\10f2fe\\\"}.fad.fa-poo-storm:after{content:\\\"\\\\10f75a\\\"}.fad.fa-poop:after{content:\\\"\\\\10f619\\\"}.fad.fa-popcorn:after{content:\\\"\\\\10f819\\\"}.fad.fa-portal-enter:after{content:\\\"\\\\10f922\\\"}.fad.fa-portal-exit:after{content:\\\"\\\\10f923\\\"}.fad.fa-portrait:after{content:\\\"\\\\10f3e0\\\"}.fad.fa-pound-sign:after{content:\\\"\\\\10f154\\\"}.fad.fa-power-off:after{content:\\\"\\\\10f011\\\"}.fad.fa-pray:after{content:\\\"\\\\10f683\\\"}.fad.fa-praying-hands:after{content:\\\"\\\\10f684\\\"}.fad.fa-prescription:after{content:\\\"\\\\10f5b1\\\"}.fad.fa-prescription-bottle:after{content:\\\"\\\\10f485\\\"}.fad.fa-prescription-bottle-alt:after{content:\\\"\\\\10f486\\\"}.fad.fa-presentation:after{content:\\\"\\\\10f685\\\"}.fad.fa-print:after{content:\\\"\\\\10f02f\\\"}.fad.fa-print-search:after{content:\\\"\\\\10f81a\\\"}.fad.fa-print-slash:after{content:\\\"\\\\10f686\\\"}.fad.fa-procedures:after{content:\\\"\\\\10f487\\\"}.fad.fa-project-diagram:after{content:\\\"\\\\10f542\\\"}.fad.fa-projector:after{content:\\\"\\\\10f8d6\\\"}.fad.fa-pump-medical:after{content:\\\"\\\\10f96a\\\"}.fad.fa-pump-soap:after{content:\\\"\\\\10f96b\\\"}.fad.fa-pumpkin:after{content:\\\"\\\\10f707\\\"}.fad.fa-puzzle-piece:after{content:\\\"\\\\10f12e\\\"}.fad.fa-qrcode:after{content:\\\"\\\\10f029\\\"}.fad.fa-question:after{content:\\\"\\\\10f128\\\"}.fad.fa-question-circle:after{content:\\\"\\\\10f059\\\"}.fad.fa-question-square:after{content:\\\"\\\\10f2fd\\\"}.fad.fa-quidditch:after{content:\\\"\\\\10f458\\\"}.fad.fa-quote-left:after{content:\\\"\\\\10f10d\\\"}.fad.fa-quote-right:after{content:\\\"\\\\10f10e\\\"}.fad.fa-quran:after{content:\\\"\\\\10f687\\\"}.fad.fa-rabbit:after{content:\\\"\\\\10f708\\\"}.fad.fa-rabbit-fast:after{content:\\\"\\\\10f709\\\"}.fad.fa-racquet:after{content:\\\"\\\\10f45a\\\"}.fad.fa-radar:after{content:\\\"\\\\10f924\\\"}.fad.fa-radiation:after{content:\\\"\\\\10f7b9\\\"}.fad.fa-radiation-alt:after{content:\\\"\\\\10f7ba\\\"}.fad.fa-radio:after{content:\\\"\\\\10f8d7\\\"}.fad.fa-radio-alt:after{content:\\\"\\\\10f8d8\\\"}.fad.fa-rainbow:after{content:\\\"\\\\10f75b\\\"}.fad.fa-raindrops:after{content:\\\"\\\\10f75c\\\"}.fad.fa-ram:after{content:\\\"\\\\10f70a\\\"}.fad.fa-ramp-loading:after{content:\\\"\\\\10f4d4\\\"}.fad.fa-random:after{content:\\\"\\\\10f074\\\"}.fad.fa-raygun:after{content:\\\"\\\\10f925\\\"}.fad.fa-receipt:after{content:\\\"\\\\10f543\\\"}.fad.fa-record-vinyl:after{content:\\\"\\\\10f8d9\\\"}.fad.fa-rectangle-landscape:after{content:\\\"\\\\10f2fa\\\"}.fad.fa-rectangle-portrait:after{content:\\\"\\\\10f2fb\\\"}.fad.fa-rectangle-wide:after{content:\\\"\\\\10f2fc\\\"}.fad.fa-recycle:after{content:\\\"\\\\10f1b8\\\"}.fad.fa-redo:after{content:\\\"\\\\10f01e\\\"}.fad.fa-redo-alt:after{content:\\\"\\\\10f2f9\\\"}.fad.fa-refrigerator:after{content:\\\"\\\\10f926\\\"}.fad.fa-registered:after{content:\\\"\\\\10f25d\\\"}.fad.fa-remove-format:after{content:\\\"\\\\10f87d\\\"}.fad.fa-repeat:after{content:\\\"\\\\10f363\\\"}.fad.fa-repeat-1:after{content:\\\"\\\\10f365\\\"}.fad.fa-repeat-1-alt:after{content:\\\"\\\\10f366\\\"}.fad.fa-repeat-alt:after{content:\\\"\\\\10f364\\\"}.fad.fa-reply:after{content:\\\"\\\\10f3e5\\\"}.fad.fa-reply-all:after{content:\\\"\\\\10f122\\\"}.fad.fa-republican:after{content:\\\"\\\\10f75e\\\"}.fad.fa-restroom:after{content:\\\"\\\\10f7bd\\\"}.fad.fa-retweet:after{content:\\\"\\\\10f079\\\"}.fad.fa-retweet-alt:after{content:\\\"\\\\10f361\\\"}.fad.fa-ribbon:after{content:\\\"\\\\10f4d6\\\"}.fad.fa-ring:after{content:\\\"\\\\10f70b\\\"}.fad.fa-rings-wedding:after{content:\\\"\\\\10f81b\\\"}.fad.fa-road:after{content:\\\"\\\\10f018\\\"}.fad.fa-robot:after{content:\\\"\\\\10f544\\\"}.fad.fa-rocket:after{content:\\\"\\\\10f135\\\"}.fad.fa-rocket-launch:after{content:\\\"\\\\10f927\\\"}.fad.fa-route:after{content:\\\"\\\\10f4d7\\\"}.fad.fa-route-highway:after{content:\\\"\\\\10f61a\\\"}.fad.fa-route-interstate:after{content:\\\"\\\\10f61b\\\"}.fad.fa-router:after{content:\\\"\\\\10f8da\\\"}.fad.fa-rss:after{content:\\\"\\\\10f09e\\\"}.fad.fa-rss-square:after{content:\\\"\\\\10f143\\\"}.fad.fa-ruble-sign:after{content:\\\"\\\\10f158\\\"}.fad.fa-ruler:after{content:\\\"\\\\10f545\\\"}.fad.fa-ruler-combined:after{content:\\\"\\\\10f546\\\"}.fad.fa-ruler-horizontal:after{content:\\\"\\\\10f547\\\"}.fad.fa-ruler-triangle:after{content:\\\"\\\\10f61c\\\"}.fad.fa-ruler-vertical:after{content:\\\"\\\\10f548\\\"}.fad.fa-running:after{content:\\\"\\\\10f70c\\\"}.fad.fa-rupee-sign:after{content:\\\"\\\\10f156\\\"}.fad.fa-rv:after{content:\\\"\\\\10f7be\\\"}.fad.fa-sack:after{content:\\\"\\\\10f81c\\\"}.fad.fa-sack-dollar:after{content:\\\"\\\\10f81d\\\"}.fad.fa-sad-cry:after{content:\\\"\\\\10f5b3\\\"}.fad.fa-sad-tear:after{content:\\\"\\\\10f5b4\\\"}.fad.fa-salad:after{content:\\\"\\\\10f81e\\\"}.fad.fa-sandwich:after{content:\\\"\\\\10f81f\\\"}.fad.fa-satellite:after{content:\\\"\\\\10f7bf\\\"}.fad.fa-satellite-dish:after{content:\\\"\\\\10f7c0\\\"}.fad.fa-sausage:after{content:\\\"\\\\10f820\\\"}.fad.fa-save:after{content:\\\"\\\\10f0c7\\\"}.fad.fa-sax-hot:after{content:\\\"\\\\10f8db\\\"}.fad.fa-saxophone:after{content:\\\"\\\\10f8dc\\\"}.fad.fa-scalpel:after{content:\\\"\\\\10f61d\\\"}.fad.fa-scalpel-path:after{content:\\\"\\\\10f61e\\\"}.fad.fa-scanner:after{content:\\\"\\\\10f488\\\"}.fad.fa-scanner-image:after{content:\\\"\\\\10f8f3\\\"}.fad.fa-scanner-keyboard:after{content:\\\"\\\\10f489\\\"}.fad.fa-scanner-touchscreen:after{content:\\\"\\\\10f48a\\\"}.fad.fa-scarecrow:after{content:\\\"\\\\10f70d\\\"}.fad.fa-scarf:after{content:\\\"\\\\10f7c1\\\"}.fad.fa-school:after{content:\\\"\\\\10f549\\\"}.fad.fa-screwdriver:after{content:\\\"\\\\10f54a\\\"}.fad.fa-scroll:after{content:\\\"\\\\10f70e\\\"}.fad.fa-scroll-old:after{content:\\\"\\\\10f70f\\\"}.fad.fa-scrubber:after{content:\\\"\\\\10f2f8\\\"}.fad.fa-scythe:after{content:\\\"\\\\10f710\\\"}.fad.fa-sd-card:after{content:\\\"\\\\10f7c2\\\"}.fad.fa-search:after{content:\\\"\\\\10f002\\\"}.fad.fa-search-dollar:after{content:\\\"\\\\10f688\\\"}.fad.fa-search-location:after{content:\\\"\\\\10f689\\\"}.fad.fa-search-minus:after{content:\\\"\\\\10f010\\\"}.fad.fa-search-plus:after{content:\\\"\\\\10f00e\\\"}.fad.fa-seedling:after{content:\\\"\\\\10f4d8\\\"}.fad.fa-send-back:after{content:\\\"\\\\10f87e\\\"}.fad.fa-send-backward:after{content:\\\"\\\\10f87f\\\"}.fad.fa-sensor:after{content:\\\"\\\\10f928\\\"}.fad.fa-sensor-alert:after{content:\\\"\\\\10f929\\\"}.fad.fa-sensor-fire:after{content:\\\"\\\\10f92a\\\"}.fad.fa-sensor-on:after{content:\\\"\\\\10f92b\\\"}.fad.fa-sensor-smoke:after{content:\\\"\\\\10f92c\\\"}.fad.fa-server:after{content:\\\"\\\\10f233\\\"}.fad.fa-shapes:after{content:\\\"\\\\10f61f\\\"}.fad.fa-share:after{content:\\\"\\\\10f064\\\"}.fad.fa-share-all:after{content:\\\"\\\\10f367\\\"}.fad.fa-share-alt:after{content:\\\"\\\\10f1e0\\\"}.fad.fa-share-alt-square:after{content:\\\"\\\\10f1e1\\\"}.fad.fa-share-square:after{content:\\\"\\\\10f14d\\\"}.fad.fa-sheep:after{content:\\\"\\\\10f711\\\"}.fad.fa-shekel-sign:after{content:\\\"\\\\10f20b\\\"}.fad.fa-shield:after{content:\\\"\\\\10f132\\\"}.fad.fa-shield-alt:after{content:\\\"\\\\10f3ed\\\"}.fad.fa-shield-check:after{content:\\\"\\\\10f2f7\\\"}.fad.fa-shield-cross:after{content:\\\"\\\\10f712\\\"}.fad.fa-shield-virus:after{content:\\\"\\\\10f96c\\\"}.fad.fa-ship:after{content:\\\"\\\\10f21a\\\"}.fad.fa-shipping-fast:after{content:\\\"\\\\10f48b\\\"}.fad.fa-shipping-timed:after{content:\\\"\\\\10f48c\\\"}.fad.fa-shish-kebab:after{content:\\\"\\\\10f821\\\"}.fad.fa-shoe-prints:after{content:\\\"\\\\10f54b\\\"}.fad.fa-shopping-bag:after{content:\\\"\\\\10f290\\\"}.fad.fa-shopping-basket:after{content:\\\"\\\\10f291\\\"}.fad.fa-shopping-cart:after{content:\\\"\\\\10f07a\\\"}.fad.fa-shovel:after{content:\\\"\\\\10f713\\\"}.fad.fa-shovel-snow:after{content:\\\"\\\\10f7c3\\\"}.fad.fa-shower:after{content:\\\"\\\\10f2cc\\\"}.fad.fa-shredder:after{content:\\\"\\\\10f68a\\\"}.fad.fa-shuttle-van:after{content:\\\"\\\\10f5b6\\\"}.fad.fa-shuttlecock:after{content:\\\"\\\\10f45b\\\"}.fad.fa-sickle:after{content:\\\"\\\\10f822\\\"}.fad.fa-sigma:after{content:\\\"\\\\10f68b\\\"}.fad.fa-sign:after{content:\\\"\\\\10f4d9\\\"}.fad.fa-sign-in:after{content:\\\"\\\\10f090\\\"}.fad.fa-sign-in-alt:after{content:\\\"\\\\10f2f6\\\"}.fad.fa-sign-language:after{content:\\\"\\\\10f2a7\\\"}.fad.fa-sign-out:after{content:\\\"\\\\10f08b\\\"}.fad.fa-sign-out-alt:after{content:\\\"\\\\10f2f5\\\"}.fad.fa-signal:after{content:\\\"\\\\10f012\\\"}.fad.fa-signal-1:after{content:\\\"\\\\10f68c\\\"}.fad.fa-signal-2:after{content:\\\"\\\\10f68d\\\"}.fad.fa-signal-3:after{content:\\\"\\\\10f68e\\\"}.fad.fa-signal-4:after{content:\\\"\\\\10f68f\\\"}.fad.fa-signal-alt:after{content:\\\"\\\\10f690\\\"}.fad.fa-signal-alt-1:after{content:\\\"\\\\10f691\\\"}.fad.fa-signal-alt-2:after{content:\\\"\\\\10f692\\\"}.fad.fa-signal-alt-3:after{content:\\\"\\\\10f693\\\"}.fad.fa-signal-alt-slash:after{content:\\\"\\\\10f694\\\"}.fad.fa-signal-slash:after{content:\\\"\\\\10f695\\\"}.fad.fa-signal-stream:after{content:\\\"\\\\10f8dd\\\"}.fad.fa-signature:after{content:\\\"\\\\10f5b7\\\"}.fad.fa-sim-card:after{content:\\\"\\\\10f7c4\\\"}.fad.fa-sink:after{content:\\\"\\\\10f96d\\\"}.fad.fa-siren:after{content:\\\"\\\\10f92d\\\"}.fad.fa-siren-on:after{content:\\\"\\\\10f92e\\\"}.fad.fa-sitemap:after{content:\\\"\\\\10f0e8\\\"}.fad.fa-skating:after{content:\\\"\\\\10f7c5\\\"}.fad.fa-skeleton:after{content:\\\"\\\\10f620\\\"}.fad.fa-ski-jump:after{content:\\\"\\\\10f7c7\\\"}.fad.fa-ski-lift:after{content:\\\"\\\\10f7c8\\\"}.fad.fa-skiing:after{content:\\\"\\\\10f7c9\\\"}.fad.fa-skiing-nordic:after{content:\\\"\\\\10f7ca\\\"}.fad.fa-skull:after{content:\\\"\\\\10f54c\\\"}.fad.fa-skull-cow:after{content:\\\"\\\\10f8de\\\"}.fad.fa-skull-crossbones:after{content:\\\"\\\\10f714\\\"}.fad.fa-slash:after{content:\\\"\\\\10f715\\\"}.fad.fa-sledding:after{content:\\\"\\\\10f7cb\\\"}.fad.fa-sleigh:after{content:\\\"\\\\10f7cc\\\"}.fad.fa-sliders-h:after{content:\\\"\\\\10f1de\\\"}.fad.fa-sliders-h-square:after{content:\\\"\\\\10f3f0\\\"}.fad.fa-sliders-v:after{content:\\\"\\\\10f3f1\\\"}.fad.fa-sliders-v-square:after{content:\\\"\\\\10f3f2\\\"}.fad.fa-smile:after{content:\\\"\\\\10f118\\\"}.fad.fa-smile-beam:after{content:\\\"\\\\10f5b8\\\"}.fad.fa-smile-plus:after{content:\\\"\\\\10f5b9\\\"}.fad.fa-smile-wink:after{content:\\\"\\\\10f4da\\\"}.fad.fa-smog:after{content:\\\"\\\\10f75f\\\"}.fad.fa-smoke:after{content:\\\"\\\\10f760\\\"}.fad.fa-smoking:after{content:\\\"\\\\10f48d\\\"}.fad.fa-smoking-ban:after{content:\\\"\\\\10f54d\\\"}.fad.fa-sms:after{content:\\\"\\\\10f7cd\\\"}.fad.fa-snake:after{content:\\\"\\\\10f716\\\"}.fad.fa-snooze:after{content:\\\"\\\\10f880\\\"}.fad.fa-snow-blowing:after{content:\\\"\\\\10f761\\\"}.fad.fa-snowboarding:after{content:\\\"\\\\10f7ce\\\"}.fad.fa-snowflake:after{content:\\\"\\\\10f2dc\\\"}.fad.fa-snowflakes:after{content:\\\"\\\\10f7cf\\\"}.fad.fa-snowman:after{content:\\\"\\\\10f7d0\\\"}.fad.fa-snowmobile:after{content:\\\"\\\\10f7d1\\\"}.fad.fa-snowplow:after{content:\\\"\\\\10f7d2\\\"}.fad.fa-soap:after{content:\\\"\\\\10f96e\\\"}.fad.fa-socks:after{content:\\\"\\\\10f696\\\"}.fad.fa-solar-panel:after{content:\\\"\\\\10f5ba\\\"}.fad.fa-solar-system:after{content:\\\"\\\\10f92f\\\"}.fad.fa-sort:after{content:\\\"\\\\10f0dc\\\"}.fad.fa-sort-alpha-down:after{content:\\\"\\\\10f15d\\\"}.fad.fa-sort-alpha-down-alt:after{content:\\\"\\\\10f881\\\"}.fad.fa-sort-alpha-up:after{content:\\\"\\\\10f15e\\\"}.fad.fa-sort-alpha-up-alt:after{content:\\\"\\\\10f882\\\"}.fad.fa-sort-alt:after{content:\\\"\\\\10f883\\\"}.fad.fa-sort-amount-down:after{content:\\\"\\\\10f160\\\"}.fad.fa-sort-amount-down-alt:after{content:\\\"\\\\10f884\\\"}.fad.fa-sort-amount-up:after{content:\\\"\\\\10f161\\\"}.fad.fa-sort-amount-up-alt:after{content:\\\"\\\\10f885\\\"}.fad.fa-sort-circle:after{content:\\\"\\\\10f930\\\"}.fad.fa-sort-circle-down:after{content:\\\"\\\\10f931\\\"}.fad.fa-sort-circle-up:after{content:\\\"\\\\10f932\\\"}.fad.fa-sort-down:after{content:\\\"\\\\10f0dd\\\"}.fad.fa-sort-numeric-down:after{content:\\\"\\\\10f162\\\"}.fad.fa-sort-numeric-down-alt:after{content:\\\"\\\\10f886\\\"}.fad.fa-sort-numeric-up:after{content:\\\"\\\\10f163\\\"}.fad.fa-sort-numeric-up-alt:after{content:\\\"\\\\10f887\\\"}.fad.fa-sort-shapes-down:after{content:\\\"\\\\10f888\\\"}.fad.fa-sort-shapes-down-alt:after{content:\\\"\\\\10f889\\\"}.fad.fa-sort-shapes-up:after{content:\\\"\\\\10f88a\\\"}.fad.fa-sort-shapes-up-alt:after{content:\\\"\\\\10f88b\\\"}.fad.fa-sort-size-down:after{content:\\\"\\\\10f88c\\\"}.fad.fa-sort-size-down-alt:after{content:\\\"\\\\10f88d\\\"}.fad.fa-sort-size-up:after{content:\\\"\\\\10f88e\\\"}.fad.fa-sort-size-up-alt:after{content:\\\"\\\\10f88f\\\"}.fad.fa-sort-up:after{content:\\\"\\\\10f0de\\\"}.fad.fa-soup:after{content:\\\"\\\\10f823\\\"}.fad.fa-spa:after{content:\\\"\\\\10f5bb\\\"}.fad.fa-space-shuttle:after{content:\\\"\\\\10f197\\\"}.fad.fa-space-station-moon:after{content:\\\"\\\\10f933\\\"}.fad.fa-space-station-moon-alt:after{content:\\\"\\\\10f934\\\"}.fad.fa-spade:after{content:\\\"\\\\10f2f4\\\"}.fad.fa-sparkles:after{content:\\\"\\\\10f890\\\"}.fad.fa-speaker:after{content:\\\"\\\\10f8df\\\"}.fad.fa-speakers:after{content:\\\"\\\\10f8e0\\\"}.fad.fa-spell-check:after{content:\\\"\\\\10f891\\\"}.fad.fa-spider:after{content:\\\"\\\\10f717\\\"}.fad.fa-spider-black-widow:after{content:\\\"\\\\10f718\\\"}.fad.fa-spider-web:after{content:\\\"\\\\10f719\\\"}.fad.fa-spinner:after{content:\\\"\\\\10f110\\\"}.fad.fa-spinner-third:after{content:\\\"\\\\10f3f4\\\"}.fad.fa-splotch:after{content:\\\"\\\\10f5bc\\\"}.fad.fa-spray-can:after{content:\\\"\\\\10f5bd\\\"}.fad.fa-sprinkler:after{content:\\\"\\\\10f935\\\"}.fad.fa-square:after{content:\\\"\\\\10f0c8\\\"}.fad.fa-square-full:after{content:\\\"\\\\10f45c\\\"}.fad.fa-square-root:after{content:\\\"\\\\10f697\\\"}.fad.fa-square-root-alt:after{content:\\\"\\\\10f698\\\"}.fad.fa-squirrel:after{content:\\\"\\\\10f71a\\\"}.fad.fa-staff:after{content:\\\"\\\\10f71b\\\"}.fad.fa-stamp:after{content:\\\"\\\\10f5bf\\\"}.fad.fa-star:after{content:\\\"\\\\10f005\\\"}.fad.fa-star-and-crescent:after{content:\\\"\\\\10f699\\\"}.fad.fa-star-christmas:after{content:\\\"\\\\10f7d4\\\"}.fad.fa-star-exclamation:after{content:\\\"\\\\10f2f3\\\"}.fad.fa-star-half:after{content:\\\"\\\\10f089\\\"}.fad.fa-star-half-alt:after{content:\\\"\\\\10f5c0\\\"}.fad.fa-star-of-david:after{content:\\\"\\\\10f69a\\\"}.fad.fa-star-of-life:after{content:\\\"\\\\10f621\\\"}.fad.fa-star-shooting:after{content:\\\"\\\\10f936\\\"}.fad.fa-starfighter:after{content:\\\"\\\\10f937\\\"}.fad.fa-starfighter-alt:after{content:\\\"\\\\10f938\\\"}.fad.fa-stars:after{content:\\\"\\\\10f762\\\"}.fad.fa-starship:after{content:\\\"\\\\10f939\\\"}.fad.fa-starship-freighter:after{content:\\\"\\\\10f93a\\\"}.fad.fa-steak:after{content:\\\"\\\\10f824\\\"}.fad.fa-steering-wheel:after{content:\\\"\\\\10f622\\\"}.fad.fa-step-backward:after{content:\\\"\\\\10f048\\\"}.fad.fa-step-forward:after{content:\\\"\\\\10f051\\\"}.fad.fa-stethoscope:after{content:\\\"\\\\10f0f1\\\"}.fad.fa-sticky-note:after{content:\\\"\\\\10f249\\\"}.fad.fa-stocking:after{content:\\\"\\\\10f7d5\\\"}.fad.fa-stomach:after{content:\\\"\\\\10f623\\\"}.fad.fa-stop:after{content:\\\"\\\\10f04d\\\"}.fad.fa-stop-circle:after{content:\\\"\\\\10f28d\\\"}.fad.fa-stopwatch:after{content:\\\"\\\\10f2f2\\\"}.fad.fa-stopwatch-20:after{content:\\\"\\\\10f96f\\\"}.fad.fa-store:after{content:\\\"\\\\10f54e\\\"}.fad.fa-store-alt:after{content:\\\"\\\\10f54f\\\"}.fad.fa-store-alt-slash:after{content:\\\"\\\\10f970\\\"}.fad.fa-store-slash:after{content:\\\"\\\\10f971\\\"}.fad.fa-stream:after{content:\\\"\\\\10f550\\\"}.fad.fa-street-view:after{content:\\\"\\\\10f21d\\\"}.fad.fa-stretcher:after{content:\\\"\\\\10f825\\\"}.fad.fa-strikethrough:after{content:\\\"\\\\10f0cc\\\"}.fad.fa-stroopwafel:after{content:\\\"\\\\10f551\\\"}.fad.fa-subscript:after{content:\\\"\\\\10f12c\\\"}.fad.fa-subway:after{content:\\\"\\\\10f239\\\"}.fad.fa-suitcase:after{content:\\\"\\\\10f0f2\\\"}.fad.fa-suitcase-rolling:after{content:\\\"\\\\10f5c1\\\"}.fad.fa-sun:after{content:\\\"\\\\10f185\\\"}.fad.fa-sun-cloud:after{content:\\\"\\\\10f763\\\"}.fad.fa-sun-dust:after{content:\\\"\\\\10f764\\\"}.fad.fa-sun-haze:after{content:\\\"\\\\10f765\\\"}.fad.fa-sunglasses:after{content:\\\"\\\\10f892\\\"}.fad.fa-sunrise:after{content:\\\"\\\\10f766\\\"}.fad.fa-sunset:after{content:\\\"\\\\10f767\\\"}.fad.fa-superscript:after{content:\\\"\\\\10f12b\\\"}.fad.fa-surprise:after{content:\\\"\\\\10f5c2\\\"}.fad.fa-swatchbook:after{content:\\\"\\\\10f5c3\\\"}.fad.fa-swimmer:after{content:\\\"\\\\10f5c4\\\"}.fad.fa-swimming-pool:after{content:\\\"\\\\10f5c5\\\"}.fad.fa-sword:after{content:\\\"\\\\10f71c\\\"}.fad.fa-sword-laser:after{content:\\\"\\\\10f93b\\\"}.fad.fa-sword-laser-alt:after{content:\\\"\\\\10f93c\\\"}.fad.fa-swords:after{content:\\\"\\\\10f71d\\\"}.fad.fa-swords-laser:after{content:\\\"\\\\10f93d\\\"}.fad.fa-synagogue:after{content:\\\"\\\\10f69b\\\"}.fad.fa-sync:after{content:\\\"\\\\10f021\\\"}.fad.fa-sync-alt:after{content:\\\"\\\\10f2f1\\\"}.fad.fa-syringe:after{content:\\\"\\\\10f48e\\\"}.fad.fa-table:after{content:\\\"\\\\10f0ce\\\"}.fad.fa-table-tennis:after{content:\\\"\\\\10f45d\\\"}.fad.fa-tablet:after{content:\\\"\\\\10f10a\\\"}.fad.fa-tablet-alt:after{content:\\\"\\\\10f3fa\\\"}.fad.fa-tablet-android:after{content:\\\"\\\\10f3fb\\\"}.fad.fa-tablet-android-alt:after{content:\\\"\\\\10f3fc\\\"}.fad.fa-tablet-rugged:after{content:\\\"\\\\10f48f\\\"}.fad.fa-tablets:after{content:\\\"\\\\10f490\\\"}.fad.fa-tachometer:after{content:\\\"\\\\10f0e4\\\"}.fad.fa-tachometer-alt:after{content:\\\"\\\\10f3fd\\\"}.fad.fa-tachometer-alt-average:after{content:\\\"\\\\10f624\\\"}.fad.fa-tachometer-alt-fast:after{content:\\\"\\\\10f625\\\"}.fad.fa-tachometer-alt-fastest:after{content:\\\"\\\\10f626\\\"}.fad.fa-tachometer-alt-slow:after{content:\\\"\\\\10f627\\\"}.fad.fa-tachometer-alt-slowest:after{content:\\\"\\\\10f628\\\"}.fad.fa-tachometer-average:after{content:\\\"\\\\10f629\\\"}.fad.fa-tachometer-fast:after{content:\\\"\\\\10f62a\\\"}.fad.fa-tachometer-fastest:after{content:\\\"\\\\10f62b\\\"}.fad.fa-tachometer-slow:after{content:\\\"\\\\10f62c\\\"}.fad.fa-tachometer-slowest:after{content:\\\"\\\\10f62d\\\"}.fad.fa-taco:after{content:\\\"\\\\10f826\\\"}.fad.fa-tag:after{content:\\\"\\\\10f02b\\\"}.fad.fa-tags:after{content:\\\"\\\\10f02c\\\"}.fad.fa-tally:after{content:\\\"\\\\10f69c\\\"}.fad.fa-tanakh:after{content:\\\"\\\\10f827\\\"}.fad.fa-tape:after{content:\\\"\\\\10f4db\\\"}.fad.fa-tasks:after{content:\\\"\\\\10f0ae\\\"}.fad.fa-tasks-alt:after{content:\\\"\\\\10f828\\\"}.fad.fa-taxi:after{content:\\\"\\\\10f1ba\\\"}.fad.fa-teeth:after{content:\\\"\\\\10f62e\\\"}.fad.fa-teeth-open:after{content:\\\"\\\\10f62f\\\"}.fad.fa-telescope:after{content:\\\"\\\\10f93e\\\"}.fad.fa-temperature-down:after{content:\\\"\\\\10f93f\\\"}.fad.fa-temperature-frigid:after{content:\\\"\\\\10f768\\\"}.fad.fa-temperature-high:after{content:\\\"\\\\10f769\\\"}.fad.fa-temperature-hot:after{content:\\\"\\\\10f76a\\\"}.fad.fa-temperature-low:after{content:\\\"\\\\10f76b\\\"}.fad.fa-temperature-up:after{content:\\\"\\\\10f940\\\"}.fad.fa-tenge:after{content:\\\"\\\\10f7d7\\\"}.fad.fa-tennis-ball:after{content:\\\"\\\\10f45e\\\"}.fad.fa-terminal:after{content:\\\"\\\\10f120\\\"}.fad.fa-text:after{content:\\\"\\\\10f893\\\"}.fad.fa-text-height:after{content:\\\"\\\\10f034\\\"}.fad.fa-text-size:after{content:\\\"\\\\10f894\\\"}.fad.fa-text-width:after{content:\\\"\\\\10f035\\\"}.fad.fa-th:after{content:\\\"\\\\10f00a\\\"}.fad.fa-th-large:after{content:\\\"\\\\10f009\\\"}.fad.fa-th-list:after{content:\\\"\\\\10f00b\\\"}.fad.fa-theater-masks:after{content:\\\"\\\\10f630\\\"}.fad.fa-thermometer:after{content:\\\"\\\\10f491\\\"}.fad.fa-thermometer-empty:after{content:\\\"\\\\10f2cb\\\"}.fad.fa-thermometer-full:after{content:\\\"\\\\10f2c7\\\"}.fad.fa-thermometer-half:after{content:\\\"\\\\10f2c9\\\"}.fad.fa-thermometer-quarter:after{content:\\\"\\\\10f2ca\\\"}.fad.fa-thermometer-three-quarters:after{content:\\\"\\\\10f2c8\\\"}.fad.fa-theta:after{content:\\\"\\\\10f69e\\\"}.fad.fa-thumbs-down:after{content:\\\"\\\\10f165\\\"}.fad.fa-thumbs-up:after{content:\\\"\\\\10f164\\\"}.fad.fa-thumbtack:after{content:\\\"\\\\10f08d\\\"}.fad.fa-thunderstorm:after{content:\\\"\\\\10f76c\\\"}.fad.fa-thunderstorm-moon:after{content:\\\"\\\\10f76d\\\"}.fad.fa-thunderstorm-sun:after{content:\\\"\\\\10f76e\\\"}.fad.fa-ticket:after{content:\\\"\\\\10f145\\\"}.fad.fa-ticket-alt:after{content:\\\"\\\\10f3ff\\\"}.fad.fa-tilde:after{content:\\\"\\\\10f69f\\\"}.fad.fa-times:after{content:\\\"\\\\10f00d\\\"}.fad.fa-times-circle:after{content:\\\"\\\\10f057\\\"}.fad.fa-times-hexagon:after{content:\\\"\\\\10f2ee\\\"}.fad.fa-times-octagon:after{content:\\\"\\\\10f2f0\\\"}.fad.fa-times-square:after{content:\\\"\\\\10f2d3\\\"}.fad.fa-tint:after{content:\\\"\\\\10f043\\\"}.fad.fa-tint-slash:after{content:\\\"\\\\10f5c7\\\"}.fad.fa-tire:after{content:\\\"\\\\10f631\\\"}.fad.fa-tire-flat:after{content:\\\"\\\\10f632\\\"}.fad.fa-tire-pressure-warning:after{content:\\\"\\\\10f633\\\"}.fad.fa-tire-rugged:after{content:\\\"\\\\10f634\\\"}.fad.fa-tired:after{content:\\\"\\\\10f5c8\\\"}.fad.fa-toggle-off:after{content:\\\"\\\\10f204\\\"}.fad.fa-toggle-on:after{content:\\\"\\\\10f205\\\"}.fad.fa-toilet:after{content:\\\"\\\\10f7d8\\\"}.fad.fa-toilet-paper:after{content:\\\"\\\\10f71e\\\"}.fad.fa-toilet-paper-alt:after{content:\\\"\\\\10f71f\\\"}.fad.fa-toilet-paper-slash:after{content:\\\"\\\\10f972\\\"}.fad.fa-tombstone:after{content:\\\"\\\\10f720\\\"}.fad.fa-tombstone-alt:after{content:\\\"\\\\10f721\\\"}.fad.fa-toolbox:after{content:\\\"\\\\10f552\\\"}.fad.fa-tools:after{content:\\\"\\\\10f7d9\\\"}.fad.fa-tooth:after{content:\\\"\\\\10f5c9\\\"}.fad.fa-toothbrush:after{content:\\\"\\\\10f635\\\"}.fad.fa-torah:after{content:\\\"\\\\10f6a0\\\"}.fad.fa-torii-gate:after{content:\\\"\\\\10f6a1\\\"}.fad.fa-tornado:after{content:\\\"\\\\10f76f\\\"}.fad.fa-tractor:after{content:\\\"\\\\10f722\\\"}.fad.fa-trademark:after{content:\\\"\\\\10f25c\\\"}.fad.fa-traffic-cone:after{content:\\\"\\\\10f636\\\"}.fad.fa-traffic-light:after{content:\\\"\\\\10f637\\\"}.fad.fa-traffic-light-go:after{content:\\\"\\\\10f638\\\"}.fad.fa-traffic-light-slow:after{content:\\\"\\\\10f639\\\"}.fad.fa-traffic-light-stop:after{content:\\\"\\\\10f63a\\\"}.fad.fa-trailer:after{content:\\\"\\\\10f941\\\"}.fad.fa-train:after{content:\\\"\\\\10f238\\\"}.fad.fa-tram:after{content:\\\"\\\\10f7da\\\"}.fad.fa-transgender:after{content:\\\"\\\\10f224\\\"}.fad.fa-transgender-alt:after{content:\\\"\\\\10f225\\\"}.fad.fa-transporter:after{content:\\\"\\\\10f942\\\"}.fad.fa-transporter-1:after{content:\\\"\\\\10f943\\\"}.fad.fa-transporter-2:after{content:\\\"\\\\10f944\\\"}.fad.fa-transporter-3:after{content:\\\"\\\\10f945\\\"}.fad.fa-transporter-empty:after{content:\\\"\\\\10f946\\\"}.fad.fa-trash:after{content:\\\"\\\\10f1f8\\\"}.fad.fa-trash-alt:after{content:\\\"\\\\10f2ed\\\"}.fad.fa-trash-restore:after{content:\\\"\\\\10f829\\\"}.fad.fa-trash-restore-alt:after{content:\\\"\\\\10f82a\\\"}.fad.fa-trash-undo:after{content:\\\"\\\\10f895\\\"}.fad.fa-trash-undo-alt:after{content:\\\"\\\\10f896\\\"}.fad.fa-treasure-chest:after{content:\\\"\\\\10f723\\\"}.fad.fa-tree:after{content:\\\"\\\\10f1bb\\\"}.fad.fa-tree-alt:after{content:\\\"\\\\10f400\\\"}.fad.fa-tree-christmas:after{content:\\\"\\\\10f7db\\\"}.fad.fa-tree-decorated:after{content:\\\"\\\\10f7dc\\\"}.fad.fa-tree-large:after{content:\\\"\\\\10f7dd\\\"}.fad.fa-tree-palm:after{content:\\\"\\\\10f82b\\\"}.fad.fa-trees:after{content:\\\"\\\\10f724\\\"}.fad.fa-triangle:after{content:\\\"\\\\10f2ec\\\"}.fad.fa-triangle-music:after{content:\\\"\\\\10f8e2\\\"}.fad.fa-trophy:after{content:\\\"\\\\10f091\\\"}.fad.fa-trophy-alt:after{content:\\\"\\\\10f2eb\\\"}.fad.fa-truck:after{content:\\\"\\\\10f0d1\\\"}.fad.fa-truck-container:after{content:\\\"\\\\10f4dc\\\"}.fad.fa-truck-couch:after{content:\\\"\\\\10f4dd\\\"}.fad.fa-truck-loading:after{content:\\\"\\\\10f4de\\\"}.fad.fa-truck-monster:after{content:\\\"\\\\10f63b\\\"}.fad.fa-truck-moving:after{content:\\\"\\\\10f4df\\\"}.fad.fa-truck-pickup:after{content:\\\"\\\\10f63c\\\"}.fad.fa-truck-plow:after{content:\\\"\\\\10f7de\\\"}.fad.fa-truck-ramp:after{content:\\\"\\\\10f4e0\\\"}.fad.fa-trumpet:after{content:\\\"\\\\10f8e3\\\"}.fad.fa-tshirt:after{content:\\\"\\\\10f553\\\"}.fad.fa-tty:after{content:\\\"\\\\10f1e4\\\"}.fad.fa-turkey:after{content:\\\"\\\\10f725\\\"}.fad.fa-turntable:after{content:\\\"\\\\10f8e4\\\"}.fad.fa-turtle:after{content:\\\"\\\\10f726\\\"}.fad.fa-tv:after{content:\\\"\\\\10f26c\\\"}.fad.fa-tv-alt:after{content:\\\"\\\\10f8e5\\\"}.fad.fa-tv-music:after{content:\\\"\\\\10f8e6\\\"}.fad.fa-tv-retro:after{content:\\\"\\\\10f401\\\"}.fad.fa-typewriter:after{content:\\\"\\\\10f8e7\\\"}.fad.fa-ufo:after{content:\\\"\\\\10f947\\\"}.fad.fa-ufo-beam:after{content:\\\"\\\\10f948\\\"}.fad.fa-umbrella:after{content:\\\"\\\\10f0e9\\\"}.fad.fa-umbrella-beach:after{content:\\\"\\\\10f5ca\\\"}.fad.fa-underline:after{content:\\\"\\\\10f0cd\\\"}.fad.fa-undo:after{content:\\\"\\\\10f0e2\\\"}.fad.fa-undo-alt:after{content:\\\"\\\\10f2ea\\\"}.fad.fa-unicorn:after{content:\\\"\\\\10f727\\\"}.fad.fa-union:after{content:\\\"\\\\10f6a2\\\"}.fad.fa-universal-access:after{content:\\\"\\\\10f29a\\\"}.fad.fa-university:after{content:\\\"\\\\10f19c\\\"}.fad.fa-unlink:after{content:\\\"\\\\10f127\\\"}.fad.fa-unlock:after{content:\\\"\\\\10f09c\\\"}.fad.fa-unlock-alt:after{content:\\\"\\\\10f13e\\\"}.fad.fa-upload:after{content:\\\"\\\\10f093\\\"}.fad.fa-usb-drive:after{content:\\\"\\\\10f8e9\\\"}.fad.fa-usd-circle:after{content:\\\"\\\\10f2e8\\\"}.fad.fa-usd-square:after{content:\\\"\\\\10f2e9\\\"}.fad.fa-user:after{content:\\\"\\\\10f007\\\"}.fad.fa-user-alien:after{content:\\\"\\\\10f94a\\\"}.fad.fa-user-alt:after{content:\\\"\\\\10f406\\\"}.fad.fa-user-alt-slash:after{content:\\\"\\\\10f4fa\\\"}.fad.fa-user-astronaut:after{content:\\\"\\\\10f4fb\\\"}.fad.fa-user-chart:after{content:\\\"\\\\10f6a3\\\"}.fad.fa-user-check:after{content:\\\"\\\\10f4fc\\\"}.fad.fa-user-circle:after{content:\\\"\\\\10f2bd\\\"}.fad.fa-user-clock:after{content:\\\"\\\\10f4fd\\\"}.fad.fa-user-cog:after{content:\\\"\\\\10f4fe\\\"}.fad.fa-user-cowboy:after{content:\\\"\\\\10f8ea\\\"}.fad.fa-user-crown:after{content:\\\"\\\\10f6a4\\\"}.fad.fa-user-edit:after{content:\\\"\\\\10f4ff\\\"}.fad.fa-user-friends:after{content:\\\"\\\\10f500\\\"}.fad.fa-user-graduate:after{content:\\\"\\\\10f501\\\"}.fad.fa-user-hard-hat:after{content:\\\"\\\\10f82c\\\"}.fad.fa-user-headset:after{content:\\\"\\\\10f82d\\\"}.fad.fa-user-injured:after{content:\\\"\\\\10f728\\\"}.fad.fa-user-lock:after{content:\\\"\\\\10f502\\\"}.fad.fa-user-md:after{content:\\\"\\\\10f0f0\\\"}.fad.fa-user-md-chat:after{content:\\\"\\\\10f82e\\\"}.fad.fa-user-minus:after{content:\\\"\\\\10f503\\\"}.fad.fa-user-music:after{content:\\\"\\\\10f8eb\\\"}.fad.fa-user-ninja:after{content:\\\"\\\\10f504\\\"}.fad.fa-user-nurse:after{content:\\\"\\\\10f82f\\\"}.fad.fa-user-plus:after{content:\\\"\\\\10f234\\\"}.fad.fa-user-robot:after{content:\\\"\\\\10f94b\\\"}.fad.fa-user-secret:after{content:\\\"\\\\10f21b\\\"}.fad.fa-user-shield:after{content:\\\"\\\\10f505\\\"}.fad.fa-user-slash:after{content:\\\"\\\\10f506\\\"}.fad.fa-user-tag:after{content:\\\"\\\\10f507\\\"}.fad.fa-user-tie:after{content:\\\"\\\\10f508\\\"}.fad.fa-user-times:after{content:\\\"\\\\10f235\\\"}.fad.fa-user-unlock:after{content:\\\"\\\\10f958\\\"}.fad.fa-user-visor:after{content:\\\"\\\\10f94c\\\"}.fad.fa-users:after{content:\\\"\\\\10f0c0\\\"}.fad.fa-users-class:after{content:\\\"\\\\10f63d\\\"}.fad.fa-users-cog:after{content:\\\"\\\\10f509\\\"}.fad.fa-users-crown:after{content:\\\"\\\\10f6a5\\\"}.fad.fa-users-medical:after{content:\\\"\\\\10f830\\\"}.fad.fa-users-slash:after{content:\\\"\\\\10f973\\\"}.fad.fa-utensil-fork:after{content:\\\"\\\\10f2e3\\\"}.fad.fa-utensil-knife:after{content:\\\"\\\\10f2e4\\\"}.fad.fa-utensil-spoon:after{content:\\\"\\\\10f2e5\\\"}.fad.fa-utensils:after{content:\\\"\\\\10f2e7\\\"}.fad.fa-utensils-alt:after{content:\\\"\\\\10f2e6\\\"}.fad.fa-vacuum:after{content:\\\"\\\\10f94d\\\"}.fad.fa-vacuum-robot:after{content:\\\"\\\\10f94e\\\"}.fad.fa-value-absolute:after{content:\\\"\\\\10f6a6\\\"}.fad.fa-vector-square:after{content:\\\"\\\\10f5cb\\\"}.fad.fa-venus:after{content:\\\"\\\\10f221\\\"}.fad.fa-venus-double:after{content:\\\"\\\\10f226\\\"}.fad.fa-venus-mars:after{content:\\\"\\\\10f228\\\"}.fad.fa-vhs:after{content:\\\"\\\\10f8ec\\\"}.fad.fa-vial:after{content:\\\"\\\\10f492\\\"}.fad.fa-vials:after{content:\\\"\\\\10f493\\\"}.fad.fa-video:after{content:\\\"\\\\10f03d\\\"}.fad.fa-video-plus:after{content:\\\"\\\\10f4e1\\\"}.fad.fa-video-slash:after{content:\\\"\\\\10f4e2\\\"}.fad.fa-vihara:after{content:\\\"\\\\10f6a7\\\"}.fad.fa-violin:after{content:\\\"\\\\10f8ed\\\"}.fad.fa-virus:after{content:\\\"\\\\10f974\\\"}.fad.fa-virus-slash:after{content:\\\"\\\\10f975\\\"}.fad.fa-viruses:after{content:\\\"\\\\10f976\\\"}.fad.fa-voicemail:after{content:\\\"\\\\10f897\\\"}.fad.fa-volcano:after{content:\\\"\\\\10f770\\\"}.fad.fa-volleyball-ball:after{content:\\\"\\\\10f45f\\\"}.fad.fa-volume:after{content:\\\"\\\\10f6a8\\\"}.fad.fa-volume-down:after{content:\\\"\\\\10f027\\\"}.fad.fa-volume-mute:after{content:\\\"\\\\10f6a9\\\"}.fad.fa-volume-off:after{content:\\\"\\\\10f026\\\"}.fad.fa-volume-slash:after{content:\\\"\\\\10f2e2\\\"}.fad.fa-volume-up:after{content:\\\"\\\\10f028\\\"}.fad.fa-vote-nay:after{content:\\\"\\\\10f771\\\"}.fad.fa-vote-yea:after{content:\\\"\\\\10f772\\\"}.fad.fa-vr-cardboard:after{content:\\\"\\\\10f729\\\"}.fad.fa-wagon-covered:after{content:\\\"\\\\10f8ee\\\"}.fad.fa-walker:after{content:\\\"\\\\10f831\\\"}.fad.fa-walkie-talkie:after{content:\\\"\\\\10f8ef\\\"}.fad.fa-walking:after{content:\\\"\\\\10f554\\\"}.fad.fa-wallet:after{content:\\\"\\\\10f555\\\"}.fad.fa-wand:after{content:\\\"\\\\10f72a\\\"}.fad.fa-wand-magic:after{content:\\\"\\\\10f72b\\\"}.fad.fa-warehouse:after{content:\\\"\\\\10f494\\\"}.fad.fa-warehouse-alt:after{content:\\\"\\\\10f495\\\"}.fad.fa-washer:after{content:\\\"\\\\10f898\\\"}.fad.fa-watch:after{content:\\\"\\\\10f2e1\\\"}.fad.fa-watch-calculator:after{content:\\\"\\\\10f8f0\\\"}.fad.fa-watch-fitness:after{content:\\\"\\\\10f63e\\\"}.fad.fa-water:after{content:\\\"\\\\10f773\\\"}.fad.fa-water-lower:after{content:\\\"\\\\10f774\\\"}.fad.fa-water-rise:after{content:\\\"\\\\10f775\\\"}.fad.fa-wave-sine:after{content:\\\"\\\\10f899\\\"}.fad.fa-wave-square:after{content:\\\"\\\\10f83e\\\"}.fad.fa-wave-triangle:after{content:\\\"\\\\10f89a\\\"}.fad.fa-waveform:after{content:\\\"\\\\10f8f1\\\"}.fad.fa-waveform-path:after{content:\\\"\\\\10f8f2\\\"}.fad.fa-webcam:after{content:\\\"\\\\10f832\\\"}.fad.fa-webcam-slash:after{content:\\\"\\\\10f833\\\"}.fad.fa-weight:after{content:\\\"\\\\10f496\\\"}.fad.fa-weight-hanging:after{content:\\\"\\\\10f5cd\\\"}.fad.fa-whale:after{content:\\\"\\\\10f72c\\\"}.fad.fa-wheat:after{content:\\\"\\\\10f72d\\\"}.fad.fa-wheelchair:after{content:\\\"\\\\10f193\\\"}.fad.fa-whistle:after{content:\\\"\\\\10f460\\\"}.fad.fa-wifi:after{content:\\\"\\\\10f1eb\\\"}.fad.fa-wifi-1:after{content:\\\"\\\\10f6aa\\\"}.fad.fa-wifi-2:after{content:\\\"\\\\10f6ab\\\"}.fad.fa-wifi-slash:after{content:\\\"\\\\10f6ac\\\"}.fad.fa-wind:after{content:\\\"\\\\10f72e\\\"}.fad.fa-wind-turbine:after{content:\\\"\\\\10f89b\\\"}.fad.fa-wind-warning:after{content:\\\"\\\\10f776\\\"}.fad.fa-window:after{content:\\\"\\\\10f40e\\\"}.fad.fa-window-alt:after{content:\\\"\\\\10f40f\\\"}.fad.fa-window-close:after{content:\\\"\\\\10f410\\\"}.fad.fa-window-frame:after{content:\\\"\\\\10f94f\\\"}.fad.fa-window-frame-open:after{content:\\\"\\\\10f950\\\"}.fad.fa-window-maximize:after{content:\\\"\\\\10f2d0\\\"}.fad.fa-window-minimize:after{content:\\\"\\\\10f2d1\\\"}.fad.fa-window-restore:after{content:\\\"\\\\10f2d2\\\"}.fad.fa-windsock:after{content:\\\"\\\\10f777\\\"}.fad.fa-wine-bottle:after{content:\\\"\\\\10f72f\\\"}.fad.fa-wine-glass:after{content:\\\"\\\\10f4e3\\\"}.fad.fa-wine-glass-alt:after{content:\\\"\\\\10f5ce\\\"}.fad.fa-won-sign:after{content:\\\"\\\\10f159\\\"}.fad.fa-wreath:after{content:\\\"\\\\10f7e2\\\"}.fad.fa-wrench:after{content:\\\"\\\\10f0ad\\\"}.fad.fa-x-ray:after{content:\\\"\\\\10f497\\\"}.fad.fa-yen-sign:after{content:\\\"\\\\10f157\\\"}.fad.fa-yin-yang:after{content:\\\"\\\\10f6ad\\\"}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:300;font-display:block;src:url(/src/static/webfonts/fa-light-300.eot);src:url(/src/static/webfonts/fa-light-300.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-light-300.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-light-300.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-light-300.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-light-300.svg#fontawesome) format(\\\"svg\\\")}.fal{font-weight:300}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:400;font-display:block;src:url(/src/static/webfonts/fa-regular-400.eot);src:url(/src/static/webfonts/fa-regular-400.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-regular-400.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-regular-400.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-regular-400.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-regular-400.svg#fontawesome) format(\\\"svg\\\")}.fal,.far{font-family:\\\"Font Awesome 5 Pro\\\"}.far{font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Pro\\\";font-style:normal;font-weight:900;font-display:block;src:url(/src/static/webfonts/fa-solid-900.eot);src:url(/src/static/webfonts/fa-solid-900.eot?#iefix) format(\\\"embedded-opentype\\\"),url(/src/static/webfonts/fa-solid-900.woff2) format(\\\"woff2\\\"),url(/src/static/webfonts/fa-solid-900.woff) format(\\\"woff\\\"),url(/src/static/webfonts/fa-solid-900.ttf) format(\\\"truetype\\\"),url(/src/static/webfonts/fa-solid-900.svg#fontawesome) format(\\\"svg\\\")}.fa,.fas{font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900}\",\"$ka-flex-pad: 1rem\\n\\nka-flex-row,\\nka-flex-col\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n  padding-left: $ka-flex-pad\\n  padding-right: $ka-flex-pad\\n\\nka-flex-row\\n  -webkit-box-direction: normal\\n  -webkit-box-orient: horizontal\\n  -webkit-flex-direction: row\\n  -moz-flex-direction: row\\n  -ms-flex-direction: row\\n  flex-direction: row\\n\\nka-flex-col\\n  -webkit-box-direction: normal\\n  -webkit-box-orient: vertical\\n  -webkit-flex-direction: column\\n  -moz-flex-direction: column\\n  -ms-flex-direction: column\\n  flex-direction: column\\n\\n  -webkit-align-content: flex-start\\n  -moz-align-content: flex-start\\n  -ms-flex-line-pack: start\\n  align-content: flex-start\\n  -webkit-box-pack: start\\n  -ms-flex-pack: start\\n  -webkit-justify-content: flex-start\\n  -moz-justify-content: flex-start\\n  justify-content: flex-start\\n\\n[ka-flex],\\nka-flex-row > ka-flex-col\\n  -webkit-box-flex: 1\\n  -webkit-flex: 1\\n  -moz-box-flex: 1\\n  -moz-flex: 1\\n  -ms-flex: 1\\n  flex: 1\\n\\nka-flex-row > ka-flex-col,\\nka-flex-col > ka-flex-row\\n  padding: 0\\n\\nka-flex-row > ka-flex-col > ka-flex-row\\n  width: 100%\\n\\nka-flex-row > [ka-flex],\\nka-flex-row > ka-flex-col\\n  margin-left: $ka-flex-pad/2\\n  margin-right: $ka-flex-pad/2\\n  &:first-of-type\\n    margin-left: 0\\n  &:last-of-type\\n    margin-right: 0\\nka-flex-row.no-padding > [ka-flex],\\nka-flex-row.no-padding > ka-flex-col\\n  margin-left: 0\\n  margin-right: 0\\n\\nka-flex-row.no-padding,\\nka-flex-col.no-padding\\n  padding: 0\\n\\n\\nka-flex-row > ka-tabs[ka-flex]\\n  margin-left: 0\\n  margin-right: 0\\n\\n/**********************\\n  KA-CONTROL VARIATIONS\\n **********************/\\n\\nka-flex-row > ka-control:first-of-type\\n  margin-left: 0\\nka-flex-row > ka-control:last-of-type\\n  margin-right: 0\\nka-flex-col > ka-control\\n  margin-left: 0\\n  margin-right: 0\\n\\n@import 'ka-grid'\",\"\\n@media (min-width:0) {\\n  [ka-flex*=\\\"10\\\"],\\n  [ka-flex*=\\\"10-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xs\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"10\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"10\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"10-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"10-xs\\\"] {\\n    width: 10%;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-xs\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15\\\"],\\n  [ka-flex*=\\\"15-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xs\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-xs\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20\\\"],\\n  [ka-flex*=\\\"20-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xs\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-xs\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25\\\"],\\n  [ka-flex*=\\\"25-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xs\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-xs\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30\\\"],\\n  [ka-flex*=\\\"30-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xs\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-xs\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33\\\"],\\n  [ka-flex*=\\\"33-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xs\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-xs\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35\\\"],\\n  [ka-flex*=\\\"35-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xs\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-xs\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40\\\"],\\n  [ka-flex*=\\\"40-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xs\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-xs\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45\\\"],\\n  [ka-flex*=\\\"45-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xs\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-xs\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50\\\"],\\n  [ka-flex*=\\\"50-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xs\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-xs\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55\\\"],\\n  [ka-flex*=\\\"55-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xs\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-xs\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60\\\"],\\n  [ka-flex*=\\\"60-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xs\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-xs\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65\\\"],\\n  [ka-flex*=\\\"65-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xs\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-xs\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66\\\"],\\n  [ka-flex*=\\\"66-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xs\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-xs\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70\\\"],\\n  [ka-flex*=\\\"70-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xs\\\"] {\\n    height: calc(70% - $ka-flex-pad*2);\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-xs\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75\\\"],\\n  [ka-flex*=\\\"75-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - $ka-flex-pad*2);\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xs\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-xs\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80\\\"],\\n  [ka-flex*=\\\"80-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xs\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-xs\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85\\\"],\\n  [ka-flex*=\\\"85-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xs\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-xs\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90\\\"],\\n  [ka-flex*=\\\"90-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xs\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-xs\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95\\\"],\\n  [ka-flex*=\\\"95-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xs\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100\\\"],\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-xs\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-xs\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100\\\"],\\n  [ka-flex*=\\\"100-xs\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xs\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-xs\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xs\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:34em) {\\n  [ka-flex*=\\\"10-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-sm\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-sm\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-sm\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-sm\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-sm\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-sm\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-sm\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-sm\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-sm\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-sm\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-sm\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-sm\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-sm\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-sm\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-sm\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-sm\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-sm\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-sm\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-sm\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-sm\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-sm\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-sm\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-sm\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-sm\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-sm\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-sm\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-sm\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-sm\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-sm\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-sm\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-sm\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-sm\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-sm\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-sm\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-sm\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-sm\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-sm\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-sm\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-sm\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-sm\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-sm\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-sm\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-sm\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-sm\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-sm\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:48em) {\\n  [ka-flex*=\\\"10-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-md\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-md\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-md\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-md\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-md\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-md\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-md\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-md\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-md\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-md\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-md\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-md\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-md\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-md\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-md\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-md\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-md\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-md\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-md\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-md\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-md\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-md\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-md\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-md\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-md\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-md\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-md\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-md\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-md\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-md\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-md\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-md\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-md\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-md\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-md\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-md\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-md\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-md\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-md\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-md\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-md\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-md\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-md\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-md\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-md\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:62em) {\\n  [ka-flex*=\\\"10-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-lg\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-lg\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-lg\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-lg\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-lg\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-lg\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-lg\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-lg\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-lg\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-lg\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-lg\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-lg\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-lg\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-lg\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-lg\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-lg\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-lg\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-lg\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-lg\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-lg\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-lg\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-lg\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-lg\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-lg\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-lg\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-lg\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-lg\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-lg\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-lg\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-lg\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-lg\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-lg\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-lg\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-lg\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-lg\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-lg\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-lg\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-lg\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-lg\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-lg\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-lg\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-lg\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-lg\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-lg\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-lg\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\\n@media (min-width:75em) {\\n  [ka-flex*=\\\"10-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"10-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"10-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(10% - #{$ka-flex-pad * 2});\\n    width: calc(10% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"10-xl\\\"] {\\n    height: calc(10% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"15-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"15-xl\\\"] {\\n    -webkit-flex: 0 0 15%;\\n    -moz-flex: 0 0 15%;\\n    -ms-flex: 0 0 15%;\\n    flex: 0 0 15%;\\n    width: 15%;\\n  }\\n\\n  [ka-flex*=\\\"15-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"15-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"15-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(15% - #{$ka-flex-pad * 2});\\n    width: calc(15% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"15-xl\\\"] {\\n    height: calc(15% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"20-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"20-xl\\\"] {\\n    -webkit-flex: 0 0 20%;\\n    -moz-flex: 0 0 20%;\\n    -ms-flex: 0 0 20%;\\n    flex: 0 0 20%;\\n    width: 20%;\\n  }\\n\\n  [ka-flex*=\\\"20-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"20-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"20-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(20% - #{$ka-flex-pad * 2});\\n    width: calc(20% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"20-xl\\\"] {\\n    height: calc(20% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"25-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"25-xl\\\"] {\\n    -webkit-flex: 0 0 25%;\\n    -moz-flex: 0 0 25%;\\n    -ms-flex: 0 0 25%;\\n    flex: 0 0 25%;\\n    width: 25%;\\n  }\\n\\n  [ka-flex*=\\\"25-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"25-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"25-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(25% - #{$ka-flex-pad * 2});\\n    width: calc(25% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"25-xl\\\"] {\\n    height: calc(25% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"30-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"30-xl\\\"] {\\n    -webkit-flex: 0 0 30%;\\n    -moz-flex: 0 0 30%;\\n    -ms-flex: 0 0 30%;\\n    flex: 0 0 30%;\\n    width: 30%;\\n  }\\n\\n  [ka-flex*=\\\"30-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"30-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"30-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(30% - #{$ka-flex-pad * 2});\\n    width: calc(30% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"30-xl\\\"] {\\n    height: calc(30% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"33-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"33-xl\\\"] {\\n    -webkit-flex: 0 0 33%;\\n    -moz-flex: 0 0 33%;\\n    -ms-flex: 0 0 33%;\\n    flex: 0 0 33%;\\n    width: 33%;\\n  }\\n\\n  [ka-flex*=\\\"33-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"33-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"33-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: calc(33.33333% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"33-xl\\\"] {\\n    height: calc(33.33333% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"35-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"35-xl\\\"] {\\n    -webkit-flex: 0 0 35%;\\n    -moz-flex: 0 0 35%;\\n    -ms-flex: 0 0 35%;\\n    flex: 0 0 35%;\\n    width: 35%;\\n  }\\n\\n  [ka-flex*=\\\"35-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"35-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"35-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(35% - #{$ka-flex-pad * 2});\\n    width: calc(35% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"35-xl\\\"] {\\n    height: calc(35% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"40-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"40-xl\\\"] {\\n    -webkit-flex: 0 0 40%;\\n    -moz-flex: 0 0 40%;\\n    -ms-flex: 0 0 40%;\\n    flex: 0 0 40%;\\n    width: 40%;\\n  }\\n\\n  [ka-flex*=\\\"40-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"40-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"40-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(40% - #{$ka-flex-pad * 2});\\n    width: calc(40% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"40-xl\\\"] {\\n    height: calc(40% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"45-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"45-xl\\\"] {\\n    -webkit-flex: 0 0 45%;\\n    -moz-flex: 0 0 45%;\\n    -ms-flex: 0 0 45%;\\n    flex: 0 0 45%;\\n    width: 45%;\\n  }\\n\\n  [ka-flex*=\\\"45-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"45-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"45-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(45% - #{$ka-flex-pad * 2});\\n    width: calc(45% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"45-xl\\\"] {\\n    height: calc(45% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"50-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"50-xl\\\"] {\\n    -webkit-flex: 0 0 50%;\\n    -moz-flex: 0 0 50%;\\n    -ms-flex: 0 0 50%;\\n    flex: 0 0 50%;\\n    width: 50%;\\n  }\\n\\n  [ka-flex*=\\\"50-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"50-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"50-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(50% - #{$ka-flex-pad * 2});\\n    width: calc(50% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"50-xl\\\"] {\\n    height: calc(50% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"55-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"55-xl\\\"] {\\n    -webkit-flex: 0 0 55%;\\n    -moz-flex: 0 0 55%;\\n    -ms-flex: 0 0 55%;\\n    flex: 0 0 55%;\\n    width: 55%;\\n  }\\n\\n  [ka-flex*=\\\"55-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"55-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"55-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(55% - #{$ka-flex-pad * 2});\\n    width: calc(55% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"55-xl\\\"] {\\n    height: calc(55% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"60-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"60-xl\\\"] {\\n    -webkit-flex: 0 0 60%;\\n    -moz-flex: 0 0 60%;\\n    -ms-flex: 0 0 60%;\\n    flex: 0 0 60%;\\n    width: 60%;\\n  }\\n\\n  [ka-flex*=\\\"60-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"60-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"60-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(60% - #{$ka-flex-pad * 2});\\n    width: calc(60% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"60-xl\\\"] {\\n    height: calc(60% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"65-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"65-xl\\\"] {\\n    -webkit-flex: 0 0 65%;\\n    -moz-flex: 0 0 65%;\\n    -ms-flex: 0 0 65%;\\n    flex: 0 0 65%;\\n    width: 65%;\\n  }\\n\\n  [ka-flex*=\\\"65-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"65-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"65-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(65% - #{$ka-flex-pad * 2});\\n    width: calc(65% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"65-xl\\\"] {\\n    height: calc(65% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"66-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"66-xl\\\"] {\\n    -webkit-flex: 0 0 66%;\\n    -moz-flex: 0 0 66%;\\n    -ms-flex: 0 0 66%;\\n    flex: 0 0 66%;\\n    width: 66%;\\n  }\\n\\n  [ka-flex*=\\\"66-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"66-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"66-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: calc(66.66666% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"66-xl\\\"] {\\n    height: calc(66.66666% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"70-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"70-xl\\\"] {\\n    -webkit-flex: 0 0 70%;\\n    -moz-flex: 0 0 70%;\\n    -ms-flex: 0 0 70%;\\n    flex: 0 0 70%;\\n    width: 70%;\\n  }\\n\\n  [ka-flex*=\\\"70-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"70-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"70-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(70% - #{$ka-flex-pad * 2});\\n    width: calc(70% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"70-xl\\\"] {\\n    height: calc(70% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"75-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"75-xl\\\"] {\\n    -webkit-flex: 0 0 75%;\\n    -moz-flex: 0 0 75%;\\n    -ms-flex: 0 0 75%;\\n    flex: 0 0 75%;\\n    width: 75%;\\n  }\\n\\n  [ka-flex*=\\\"75-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"75-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"75-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(75% - #{$ka-flex-pad * 2});\\n    width: calc(75% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"75-xl\\\"] {\\n    height: calc(75% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"80-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"80-xl\\\"] {\\n    -webkit-flex: 0 0 80%;\\n    -moz-flex: 0 0 80%;\\n    -ms-flex: 0 0 80%;\\n    flex: 0 0 80%;\\n    width: 80%;\\n  }\\n\\n  [ka-flex*=\\\"80-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"80-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"80-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(80% - #{$ka-flex-pad * 2});\\n    width: calc(80% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"80-xl\\\"] {\\n    height: calc(80% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"85-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"85-xl\\\"] {\\n    -webkit-flex: 0 0 85%;\\n    -moz-flex: 0 0 85%;\\n    -ms-flex: 0 0 85%;\\n    flex: 0 0 85%;\\n    width: 85%;\\n  }\\n\\n  [ka-flex*=\\\"85-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"85-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"85-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(85% - #{$ka-flex-pad * 2});\\n    width: calc(85% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"85-xl\\\"] {\\n    height: calc(85% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"90-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"90-xl\\\"] {\\n    -webkit-flex: 0 0 90%;\\n    -moz-flex: 0 0 90%;\\n    -ms-flex: 0 0 90%;\\n    flex: 0 0 90%;\\n    width: 90%;\\n  }\\n\\n  [ka-flex*=\\\"90-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"90-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"90-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(90% - #{$ka-flex-pad * 2});\\n    width: calc(90% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"90-xl\\\"] {\\n    height: calc(90% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"95-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"95-xl\\\"] {\\n    -webkit-flex: 0 0 95%;\\n    -moz-flex: 0 0 95%;\\n    -ms-flex: 0 0 95%;\\n    flex: 0 0 95%;\\n    width: 95%;\\n  }\\n\\n  [ka-flex*=\\\"95-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"95-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"95-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(95% - #{$ka-flex-pad * 2});\\n    width: calc(95% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"95-xl\\\"] {\\n    height: calc(95% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n\\n  ka-flex-row.no-padding > [ka-flex*=\\\"100-xl\\\"], ka-flex-col.no-padding > [ka-flex*=\\\"100-xl\\\"] {\\n    -webkit-flex: 0 0 100%;\\n    -moz-flex: 0 0 100%;\\n    -ms-flex: 0 0 100%;\\n    flex: 0 0 100%;\\n    width: 100%;\\n  }\\n\\n  [ka-flex*=\\\"100-xl\\\"],\\n  ka-flex-col > [ka-flex*=\\\"100-xl\\\"],\\n  ka-flex-row > [ka-flex*=\\\"100-xl\\\"] {\\n    -webkit-box-flex: 0;\\n    -webkit-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -moz-box-flex: 0;\\n    -moz-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    -ms-flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    flex: 0 0 calc(100% - #{$ka-flex-pad * 2});\\n    width: calc(100% - #{$ka-flex-pad * 2});\\n  }\\n\\n  ka-flex-col > [ka-flex*=\\\"100-xl\\\"] {\\n    height: calc(100% - #{$ka-flex-pad * 2});\\n    width: auto;\\n  }\\n}\",\"ka-navbar\\n  +flexbox\\n  padding: 0\\n  height: 5rem\\n  color: #fff\\n  background-color: $primary-color\\n\\n  .ka-navbar-menu-button\\n    position: relative\\n    display: block\\n\\n    width: 5rem\\n    height: 5rem\\n    text-align: center\\n    cursor: pointer\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      position: absolute\\n      right: 0\\n      top: 1rem\\n      bottom: 1rem\\n      width: 1px\\n      background-color: #ffffff99\\n    .material-icons, i[class*=\\\"fa\\\"]\\n      font-size: 5rem/2\\n      line-height:  5rem\\n\\n  .ka-navbar-menu\\n    display: block\\n    position: absolute\\n    top: 5rem/10\\n    left: 0\\n    z-index: 50\\n    min-width: 20rem\\n    background: #f9f9f9\\n    transform: translateX(-110%)\\n    transition: all 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    +shadow1\\n    &.visible\\n      transform: translateX(0%)\\n    .ka-navbar-menu-label\\n      padding: 0 1rem\\n      border-bottom: 1px solid #e0e0e0\\n      font-size: 1.2rem\\n      font-weight: 700\\n      line-height: 4rem\\n      text-transform: uppercase\\n      color: $primary-color\\n\\n    .ka-navbar-menu-item\\n      display: block\\n      border-bottom: 1px solid #e0e0e0\\n      padding: 0 1rem\\n      line-height: 4rem\\n      font-size: 1.4rem\\n      color: rgba($text-color, 0.7)\\n      text-decoration: none\\n      transition: all 0.5s ease-out\\n      &:hover\\n        color: $primary-color\\n        background-color: #f0f0f0\\n      &.emphasis\\n        color: $primary-color\\n      .material-icons, i[class*=\\\"fa\\\"]\\n        width: 5rem - 5rem/10\\n        font-size: 2rem\\n        line-height: 5rem - 5rem/10\\n        text-align: center\\n        vertical-align: middle\\n  h1\\n    display: block\\n    margin: 0\\n    padding: 0 1rem\\n    font-size: 1.8rem\\n    font-weight: 300\\n    line-height: 5rem\\n    color: #ffffff\\n\",\"=flexbox\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  -webkit-flex-wrap: wrap\\n  -moz-flex-wrap: wrap\\n  -ms-flex-wrap: wrap\\n  flex-wrap: wrap\\n\\n=shadow1\\n  box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\",\"ka-input, md-input\\n  display: block\\n  box-sizing: border-box\\n  position: relative\\n  margin: 1.5rem 0\\n  width: 100%\\n  height: 3rem\\n  color: $text-color\\n  background-color: #ffffff\\n  box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n  transition: all 0.5s\\n\\n  &.type-editor\\n    height: auto\\n\\n  &.type-textarea\\n    height: 3rem*3\\n    > textarea\\n      padding: 7px auto 7px 7px\\n      height: 3rem*3\\n      resize: none\\n  &.type-checklist\\n    height: auto\\n    background-color: transparent\\n    box-shadow: none !important\\n\\n  &.error\\n    background-color: #ffffff\\n    box-shadow: inset 0 -1px 0 0 red\\n    > label\\n      color: red\\n  &.focus, &.focus:hover\\n    box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n  &:hover\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n\\n  &.readonly, &.readonly.focus, &.readonly:hover\\n    background-color: transparent\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.1)\\n\\n  &.type-checkbox,\\n  &.type-checkbox.error,\\n  &.type-checkbox.focus,\\n  &.type-checkbox.focus:hover,\\n  &.type-checkbox:hover,\\n  &.type-checkbox.readonly,\\n  &.type-checkbox.readonly.focus,\\n  &.type-checkbox.readonly:hover\\n    box-shadow: none\\n    background-color: transparent\\n  &.type-checkbox > .ka-input-checkbox-description\\n    display: inline-block\\n    position: absolute\\n    left: 0\\n    overflow: hidden\\n    padding-left: 21px\\n    max-width: 100%\\n    line-height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    text-overflow: ellipsis\\n    white-space: nowrap\\n    cursor: pointer\\n  &.type-checkbox.readonly\\n    > input, > .ka-input-checkbox-description\\n      opacity: 0.7\\n  &.type-checkbox.expand\\n    height: fit-content\\n    > .ka-input-checkbox-description\\n      position: static\\n      white-space: normal\\n      line-height: 2rem\\n      margin-top: 6px\\n\\n\\n  > label\\n    display: block\\n    position: absolute\\n    width: 100%\\n    height: 1.5rem\\n    overflow: hidden\\n    line-height: 1.5rem\\n    font-size: 12px\\n    color: rgba($primary-color, 0.7)\\n    white-space: nowrap\\n    text-overflow: ellipsis\\n    transform: translateY(-1.5rem)\\n  &.show-label-overflow > label\\n    overflow: visible\\n  &.no-label > label\\n    display: none\\n  > .ka-input-error\\n    display: block\\n    position: absolute\\n    bottom: 0\\n    width: 100%\\n    height: 1.5rem\\n    line-height: 1.5rem\\n    font-size: 11px\\n    color: rgba(red, 0.7)\\n    transform: translateY(1.5rem)\\n    span\\n      &::after\\n        content: \\\" - \\\"\\n      &:last-of-type::after\\n        content: \\\"\\\"\\n  > .ka-input-description\\n    display: block\\n    position: absolute\\n    bottom: 0\\n    width: 100%\\n    height: 1.5rem\\n    line-height: 1.5rem\\n    font-size: 11px\\n    color: rgba($text-color, 0.5)\\n    text-align: right\\n    transform: translateY(1.5rem)\\n    transition: all 0.2s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    span\\n      &::after\\n        content: \\\" - \\\"\\n      &:last-of-type::after\\n        content: \\\"\\\"\\n  &.readonly > .ka-input-description\\n    opacity: 0\\n  > .ka-input-error + .ka-input-description\\n    opacity: 0\\n  &.required label::after\\n    content: \\\" *\\\"\\n\\n  > .ka-input[type], > .ka-input-combo .ka-input, > textarea\\n    display: block\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    position: absolute\\n    box-sizing: border-box\\n    margin: 0\\n    border: 0 !important\\n    outline: none\\n    padding: 0\\n    padding-left: 7px\\n    width: 100%\\n    height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    background-color: transparent\\n    transition: all 0.2s cubic-bezier(0.215, 0.610, 0.355, 1.000)\\n    &:focus\\n      border: 0 !important\\n    &.pad1\\n      padding-right: 1*3rem\\n    &.pad2\\n      padding-right: 2*3rem\\n    &.pad3\\n      padding-right: 3*3rem\\n  > .ka-input[type], > .ka-input-combo .ka-input\\n    &[type=\\\"checkbox\\\"]\\n      display: block\\n      margin-top: 8px\\n      width: 14px\\n      height: 14px\\n      border-radius: 1px\\n      box-shadow: inset 0 0 0 1px $text-color\\n      &:checked\\n        background-color: $primary-color\\n        box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n    &[type=\\\"file\\\"]\\n      opacity: 0\\n      z-index: 2\\n      &[readonly]\\n        display: none\\n      & + [type=\\\"text\\\"]\\n\\n  &.error > .ka-input[type=\\\"checkbox\\\"]\\n    box-shadow: inset 0 0 0 1px red\\n    &:checked\\n      box-shadow: inset 0 0 0 1px red, inset 0 0 0 3px #fff\\n\\n  &.readonly > .ka-input[type], &.readonly > .ka-input-combo .ka-input, &.readonly > textarea\\n    padding-left: 0\\n    &.pad1, &.pad2, &.pad3\\n      padding-right: 0\\n  &.readonly button\\n    display: none\\n\\n  &.type-file.readonly > .ka-input[type=\\\"text\\\"],\\n  &.type-combo.readonly > .ka-input-combo > .ka-input[type=\\\"text\\\"]\\n    padding-right: 3rem\\n  &.readonly button.download,\\n  &.readonly button.download:focus,\\n  &.readonly button.open,\\n  &.readonly button.open:focus\\n    display: inline-block\\n    right: 0\\n\\n  .ka-input-combo\\n    display: block\\n    position: absolute\\n    top: 0\\n    width: 100%\\n    > .ka-input\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n  .ka-input-editor\\n    height: 200px\\n\\n  .ka-input-button, .ka-input-button:focus\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    position: absolute\\n    display: inline-block\\n    top: 0\\n    right: 0\\n    margin: 0\\n    outline: 0\\n    border: 0\\n    border-left: 1px solid #e0e0e0\\n    border-radius: 0\\n    padding: 0\\n    width: 3rem\\n    height: 3rem\\n    z-index: 2\\n    font-size: 14px\\n    line-height: 3rem\\n    text-align: center\\n    background: transparent\\n    .material-icons, i[class*=\\\"fa\\\"]\\n      font-size: inherit\\n      line-height: inherit\\n      color: inherit\\n    &:hover\\n      color: $primary-color\\n    &.hide\\n      display: block !important\\n    &.open, &.add, &.show, &.hide, &.download, &.dropdown\\n      right: 3rem\\n  \\n  &.no-clear button.open, &.no-clear button.open:focus,\\n  &.no-clear button.add, &.no-clear button.add:focus,\\n  &.no-clear button.show, &.no-clear button.show:focus,\\n  &.no-clear button.hide, &.no-clear button.hide:focus,\\n  &.no-clear button.download, &.no-clear button.download:focus,\\n  &.no-clear button.dropdown, &.no-clear button.dropdown:focus\\n    right: 0\\n\\n.ka-input-backdrop\\n  position: fixed\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  z-index: 1999\\n\\n.ka-input-combo .ka-input-combo-drawer,\\n.ka-input-backdrop .ka-input-combo-drawer\\n  display: block\\n  position: absolute\\n  top: 3rem\\n  z-index: 2000\\n  width: 100%\\n  background-color: #fff\\n  box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\\n  .ka-input\\n    display: block\\n    position: static\\n    -webkit-appearance: none\\n    -moz-appearance: none\\n    box-sizing: border-box\\n    margin: 0\\n    border: 0 !important\\n    outline: none\\n    padding: 0 10px\\n    width: 100%\\n    height: 3rem\\n    font-size: 14px\\n    color: $text-color\\n    background-color: transparent\\n    box-shadow: none !important\\n    &:focus\\n      border: 0 !important\\n.ka-input-combo .ka-input-combo-drawer ul,\\n.ka-input-backdrop .ka-input-combo-drawer ul,\\n.ka-input-checklist ul\\n    margin: 0\\n    padding: 0\\n    width: 100%\\n    max-height: 250px\\n    overflow: hidden\\n    overflow-y: auto\\n    list-style: none\\n    li\\n      position: relative\\n      margin: 0\\n      padding: 0 10px\\n      overflow: hidden\\n      font-size: 14px\\n      line-height: 3rem\\n      cursor: pointer\\n      color: $text-color\\n      white-space: nowrap\\n      text-overflow: ellipsis\\n      &:hover\\n        background-color: rgba($primary-color, 0.1)\\n      &.selected\\n        color: $primary-color\\n    &.multiple li\\n      padding-left: 30px\\n      &::before\\n        content: \\\" \\\"\\n        display: block\\n        position: absolute\\n        top: 8px\\n        left: 8px\\n        width: 14px\\n        height: 14px\\n        border-radius: 1px\\n        //border-radius: 50%\\n        //background-color: #e0e0e0\\n        box-shadow: inset 0 0 0 1px $text-color\\n      &.selected::before\\n        background-color: $primary-color\\n        box-shadow: inset 0 0 0 1px $primary-color, inset 0 0 0 3px #fff\\n.ka-input-checklist ul\\n  li\\n    &:hover\\n      background-color: transparent\\n    &.selected\\n        color: $text-color\\n  &.multiple li\\n     &.selected::before\\n       box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n\\n.ck.ck-content\\n  h1, h2, h3, h4, h5, p, ul, ol, ul ul, ul ol, ol ol, ol ul, blockquote, table, div\\n    margin: 0\\n    padding: 0\\n    border: 0\\n    border-radius: 0\\n    font-size: 14px\\n    line-height: 1.6\\n    color: $text-color\\n    background: none\\n    box-shadow: none\\n    transform: none\\n    &:before, &:after\\n      display: none\\n      content: none\\n  h1\\n    margin: 35px 10px 20px\\n    font-size: 24px\\n    font-weight: bold\\n  h2\\n    margin: 25px 10px 15px\\n    font-size: 22px\\n    font-weight: bold\\n  h3\\n    margin: 15px 10px 10px\\n    font-size: 20px\\n    font-weight: bold\\n  h4\\n    margin: 15px 10px 10px\\n    font-size: 18px\\n    font-weight: bold\\n  h5\\n    margin: 15px 10px 10px\\n    font-size: 16px\\n    font-weight: bold\\n  p\\n    margin: 10px\\n  ul, ul ul, ul ol, ol, ol ul, ol ol\\n    margin: 10px\\n    padding-left: 15px\\n    li\\n      margin: 0\\n      padding: 0\\n  blockquote\\n    margin: 10px\\n    padding: 0 10px\\n    overflow: hidden\\n    font-style: italic\\n    border-left: 5px solid #ccc\\n\",\".ka-button\\n  display: inline-block\\n  appearance: none\\n  -moz-appearance: none\\n  -webkit-appearance: none\\n  outline: none\\n  cursor: pointer\\n  margin: 10px\\n  border: 0\\n  border-radius: 3px\\n  padding: 0 10px\\n  height: 3rem\\n  font-size: 1.4rem\\n  font-weight: bold\\n  line-height: 3rem\\n  color: #fff\\n  text-align: center\\n  text-decoration: none\\n  background-color: $primary-color\\n  box-shadow: 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n  transition: all 0.5s\\n\\n  &.icon\\n    padding: 0\\n    width: 3rem\\n    i\\n      line-height: inherit\\n  &.round\\n    padding: 0\\n    width: 3rem\\n    border-radius: 50%\\n    overflow: hidden\\n  &.flat\\n    box-shadow: none !important\\n\\n  &:disabled\\n    background-color: #c0c0c0\\n  &:hover:enabled\\n    color: #fff\\n    background-color: darken($primary-color, 7%)\\n    box-shadow: none\\n    transform: translateY(3px)\\n  &.accent\\n    background-color: $accent-color\\n  &.accent:hover:enabled\\n    background-color: darken($accent-color, 7%)\\n  &.inverted\\n    color: $primary-color\\n    background-color: #ffffff\\n  &.inverted:hover:enabled\\n    color: $primary-color\\n    background-color: darken(#ffffff, 7%)\\n  &.inverted-accent\\n    color: $accent-color\\n    background-color: #ffffff\\n  &.inverted-accent:hover:enabled\\n    color: $accent-color\\n    background-color: darken(#ffffff, 7%)\\n  \\n  > i\\n    line-height: inherit\\n    vertical-align: middle\\n\\na.ka-button\\n  &:hover\\n    color: #fff\\n    background-color: darken($primary-color, 7%)\\n    box-shadow: none\\n    transform: translateY(3px)\\n  &.accent:hover\\n    background-color: darken($accent-color, 7%)\\n  &.inverted:hover\\n    color: $primary-color\\n    background-color: darken(#ffffff, 7%)\\n  &.inverted-accent:hover\\n    color: $accent-color\\n    background-color: darken(#ffffff, 7%)\",\"ka-button\\n  display: inline-block\\n  position: relative\\n  align-items: flex-start\\n\\n  outline: none\\n  cursor: pointer\\n\\n  margin: 10px\\n  border: 0\\n  border-radius: 3px\\n  padding: 0 10px\\n  height: 3rem\\n  //overflow: hidden\\n\\n  font-size: 1.4rem\\n  font-weight: bold\\n  line-height: 3rem\\n  text-align: center\\n  text-decoration: none\\n  \\n  box-shadow: 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n  transition: all 0.5s\\n\\n  &.icon\\n    padding: 0\\n    width: 3rem\\n  &.round\\n    padding: 0\\n    width: 3rem\\n    border-radius: 50%\\n    overflow: hidden\\n  &.active\\n    box-shadow: none\\n    transform: translateY(3px)\\n\\n  &:not(.disabled)\\n    color: #fff\\n    background-color: $primary-color\\n\\n    &.flat\\n      box-shadow: none\\n    &:hover\\n      color: #fff\\n      background-color: darken($primary-color, 7%)\\n\\n    &.accent\\n      color: #fff\\n      background-color: $accent-color\\n      &.flat\\n        box-shadow: none\\n      &:hover\\n        color: #fff\\n        background-color: darken($accent-color, 7%)\\n      .busy\\n        background-color: $accent-color\\n        &:before, &:after\\n          background-color: #fff\\n    &.secondary\\n      color: #fff\\n      background-color: $secondary-color\\n      &.flat\\n        box-shadow: none\\n      &:hover\\n        color: #fff\\n        background-color: darken($secondary-color, 7%)\\n      .busy\\n        background-color: $secondary-color\\n        &:before, &:after\\n          background-color: #fff\\n\\n    &.inverted\\n      color: $primary-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($primary-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($primary-color, 0.7)\\n      &:hover\\n        color: $primary-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $primary-color\\n    &.inverted.accent\\n      color: $accent-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($accent-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($accent-color, 0.7)\\n      &:hover\\n        color: $accent-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $accent-color\\n    &.inverted.secondary\\n      color: $secondary-color\\n      background-color: #ffffff\\n      box-shadow: inset 0 0 0px 1px rgba($secondary-color, 0.7), 0 0 5px rgba(#000, 0.2), 0 5px 5px -5px rgba(#000, 0.2)\\n      &.flat\\n        box-shadow: inset 0 0 0px 1px rgba($secondary-color, 0.7)\\n      &:hover\\n        color: $secondary-color\\n        background-color: darken(#ffffff, 7%)\\n      .busy\\n        background-color: #fff\\n        &:before, &:after\\n          background-color: $secondary-color\\n\\n  &.disabled\\n    color: #c0c0c0\\n    background-color: rgba(#c0c0c0, 0.3)\\n    &.flat\\n      box-shadow: none\\n  \\n  > i\\n    line-height: inherit\\n    vertical-align: middle\\n  \\n  .busy\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    background-color: $primary-color\\n    &:before, &:after\\n      content: ''\\n      position: absolute\\n      border-radius: 50%\\n      width: 1rem\\n      height: 1rem\\n      top: 50%\\n      background-color: #fff\\n      transform: translate(-50%, -50%)\\n      will-change: left, transform\\n    &:after\\n      animation: left-to-right 0.5s linear infinite\\n    &:before\\n      animation: right-to-left 0.5s linear infinite\\n    \\n\\n@keyframes left-to-right\\n  0%\\n    opacity: 0.5\\n    left: calc(50% - 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n  50%\\n    opacity: 1\\n    left: 50%\\n    transform: translate(-50%, -50%) scale(1.5)\\n  100%\\n    opacity: 0.5\\n    left: calc(50% + 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n\\n@keyframes right-to-left\\n  0%\\n    opacity: 0.5\\n    left: calc(50% + 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n  50%\\n    opacity: 0\\n    left: 50%\\n    transform: translate(-50%, -50%) scale(0.5)\\n  100%\\n    opacity: 0.5\\n    left: calc(50% - 1rem)\\n    transform: translate(-50%, -50%) scale(1)\\n    \",\".ka-toast\\n  position: fixed\\n  bottom: 0\\n  left: 0\\n  right: 0\\n  z-index: 2000\\n  padding: 10px\\n  font-size: 1.3rem\\n  text-align: center\\n  background-color: white\\n  box-shadow: 0 0 10px rgba(#000, 0.1), 0 -10px 10px -10px rgba(#000, 0.1)\\n\\n  &.ka-toast-error\\n    color: #ffffff\\n    background-color: $error-color\\n  &.ka-toast-success\\n    color: #ffffff\\n    background-color: $success-color\\n  &.ka-toast-accent\\n    color: #ffffff\\n    background-color: $accent-color\\n  &.ka-toast-primary\\n    color: #ffffff\\n    background-color: $primary-color\\n\",\"ka-table,\\n.ka-table\\n  display: block\\n  position: relative\\n  max-width: 100%\\n  background-color: #ffffff\\n  &:not(.full-height)\\n    box-shadow: 0 0 0 1px #e0e0e0\\n  .ka-toolbar\\n    display: flex\\n    height: 4rem\\n    font-size: 12px\\n    line-height: 4rem\\n    color: #606060\\n    box-shadow: inset 0 -1px 0 #e0e0e0\\n    .ka-navigation\\n      display: flex\\n      .ka-position\\n        padding: 0 10px\\n        min-width: 100px\\n        text-align: center\\n        cursor: pointer\\n\\n    .ka-tools-left\\n      flex: 1\\n      display: flex\\n      justify-content: flex-start\\n    .ka-tools-right\\n      flex: 1\\n      display: flex\\n      justify-content: flex-end\\n  .ka-wrapper\\n    overflow: auto\\n  .ka-toolbar+.ka-wrapper\\n    //UNUSED?// border-top: 0\\n  &.full-height .ka-wrapper\\n    position: relative // needed to make tr .floater work\\n    height: calc(100% - 4rem)\\n\\nka-table,\\n.ka-table,\\ntable.ka-table-like\\n  &.no-wrap\\n    th, td\\n      white-space: nowrap\\n  .ka-table-button\\n    display: inline-block\\n    appearance: none\\n    -webkit-appearance: none\\n    outline: none\\n    cursor: pointer\\n    margin: 0\\n    border: 0\\n    border-left: 1px solid #e0e0e0\\n    border-right: 1px solid #e0e0e0\\n    padding: 0\\n    width: 4rem\\n    height: 4rem\\n    line-height: 4rem\\n    color: rgba($text-color, 0.5)\\n    vertical-align: top\\n    background: transparent\\n    box-shadow: none\\n    transition: all 0.5s\\n    &+.ka-table-button\\n      border-left: 0\\n    &:not(.disabled):hover\\n      color: rgba($text-color, 1)\\n      background-color: rgba($primary-color, 0.05)\\n    &.primary:not(.disabled)\\n      color: rgba($primary-color, 0.7)\\n    &.primary:not(.disabled):hover\\n      color: rgba($primary-color, 1)\\n    &:first-of-type\\n      border-left: 0\\n    &:last-of-type\\n      border-right: 0\\n\\n    &:focus\\n      background-color: inherit\\n    &.disabled\\n      color: #e0e0e0\\n    &:before\\n      font-size: 20px\\n    i\\n      line-height: inherit\\n      color: inherit\\n\\n    &.filters\\n      &.active\\n        color: $accent-color\\n      &+.reset\\n        margin-left: -2rem\\n        width: 2rem\\n        height: 2rem\\n        line-height: 2rem\\n        i\\n          font-size: 1rem\\n        &:hover\\n          color: $accent-color\\n          background: none\\n\\nka-table .ka-wrapper > table,\\n.ka-table .ka-wrapper > table,\\ntable.ka-table-like\\n  display: table\\n  margin: 0\\n  border: 0\\n  border-collapse: collapse\\n  border-spacing: 0\\n  width: 100%\\n  overflow: hidden\\n  th, td\\n    padding: 1rem\\n    font-size: 14px\\n    line-height: 2rem\\n    color: $text-color\\n    text-align: left\\n    a\\n      cursor: pointer\\n  thead\\n    border-bottom: 1px solid #e0e0e0\\n    th\\n      position: relative\\n      vertical-align: middle\\n      white-space: nowrap\\n      padding-right: 30px\\n      .ka-sort-button\\n        position: absolute\\n        margin-left: 5px\\n        transition: all 0.5s\\n        color: rgba($text-color, 0.5)\\n        text-decoration: none\\n        i\\n          line-height: inherit\\n          transform: rotateX(180deg)\\n        &:hover\\n          color: rgba($text-color, 1)\\n        &.sort-asc i\\n          color: $accent-color\\n        &.sort-desc i\\n          color: $accent-color\\n          transform: rotateX(0deg)\\n        &:after\\n          position: absolute\\n          top: -5px\\n          right: -5px\\n          border-radius: 50%\\n          width: 1.3rem\\n          height: 1.3rem\\n          line-height: 1.3rem\\n          font-size: 1rem\\n          color: #ffffff\\n          text-align: center\\n          background-color: $accent-color\\n        &.sort-0:after\\n        &.sort-1:after\\n          content: \\\"1\\\"\\n        &.sort-2:after\\n          content: \\\"2\\\"\\n        &.sort-3:after\\n          content: \\\"3\\\"\\n        &.sort-4:after\\n          content: \\\"4\\\"\\n        &.sort-5:after\\n          content: \\\"5\\\"\\n  tbody\\n    tr\\n      border-bottom: 1px solid #f4f4f4\\n      background-color: #fcfcfc\\n      &:nth-child(even)\\n        background-color: #f8f8f8\\n      &:hover, &:nth-child(even):hover\\n        background-color: rgba($accent-color, 0.05)\\n    td\\n      vertical-align: top\\n      &.ka-tr-tools:first-of-type\\n        text-align: left\\n      &.ka-tr-tools:last-of-type\\n        text-align: right\\n      &.ka-tr-tools\\n        padding: 0\\n        white-space: nowrap\\n        .ka-table-button, .ka-table-button:hover\\n          display: inline-block\\n          background: transparent\\n        &:first-of-type .ka-table-button,\\n        &:first-of-type .ka-table-button:hover\\n          float: left\\n        &:after\\n          content: \\\" \\\"\\n          display: block\\n          width: 100%\\n        .floater.float\\n          +flexbox\\n          align-content: center\\n          position: absolute\\n          right: 0\\n          background: #fff\\n          background: linear-gradient(180deg, rgba(#fff, 0) 0%, rgba(#fff, 1) 25%, rgba(#fff, 1) 75%, rgba(#fff, 0) 100%)\\n          box-shadow: -5px 0 5px -5px rgba(#000, 0.25)\\n      small\\n        color: rgba($text-color, 0.7)\\n\\n.ka-table-options\\n  display: -webkit-box\\n  display: -webkit-flex\\n  display: -moz-flex\\n  display: -ms-flexbox\\n  display: flex\\n  opacity: 0\\n  justify-content: flex-start\\n  position: absolute\\n  left: 50%\\n  padding: 2rem\\n  width: 26rem\\n  z-index: 97\\n  background-color: #ffffff\\n  +shadow1\\n  transform: translateX(-50%) translateY(50px)\\n  transition: transform 0.5s, opacity 0.5s\\n  &.open\\n    opacity: 1\\n    transform: translateX(-50%) translateY(0px)\\n  &.hidden\\n    display: none\\n  ka-input\\n    margin: 15px 10px 0\\n    -webkit-box-flex: 1\\n    -webkit-flex: 1\\n    -moz-box-flex: 1\\n    -moz-flex: 1\\n    -ms-flex: 1\\n    flex: 1\\n\\n.ka-table-drawer\\n  position: absolute\\n  top: 0\\n  bottom: 0\\n  right: 0\\n  border-right: 1px solid #e0e0e0\\n  width: 90%\\n  max-width: 400px\\n  overflow-y: auto\\n  background-color: #ffffff\\n  box-shadow: -10px 0 10px -10px rgba(#000, 0.1)\\n  transform: translateX(100%)\\n  transition: transform 0.5s\\n  &.open\\n    transform: translateX(0)\\n  &.hidden\\n    display: none\\n  ka-input label\\n    overflow: visible\\n\\n  h2\\n    //margin: 0\\n    //padding: 0 1rem\\n    //font-size: 2rem\\n    //font-weight: 300\\n    //line-height: 5rem\\n    //color: #ffffff\\n    //background-color: $primary-color\\n  h3\\n    //margin: 0\\n    //border-top: 1px solid #e0e0e0\\n    //padding: 0 1rem\\n    //line-height: 4rem\\n    //font-size: 1.4rem\\n    //font-weight: 400\\n    //color: $primary-color\\n    //text-decoration: none\\n  h2+h3\\n    //border-top: 0\\n\\n  &.export ka-input\\n    margin: 0\\n  .ka-table-button\\n    //display: block\\n    //appearance: none\\n    //-moz-appearance: none\\n    //-webkit-appearance: none\\n    //outline: none\\n    //cursor: pointer\\n    //margin: 2rem auto\\n    //border: 0\\n    //border-radius: 3px\\n    //padding: 0 10px\\n    //height: 4rem\\n    //font-size: 14px\\n    //font-weight: bold\\n    //line-height: 4rem\\n    //color: #fff\\n    //text-align: center\\n    //background-color: $primary-color\\n    //transition: all 0.5s\\n    &:hover\\n      //background-color: darken($primary-color, 7%)\\n      //transform: translateY(3px)\\n.ka-table-backdrop\\n  position: fixed\\n  top: 0\\n  right: 0\\n  bottom: 0\\n  left: 0\\n  z-index: 99\\n\\n// Progress Bar\\n.ka-table-progress\\n  position: absolute\\n  top: calc(4rem - 1px)\\n  left: 0\\n  right: 0\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  > div\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n.ka-table-dialog\\n  background: #f9f9f9\\n  ux-dialog-body\\n    padding: 0\\n    width: 70vw\\n    max-width: calc(100vw - 60px)\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\\n@media only screen and (max-width:575px)\\n\\n  ka-table .ka-wrapper > table, table.ka-table-like\\n    display: block\\n    max-width: 100%\\n    min-width: 300px\\n    width: 100%\\n    thead, tfoot\\n      display: block\\n    tbody\\n      display: block\\n      overflow-x: hidden\\n      overflow-y: visible\\n      width: 100%\\n    tr\\n      display: block\\n      position: relative\\n    tbody tr\\n      min-height: 4rem\\n    th\\n      display: none\\n    td\\n      display: block\\n      padding: 0 0 0.5rem 0.5rem\\n      font-size: 1.3rem\\n      line-height: 1.2\\n      &:first-of-type\\n        padding-top: 0.5rem\\n      &.ka-tr-tools\\n        height: 4rem\\n        position: absolute\\n        right: 0\\n        top: 0\\n        &:before\\n          display: none\\n    td[data-th]\\n      padding: 0 0 0.5rem 25vw\\n      &:before\\n        display: inline-block\\n        content: attr(data-th)\\n        margin-left: -25vw\\n        padding: 0 1rem\\n        width: 25vw\\n        font-weight: bold\\n        text-overflow: ellipsis\\n        overflow: hidden\\n        vertical-align: bottom\\n\\n      \",\".ka-resource-buttons\\n  position: absolute\\n  top: 0\\n  right: 0\\n  a\\n    position: relative\\n    display: inline-block\\n    outline: none\\n    cursor: pointer\\n    margin: 0\\n    border: 0\\n    //border-left: 1px solid rgba(#fff, 0.2)\\n    padding: 0\\n    width: 5rem\\n    height: 5rem\\n    line-height: 5rem\\n    color: rgba(#fff, 0.5)\\n    text-align: center\\n    transition: all 0.2s\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      position: absolute\\n      left: 0\\n      top: 0.5rem\\n      bottom: 0.5rem\\n      width: 1px\\n      background-color: rgba(#fff, 0.2)\\n    &:hover\\n      color: rgba(#fff, 1)\\n    &:first-of-type\\n      border-left: 0\\n    &:last-of-type\\n      border-right: 0\\n    &:focus\\n      background-color: inherit\\n    &:before\\n      font-size: 20px\\n    i\\n      line-height: inherit\\nux-dialog .ka-resource-buttons\\n  z-index: 2\\n  a\\n    color: rgba($primary-color, 0.5)\\n    &::after\\n      background-color: rgba($primary-color, 0.2)\\n    &:hover\\n      color: rgba($primary-color, 1)\\n\\n.ka-resource-progress\\n  position: absolute\\n  top: 5rem\\n  left: 0\\n  right: 0\\n  z-index: 2\\n  height: 3px\\n  background-color: #e0e0e0\\n  overflow: hidden\\n  > div\\n    background-color: $primary-color\\n    &:before\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n    &:after\\n      content: ''\\n      position: absolute\\n      background-color: inherit\\n      top: 0\\n      left: 0\\n      bottom: 0\\n      will-change: left, right\\n      // Custom bezier\\n      animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n      animation-delay: 1.15s\\n\\nux-dialog .ka-resource-progress\\n  top: auto\\n\\n@keyframes indeterminate\\n    0%\\n      left: -35%\\n      right: 100%\\n    60%\\n      left: 100%\\n      right: -90%\\n    100%\\n      left: 100%\\n      right: -90%\\n\\n@keyframes indeterminate-short\\n    0%\\n      left: -200%\\n      right: 100%\\n    60%\\n      left: 107%\\n      right: -8%\\n    100%\\n      left: 107%\\n      right: -8%\\n\",\"ux-dialog-container\\n  display: flex\\n  &.active\\n    background-color: rgba(#000,0.2)\\n  >div\\n    margin: auto !important\\nux-dialog\\n  display: block\\n  position: relative\\n  border: 0\\n  border-radius: 3px\\n  padding: 0\\n  overflow: hidden\\n  background-color: #f9f9f9\\n  +shadow1\\n  &.viewModel\\n    width: calc(100vw - 80px)\\n  ux-dialog-header\\n    display: block\\n    border: 0\\n    padding: 0\\n    h2\\n      z-index: 1\\n      margin: 0\\n      font-size: 1.8rem\\n      &::after\\n        border-top-left-radius: 3px\\n        border-top-right-radius: 3px\\n  ux-dialog-body\\n    display: block\\n    padding: 2rem\\n    font-size: 1.4rem\\n    h2\\n      z-index: 1\\n  &.viewModel ux-dialog-body\\n    padding: 0\\n    \\n@media only screen and (max-width:400px)\\n  ux-dialog-container > div\\n    padding: 1rem !important\\n  ux-dialog\\n    &.viewModel\\n      width: calc(100vw - 20px)\",\"ka-tabs\\n  +flexbox\\n  align-content: flex-start\\n  > nav\\n    -webkit-box-flex: 1\\n    -webkit-flex: 1\\n    -moz-box-flex: 1\\n    -moz-flex: 1\\n    -ms-flex: 1\\n    flex: 1\\n    margin: 0\\n    border-bottom: 3px solid #e0e0e0\\n    height: 5rem\\n    background-color: #ffffff\\n    a\\n      position: relative\\n      cursor: pointer\\n      display: inline-block\\n      outline: none\\n      padding: 0 1rem\\n      line-height: 5rem\\n      font-size: 1.2rem\\n      color: rgba($text-color, 0.5)\\n      letter-spacing: 0.1rem\\n      text-decoration: none\\n      text-transform: uppercase\\n      transition: all 0.4s\\n      &::after\\n        content: \\\" \\\"\\n        opacity: 0\\n        display: block\\n        position: absolute\\n        bottom: -0px\\n        left: 50%\\n        z-index: 2\\n        width: 0%\\n        height: 3px\\n        background-color: $primary-color\\n        transform: translateX(-50%)\\n        transition: all 0.2s\\n      &:hover\\n        color: $primary-color\\n        &::after\\n          opacity: 1\\n          width: 100%\\n      &.active\\n        color: $primary-color\\n        &::after\\n          opacity: 1\\n          width: 100%\\n      .counter\\n        display: block\\n        position: absolute\\n        bottom: 0\\n        left: 50%\\n        z-index: 3\\n        margin-left: -0.75rem\\n        border-top-left-radius: 3px\\n        border-top-right-radius: 3px\\n        width: 1.5rem\\n        font-size: 1rem\\n        line-height: 1.5rem\\n        color: #ffffff\\n        text-align: center\\n        background-color: $primary-color\\n        box-shadow: 0 0 0 3px #fff\\n        &.errors\\n          background-color: $error-color\\n  > [ref=\\\"buttons\\\"]\\n    float: right\\n    margin-top: -5rem\\n    a\\n      display: inline-block\\n      outline: none\\n      cursor: pointer\\n      margin: 0\\n      border: 0\\n      border-left: 1px solid #e0e0e0\\n      border-bottom: 3px solid #e0e0e0\\n      padding: 0\\n      width: 5rem\\n      height: 5rem\\n      line-height: 5rem\\n      color: rgba($text-color, 0.5)\\n      text-align: center\\n      background: #fff\\n      transition: all 0.2s\\n      &:hover\\n        color: $primary-color\\n      &:first-of-type\\n        border-left: 0\\n      &:last-of-type\\n        border-right: 0\\n      &:focus\\n        background-color: inherit\\n      &:before\\n        font-size: 20px\\n      i\\n        line-height: inherit\\n  > [ref=\\\"contents\\\"]\\n    > ka-tab\\n      white-space: initial\",\".ka-tooltip\\n  pointer-events: none\\n  display: none\\n  position: absolute\\n  z-index: 1100\\n\\n  border-radius: 5px\\n  padding: 1rem 1rem\\n\\n  font-size: 1.2rem\\n  font-weight: 400\\n  line-height: 1.4rem\\n  color: #ffffff\\n  background-color: $text-color\\n\\n  &.visible\\n    display: block\\n  > div.value\\n    a\\n      color: inherit\\n  > div.arrow\\n    position: absolute\\n    width: 8px\\n    height: 8px\\n    transform: rotate(45deg)\\n    background-color: inherit\\n  \\n  &.primary\\n    background-color: $primary-color\\n  &.secondary\\n    background-color: $accent-color\",\"@use \\\"sass:color\\\"\\n\\nka-control-combo,\\nka-control-text,\\nka-control-date,\\nka-control-datetime,\\nka-control-file,\\nka-control-number,\\nka-control-password,\\nka-control-textarea,\\nka-control-editor,\\nka-control-list,\\nka-control-check\\n  display: block\\n  position: relative\\n  flex: 1 1 0\\n  input\\n    outline: none\\n    appearance: none\\n    -moz-appearance: none\\n    -webkit-appearance: none\\n  .display-value, .display-value[disabled]\\n    outline: none\\n    border: 0\\n    border-radius: 0\\n    padding: 0 0 0 0.7rem\\n    width: 100%\\n    height: 3rem\\n    font-family: inherit\\n    font-size: 1.4rem\\n    line-height: 3rem\\n    color: $text-color\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n    transition: all 0.5s\\n    &:hover\\n      box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n    &:focus, &:focus:hover\\n      box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n    &.readonly, &.readonly:focus, &.readonly:hover\\n      padding: 0 0 0 0.1px\\n      background: transparent\\n      box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.1)\\n  \\nka-control\\n  display: inline-block\\n  position: relative\\n  margin: 0.5rem 0\\n  width: 100%\\n\\n  > label\\n    display: block\\n    margin: 0\\n    padding: 0\\n    width: 100%\\n    height: 1.5rem\\n    overflow: hidden\\n    font-size: 1.2rem\\n    line-height: 1.5rem\\n    color: rgba($primary-color, 0.7)\\n    white-space: nowrap\\n    transition: all 0.5s\\n\\n  > div \\n    display: flex\\n    flex-wrap: nowrap\\n    > .ka-control-buttons\\n      display: flex\\n      button, button:focus\\n        -webkit-appearance: none\\n        -moz-appearance: none\\n        display: block\\n        margin: 0\\n        outline: 0\\n        border: 0\\n        border-left: 1px solid #e0e0e0\\n        border-radius: 0\\n        padding: 0\\n        width: 3rem\\n        height: 3rem\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        text-align: center\\n        background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n        transition: all 0.5s\\n        .material-icons, i[class*=\\\"fa\\\"]\\n          font-size: inherit\\n          line-height: inherit\\n          color: inherit\\n        &:hover\\n          box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.5)\\n          color: $primary-color\\n        &:focus, &:focus:hover\\n          box-shadow: inset 0 -1px 0 0 rgba($primary-color, 1)\\n      .button-dropdown\\n        border-left: 0\\n\\n  > .ka-control-overlay\\n    width: 100%\\n    .ka-control-error\\n      display: block\\n      position: absolute\\n      z-index: 100\\n      margin-top: -1px\\n      border-bottom-left-radius: 3px\\n      border-bottom-right-radius: 3px\\n      padding: 0 0.5rem\\n      width: 100%\\n      height: 0\\n      overflow: hidden\\n      font-size: 1.1rem\\n      line-height: 2rem\\n      color: $error-color\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      background-color: #ffffff\\n      box-shadow: 0 5px 10px -5px rgba(0,0,0, 0.2)\\n      box-shadow: inset 0 0 0 1px rgba($error-color, 0.3), 0 10px 10px -8px rgba($error-color, 0.3), 10px 0 10px -8px rgba($error-color, 0.3), -10px 0 10px -8px rgba($error-color, 0.3)\\n      opacity: 0\\n      transition: height 0.2s, opacity 0.2s\\n      pointer-events: none\\n      &:before\\n        content: \\\" \\\"\\n        position: absolute\\n        inset: 0 0 0 0\\n        background-color: rgba($error-color, 0.1)\\n        z-index: -1\\n      span + span:before\\n        content: \\\"-\\\"\\n        margin: 0 5px\\n      \\n      .ka-control-error-scroller\\n        display: flex\\n        width: fit-content\\n        span.clone\\n          display: none\\n      &.scroll .ka-control-error-scroller\\n        animation: ka-control-error-scroller infinite 10s linear\\n        span.clone\\n          display: inline\\n\\n    .ka-control-description\\n      display: block\\n      position: absolute\\n      z-index: 100\\n      margin-top: -1px\\n      border-bottom-left-radius: 3px\\n      border-bottom-right-radius: 3px\\n      padding: 0 0.5rem\\n      width: 100%\\n      height: 0\\n      overflow: hidden\\n      font-size: 1.1rem\\n      line-height: 2rem\\n      color: $primary-color\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n      background-color: #ffffff\\n      box-shadow: 0 5px 10px -5px rgba(0,0,0, 0.2)\\n      box-shadow: inset 0 0 0 1px rgba($primary-color, 0.3), 0 10px 10px -8px rgba($primary-color, 0.3), 10px 0 10px -8px rgba($primary-color, 0.3), -10px 0 10px -8px rgba($primary-color, 0.3)\\n      opacity: 0\\n      transition: height 0.2s, opacity 0.2s\\n      pointer-events: none\\n      &:before\\n        content: \\\" \\\"\\n        position: absolute\\n        inset: 0 0 0 0\\n        background-color: rgba($primary-color, 0.1)\\n        z-index: -1\\n\\nka-control.focus\\n  > div:first-of-type\\n    background: #ffffff\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, 0.3), 0 0 10px 0 rgba($primary-color, 0.3)\\n  &:not(.error) > .ka-control-overlay .ka-control-description\\n    height: 2rem\\n    opacity: 1 \\n  &.error > .ka-control-overlay .ka-control-error\\n    height: 2rem\\n    opacity: 1 \\n\\nka-control.error\\n  > label \\n    color: $error-color\\n    animation: ka-control-shake 0.7s\\n  > div:first-of-type\\n    background-color: #ffffff\\n    box-shadow: inset 0 0 0 1px rgba($error-color, 0.3), 0 0 10px 0 rgba($error-color, 0.3)\\n  &:not(.hadFocus) > .ka-control-overlay .ka-control-error\\n    animation: 4s ka-control-slidedownup\\n\\nka-control.ka-control-combo\\n  &:not(.error) > div:hover + .ka-control-overlay .ka-control-description\\n    display: block\\n\\nka-control.show-label-overflow\\n  > label\\n    overflow: visible\\n\\nka-control.no-label\\n  > label\\n    display: none\\n\\nka-control-backdrop\\n  display: block\\n  position: fixed\\n  top: 0\\n  right: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 1999\\n\\n@keyframes ka-control-slidedown\\n  from\\n    opacity: 0\\n    height: 0\\n  to\\n    opacity: 1\\n    height: 2rem\\n\\n@keyframes ka-control-slidedownup\\n  0%\\n    opacity: 0\\n    height: 0\\n  5%\\n    opacity: 1\\n    height: 2rem\\n  95%\\n    opacity: 1\\n    height: 2rem\\n  100%\\n    opacity: 0\\n    height: 0\\n\\n@keyframes ka-control-error-scroller\\n  0%\\n    transform: translateX(0%)\\n  100%\\n    transform: translateX(-50%)\",\"ka-control-check\\n  position: relative\\n  height: 3rem\\n  display: flex\\n  align-items: center\\n  input[type=\\\"checkbox\\\"]\\n    display: block\\n    margin: 0\\n    border: 0\\n    border-radius: 1px\\n    width: 1.4rem\\n    height: 1.4rem\\n    background: transparent\\n    box-shadow: inset 0 0 0 1px $text-color\\n    &:checked\\n      background-color: $primary-color\\n      box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\\n  .description\\n    display: inline-block\\n    padding-left: 1rem\\n    max-width: 100%\\n    overflow: hidden\\n    line-height: 3rem\\n    font-size: 1.4rem\\n    color: $text-color\\n    text-overflow: ellipsis\\n    white-space: nowrap\\n    cursor: pointer\",\"ka-control-combo\\n  display: block\\n  position: relative\\n  height: 3rem\\n  overflow: hidden\\n  .display-value\\n    //position: absolute\\n    overflow: hidden\\n    cursor: text\\n    ul\\n      margin: 0\\n      padding: 0 0.1px 0 0\\n      list-style: none\\n      user-select: none\\n      white-space: nowrap\\n\\n      display: flex\\n      flex-direction: row\\n      justify-content: flex-start\\n      flex-wrap: nowrap\\n      li\\n        position: relative\\n        display: block\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        color: $text-color\\n        cursor: pointer\\n        overflow: hidden\\n        text-overflow: ellipsis\\n        flex-grow: 0\\n        flex-shrink: 1\\n        flex-basis: auto\\n        transition: all 0.3s\\n        &:not(:last-child)\\n          margin-right: 0.3rem\\n          &:after\\n            content: \\\",\\\"\\n        i\\n          display: none\\n          position: absolute\\n          top: 0\\n          right: 0\\n          width: 2.4rem\\n          font-size: inherit\\n          line-height: inherit\\n          color: #ffffff\\n          text-align: center\\n          background-color: $primary-color\\n        &:hover\\n          flex-grow: 0\\n          flex-shrink: 0\\n          max-width: calc(100% - 0.6rem)\\n          max-width: --webkit-fill-available\\n          i\\n            display: block\\n  &.multiple\\n    .display-value:not(.readonly)\\n      padding-left: 0\\n      ul\\n        li\\n          margin: 0.3rem\\n          border-radius: 0.2rem\\n          padding: 0 0.5rem\\n          line-height: 2.4rem\\n          box-shadow: inset 0 0 0 1px rgba($primary-color, 0.5)\\n          background-color: rgba($primary-color, 0.2)\\n          &:after\\n            display: none\\n\\nka-control-backdrop\\n  background-color: #00000011\\nka-control-combo, ka-control-backdrop\\n  [ref=drawer]\\n    position: absolute\\n    top: 3rem\\n    z-index: 2000\\n    width: 100%\\n    min-width: fit-content\\n    background-color: #fff\\n    box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\\n    .search\\n      outline: none\\n      border: 0\\n      border-radius: 0\\n      padding: 0 0 0 0.7rem\\n      width: 100%\\n      height: 3rem\\n      font-family: inherit\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: $text-color\\n      background-color: #fff\\n    .search-loader\\n      position: absolute\\n      right: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.5rem\\n      line-height: 3rem\\n      text-align: center\\n      color: $text-color\\n      --fa-animation-duration: 0.5s\\n    ul\\n      margin: 0\\n      padding: 0\\n      width: 100%\\n      max-height: 25rem\\n      overflow: hidden\\n      overflow-y: auto\\n      list-style: none\\n      user-select: none\\n      li\\n        position: relative\\n        margin: 0\\n        padding: 0.5rem 1rem\\n        overflow: hidden\\n        font-size: 1.4rem\\n        line-height: 2rem\\n        cursor: pointer\\n        color: $text-color\\n        white-space: nowrap\\n        text-overflow: ellipsis\\n        &.optgroup\\n          color: rgba($text-color, 0.6)\\n        &:not(.optgroup):not(.readonly)\\n          &:hover\\n            background-color: rgba($primary-color, 0.1)\\n        &:not(.readonly).selected\\n          color: $primary-color\\n\\n    &.multiple\\n      ul\\n        li:not(.optgroup)\\n          padding-left: 30px\\n          &::before\\n            content: \\\" \\\"\\n            display: block\\n            position: absolute\\n            top: 8px\\n            left: 8px\\n            width: 14px\\n            height: 14px\\n            border-radius: 1px\\n            box-shadow: inset 0 0 0 1px $text-color\\n          &.selected::before\\n            background-color: $primary-color\\n            box-shadow: inset 0 0 0 1px $primary-color, inset 0 0 0 3px #fff\\n          &.readonly.selected::before\\n            background-color: rgba($text-color, 0.7)\\n            box-shadow: inset 0 0 0 1px $text-color, inset 0 0 0 3px #fff\",\"ka-control-date\\n  .display-value\\n  .ka-control-date-drawer\\n    display: none\",\"ka-control-datetime\\n  .display-value\\n  .ka-control-datetime-drawer\\n    display: none\",\"ka-datetime\\n  display: block\\n  //border: 1px solid #e0e0e0\\n  .selectors\\n    color: rgba($text-color, 0.5)\\n    box-shadow: inset 0 -1px 0 #e0e0e0\\n    &:last-of-type\\n      box-shadow: inset 0 1px 0 #e0e0e0\\n    [class*=col]\\n      &:nth-child(1)\\n        button\\n          box-shadow: inset -1px 0 0 #e0e0e0\\n      &:nth-child(2)\\n        > div\\n          position: relative\\n          margin: 0 0 0 auto\\n          max-width: 100px\\n          text-align: right\\n          select\\n            text-transform: capitalize\\n            box-shadow: inset 1px 0 0 #e0e0e0\\n      &:nth-child(3)\\n        > div\\n          position: relative\\n          margin: 0 auto 0 0\\n          max-width: 100px\\n          text-align: right\\n          select\\n            box-shadow: inset -1px 0 0 #e0e0e0, inset 1px 0 0 #e0e0e0\\n      &:nth-child(4)\\n        button\\n          box-shadow: inset 1px 0 0 #e0e0e0\\n        \\n    button\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: inherit\\n      background: transparent\\n      transition: all 0.5s\\n      &:hover\\n        color: $text-color\\n        background: rgba($primary-color, 0.05)\\n      \\n    select\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0 1rem\\n      width: 100%\\n      height: 3rem\\n      font-size: 1.4rem\\n      line-height: 3rem\\n      color: $text-color\\n      background: transparent\\n      box-shadow: inset -1px 0 0 #e0e0e0, inset 1px 0 0 #e0e0e0, inset 0 -1px 0 #e0e0e0\\n      transition: all 0.5s\\n      &:hover\\n        color: $text-color\\n        background: rgba($primary-color, 0.05)\\n      + .dropdown\\n        pointer-events: none\\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 3rem\\n        height: 3rem\\n        font-size: 1.4rem\\n        line-height: 3rem\\n        text-align: center\\n        \\n  .weekdays\\n    color: $text-color\\n    font-size: 1rem\\n    font-weight: 700\\n    line-height: 2rem\\n    text-align: center\\n    text-transform: uppercase\\n  \\n  .days\\n    button\\n      cursor: pointer\\n      appearance: none\\n      display: block\\n      border: 0\\n      outline: none\\n      margin: 0\\n      padding: 0\\n      width: 100%\\n      height: 2rem\\n      font-size: 1rem\\n      line-height: 2rem\\n      color: inherit\\n      text-align: center\\n      background: transparent\\n      &:not([disabled]):hover\\n        color: $primary-color\\n        background: rgba($primary-color, 0.1)\\n      &.selected, &.selected:hover\\n        color: #ffffff\\n        background: rgba($primary-color, 1)\\n      &[disabled]\\n        opacity: 0.5\\n  \",\"ka-control-backdrop\\n  display: block\\n  position: fixed\\n  top: 0\\n  right: 0\\n  width: 100%\\n  height: 100%\\n  z-index: 1999\\n  background-color: #00000011\\n  [ref=drawer]\\n    display: block !important\\n    position: absolute\\n    z-index: 2000\\n    min-width: fit-content\\n    background-color: #fff\\n    box-shadow: 0 10px 10px -10px rgba(#000, 0.3), 0 5px 15px -5px rgba(0,0,0,0.2), 0 -1px 0 0 rgba($primary-color, 1)\",\"ka-control-file\\n  .display-value\\n  input[type=\\\"file\\\"]\\n    outline: none\\n    position: absolute\\n    top: 0\\n    left: 0\\n    opacity: 0\\n    border: 0\\n    border-radius: 0\\n    padding: 0\\n    width: 100%\\n    height: 3rem\\n  .buttons\\n    display: none\\n    position: absolute\\n    top: 0\\n    right: 0\\n    white-space: nowrap\\n    text-align: right\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    button\\n      display: inline-block\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none\\n      outline: none\\n      cursor: pointer\\n      border: 0\\n      padding: 0\\n      width: 3rem\\n      height: 2.9rem\\n      font-size: 1.4rem\\n      font-weight: bold\\n      line-height: 3rem\\n      color: rgba($text-color, 0.3)\\n      text-align: center\\n      text-decoration: none\\n      background: transparent\\n      transition: all 0.5s\\n      .material-icons\\n        line-height: 3rem\\n        font-size: 2rem\\n      &:hover\\n        color: $primary-color\\n    button + button\\n      box-shadow: inset 1px 0 0 0 rgba($text-color, 0.1)\\n  &:hover .buttons\\n    display: block\\n\",\"ka-control-list\\n  .display-value\\n    background: transparent\\n    box-shadow: inset 0 -1px 0 0 transparent\\n  .item:not(.readonly)\\n    background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%)\\n    box-shadow: inset 0 -1px 0 0 rgba($text-color, 0.3)\\n  .row\\n    margin-left: 0\\n    margin-right: 0\\n    label\\n      display: none\\n  .buttons\\n    display: inline-block\\n    float: right\\n    width: 6rem\\n    height: 3rem\\n    white-space: nowrap\\n    text-align: right\\n    button\\n      display: inline-block\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none\\n      outline: none\\n      cursor: pointer\\n      border: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      font-size: 1.4rem\\n      font-weight: bold\\n      line-height: 3rem\\n      color: rgba($text-color, 0.3)\\n      text-align: center\\n      text-decoration: none\\n      background: transparent\\n      transition: all 0.5s\\n      .material-icons\\n        line-height: 3rem\\n        font-size: 2rem\\n      &:hover\\n        color: $primary-color\",\"ka-control-table\\n  display: block\\n  margin: 1rem 0\\n  h3\\n    padding-left: 0\\n  table.ka-table-like\\n    border: 1px solid #e0e0e0\\n    background-color: #fcfcfc\\n    tbody tr:nth-child(even)\\n      background-color: #fcfcfc\\n    tbody tr\\n      border-bottom: 1px solid #e0e0e0\\n    ka-input\\n      margin: 0\\n      label\\n        display: none\\n    td.ka-tr-tools\\n      width: 5rem\\n      border-left: 1px solid #e0e0e0\\n      text-align: center !important\\n      vertical-align: middle\",\"ka-control-textarea\\n  .display-value\\n    padding-top: 0.4rem !important\\n    padding-bottom: 0.4rem !important\\n    min-height: 10rem\\n    //overflow: hidden\\n    //overflow-y: auto\\n    //white-space: pre\\n    line-height: 1.6 !important\",\"tr.ka-table-filters\\n  border-top: 1px solid #e0e0e0\\n  th\\n    padding: 0 !important\\n    height: 4rem\\n    ka-control\\n      position: absolute\\n      top: 0.5rem\\n      left: 0.5rem\\n      margin: 0\\n      width: calc(100% - 0.75rem)\\n      .display-value, .display-value:hover, .display-value:focus\\n        font-size: 1.1rem\\n        box-shadow: inset 0 0 5px 0 #d0d0d0, inset 0 0 1px 1px #d0d0d0\\n    &:last-of-type\\n      padding-right: 1rem !important\\n      font-size: 1.1rem\\n      font-weight: normal\\n      text-align: right\\n      a\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\",\"ka-progress\\n  &.linear\\n    display: block\\n    position: relative\\n    z-index: 2\\n    height: 3px\\n    background-color: #e0e0e0\\n    overflow: hidden\\n    > div\\n      background-color: $primary-color\\n      &:before\\n        content: ''\\n        position: absolute\\n        background-color: inherit\\n        top: 0\\n        left: 0\\n        bottom: 0\\n        will-change: left, right\\n        // Custom bezier\\n        animation: ka-progress-linear-indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite\\n      &:after\\n        content: ''\\n        position: absolute\\n        background-color: inherit\\n        top: 0\\n        left: 0\\n        bottom: 0\\n        will-change: left, right\\n        // Custom bezier\\n        animation: ka-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite\\n        animation-delay: 1.15s\\n\\n@keyframes ka-progress-linear-indeterminate\\n  0%\\n    left: -35%\\n    right: 100%\\n  60%\\n    left: 100%\\n    right: -90%\\n  100%\\n    left: 100%\\n    right: -90%\\n\\n@keyframes ka-progress-linear-indeterminate-short\\n  0%\\n    left: -200%\\n    right: 100%\\n  60%\\n    left: 107%\\n    right: -8%\\n  100%\\n    left: 107%\\n    right: -8%\",\"$text-color: #404040 !default\\n$primary-color: #1976D2 !default\\n$accent-color: #ff8800 !default\\n$error-color: #ff4400 !default\\n$success-color: #1CC800 !default\\n\\n@import 'ka-mixins'\\n@import 'ka-flex'\\n@import 'ka-navbar'\\n@import 'ka-input'\\n@import 'ka-button-deprecated'\\n@import 'ka-button'\\n@import 'ka-toast'\\n@import 'ka-table'\\n@import 'ka-resource'\\n@import 'ka-dialog'\\n@import 'ka-tabs'\\n@import 'ka-tooltip'\\n\\n@import '../ka-control/ka-control'\\n@import '../ka-control-check/ka-control-check'\\n@import '../ka-control-combo/ka-control-combo'\\n@import '../ka-control-date/ka-control-date'\\n@import '../ka-control-datetime/ka-control-datetime'\\n@import '../ka-datetime/ka-datetime'\\n@import '../ka-control-backdrop/ka-control-backdrop'\\n@import '../ka-control-editor/ka-control-editor'\\n@import '../ka-control-file/ka-control-file'\\n@import '../ka-control-list/ka-control-list'\\n@import '../ka-control-number/ka-control-number'\\n@import '../ka-control-password/ka-control-password'\\n@import '../ka-control-table/ka-control-table'\\n@import '../ka-control-text/ka-control-text'\\n@import '../ka-control-textarea/ka-control-textarea'\\n\\n@import '../ka-table/ka-tableFilters'\\n@import '../ka-progress/ka-progress'\\n\\n*\\n  box-sizing: border-box\\n\\nhtml, body\\n  margin: 0\\n  padding: 0\\n  height: 100%\\n  overflow: hidden\\n\\nhtml\\n  font: 62.5% 'Roboto', sans-serif\\n  background: #f9f9f9\\n\\n/* GLOBAL CLASSES */\\n\\n.hidden\\n  display: none\\n\\n.shadow1\\n  +shadow1\\n\\n/* TYPOGRAPHY */\\n\\nh1\\n  color: $primary-color\\nh2\\n  position: relative\\n  margin: 0 0 1rem\\n  border-top: 1px solid #e0e0e0\\n  border-bottom: 1px solid #e0e0e0\\n  padding: 0 0 0 1rem\\n  line-height: 5rem\\n  font-size: 1.6rem\\n  font-weight: 400\\n  color: $primary-color\\n  text-decoration: none\\n  &:first-child\\n    border-top: 0\\n  &::before\\n    content: \\\" \\\"\\n    display: block\\n    position: absolute\\n    left: 0\\n    top: 0px\\n    z-index: -1\\n    border-radius: 50%\\n    height: 10px\\n    width: 100%\\n    background-color: #000\\n    box-shadow: 0 0 10px rgba(0,0,0,0.2)\\n  &::after\\n    content: \\\" \\\"\\n    display: block\\n    position: absolute\\n    left: 0\\n    top: 0\\n    width: 100%\\n    height: 100%\\n    z-index: -1\\n    background-color: #fcfcfc\\n  > i.material-icons\\n    line-height: 5rem\\n    vertical-align: bottom\\n  > i[class*=\\\"fa\\\"]\\n    margin: 0 1rem 0 -1rem\\n    border-right: 1px solid #e0e0e0\\n    width: 5rem\\n    font-size: 2.5rem\\n    line-height: 5rem\\n    vertical-align: bottom\\n    text-align: center\\n\\n  .ka-button, ka-button\\n    float: right\\nh3\\n  margin: 1rem 0\\n  padding: 0 1rem\\n  line-height: 1.4rem\\n  font-size: 1.4rem\\n  font-weight: 400\\n  color: $primary-color\\n  text-decoration: none\\nh4, h5\\n  color: $text-color\\np\\n  margin: 1rem\\n  font-size: 1.4rem\\n  line-height: 1.6\\n  color: $text-color\\nul, ol\\n  margin: 1rem\\n  padding: 0 0 0 1.5rem\\n  font-size: 1.4rem\\n  line-height: 1.6\\n  color: $text-color\\n  li\\n    margin: 0\\n    padding: 0\\n\\np a, ul a, ol a\\n  color: $text-color\\n\\n.primary-text\\n  color: $primary-color\\n.primary-background\\n  background-color: $primary-color\\n.accent-text\\n  color: $accent-color\\n.accent-background\\n  background-color: $accent-color\\n.error-text\\n  color: $error-color\\n.error-background\\n  background-color: $error-color\\n.success-text\\n  color: $success-color\\n.success-background\\n  background-color: $success-color\\n\\n\\n/* LAYOUT ELEMENTS */\\n\\nrouter-view\\n  display: block\\n  min-height: calc(100% - 5rem)\\n  max-height: calc(100% - 5rem)\\n  overflow-y: auto\\n  transition: all 250ms\\n  -moz-transition: all 250ms\\n  -webkit-transition: all 250ms\\n\\n/* COMPONENTS OVERRIDES */\\n\\nka-resource ka-input,\\nka-resource ka-tab > ka-input,\\nka-resource ka-flex-row ka-tab > ka-input,\\nka-resource ka-flex-col ka-tab > ka-input,\\nka-resource md-input,\\nka-resource ka-tab > md-input,\\nka-resource ka-flex-row ka-tab > md-input,\\nka-resource ka-flex-col ka-tab > md-input\\n  margin-left: 1rem\\n  margin-right: 1rem\\n  width: calc(100% - 2rem)\\nka-resource ka-flex-row ka-input,\\nka-resource ka-flex-col ka-input,\\nka-resource ka-flex-row md-input,\\nka-resource ka-flex-col md-input\\n  margin-left: 0\\n  margin-right: 0\\n  width: 100%\\nka-resource ka-table\\n  margin: 1rem\\n  border: 1px solid #e0e0e0\\n\\n\\nka-flex-col > h2\\n  margin-left: -0.5rem\\n  margin-right: -0.5rem\\nka-flex-col:first-of-type > h2\\n  margin-left: -1.5rem\\nka-flex-col:last-of-type > h2\\n  margin-right: -1.5rem\\n\\nka-tabs ka-tab > ka-table:first-child\\n  margin-top: 0\\nka-tabs ka-tab > ka-input,\\nka-tabs ka-tab > md-input\\n  margin-top: 3rem\\nka-tabs ka-tab > ka-input:first-child,\\nka-tabs ka-tab > md-input:first-child\\n  margin-top: 1.5rem\\n  &.no-label\\n    margin-top: 0\\n\\nh2 + ka-input,\\nh2 + md-input\\n  margin-top: 2.5rem\\n\\nka-flex-row > ka-input + .ka-button, ka-flex-row > ka-input + ka-button,\\nka-flex-row > md-input + .ka-button, ka-flex-row > md-input + ka-button\\n  margin-top: 1.5rem\",\"\\n.md-toast\\n  padding: 2rem\\n  border-radius: 5px\\n  position: absolute\\n  z-index: 9999\\n  left: 50%\\n  bottom: -100%\\n  opacity: 0\\n  background: #353535\\n  box-shadow: inset 0 0 0 1px #000, 0 0 5px rgba(#000, .5)\\n  transform: translateX(-50%)\\n  transition: bottom .8s ease-in-out, opacity .4s ease-in-out\\n  &.visible\\n    opacity: 1\\n    bottom: 2rem\\n\\n  &.platform-messages\\n    display: grid\\n    grid-template-columns: min(12vw, 8rem) 1fr min(12vw, 8rem)\\n    padding: 0\\n    min-height: 8rem\\n    min-width: 30rem\\n    > .icon-box, .closure-box\\n      background: linear-gradient(to bottom, rgba(#fff, .1), rgba(#000, .8))\\n    > .icon-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      border-bottom-left-radius: 4px\\n      border-top-left-radius: 4px\\n      box-shadow: inset -1px 0 0 rgba(#000, .3)\\n      > i\\n        font-size:  min(1vw + 1.4rem, 2rem)\\n        text-shadow: 1px 1px 0 #000\\n    > .closure-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      cursor: pointer\\n      transition: background .3s\\n      border-bottom-right-radius: 4px\\n      border-top-right-radius: 4px\\n      box-shadow: inset 1px 0 0 rgba(#000, .3)\\n      &:before\\n        text-shadow: 1px 1px 0 #000\\n        transition: transform .3s\\n        @include fontawesome('\\\\f00d', 'regular', min(1vw + 1.4rem, 2rem), 0, #e0e0e0)\\n      &:hover\\n        background: linear-gradient(to bottom, rgba(#fff, .1), rgba(#000, 1))\\n        &:before\\n          transform: scale(1.2)\\n    > .content-box\\n      display: flex\\n      align-items: center\\n      position: relative\\n      padding: 1rem\\n      &:before, &:after\\n        display: block\\n        position: absolute\\n        content: ''\\n        height: 100%\\n        width: 100%\\n        top: 0\\n        left: 0\\n      &:before\\n        background: linear-gradient(to bottom, rgba(#fff, .2), rgba(#000, .5))\\n      &:after\\n        background-size: 6px 6px\\n        background-image: repeating-linear-gradient(45deg, rgba(#000, .2) 0, rgba(#000, .2) 1px, rgba(#fff, .01) 0, rgba(#fff, .01) 50%)\\n      > p\\n        display: flex\\n        align-items: center\\n        flex-direction: column\\n        justify-content: space-around\\n        margin: 0\\n        position: relative\\n        z-index: 1\\n        max-height: 100%\\n        min-height: 80%\\n        line-height: 1.3\\n        text-align: center\\n        font-size: min(1vw + .9rem, 1.5rem)\\n        font-family: 'Roboto condensed', sans-serif\\n        font-weight: 300\\n        color: #fff\\n        > a\\n          line-height: 2.2   \\n          font-weight: 300\\n          font-size: min(1vw + .8rem, 1.3rem)\\n          font-family: 'Roboto flex', sans-serif\\n          text-shadow: 1px 1px 0 #000\\n          text-underline-offset: .4rem\\n          white-space: nowrap\\n          transition: all .3s\\n          &:hover\\n            color: #fff\\n\\n@keyframes pulse\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.25)\\n  0%\\n    transform: scale(1)\\n\",\"$asideWidth: 30rem\\n$headerHeight: 6rem\\n// Aside\\n$aside-first-level-list-item-height: 4.8rem\\n$aside-second-level-list-item-height: 4rem\\n$aside-third-level-color: #f0f0f0\\n$aside-third-level-list-item-height: 4rem\\n// Header\\n$header-background-color: #232d3d\\n// Toolbar\\n$current-dropdown-list-item-number: 8\\n$toolbar-dropdown-list-item-min-height: 4.8rem \\n\\n@keyframes badge-pulse\\n  0%\\n    transform: scale(1)\\n  15%\\n    transform: scale(0.8)\\n  30%\\n    transform: scale(1)\\n\",\"@import './km-layout-vars'\\n  \\nkm-layout\\n  position: relative\\n  display: block\\n\\n  aside\\n    display: flex\\n    flex-direction: column\\n    align-content: stretch\\n    position: fixed\\n    z-index: 200\\n    top: 0\\n    left: 0\\n    bottom: 0\\n    height: auto\\n    width: $asideWidth\\n    background: #fff\\n    box-shadow: 1px 0 0 0 rgba($header-background-color, .6)\\n    transition: transform .3s ease-in-out\\n    .menu-level\\n      padding: 1rem\\n      font-size: 1rem\\n      font-weight: 700\\n      text-align: center\\n      text-transform: uppercase\\n      color: #ffffff\\n      background-color: $secondary-color\\n\\n    a:link\\n      color: #404040E6\\n      text-decoration: none     \\n\\n    .km-layout-logo\\n      position: relative\\n      display: block\\n      width: 100%\\n      padding-bottom: 50%\\n      background-position: center\\n      background-repeat: no-repeat\\n      background-size: 75%\\n      transition: background-size .3s ease-in-out\\n      transition-delay: 0.1s\\n      animation: logo-start-animation .8s ease-in-out\\n      &.empty\\n        padding-bottom: 0\\n        height: $headerHeight\\n      &:after\\n        content: ''\\n        position: absolute\\n        z-index: -1\\n        width: 100%\\n        height: 100%\\n        box-shadow: inset 0 -12px 20px 10px rgba(239 0 0 / 4%)\\n        background: linear-gradient(to bottom, rgb(0 0 255 / 4%) 30%, rgb(239 0 0 / 4%) 60%)\\n\\n    nav\\n      height: 100%\\n      overflow-y: auto\\n      overflow-x: hidden\\n      box-shadow: 0 -1px 0 0 rgba(239 0 0 / 30%)\\n      background: $aside-third-level-color\\n      /* Hide scrollbar for Chrome, Safari and Opera */\\n      &::-webkit-scrollbar\\n        display: none\\n      /* Hide scrollbar for IE, Edge and Firefox */\\n      &.example\\n        -ms-overflow-style: none\\n        scrollbar-width: none\\n      ul\\n        list-style: none\\n        margin: 0\\n        padding: 0\\n        width: 100%\\n        background: #fff\\n        li\\n          margin: 0\\n          width: 100%\\n          cursor: pointer\\n          > ul\\n            overflow: hidden\\n            interpolate-size: allow-keywords\\n            transition: height .4s ease-in-out, visibility .4s ease-in-out\\n          > .wrapper\\n            position: relative\\n            z-index: 401\\n            display: flex\\n            align-items: center\\n            width: 100%\\n            transition: transform .6s ease-in-out, color .4s ease-in-out, box-shadow .4s ease-in-out, background .6s ease-in-out\\n            > a,\\n            > span\\n              display: flex\\n              align-items: center\\n              height: 100%\\n              flex-grow: 1\\n              > .label\\n                position: relative\\n\\n        li.static\\n          .wrapper \\n            > * > i.after-icon\\n              margin-left: auto\\n              padding: 0\\n              font-size: 1.2rem\\n              color: $secondary-color\\n          &:hover .wrapper > i\\n            color: darken($primary-color, 5%)\\n        li.expandable\\n          .wrapper \\n            > i\\n              display: flex\\n              align-items: center\\n              margin-left: auto\\n              padding: 0 1.5rem\\n              height: $aside-first-level-list-item-height\\n              font-size: 1.2rem\\n              transition: transform .5s ease-in-out\\n        li.expanded\\n          > ul\\n            height: auto\\n            visibility: visible\\n        li.collapsed\\n          > ul\\n            height: 0\\n            visibility: collapse\\n        li:not(.expandable)\\n          > .wrapper\\n            > a,\\n            > span\\n              > .explanation\\n                display: flex\\n                align-items: center\\n                margin-left: auto\\n                border-radius: 3px\\n                font-size: 1.3rem\\n                height: 2rem\\n                padding: .5rem\\n                color: $secondary-color\\n                text-transform: none\\n                font-weight: 400\\n                font-family: 'Roboto condensed', sans-serif\\n                background: rgba($text-color, .08)\\n              > b\\n                display: flex\\n                align-items: center\\n                margin-left: auto\\n                font-size: 1.2rem\\n                text-align: center\\n                position: relative\\n                line-height: 1\\n                height: 2.2rem\\n                padding: 0 .6rem\\n                border-radius: 3px\\n                font-weight: 600\\n                font-family: 'Roboto mono', sans-serif\\n                color: $secondary-color\\n                background: rgba(#fff, .9)\\n                box-shadow: 0 0 0 1px rgba(#000, .04)\\n                > i\\n                  margin: 0 0 0 .6rem\\n                  font-size: 1.4rem\\n                  color: $primary-color\\n                &:not(.custom):after\\n                  content: \\\"\\\\f06a\\\"\\n                  display: inline-block\\n                  font-size: 1.4rem\\n                  font-style: normal\\n                  font-weight: 400\\n                  font-variant: normal\\n                  text-rendering: auto\\n                  margin: 0 0 0 .5rem\\n                  -webkit-font-smoothing: antialiased\\n                  font-family: \\\"Font Awesome 5 Pro\\\"\\n                  color: $primary-color\\n                  vertical-align: top\\n                  animation: badge-pulse 1s ease-in-out infinite alternate\\n\\n      ul.first-level\\n        box-shadow: 0 4px 4px 0 rgba(#000, .2)\\n        > li          \\n          > .wrapper\\n            font-weight: 700\\n            font-size: 1.3rem\\n            text-transform: uppercase\\n            background: transparent\\n            height: $aside-first-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba($header-background-color, .6)              \\n            &:hover > * > .label:before\\n              width: 100%\\n            > a,\\n            > span\\n              padding: 0 1.5rem\\n              color: darken($secondary-color, 5%)\\n              > .label:before\\n                display: block\\n                content: ''\\n                position: absolute\\n                bottom: 0\\n                left: 0\\n                width: 0\\n                height: 1px \\n                background: rgba($secondary-color, .6)\\n                transition: width .5s ease\\n              > i.before-icon\\n                padding: 0 .7rem 0 0\\n                margin-bottom: .2rem\\n                font-size: 1.6rem\\n                color: lighten($secondary-color, 10%)\\n                &.animated\\n                  animation: first-level-before-icon 10s ease-in-out infinite\\n                &.primary\\n                  color: darken($primary-color, 5%)\\n              > i.svg-icon\\n                margin: 0 .7rem 0 0\\n                width: 2rem\\n                height: -moz-available\\n                height: -webkit-fill-available\\n                height: stretch\\n                background-position: 0 45%\\n                background-repeat: no-repeat\\n        > li.expanded > ul.second-level > li:first-of-type > .wrapper\\n          box-shadow: inset 0 -1px 0 0 rgba(#000, .2), inset 1px 4px 4px 0 rgba($header-background-color, .2)\\n        > li:first-of-type > .wrapper\\n          box-shadow: inset 0 -1px 0 0 rgba(#000, .5)\\n        > li.expanded > .wrapper > i\\n          transform: scale(1) rotate(180deg)\\n        > li.collapsed > .wrapper > i\\n          transform: scale(1) rotate(0deg)\\n\\n      ul.second-level\\n        background: $aside-third-level-color\\n        > li\\n          > .wrapper\\n            font-weight: 400\\n            font-size: 1.4rem\\n            font-family: 'Roboto slab', serif\\n            height: $aside-second-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba(#000, .2)\\n            > a,\\n            > span\\n              padding: 0 1.5rem 0 1.5rem\\n              color: $text-color\\n              > i.after-icon\\n                font-size: 1.2rem\\n                margin-left: auto\\n                color: $secondary-color\\n          &:not(.expandable) > .wrapper\\n            font-family: 'Roboto condensed', sans-serif\\n            &:hover\\n              background: rgba($secondary-color, .06)\\n          > ul.third-level\\n            > li:first-of-type\\n              > .wrapper\\n                box-shadow: inset 0 -1px 0 0 rgba(#000, .2), inset 0 1px 5px -2px rgba(#000, .2)\\n        li.expanded > .wrapper > i\\n          transform: rotate(180deg)\\n        li.collapsed > .wrapper > i\\n          transform: rotate(0deg)\\n        > li.expandable\\n          background: #fff\\n          .wrapper > i\\n            color: rgba($text-color, .6)\\n        > li.highlighted\\n          > .wrapper\\n            > a,\\n            > span\\n              font-size: 1.5rem\\n              color: darken($primary-color, 3%)\\n\\n      ul.third-level\\n        background: $aside-third-level-color\\n        > li\\n          > .wrapper\\n            font-weight: 400\\n            font-size: 1.4rem\\n            font-family: 'Roboto condensed', sans-serif\\n            height: $aside-third-level-list-item-height\\n            box-shadow: inset 0 -1px 0 0 rgba(#000, .2)\\n            > a,\\n            > span\\n              color: rgba(#000, .7)\\n              padding: 0 1.5rem 0 2rem\\n              > i.after-icon\\n                font-size: 1.3rem\\n                margin-left: auto\\n                color: $secondary-color\\n              > .label\\n                &:before\\n                  display: inline-block\\n                  margin: 0 .7rem 0 0\\n                  content: ''\\n                  width: 3px\\n                  height: 3px\\n                  border-radius: 50%\\n                  background: rgba(#000, .5)\\n                  vertical-align: middle\\n                  transition: color .6s ease\\n        > li.highlighted\\n          > .wrapper \\n            > a,\\n            > span\\n              font-weight: 600\\n              color: $secondary-color\\n              letter-spacing: .01rem\\n              > span\\n                &:before\\n                  width: 3.5px\\n                  height: 3.5px\\n                  background: darken($primary-color, 3%)\\n\\n\\n      ul.second-level, ul.third-level\\n        > li\\n          > .wrapper\\n            > * > .label:after\\n              display: block\\n              content: ''\\n              position: absolute\\n              bottom: 1px\\n              left: 0\\n              width: 0\\n              height: 1px \\n              background: rgba(#000, .5)\\n              transition: width .6s ease\\n            &:hover\\n              > * > .label:after\\n                width: 100%\\n      ul.second-level > li.highlighted > .wrapper > * > .label:after\\n        background: rgba($primary-color, .5)\\n      ul.third-level > li\\n        > .wrapper\\n          > * > .label:after\\n            left: 1rem\\n          &:hover > * > .label:after\\n            width: calc(100% - 1rem)\\n        &:not(.expandable) > .wrapper:hover\\n          background: rgba($secondary-color, .07)\\n        &:not(.highlighted) > .wrapper:hover > * > .label:before\\n          background: #000\\n    div[slot=\\\"afterNav\\\"]\\n      background: $aside-third-level-color\\n  @keyframes first-level-before-icon\\n    0%\\n      opacity: 0\\n      transform: translateX(-200%)\\n    3%\\n      opacity: 1\\n      transform: translateX(0%)\\n    96%\\n      opacity: 1\\n    100%\\n      opacity: 0\\n\\n  @keyframes logo-start-animation\\n    0%\\n      opacity: 0\\n      background-size: 300%\\n    30%\\n      opacity: 0\\n      background-size: 300%\\n    100%\\n      opacity: 1\\n      background-size: 75%\\n\",\"@import './km-layout-vars'\\n  \\nkm-layout\\n  header\\n    position: fixed\\n    top: 0\\n    right: 0\\n    left: 0\\n    z-index: 1\\n    padding-left: 1rem\\n    height: $headerHeight\\n    display: flex\\n    flex-direction: row\\n    justify-content: space-between\\n    align-items: center\\n    color: #fff\\n    background: $header-background-color\\n    *\\n      color: inherit\\n    h1\\n      display: block\\n      margin: 0 1rem 0 0\\n      font-size: min(1rem + 1.5vw, 2.8rem)\\n      font-weight: 100\\n      font-family: 'Roboto flex', sans-serif\\n      overflow: hidden\\n      text-overflow: ellipsis\\n      white-space: nowrap\\n\\n    .km-layout-info-box\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      margin-left: auto\\n      > .wrapper\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        border-radius: 2px\\n        padding: .5rem 1.2rem\\n        font-size: 1.1rem\\n        font-weight: 800\\n        line-height: 1.1\\n        color: $secondary-color\\n        text-transform: uppercase\\n        background: #fff\\n        > div\\n          margin-left: 1.2rem\\n          padding-left: 1.6rem\\n          white-space: nowrap\\n          box-shadow: inset 1px 0 0 rgba($secondary-color, .5)\\n          font-size: 1.2rem\\n          font-weight: 500\\n          font-family: 'Roboto condensed', sans-serif\\n          > strong\\n            font-weight: 700\\n            color: $error-color\\n        > i\\n          font-size: 2.8rem\\n          color: $error-color\\n      @media screen and (max-width: 1400px)\\n        display: none\\n\\n    .km-layout-user\\n      position: relative\\n      display: flex\\n      flex-direction: row\\n      align-items: center\\n      flex-shrink: 0\\n      margin-left: auto\\n      overflow: hidden\\n      > span\\n        border-radius: 50%\\n        width: min(2rem + 2.2vw, 4.2rem)\\n        height: min(2rem + 2.2vw, 4.2rem)\\n        overflow: hidden\\n        margin-left: 1rem\\n        background: rgba(#000, .1)\\n        box-shadow: inset 0 0 0 1px rgba(#fff, 1)\\n      > span.profile-icon\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        > i\\n          font-size: min(1rem + 1vw, 2.1rem)\\n      > span.profile-picture\\n        background-position: 50% 50%\\n        background-size: cover\\n        background-repeat: no-repeat\\n      > div.user-profile\\n        display: flex\\n        align-items: flex-start\\n        justify-content: center\\n        flex-direction: column\\n        padding: 0 1rem\\n        font-size: 1.3rem\\n        line-height: 1.5rem\\n        height: $headerHeight\\n        cursor: pointer\\n        > strong.user-name-title\\n          align-self: flex-start\\n          font-size: min(1rem + .5vw, 1.4rem)\\n          line-height: 1.3\\n          font-weight: 600\\n          text-transform: uppercase\\n          letter-spacing: .05rem\\n          font-family: 'Roboto flex', sans-serif\\n          color: #fff\\n        > span\\n          display: block\\n          &.displayName\\n            font-weight: 70\\n          &.user-name\\n            max-width: 15vw\\n            text-overflow: ellipsis\\n            white-space: nowrap\\n            overflow: hidden\\n            font-weight: 200\\n            font-size: min(1rem + .5vw, 1.5rem)\\n            line-height: 1.3\\n            color: rgba(#fff, .8)\\n            font-family: 'Roboto condensed', sans-serif\\n          &.impersonation\\n            border-radius: 2px\\n            padding: 0.5rem\\n            font-size: 11px\\n            font-weight: 700\\n            line-height: 1\\n            color: red\\n            text-transform: uppercase\\n            background-color: #ffffff\\n            box-shadow: 0 0 10px #00000066\\n\\n      > a\\n        display: flex\\n        position: absolute\\n        flex-direction: row\\n        align-items: center\\n        justify-content: center\\n        top: calc($headerHeight * 1)\\n        right: 0\\n        width: 100%\\n        height: 100%\\n        font-size: 1.5rem\\n        text-decoration: none\\n        color: #fff\\n        opacity: .5\\n        font-weight: 200\\n        font-family: 'Roboto flex', sans-serif\\n        text-decoration: underline\\n        text-underline-offset: .4rem\\n        text-decoration-color: rgba(#fff, .4)\\n        background: #181f2b\\n        transition: top .5s ease, opacity .5s ease\\n        box-shadow: inset 1px 0 0 0 rgba(#fff, .2)\\n      &:hover > a\\n        top: 0\\n        opacity: 1\\n\\n  aside + header\\n    left: $asideWidth\\n    transition: all .3s ease-in-out\\n    transition-delay: .1s\\n  & + router-view\\n    position: fixed\\n    top: $headerHeight\\n    right: 0\\n    bottom: 0\\n    left: $asideWidth\\n    transition: left .3s ease-in-out\\n    transition-delay: .2s\\n  \\n  &.collapsed aside\\n    transform: translateX(-100%)\\n    .km-layout-logo\\n      background-size: 200%\\n      transition-delay: .3s\\n  &.collapsed aside+header\\n    padding-left: $headerHeight\\n    left: 0\\n    transition-delay: 0s\\n  &.collapsed+router-view\\n    left: 0\\n    transition-delay: 0s\\n\\n@media screen and (max-width: 860px)\\n  km-layout\\n    aside+header\\n      padding-left: $headerHeight\\n      left: 0\\n    &+router-view\\n      left: 0\\n@media screen and (max-width: 620px)\\n  km-layout\\n    header\\n      .km-layout-user\\n        display: none\\n\",\"@import './km-layout-vars'\\n  \\n$headerHeight: 60px\\n$headerWidth: min(3rem + 3vw, $headerHeight)\\nkm-layout\\n  header\\n    .km-layout-toolbar\\n      display: flex\\n      flex-direction: row\\n      align-items: center\\n      > button, > .button\\n        position: relative\\n        display: flex\\n        flex-direction: column\\n        align-items: center\\n        justify-content: center\\n        appearance: none\\n        -moz-appearance: none\\n        -webkit-appearance: none\\n        outline: none\\n        cursor: pointer\\n        margin: 0\\n        border: 0\\n        padding: 0\\n        width: $headerWidth\\n        height: $headerHeight\\n        font-size: 13px\\n        font-weight: 700\\n        line-height: 1\\n        color: #fff\\n        text-decoration: none\\n        background: rgba(#000, .3)\\n        box-shadow: inset 1px 0 0 0 rgba(#fff, .2)\\n        transition: all 0.3s ease-in-out\\n        i\\n          display: block\\n          font-size: min(1.5rem + 1vw, 2.5rem)\\n        span\\n          display: block\\n          font-size: min(.5rem + .5vw, 1rem)\\n          letter-spacing: .05rem\\n          font-weight: 300\\n          text-transform: uppercase\\n          opacity: 0\\n          font-family: 'Roboto condensed', sans-serif\\n        i+span\\n          height: 0\\n          overflow: hidden\\n          opacity: 0\\n          transition: all 0.3s ease-in-out\\n        &:hover i+span\\n          margin-top: 5px\\n          height: 10px\\n          opacity: .8\\n        b\\n          display: flex\\n          align-items: center\\n          justify-content: center\\n          position: absolute\\n          padding: 0 .5rem\\n          top: 4px\\n          right: 4px\\n          border-radius: 50%\\n          min-width: 24px\\n          height: 24px\\n          font-size: 1.2rem\\n          font-weight: 500\\n          color: darken($error-color, 5%)\\n          text-align: center\\n          background: #fff\\n          font-family: 'Roboto condensed', sans-serif\\n          animation: badge-pulse 1s ease-in-out infinite alternate\\n      > .button b\\n        letter-spacing: -.3px\\n      .notifications-error a[href=\\\"notifiche\\\"] > b\\n        font-size: 1.4rem\\n        color: $secondary-color\\n      > ul[data-subtool]\\n        position: absolute\\n        top: $headerHeight\\n        margin: 0\\n        padding: 0\\n        list-style: none\\n        max-height: 0\\n        overflow: hidden\\n        background: $header-background-color\\n        transition: max-height .6s ease-in-out\\n        &.visible\\n          max-height: calc(#{$toolbar-dropdown-list-item-min-height} * #{$current-dropdown-list-item-number})\\n        li\\n          margin: 0\\n          padding: 0\\n          a\\n            display: flex\\n            align-items: center\\n            padding: 0 2rem\\n            font-size: 1.4rem\\n            color: #fff\\n            height: $toolbar-dropdown-list-item-min-height\\n            text-decoration: none\\n            background-color: rgba(#000,0.15)\\n            box-shadow: inset 0 2px 0 -1px rgba(#fff,0.3)\\n            transition: all 0.3s ease-in-out     \\n            > i\\n              margin-right: 1rem\\n              font-size: 2rem\\n              width: 2.5rem\\n              color: rgba(#fff, .8)\\n            > i.svg-icon\\n              margin-right: 1.1rem\\n              width: 2.3rem\\n              height: -moz-available\\n              height: -webkit-fill-available\\n              height: stretch\\n              background-position: center\\n              background-repeat: no-repeat\\n            > .label\\n              position: relative\\n              &:before\\n                display: block\\n                content: ''\\n                position: absolute\\n                bottom: -1px\\n                left: 0\\n                width: 0\\n                height: 1px \\n                background: #fff\\n                transition: width .3s ease\\n            &:hover\\n              background-color: rgba(#000, .3)   \\n              > .label:before\\n                width: 100%\\n          &:first-of-type > a\\n            box-shadow: none\\n          \",\"@import './km-layout-vars'\\n@import './km-layout-aside'\\n@import './km-layout-header'\\n@import './km-layout-toolbar'\\n\\nkm-layout\\n  .km-layout-burger \\n    display: block\\n    position: fixed\\n    top: #{$headerHeight/2-20}\\n    left: #{$headerHeight/2-20}\\n    width: 4rem\\n    height: 4rem\\n    cursor: pointer\\n    z-index: 100\\n    text-align: center\\n    color: $primary-color\\n    .material-icons\\n      font-size: 2.8rem\\n      color: darken($primary-color, 5%)\\n      line-height: 4rem\\n      transition: color .3s ease-in-out\\n  &.collapsed\\n    .km-layout-burger\\n      color: #fff\\n      .material-icons\\n        color: #fff\\n\",\"body > .md-tooltip\\n  display: block\\n  position: absolute\\n  content: attr(ka-tooltip)\\n  z-index: 1100\\n  padding: 0.5rem\\n  border-radius: 2px\\n  border: 1px solid #e0e0e0\\n  max-width: 20rem\\n  line-height: 1.2rem\\n  font-size: 1rem !important\\n  opacity: 0\\n  color: #606060\\n  background: #f9f9f9\\n  transform: translateX(-50%)\\n  box-shadow: 0 3px 6px -3px rgba(#000,0.5)\\n  pointer-events: none\\n  transition: opacity 0.5s\\n  &.visible\\n    opacity: 1\\n  ul \\n    margin: -0.5rem\\n    padding: 0\\n    list-style: none\\n    li\\n      border-bottom: 1px solid #e0e0e0\\n      padding: 0.5rem\\n      font-size: 1rem\\n      line-height: 1.3\\n      &:last-of-type\\n        border-bottom: 0\\n\\nka-input[md-tooltip], md-input[md-tooltip], ka-control[md-tooltip], md-control[md-tooltip]\\n  i.tooltip-icon\\n    margin-left: 0\\n    font-size: 1.5rem\\n    cursor: pointer\\n    transition: color .3s\\n    vertical-align: bottom\\n  span + i.tooltip-icon\\n    margin-left: .4rem\\n    vertical-align: sub\\n  i.tooltip-icon:hover\\n    color: $primary-color\\n\",\"*[static-tooltip]\\n  display: inline-flex\\n  align-items: flex-start\\n  line-height: inherit\\n  cursor: pointer\\n  transition: color .3s\\n  &:not(.has-custom-icon):after\\n    margin-left: 0.5rem !important\\n    @include fontawesome(\\\"\\\\f059\\\", \\\"regular\\\", inherit, 0 .5rem 0 0, $primary-color)\\n  &:hover\\n    color: $primary-color\\n  > i\\n    display: flex\\n    text-decoration: none\\n\\nbody > .static-tooltip\\n  font-size: 1.2rem\\n  color: #fff\\n  pointer-events: auto\\n  > .header\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    margin-bottom: .8rem\\n    padding: 0 0 1rem\\n    border-bottom: 1px dotted rgba(#fff, .3)\\n    > .header-title \\n      display: flex\\n      align-items: flex-end\\n      > i\\n        margin: 0 !important\\n        > svg\\n          width: 2.2rem\\n          height: 2.2rem\\n          margin: 0 !important\\n      > h3\\n        margin: 0\\n        padding: 0 1rem 0 .6rem\\n        font-size: 1.5rem\\n        font-weight: 500\\n        color: #fff\\n        order: 2\\n        font-family: 'Roboto flex', sans-serif\\n    > .closure:before\\n      cursor: pointer\\n      @include fontawesome(\\\"\\\\f2d3\\\", \\\"solid\\\", 1.7rem, 0, rgba(#fff, .95))\\n  > .value \\n    > p\\n      margin: 0\\n      font-size: 1.2rem\\n      color: #fff\\n      > strong\\n        font-size: 1.4rem\\n        font-weight: 400\\n        font-family: 'Roboto condensed', sans-serif\\n      > a\\n        font-weight: 300\\n        font-size: 1.4rem\\n        font-family: 'Roboto condensed', sans-serif\\n        text-underline-offset: .4rem\\n        color: #ffa150\\n        text-shadow: 1px 1px 0 #000\\n        &:hover\\n          color: #fff\\n        &:before\\n          @include fontawesome('\\\\f08e', 'regular', 1.3rem, 0 .5rem 0 0, #ffa150)\\n\",\"km-layout:not(.collapsed) + router-view\\n  & + .ka-toast, & + style + .ka-toast\\n    left: calc(50% + 15rem) !important\\n    transform: translate(-50%, calc(100% + 3rem)) !important\\n    &.visible\\n      transform: translate(-50%, 0) !important\\n  \\n.ka-toast\\n  position: fixed\\n  right: auto\\n  top: auto\\n  bottom: 2rem\\n  left: 50%\\n  z-index: 2000\\n  border: 0\\n  border-radius: 5px\\n  padding: 2rem\\n  overflow: hidden\\n  font-size: 1.3rem\\n  line-height: 1rem\\n  text-align: center\\n  color: #e0e0e0\\n  text-shadow: 0 0 5px #1a1a1a\\n  background-color: #404040\\n  box-shadow: inset 0 0 0 1px #101010, 0 0 10px rgba(#000, 0.5)\\n  transform: translate(-50%, calc(100% + 3rem))\\n  transition: all 0.5s\\n  &.visible\\n    transform: translate(-50%, 0)\\n  a\\n    color: #e0e0e0\\n\\n  &:before\\n    display: block\\n    position: absolute\\n    top: 0\\n    left: 0\\n    width: 5rem\\n    height: 5rem\\n    font-style: normal\\n    font-variant: normal\\n    font-size: 2rem\\n    line-height: 5rem\\n    text-align: center\\n    text-rendering: auto\\n    -webkit-font-smoothing: antialiased\\n\\n  &.ka-toast-loading\\n    padding-left: 4rem\\n    color: #ffffff\\n    background-color: #202020\\n    &:before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f1ce\\\"\\n      -webkit-animation: fa-spin 2s infinite linear\\n      animation: fa-spin 2s infinite linear\\n\\n  &.ka-toast-error\\n    padding-left: 4rem\\n    color: $error-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f06a\\\"\\n    &::after\\n      content: \\\" \\\"\\n      display: block\\n      border-radius: 5px\\n      position: absolute\\n      inset: 0 0 0 0\\n      box-shadow: inset 0 0 0 1px #202020, inset 0 0 0 2px rgba($error-color, 0.5)\\n\\n  &.ka-toast-success\\n    padding-left: 4rem\\n    color: $success-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f058\\\"\\n\\n  &.ka-toast-accent, &.ka-toast-warning\\n    color: $accent-color\\n    background-color: #202020\\n    &::before\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-weight: 900\\n      content: \\\"\\\\f071\\\"\\n\\n  &.ka-toast-primary\\n    color: $primary-color\\n    background-color: #202020\\n\\n@keyframes animate-katoast-icon\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.5)\\n  0%\\n    transform: scale(1)\\n\",\"#serverStatus, #appUpdate\\n  position: fixed\\n  left: 0\\n  bottom: 0\\n  width: 100vw\\n  height: 5rem\\n  line-height: 5rem\\n  z-index: 200\\n  font-size: 1.4rem\\n  font-weight: 300\\n  color: #fff\\n  text-align: center\\n  background: $error-color\\n  text-shadow: 1px 1px 0 rgba(0, 0, 0, .8)\\n  box-shadow: 0 0 10px rgba(0, 0, 0, .2)\\n  &#appUpdate\\n    display: flex\\n    align-items: center\\n    justify-content: center\\n    strong:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, #fff)\\n    ka-button\\n      text-shadow: none\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.clause{margin:0 2rem}.clause ka-control{display:block;padding:0 !important;margin:0 !important}.clause ka-control .description{font-weight:bold}.clause p{font-size:1.3rem;margin:0;white-space:pre-line}.clause+.clause{margin-top:2rem !important}.agreement .content{margin:2rem 1rem 0 1rem}.agreement .content>h2,.agreement .content h3{border:none;margin:1rem 0;color:#404040;font-weight:bold;font-size:1.6rem;line-height:1}.agreement .content>h2:before,.agreement .content>h2:after,.agreement .content h3:before,.agreement .content h3:after{border:none;box-shadow:none;background:rgba(0,0,0,0)}.agreement .content>h3{margin:1rem 0;font-size:1.4rem}.agreement .content>h4{margin:1rem 0;padding:0 0 0 1rem;font-size:1.4rem}.agreement .content h2+h3{margin-top:0;font-weight:normal;color:#ed5a23}.agreement .content h2+h4{font-weight:normal;color:#ed5a23}.agreement .content p+h2,.agreement .content p+h3,.agreement .content p+h4{margin-top:2rem}.agreement .content>p:last-child{margin-bottom:2rem}.agreement .content+.clauses{margin-top:1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/_agreement/agreement.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,QACE,aAAA,CACA,mBACE,aAAA,CACA,oBAAA,CACA,mBAAA,CACA,gCACE,gBAAA,CACJ,UACE,gBAAA,CACA,QAAA,CACA,oBAAA,CACJ,gBACE,0BAAA,CAGA,oBACE,uBAAA,CACA,8CACE,WAAA,CACA,aAAA,CACA,aCxBO,CDyBP,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,sHACE,WAAA,CACA,eAAA,CACA,wBAAA,CACJ,uBACE,aAAA,CACA,gBAAA,CACF,uBACE,aAAA,CACA,kBAAA,CACA,gBAAA,CACF,0BACE,YAAA,CACA,kBAAA,CACA,aCzCU,CD0CZ,0BACE,kBAAA,CACA,aC5CU,CD6CZ,2EACE,eAAA,CACF,iCACE,kBAAA,CACJ,6BACE,eAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n.clause\\n  margin: 0 2rem\\n  ka-control\\n    display: block\\n    padding: 0 !important\\n    margin: 0 !important\\n    .description \\n      font-weight: bold\\n  p\\n    font-size: 1.3rem \\n    margin: 0\\n    white-space: pre-line\\n.clause + .clause \\n  margin-top: 2rem !important\\n\\n.agreement\\n  .content\\n    margin: 2rem 1rem 0 1rem\\n    > h2, h3\\n      border: none\\n      margin: 1rem 0\\n      color: $text-color\\n      font-weight: bold\\n      font-size: 1.6rem\\n      line-height: 1\\n      &:before, &:after\\n        border: none \\n        box-shadow: none \\n        background: transparent\\n    > h3 \\n      margin: 1rem 0 \\n      font-size: 1.4rem\\n    > h4 \\n      margin: 1rem 0 \\n      padding: 0 0 0 1rem \\n      font-size: 1.4rem\\n    h2 + h3 \\n      margin-top: 0 \\n      font-weight: normal \\n      color: $primary-color\\n    h2 + h4 \\n      font-weight: normal\\n      color: $primary-color\\n    p + h2, p + h3, p + h4 \\n      margin-top: 2rem\\n    > p:last-child \\n      margin-bottom: 2rem\\n  .content + .clauses \\n    margin-top: 1rem\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.login,router-view.password-recovery,router-view.account-delete{min-height:100%;max-height:100%;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.login .wrapper,router-view.password-recovery .wrapper,router-view.account-delete .wrapper{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;flex-direction:column;-ms-flex-direction:column;-moz-flex-direction:column;-webkit-flex-direction:column;padding-top:102px}router-view.login .wrapper .loginbox,router-view.password-recovery .wrapper .loginbox,router-view.account-delete .wrapper .loginbox{position:relative;border-radius:3px;padding:2rem;width:300px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.login .wrapper .loginbox header,router-view.password-recovery .wrapper .loginbox header,router-view.account-delete .wrapper .loginbox header{display:block;padding-bottom:1rem;text-align:center;box-shadow:0 10px 5px -10px rgba(0,0,0,.1)}router-view.login .wrapper .loginbox header img,router-view.password-recovery .wrapper .loginbox header img,router-view.account-delete .wrapper .loginbox header img{display:block;margin:0 auto;margin-bottom:1rem;width:100%;max-width:250px}router-view.login .wrapper .loginbox .form,router-view.password-recovery .wrapper .loginbox .form,router-view.account-delete .wrapper .loginbox .form{padding:2rem 0}router-view.login .wrapper .loginbox p,router-view.password-recovery .wrapper .loginbox p,router-view.account-delete .wrapper .loginbox p{border-radius:.5rem;background-color:rgba(var(--bs-warning-rgb), 0.5);margin:0 0 2rem 0}router-view.login .wrapper .loginbox p.errorMessage,router-view.password-recovery .wrapper .loginbox p.errorMessage,router-view.account-delete .wrapper .loginbox p.errorMessage{margin:-2rem 0 2rem;color:red}router-view.login .wrapper .loginbox button,router-view.login .wrapper .loginbox ka-button,router-view.password-recovery .wrapper .loginbox button,router-view.password-recovery .wrapper .loginbox ka-button,router-view.account-delete .wrapper .loginbox button,router-view.account-delete .wrapper .loginbox ka-button{margin:0}router-view.login .wrapper .loginbox .reset a,router-view.login .wrapper .loginbox .reset i,router-view.password-recovery .wrapper .loginbox .reset a,router-view.password-recovery .wrapper .loginbox .reset i,router-view.account-delete .wrapper .loginbox .reset a,router-view.account-delete .wrapper .loginbox .reset i{display:inline-block;font-size:1.2rem;line-height:3rem;color:#909090;text-decoration:none}router-view.login .wrapper .loginbox .reset a:hover,router-view.login .wrapper .loginbox .reset i:hover,router-view.password-recovery .wrapper .loginbox .reset a:hover,router-view.password-recovery .wrapper .loginbox .reset i:hover,router-view.account-delete .wrapper .loginbox .reset a:hover,router-view.account-delete .wrapper .loginbox .reset i:hover{text-decoration:underline}router-view.login .wrapper .loginbox canvas,router-view.password-recovery .wrapper .loginbox canvas,router-view.account-delete .wrapper .loginbox canvas{display:block;margin:0 1rem 1rem;width:100%;max-width:250px}router-view.login .wrapper .loginbox footer p,router-view.password-recovery .wrapper .loginbox footer p,router-view.account-delete .wrapper .loginbox footer p{margin:5px 0;line-height:1;text-align:right}router-view.login .wrapper .loginbox footer p.title,router-view.password-recovery .wrapper .loginbox footer p.title,router-view.account-delete .wrapper .loginbox footer p.title{margin-bottom:0;font-size:1.8rem;font-weight:300;color:#ed5a23}router-view.login .wrapper .loginbox footer a,router-view.password-recovery .wrapper .loginbox footer a,router-view.account-delete .wrapper .loginbox footer a{color:#404040}router-view.login .wrapper .loginbox footer i.fas.fa-lock-alt::before,router-view.password-recovery .wrapper .loginbox footer i.fas.fa-lock-alt::before,router-view.account-delete .wrapper .loginbox footer i.fas.fa-lock-alt::before{display:inline-block;margin-right:.5rem;border-radius:50%;width:3rem;height:3rem;font-size:1.4rem;line-height:3rem;text-align:center;vertical-align:middle;background-color:#fff;box-shadow:inset 0 0 0 1px #e0e0e0}router-view.login .wrapper .outbox,router-view.password-recovery .wrapper .outbox,router-view.account-delete .wrapper .outbox{padding-top:2rem;text-align:center}router-view.login .wrapper .outbox p,router-view.password-recovery .wrapper .outbox p,router-view.account-delete .wrapper .outbox p{margin:1rem 0;color:#11254b}router-view.login .wrapper .outbox p+.ka-button,router-view.password-recovery .wrapper .outbox p+.ka-button,router-view.account-delete .wrapper .outbox p+.ka-button{margin-top:0}router-view.login .wrapper .outbox .toggler,router-view.password-recovery .wrapper .outbox .toggler,router-view.account-delete .wrapper .outbox .toggler{display:block;cursor:pointer;padding:0;font-size:1.2rem;line-height:2rem;color:#ed5a23;text-decoration:none}router-view.login .wrapper .outbox .toggler:hover,router-view.password-recovery .wrapper .outbox .toggler:hover,router-view.account-delete .wrapper .outbox .toggler:hover{text-decoration:underline}router-view.login .wrapper .scope,router-view.password-recovery .wrapper .scope,router-view.account-delete .wrapper .scope{position:absolute;left:0;right:0;bottom:0;font-size:11px;font-weight:700;color:#d0d0d0;text-align:center;text-transform:uppercase}router-view.password-recovery .wrapper .loginbox .form{padding-bottom:0 !important;box-shadow:none}router-view.login .wrapper .loginbox .form{box-shadow:0 10px 5px -10px rgba(0,0,0,.1)}router-view.account-delete .wrapper .loginbox .form{padding:2rem 0 1rem}router-view.account-delete .wrapper .loginbox .form p{margin-bottom:0;background-color:rgba(0,0,0,0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/accesso/login.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AACA,2EACE,eAAA,CACA,eAAA,CACA,kFAAA,CAEA,sGACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,mBAAA,CACA,oBAAA,CACA,iBAAA,CACA,mBAAA,CACA,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,kBAAA,CACA,cAAA,CACA,uBAAA,CACA,oBAAA,CACA,8BAAA,CACA,2BAAA,CACA,sBAAA,CACA,wBAAA,CACA,qBAAA,CACA,0BAAA,CACA,uBAAA,CACA,kBAAA,CACA,qBAAA,CACA,yBAAA,CACA,0BAAA,CACA,6BAAA,CACA,iBAAA,CAEA,oIACE,iBAAA,CACA,iBAAA,CACA,YAAA,CACA,WAAA,CACA,wBAAA,CACA,mEAAA,CACA,yJACE,aAAA,CACA,mBAAA,CACA,iBAAA,CACA,0CAAA,CACA,qKACE,aAAA,CACA,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CACJ,sJACE,cAAA,CACF,0IACE,mBAAA,CACA,iDAAA,CACA,iBAAA,CACF,iLACE,mBAAA,CACA,SAAA,CAEF,2TACE,QAAA,CAEF,8TACE,oBAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,oBAAA,CACA,kWACE,yBAAA,CAEJ,yJACE,aAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CAGA,+JACE,YAAA,CACA,aAAA,CACA,gBAAA,CACA,iLACE,eAAA,CACA,gBAAA,CACA,eAAA,CACA,aC3FI,CD4FR,+JACE,aC9FG,CD+FL,uOACE,oBAAA,CACA,kBAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,qBAAA,CACA,qBAAA,CACA,kCAAA,CAEN,8HACE,gBAAA,CACA,iBAAA,CACA,oIACE,aAAA,CACA,aC/GU,CDgHZ,qKACE,YAAA,CACF,yJACE,aAAA,CACA,cAAA,CACA,SAAA,CACA,gBAAA,CACA,gBAAA,CACA,aCzHQ,CD0HR,oBAAA,CACA,2KACE,yBAAA,CAEN,2HACE,iBAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,iBAAA,CACA,wBAAA,CAGJ,uDACE,2BAAA,CACA,eAAA,CAEF,2CACE,0CAAA,CAEF,oDACE,mBAAA,CACA,sDACE,eAAA,CACA,8BAAA\",\"sourcesContent\":[\"@import ../../static/vars\\nrouter-view.login, router-view.password-recovery, router-view.account-delete\\n  min-height: 100%\\n  max-height: 100%\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n\\n  .wrapper\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    display: -webkit-box\\n    display: -webkit-flex\\n    display: -moz-flex\\n    display: -ms-flexbox\\n    display: flex\\n    -webkit-flex-wrap: wrap\\n    -moz-flex-wrap: wrap\\n    -ms-flex-wrap: wrap\\n    flex-wrap: wrap\\n    -webkit-box-pack: center\\n    -ms-flex-pack: center\\n    -webkit-justify-content: center\\n    -moz-justify-content: center\\n    justify-content: center\\n    -webkit-box-align: center\\n    -ms-flex-align: center\\n    -webkit-align-items: center\\n    -moz-align-items: center\\n    align-items: center\\n    flex-direction: column\\n    -ms-flex-direction: column\\n    -moz-flex-direction: column\\n    -webkit-flex-direction: column\\n    padding-top: 102px // it os centered but moved 102px up cause the 'register now' button\\n\\n    .loginbox\\n      position: relative\\n      border-radius: 3px\\n      padding: 2rem\\n      width: 300px\\n      background-color: #f9f9f9\\n      box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n      header\\n        display: block\\n        padding-bottom: 1rem\\n        text-align: center\\n        box-shadow: 0 10px 5px -10px rgba(0, 0, 0, 0.1)\\n        img\\n          display: block\\n          margin: 0 auto\\n          margin-bottom: 1rem\\n          width: 100%\\n          max-width: 250px\\n      .form\\n        padding: 2rem 0\\n      p\\n        border-radius: 0.5rem\\n        background-color: rgba(var(--bs-warning-rgb), 0.5)\\n        margin: 0 0 2rem 0\\n      p.errorMessage\\n        margin: -2rem 0 2rem\\n        color: red\\n\\n      button, ka-button\\n        margin: 0\\n\\n      .reset a, .reset i\\n        display: inline-block\\n        font-size: 1.2rem\\n        line-height: 3rem\\n        color: #909090\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\\n\\n      canvas\\n        display: block\\n        margin: 0 1rem 1rem\\n        width: 100%\\n        max-width: 250px\\n\\n      footer\\n        p\\n          margin: 5px 0\\n          line-height: 1\\n          text-align: right\\n          &.title\\n            margin-bottom: 0\\n            font-size: 1.8rem\\n            font-weight: 300\\n            color: $primary-color\\n        a\\n          color: $text-color\\n        i.fas.fa-lock-alt::before\\n          display: inline-block\\n          margin-right: 0.5rem\\n          border-radius: 50%\\n          width: 3rem\\n          height: 3rem\\n          font-size: 1.4rem\\n          line-height: 3rem\\n          text-align: center\\n          vertical-align: middle\\n          background-color: #ffffff\\n          box-shadow: inset 0 0 0 1px #e0e0e0\\n\\n    .outbox\\n      padding-top: 2rem\\n      text-align: center\\n      p\\n        margin: 1rem 0\\n        color: $secondary-color\\n      p + .ka-button\\n        margin-top: 0\\n      .toggler\\n        display: block\\n        cursor: pointer\\n        padding: 0\\n        font-size: 1.2rem\\n        line-height: 2rem\\n        color: $primary-color\\n        text-decoration: none\\n        &:hover\\n          text-decoration: underline\\n\\n    .scope\\n      position: absolute\\n      left: 0\\n      right: 0\\n      bottom: 0\\n      font-size: 11px\\n      font-weight: 700\\n      color: #d0d0d0\\n      text-align: center\\n      text-transform: uppercase\\n\\nrouter-view.password-recovery\\n  .wrapper .loginbox .form\\n    padding-bottom: 0 !important\\n    box-shadow: none\\nrouter-view.login\\n  .wrapper .loginbox .form\\n    box-shadow: 0 10px 5px -10px rgba(0, 0, 0, 0.1)\\nrouter-view.account-delete\\n  .wrapper .loginbox .form\\n    padding: 2rem 0 1rem\\n    p\\n      margin-bottom: 0\\n      background-color: transparent\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.sponsor-agreement{max-width:fit-content}ux-dialog.sponsor-agreement .body{overflow-x:hidden !important}ux-dialog.sponsor-agreement .body ka-control[name=agreementText]{width:100%}ux-dialog.sponsor-agreement .body ka-control[name=agreementText] .ck.ck-editor__main,ux-dialog.sponsor-agreement .body ka-control[name=agreementText] .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline{height:50vh}ux-dialog.sponsor-agreement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/landing-pages/dialogs/sponsor-agreement.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,4BACE,qBAAA,CACA,kCACE,4BAAA,CACA,iEACE,UAAA,CACA,kPACE,WAAA,CACN,oCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.sponsor-agreement\\n  max-width: fit-content\\n  .body\\n    overflow-x: hidden !important\\n    ka-control[name=\\\"agreementText\\\"]\\n      width: 100%\\n      .ck.ck-editor__main, .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline\\n        height: 50vh\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #E5E5E5\\n    text-align: right\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-landing-pages td:not(:first-child),router-view.anagrafiche-landing-pages th:not(:first-child){padding-left:.7rem}router-view.anagrafiche-landing-pages .reseller-tags{text-align:right}router-view.anagrafiche-landing-pages .reseller-tags .tag{position:relative;margin:0 3px 3px 0;padding:3px 5px;border-radius:3px}router-view.anagrafiche-landing-pages .reseller-tags .tag>p{margin:0;font-weight:600;line-height:1.1;font-size:1.1rem;color:#fff}router-view.anagrafiche-landing-pages .reseller-tags .tag>p>span{font-weight:400;font-size:.9rem}router-view.anagrafiche-landing-pages .reseller-tags .tag>i{display:flex;justify-content:center;align-items:center;position:absolute;top:0;right:0;width:0;height:0;border-radius:3px;box-shadow:0 0 0 1px #9d340d;overflow:hidden;font-size:1.4rem;color:#fff;background:#ed5a23;transform:translateX(3rem);transition:transform .3s;cursor:pointer}router-view.anagrafiche-landing-pages .reseller-tags .tag:hover>i{width:3rem;height:100%;transform:translateX(0)}router-view.anagrafiche-landing-pages .sponsor-dialog{cursor:pointer;text-decoration:underline;transition:color .3s}router-view.anagrafiche-landing-pages .sponsor-dialog:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/landing-pages/landing-pages.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,sHACE,kBAAA,CACF,qDACE,gBAAA,CACA,0DACE,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,iBAAA,CACA,4DACE,QAAA,CACA,eAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,iEACE,eAAA,CACA,eAAA,CACJ,4DACE,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CACA,4BAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,kBClCQ,CDmCR,0BAAA,CACA,wBAAA,CACA,cAAA,CACF,kEACE,UAAA,CACA,WAAA,CACA,uBAAA,CACN,sDACE,cAAA,CACA,yBAAA,CACA,oBAAA,CACA,4DACE,aC/CU\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.anagrafiche-landing-pages\\n  td:not(:first-child), th:not(:first-child)\\n    padding-left: .7rem\\n  .reseller-tags\\n    text-align: right\\n    .tag \\n      position: relative\\n      margin: 0 3px 3px 0\\n      padding: 3px 5px\\n      border-radius: 3px\\n      > p\\n        margin: 0\\n        font-weight: 600\\n        line-height: 1.1\\n        font-size: 1.1rem\\n        color: #fff\\n        > span\\n          font-weight: 400\\n          font-size: .9rem\\n      > i\\n        display: flex\\n        justify-content: center\\n        align-items: center\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        border-radius: 3px\\n        box-shadow: 0 0 0 1px darken($primary-color, 20%)\\n        overflow: hidden\\n        font-size: 1.4rem\\n        color: #fff\\n        background: $primary-color\\n        transform: translateX(3rem)\\n        transition: transform 0.3s\\n        cursor: pointer    \\n      &:hover > i\\n        width: 3rem\\n        height: 100%\\n        transform: translateX(0)\\n  .sponsor-dialog\\n    cursor: pointer\\n    text-decoration: underline\\n    transition: color .3s\\n    &:hover\\n      color: $primary-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.gestione-rubrica-importazione .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.gestione-rubrica-importazione h2+.step-box{margin-top:-0.5rem}router-view.gestione-rubrica-importazione ka-flex-row>ka-input+ka-button+ka-button{margin-top:1.5rem}router-view.gestione-rubrica-importazione .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.gestione-rubrica-importazione .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.gestione-rubrica-importazione .step-description{margin:0;padding:1rem}router-view.gestione-rubrica-importazione .step-description ka-button:last-child{margin-right:0;margin-left:0}router-view.gestione-rubrica-importazione .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.gestione-rubrica-importazione .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.gestione-rubrica-importazione .step-separator{display:none}}router-view.gestione-rubrica-importazione h2.table_title{margin:0 0 0}router-view.gestione-rubrica-importazione h2.table_title>ka-button:not(:last-child){margin-left:0}router-view.gestione-rubrica-importazione .table_container{width:100%;height:calc(100% - 5.1rem);overflow-y:auto}router-view.gestione-rubrica-importazione .table_container table.ka-table-like{table-layout:fixed}router-view.gestione-rubrica-importazione .table_container table.ka-table-like.expanded{table-layout:auto}router-view.gestione-rubrica-importazione .table_container table.ka-table-like.expanded tbody td{overflow:visible}router-view.gestione-rubrica-importazione .table_container table.ka-table-like colgroup col.profile{width:4.1666666667%}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th{padding:0;padding-left:.7rem;padding-right:.7rem;overflow:hidden;text-overflow:ellipsis}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody td:last-child,router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th:last-child{border-right:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td{vertical-align:baseline;border-right:1px solid #e0e0e0;min-width:6rem;vertical-align:top}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.medium_size{min-width:14rem}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.max_size{min-width:20rem}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.checkbox{vertical-align:inherit;min-width:unset}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.checkbox .warning{display:block;width:2rem;height:2rem;line-height:2rem;text-align:center;color:#ed5923;cursor:pointer}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.profile,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td.billing{padding:0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control{display:block;margin:0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control label{display:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tbody tr>td ka-control .display-value{padding:0 0 0 .7rem !important;background:rgba(0,0,0,0);box-shadow:none}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead th{padding:1rem .7rem;border-right:1px solid #e0e0e0}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th{padding:2rem;line-height:1;border-bottom:1px solid #e0e0e0;background:linear-gradient(90deg, transparent, #F0F0EF)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th>p{display:inline-block;margin:0;margin-left:1rem;font-size:12px;color:#404040;font-weight:400}router-view.gestione-rubrica-importazione .table_container table.ka-table-like thead .top>th>p>span{color:#404040;font-weight:600}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tfoot td{padding:0;z-index:-500}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr td{opacity:.5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr td.selected{opacity:1}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error td,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated td{opacity:1}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.pending .profile{background:#f5f5f5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.pending .profile ka-control .display-value{color:rgba(0,0,0,.2)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile{background:rgba(255,0,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile{background:rgba(255,102,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .billing{background:#f5f5f5}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-pending .billing ka-control .display-value{color:rgba(0,0,0,.2)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .billing{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-success .billing ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing{background:rgba(255,0,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:active{box-shadow:none;background:#fff}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .profile{background:rgba(13,255,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing{background:rgba(255,102,0,.0666666667)}router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:focus,router-view.gestione-rubrica-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:active{box-shadow:none;background:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/rubrica/rubrica-importazione.scss\"],\"names\":[],\"mappings\":\"AAAA,oDACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,uDAEF,kBACE,CAAA,mFAEF,iBACE,CAAA,uDAGF,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,sDAEF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,4DAGF,QACE,CAAA,YACA,CAAA,iFAEA,cACE,CAAA,aACA,CAAA,0DAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,gEAGF,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAEF,0DACE,YAAA,CAAA,CAAA,yDAIF,YACE,CAAA,oFAEA,aACE,CAAA,2DAIJ,UACE,CAAA,0BACA,CAAA,eACA,CAAA,+EAEA,kBACE,CAAA,wFACA,iBACE,CAAA,iGACA,gBACE,CAAA,oGAIF,mBACE,CAAA,gLAGJ,SAEE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,sBACA,CAAA,sMAEA,iBACE,CAAA,wFAIJ,+BACE,CAAA,2FAEA,uBACE,CAAA,8BACA,CAAA,cACA,CAAA,kBACA,CAAA,uGAEA,eACE,CAAA,oGAEF,eACE,CAAA,oGAEF,sBACE,CAAA,eACA,CAAA,6GACA,aACE,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,iBACA,CAAA,aACA,CAAA,cACA,CAAA,sMAIJ,SAEE,CAAA,sGAGF,aACE,CAAA,QACA,CAAA,4GACA,YACE,CAAA,qHAEF,8BACE,CAAA,wBACA,CAAA,eACA,CAAA,wFAON,kBACE,CAAA,8BACA,CAAA,6FAGF,YACE,CAAA,aACA,CAAA,+BACA,CAAA,uDACA,CAAA,+FAEA,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,cACA,CAAA,aACA,CAAA,eACA,CAAA,oGAEA,aACE,CAAA,eACA,CAAA,wFAMR,SACE,CAAA,YACA,CAAA,qFAKA,UACE,CAAA,8FACA,SACE,CAAA,6dAGJ,SACE,CAAA,mGAGA,kBACE,CAAA,6HAEF,oBACE,CAAA,mGAIF,qCACE,CAAA,6HAEF,oBACE,CAAA,iGAIF,oCACE,CAAA,mQAGA,eAEE,CAAA,eACA,CAAA,sGAKJ,sCACE,CAAA,6QAGA,eAEE,CAAA,eACA,CAAA,2GAKJ,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,kBACE,CAAA,qIAEF,oBACE,CAAA,2GAIF,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,qCACE,CAAA,qIAEF,oBACE,CAAA,yGAIF,qCACE,CAAA,mIAEF,oBACE,CAAA,yGAEF,oCACE,CAAA,mRAGA,eAEE,CAAA,eACA,CAAA,8GAKJ,qCACE,CAAA,wIAEF,oBACE,CAAA,8GAEF,sCACE,CAAA,6RAGA,eAEE,CAAA,eACA\",\"sourcesContent\":[\"router-view.gestione-rubrica-importazione {  \\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  }\\n  h2 + .step-box {\\n    margin-top: -0.5rem;\\n  }\\n  ka-flex-row > ka-input + ka-button + ka-button {\\n    margin-top: 1.5rem;\\n  }\\n  \\n  .step-number {\\n    display: inline-block;\\n    margin-right: 1rem;\\n    border-radius: 50%;\\n    width: 3rem;\\n    height: 3rem;\\n    font-size: 2rem;\\n    line-height: 3rem;\\n    text-align: center;\\n    vertical-align: top;\\n    color: #ffffff;\\n    background-color: #ed5923;\\n    background-color: #11254b;\\n  }\\n  .step-title {\\n    display: inline-block;\\n    margin: 0;\\n    font-size: 1.6rem;\\n    line-height: 3rem;\\n    color: #ed5923;\\n    color: #11254b;\\n  }\\n  \\n  .step-description {\\n    margin: 0;\\n    padding: 1rem;\\n  \\n    ka-button:last-child {\\n      margin-right: 0;\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  }\\n\\n  .step-separator:after {\\n    content: \\\"▶\\\";\\n    display: block;\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    z-index: -1;\\n    font-size: 1.8rem;\\n    color: #e0e0e0;\\n    transform: translate(-50%, -50%);\\n  }\\n  @media screen and (max-width: 62em) {\\n    .step-separator { display: none; }\\n  }\\n\\n  /* Table */\\n  h2.table_title {\\n    margin: 0 0 0;\\n\\n    > ka-button:not(:last-child) {\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .table_container {\\n    width: 100%;\\n    height: calc(100% - 5.1rem);\\n    overflow-y: auto;\\n\\n    table.ka-table-like {\\n      table-layout: fixed;\\n      &.expanded {\\n        table-layout: auto;\\n        tbody td {\\n          overflow: visible;\\n        }\\n      }\\n      colgroup {\\n        col.profile {\\n          width: calc(50% / 12);\\n        }\\n      }\\n      tbody td,\\n      thead th {\\n        padding: 0;\\n        padding-left: 0.7rem;\\n        padding-right: 0.7rem;\\n        overflow: hidden;\\n        text-overflow: ellipsis;\\n\\n        &:last-child {\\n          border-right: none;\\n        }\\n      }\\n\\n      tbody tr {\\n        border-bottom: 1px solid #e0e0e0;\\n\\n        > td {\\n          vertical-align: baseline;\\n          border-right: 1px solid #e0e0e0;\\n          min-width: 6rem;\\n          vertical-align: top;\\n    \\n          &.medium_size {\\n            min-width: 14rem;\\n          }\\n          &.max_size {\\n            min-width: 20rem;\\n          }\\n          &.checkbox {\\n            vertical-align: inherit;\\n            min-width: unset;\\n            .warning {\\n              display: block;\\n              width: 2rem;\\n              height: 2rem;\\n              line-height: 2rem;\\n              text-align: center;\\n              color: #ed5923;\\n              cursor: pointer;\\n            }\\n          }\\n    \\n          &.profile,\\n          &.billing {\\n            padding: 0;\\n          }\\n    \\n          ka-control {\\n            display: block;\\n            margin: 0;\\n            label {\\n              display: none;\\n            }\\n            .display-value {\\n              padding: 0 0 0 0.7rem !important;\\n              background: transparent;\\n              box-shadow: none;\\n            }\\n          }\\n        }\\n      }\\n\\n      thead {\\n        th {\\n          padding: 1rem 0.7rem;\\n          border-right: 1px solid #e0e0e0;\\n        }\\n\\n        .top > th {\\n          padding: 2rem;\\n          line-height: 1;\\n          border-bottom: 1px solid #e0e0e0;\\n          background: linear-gradient(90deg, transparent, #F0F0EF);\\n\\n          > p {\\n            display: inline-block;\\n            margin: 0;\\n            margin-left: 1rem;\\n            font-size: 12px;\\n            color: #404040;\\n            font-weight: 400;\\n\\n            > span {\\n              color: #404040;\\n              font-weight: 600;\\n            }\\n          }\\n        }\\n      }\\n\\n      tfoot td {\\n        padding: 0;\\n        z-index: -500;\\n      }\\n\\n      /* Import */\\n      tr {\\n        td {\\n          opacity: 0.5;\\n          &.selected {\\n            opacity: 1;\\n          }\\n        }\\n        &.success td, &.success-success td, &.success-error td, &.error, &.duplicated td {\\n          opacity: 1;\\n        }\\n        &.pending {\\n          .profile {\\n            background:#f5f5f5;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.error {\\n          .profile {\\n            background: #ff000011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.duplicated {\\n          .profile {\\n            background: #ff660011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-pending {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background:#f5f5f5;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success-success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #0dff0011;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.success-error {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff000011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-duplicated {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff660011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n      }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.gestione-rubrica .contacts_table td>*{display:block;white-space:nowrap}router-view.gestione-rubrica ka-button.inverted{background-color:rgba(0,0,0,0)}router-view.gestione-rubrica ka-button.inverted:hover:not(.disabled){background-color:#fff}router-view.gestione-rubrica ka-button.disabled{color:#b0b0b0;background-color:rgba(192,192,192,.2)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/rubrica/rubrica.scss\"],\"names\":[],\"mappings\":\"AACE,kDAAA,aAAA,CAAA,kBAAA,CAEE,gDAAA,8BAAA,CACA,qEAAA,qBAAA,CACA,gDAAA,aAAA,CAAA,qCAAA\",\"sourcesContent\":[\"router-view.gestione-rubrica {\\n  .contacts_table td > * { display: block; white-space: nowrap; }\\n  ka-button {\\n    &.inverted { background-color: transparent; }\\n    &.inverted:hover:not(.disabled) { background-color: #fff; }\\n    &.disabled { color: #b0b0b0; background-color: #c0c0c033; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.migrate-subuser .body{padding:1rem 2rem 2rem}ux-dialog.migrate-subuser .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.migrate-subuser .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/migrate-subuser.sass\"],\"names\":[],\"mappings\":\"AAGE,gCACE,sBAAA,CACF,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,sDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.migrate-subuser\\n  .body \\n    padding: 1rem 2rem 2rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.profilo-add-reseller .footer{padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-add-reseller.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,uCACE,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.profilo-add-reseller\\n  .footer\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.delete-billing-profile .body{padding:2rem}ux-dialog.delete-billing-profile .body p:first-letter{text-transform:capitalize}ux-dialog.delete-billing-profile .body ul{padding:0;margin:0;list-style:none}ux-dialog.delete-billing-profile .body ul li span{display:block;border:1px solid #e0e0e0;padding:1rem;background-color:#fff}ux-dialog.delete-billing-profile .body ul li+li{margin-top:.5rem}ux-dialog.delete-billing-profile .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.delete-billing-profile .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-delete-billing-profile.sass\"],\"names\":[],\"mappings\":\"AAGE,uCACE,YAAA,CACA,sDACE,yBAAA,CACF,0CACE,SAAA,CACA,QAAA,CACA,eAAA,CAEE,kDACE,aAAA,CACA,wBAAA,CACA,YAAA,CACA,qBAAA,CACJ,gDACE,gBAAA,CACN,yCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,6DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.delete-billing-profile\\n  .body \\n    padding: 2rem\\n    p:first-letter\\n      text-transform: capitalize\\n    ul\\n      padding: 0\\n      margin: 0\\n      list-style: none \\n      li\\n        span\\n          display: block\\n          border: 1px solid #e0e0e0\\n          padding: 1rem\\n          background-color: #ffffff\\n      li + li\\n        margin-top: .5rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.utenti-dialog-documenti-upload .body{padding:1rem 2rem 2rem}ux-dialog.utenti-dialog-documenti-upload .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.utenti-dialog-documenti-upload .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/dialogs/profilo-document-upload.sass\"],\"names\":[],\"mappings\":\"AACE,+CACE,sBAAA,CACF,iDACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,qEACE,aAAA\",\"sourcesContent\":[\"ux-dialog.utenti-dialog-documenti-upload\\n  .body \\n    padding: 1rem 2rem 2rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-compensi .hidden-content ka-control-date .display-value{color:rgba(0,0,0,0);transition:color .2s}router-view.anagrafiche-utenti-compensi table .user-tag{display:flex;justify-content:flex-end}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control{flex-grow:1;height:3rem}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control>button{cursor:pointer}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control>div{height:100%}router-view.anagrafiche-utenti-compensi table .user-tag>ka-control ka-control-text>input{height:100%}router-view.anagrafiche-utenti-compensi table .user-tag ka-control.readonly.tag-disabled{box-shadow:none}router-view.anagrafiche-utenti-compensi table .user-tag>ka-button{display:inline-flex;justify-content:center;align-items:center;height:3rem;width:4.5rem;margin:0}router-view.anagrafiche-utenti-compensi table .user-service+.user-service:before{content:\\\", \\\"}router-view.anagrafiche-utenti-compensi table tr.service td{font-size:1.1rem;line-height:1;color:#606060}router-view.anagrafiche-utenti-compensi table tr.total{border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-compensi table .not-associated>td{opacity:.5}router-view.anagrafiche-utenti-compensi table.ka-table-like .ka-table-button:not(.disabled):hover{background:rgba(0,0,0,0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/views/compensi.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCjbF,uFACE,mBAAA,CACA,oBAAA,CAIA,wDACE,YAAA,CACA,wBAAA,CACA,mEACE,WAAA,CACA,WAAA,CACA,0EACE,cAAA,CACF,uEACE,WAAA,CACF,yFACE,WAAA,CAEJ,yFACE,eAAA,CACF,kEACE,mBAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CACA,QAAA,CAGF,iFACE,YAAA,CAGF,4DACE,gBAAA,CACA,aAAA,CACA,aAAA,CAEJ,uDACE,4BAAA,CAEF,iEACE,UAAA,CAEF,kGACE,wBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-compensi\\n\\n  .hidden-content ka-control-date .display-value\\n    color: transparent\\n    transition: color .2s\\n\\n  table\\n\\n    .user-tag\\n      display: flex\\n      justify-content: flex-end\\n      > ka-control \\n        flex-grow: 1\\n        height: 3rem\\n        > button\\n          cursor: pointer\\n        > div \\n          height: 100%\\n        ka-control-text > input\\n          height: 100%\\n      \\n      ka-control.readonly.tag-disabled \\n        box-shadow: none\\n      > ka-button\\n        display: inline-flex\\n        justify-content: center\\n        align-items: center\\n        height: 3rem\\n        width: 4.5rem\\n        margin: 0\\n      \\n    .user-service + .user-service\\n      &:before\\n        content: \\\", \\\"\\n    \\n    tr.service\\n      td\\n        font-size: 1.1rem\\n        line-height: 1\\n        color: #606060\\n\\n    tr.total\\n      border-top: 1px solid #e0e0e0\\n    \\n    .not-associated > td\\n      opacity: .5\\n    \\n    &.ka-table-like .ka-table-button:not(.disabled):hover\\n      background: transparent\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-documenti h2>span[static-tooltip]{transition:color .3s}router-view.anagrafiche-utenti-documenti h2>span[static-tooltip]:hover{color:#000}router-view.anagrafiche-utenti-documenti .alert{color:#404040}router-view.anagrafiche-utenti-documenti .alert>i{font-size:1.2rem;color:#ed5a23}router-view.anagrafiche-utenti-documenti .document>i{font-size:2rem;color:rgba(64,64,64,.4)}router-view.anagrafiche-utenti-documenti .document.uploaded>i{color:#ed5a23}router-view.anagrafiche-utenti-documenti .document.refused>i{color:#404040}router-view.anagrafiche-utenti-documenti .document.approved>i{color:#1cc800}router-view.anagrafiche-utenti-documenti .document-type-row{position:relative;z-index:3;background-color:#fff !important}router-view.anagrafiche-utenti-documenti .document-type-row.open{box-shadow:0 5px 5px -5px rgba(64,64,64,.3) !important}router-view.anagrafiche-utenti-documenti .document-type-row:not(:first-of-type){border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-documenti .document-type-row .missing-documents>i{color:#ed5a23}router-view.anagrafiche-utenti-documenti .document-type-row .toggle-content>i{transition:transform ease-in .2s;cursor:pointer}router-view.anagrafiche-utenti-documenti .document-type-row:not(.open) .toggle-content>i{transform:rotate(180deg)}router-view.anagrafiche-utenti-documenti .document-row{background:#f8f8f8;box-shadow:none;border:0;display:none}router-view.anagrafiche-utenti-documenti .document-row+.document-row{border-top:1px solid #e0e0e0}router-view.anagrafiche-utenti-documenti .document-row.visible{display:table-row}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/views/documenti.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,iEACE,oBAAA,CACA,uEACE,UAAA,CAEJ,gDACE,aCVS,CDWT,kDACE,gBAAA,CACA,aCZU,CDcZ,qDACE,cAAA,CACA,uBAAA,CACF,8DACE,aClBU,CDmBZ,6DACE,aCrBO,CDsBT,8DACE,aCjBU,CDmBd,4DACE,iBAAA,CACA,SAAA,CACA,gCAAA,CACA,iEACE,sDAAA,CACF,gFACE,4BAAA,CACF,iFACE,aCjCU,CDkCZ,8EACE,gCAAA,CACA,cAAA,CACF,yFACE,wBAAA,CAEJ,uDACE,kBAAA,CACA,eAAA,CACA,QAAA,CACA,YAAA,CACA,qEACE,4BAAA,CACF,+DACE,iBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-documenti\\n  h2 > span[static-tooltip]\\n    transition: color .3s\\n    &:hover\\n      color: #000\\n\\n  .alert\\n    color: $text-color\\n    > i \\n      font-size: 1.2rem\\n      color: $primary-color\\n  .document \\n    & > i \\n      font-size: 2rem\\n      color: rgba($text-color, 0.4)\\n    &.uploaded > i \\n      color: $primary-color\\n    &.refused > i \\n      color: $text-color\\n    &.approved > i \\n      color: $success-color\\n\\n  .document-type-row\\n    position: relative\\n    z-index: 3\\n    background-color: #fff !important\\n    &.open\\n      box-shadow: 0 5px 5px -5px rgba($text-color, 0.3) !important\\n    &:not(:first-of-type)\\n      border-top: 1px solid #e0e0e0    \\n    .missing-documents > i \\n      color: $primary-color \\n    .toggle-content > i\\n      transition: transform ease-in .2s\\n      cursor: pointer\\n    &:not(.open) .toggle-content > i\\n      transform: rotate(180deg)\\n\\n  .document-row\\n    background: #f8f8f8\\n    box-shadow: none\\n    border: 0\\n    display: none\\n    & + .document-row\\n      border-top: 1px solid #e0e0e0\\n    &.visible \\n      display: table-row\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti h2 ka-button{margin:10px 10px 10px 0}router-view.anagrafiche-utenti .ka-input-button.add{display:none}router-view.anagrafiche-utenti .users_search.row{margin:0;padding:0 1rem}router-view.anagrafiche-utenti .users_search.row div[class*=col-],router-view.anagrafiche-utenti .users_search.row div.col{padding:0 1rem 0 0}@media all and (max-width: 1199px){router-view.anagrafiche-utenti .users_search.row div[class*=col-].wrap,router-view.anagrafiche-utenti .users_search.row div.col.wrap{padding-right:0}router-view.anagrafiche-utenti .users_search.row div[class*=col-].wrap.wrap.ricerca_libera,router-view.anagrafiche-utenti .users_search.row div.col.wrap.wrap.ricerca_libera{padding-right:1rem}}router-view.anagrafiche-utenti .users_search.row .row{margin:0;padding:0}router-view.anagrafiche-utenti .users_search.row .button{display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}router-view.anagrafiche-utenti .users_search.row .button>ka-button{margin:0;margin-top:14px;margin-left:1rem}router-view.anagrafiche-utenti .users_table span.id-enabled{display:block;border-radius:3px;padding:.5rem;line-height:1;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800}router-view.anagrafiche-utenti .users_table span.id-disabled{display:block;border-radius:3px;padding:.5rem;line-height:1;color:#fff;text-align:center;background-color:rgba(255,51,0,.7);box-shadow:inset 0 0 0 1px #f30}router-view.anagrafiche-utenti .users_table .sponsors{display:inline-block;padding:0 .5rem;margin-top:.3rem;border-radius:.2rem;background:rgba(64,64,64,.1);box-shadow:0 0 0 1px rgba(64,64,64,.3);white-space:nowrap}router-view.anagrafiche-utenti .users_table .sponsors>span{cursor:pointer}router-view.anagrafiche-utenti .users_table .sponsors>span+span{margin-left:.5rem}router-view.anagrafiche-utenti .users_table td .material-icons.businessType{color:#ed5a23;vertical-align:bottom;padding-right:1rem;text-align:left}router-view.anagrafiche-utenti .users_table td a{color:inherit;text-decoration:none}router-view.anagrafiche-utenti .users_table td a:hover{text-decoration:underline}router-view.anagrafiche-utenti .users_table .migration a{text-decoration:underline}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/elenco.scss\"],\"names\":[],\"mappings\":\"AAGE,4CAAA,uBAAA,CACA,oDAAA,YAAA,CAEA,iDACE,QAAA,CACA,cAAA,CAEA,2HACE,kBAAA,CAEA,mCACE,qIACE,eAAA,CAEA,6KAAA,kBAAA,CAAA,CAIN,sDAAA,QAAA,CAAA,SAAA,CAEA,yDACE,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,gCAAA,CACA,iBAAA,CACA,wBAAA,CACA,mEAAA,QAAA,CAAA,eAAA,CAAA,gBAAA,CAKF,4DACE,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CAGF,6DACE,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,+BAAA,CAGF,sDACE,oBAAA,CACA,eAAA,CACA,gBAAA,CACA,mBAAA,CACA,4BAAA,CACA,sCAAA,CACA,kBAAA,CACA,2DACE,cAAA,CACA,gEAAA,iBAAA,CAIJ,4EACE,aAAA,CACA,qBAAA,CACA,kBAAA,CACA,eAAA,CAGF,iDACE,aAAA,CACA,oBAAA,CACA,uDAAA,yBAAA,CAIA,yDAAA,yBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars';\\n\\nrouter-view.anagrafiche-utenti {\\n  h2 ka-button { margin: 10px 10px 10px 0; }\\n  .ka-input-button.add { display: none; }\\n\\n  .users_search.row {\\n    margin: 0;\\n    padding: 0 1rem;\\n\\n    div[class*=\\\"col-\\\"], div.col {\\n      padding: 0 1rem 0 0;\\n\\n      @media all and (max-width: 1199px) {\\n        &.wrap {\\n          padding-right: 0;\\n\\n          &.wrap.ricerca_libera { padding-right: 1rem; }\\n        }\\n      }\\n    }\\n    .row { margin: 0; padding: 0; }\\n\\n    .button {\\n      display: -ms-flexbox;\\n      display: -webkit-flex;\\n      display: flex;\\n      -webkit-justify-content: flex-end;\\n      -ms-flex-pack: end;\\n      justify-content: flex-end;\\n      > ka-button { margin: 0; margin-top: 14px; margin-left: 1rem; }\\n    }\\n  }\\n\\n  .users_table {\\n    span.id-enabled {\\n      display: block;\\n      border-radius: 3px;\\n      padding: 0.5rem;\\n      line-height: 1;\\n      color: #ffffff;\\n      text-align: center;\\n      background-color: rgba($success-color, 0.7);\\n      box-shadow: inset 0 0 0 1px $success-color;\\n    }\\n\\n    span.id-disabled {\\n      display: block;\\n      border-radius: 3px;\\n      padding: 0.5rem;\\n      line-height: 1;\\n      color: #ffffff;\\n      text-align: center;\\n      background-color: rgba($error-color, 0.7);\\n      box-shadow: inset 0 0 0 1px $error-color;\\n    }\\n\\n    .sponsors {\\n      display: inline-block;\\n      padding: 0 .5rem;\\n      margin-top: .3rem;\\n      border-radius: .2rem;\\n      background: rgba($text-color, 0.1);\\n      box-shadow: 0 0 0 1px rgba($text-color, 0.3);\\n      white-space: nowrap;\\n      > span {\\n        cursor: pointer;\\n        & + span { margin-left: .5rem; }\\n      }\\n    }\\n\\n    td .material-icons.businessType {\\n      color: #ED5A23;\\n      vertical-align: bottom;\\n      padding-right: 1rem;\\n      text-align: left;\\n    }\\n\\n    td a {\\n      color: inherit;\\n      text-decoration: none;\\n      &:hover { text-decoration: underline; }\\n    }\\n\\n    .migration {\\n      a { text-decoration: underline; }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-fatturazione h3.auth-mav-title>span[static-tooltip]{transition:color .3s}router-view.anagrafiche-utenti-fatturazione h3.auth-mav-title>span[static-tooltip]:hover{color:#000}router-view.anagrafiche-utenti-fatturazione .primary-text{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .alert{color:#404040}router-view.anagrafiche-utenti-fatturazione .alert.primary{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .alert.completed>i{color:#1cc800}router-view.anagrafiche-utenti-fatturazione .alert.refused>i{color:#404040}router-view.anagrafiche-utenti-fatturazione .alert>i{margin-right:.4rem;font-size:inherit;color:#ed5a23}router-view.anagrafiche-utenti-fatturazione small.alert>i{font-size:1.2rem}router-view.anagrafiche-utenti-fatturazione table tr.row-error{background:rgba(255,102,0,.05)}router-view.anagrafiche-utenti-fatturazione table td.billing small span{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.iban ka-button.check-iban-btn{border-radius:0;border-bottom:1px solid rgba(64,64,64,.3);box-shadow:none !important}router-view.anagrafiche-utenti-fatturazione table td.iban ka-button.check-iban-btn.readonly{border-bottom:1px solid rgba(64,64,64,.1);cursor:standard}router-view.anagrafiche-utenti-fatturazione table td.sdd>span{display:block;white-space:nowrap}router-view.anagrafiche-utenti-fatturazione table td.sdd>span:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd>span.enabled:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd>span.activation-errors:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.sdd .error-details{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.sdd .error-details>small{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.sdd>small{display:inline-block;margin-top:.25rem}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request,router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request{display:block;text-decoration:underline;transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request:hover,router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request{color:#ed5a23}router-view.anagrafiche-utenti-fatturazione table td.authorization .create-mav-request:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request{color:#f30}router-view.anagrafiche-utenti-fatturazione table td.authorization .delete-mav-request:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED{transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .REFUSED:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .ACTIVE:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required{transition:color .3s;cursor:pointer}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required:hover{color:#404040}router-view.anagrafiche-utenti-fatturazione table td.authorization .iban-required:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione label{display:block;line-height:1.5rem;font-size:1.2rem;color:rgba(237,90,35,.7);white-space:nowrap}router-view.anagrafiche-utenti-fatturazione .mav-button{animation:2.1s ease-in-out infinite pulse-button}router-view.anagrafiche-utenti-fatturazione .mav-requests .alert-message{margin:.5rem 0 0;line-height:1.1}router-view.anagrafiche-utenti-fatturazione .mav-requests .alert-message i{margin-right:.3rem;color:#ed5a23 !important}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td,router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr th{padding:7px;height:4rem}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td small,router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr th small{font-size:1.3rem;color:#404040}router-view.anagrafiche-utenti-fatturazione .mav-requests table thead{border:0}router-view.anagrafiche-utenti-fatturazione .mav-requests table thead tr{border:0;background:linear-gradient(180deg, transparent 10%, #fff);box-shadow:inset 0 -1px 0 0 #cacaca}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr{border:0;background:linear-gradient(180deg, #fbfbfb 40%, #f2f2f2 90%)}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td ka-button{flex-shrink:0;margin:1rem 0 0;padding:0 8px;line-height:2.5rem;height:2.5rem;font-size:1.3rem;font-weight:500}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td a{display:block;font-size:1.2rem;color:#ed5a23;text-decoration:underline}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr td.deleted>small{color:#f30}router-view.anagrafiche-utenti-fatturazione .mav-requests table tbody tr+tr{box-shadow:inset 0 1px 0 0 #e0e0e0}router-view.anagrafiche-utenti-fatturazione .mav-request-status.ACTIVE:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione .mav-request-status.REFUSED:before,router-view.anagrafiche-utenti-fatturazione .mav-request-status.DELETED:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:top;animation:unset;font-weight:400}router-view.anagrafiche-utenti-fatturazione .mav-request-status:not(.ACTIVE):not(.REFUSED):not(.DELETED):before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:top;animation:unset;font-weight:900;animation:rotate infinite 3s 1s}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}router-view.anagrafiche-utenti-fatturazione .authorizations .add{position:relative;width:2.6rem;height:2.5rem;overflow:hidden;font-size:1.2rem;border-radius:3px;text-align:center;color:#fff;background-color:#ed5a23}router-view.anagrafiche-utenti-fatturazione .authorizations .add>select{display:block;position:absolute;top:0;left:0;opacity:0;cursor:pointer}router-view.anagrafiche-utenti-fatturazione .authorizations .group{position:relative;height:2.5rem;border-radius:3px;overflow:hidden;font-size:1.2rem;color:#fff;text-transform:uppercase;background-color:rgba(31,36,75,.7333333333)}router-view.anagrafiche-utenti-fatturazione .authorizations .group a{display:block;position:absolute;top:0;right:0;width:0;height:0;font-size:1.2rem;line-height:2.5rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:-1px 0 0 0 #fff;overflow:hidden;transform:translateX(3rem);transition:transform .3s}router-view.anagrafiche-utenti-fatturazione .authorizations .group:hover a{width:2.5rem;height:2.5rem;transform:translateX(0)}@keyframes pulse-button{0%{transform:scale(1)}5%{transform:scale(1.03)}20%{transform:scale(1)}25%{transform:scale(1.03)}40%{transform:scale(1)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/fatturazione.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-fatturazione\\n  h3.auth-mav-title > span[static-tooltip]\\n    transition: color .3s\\n    &:hover\\n      color: #000\\n  .primary-text \\n    color: #ed5a23\\n    \\n  .alert\\n    color: $text-color\\n    &.primary\\n      color: $primary-color\\n    &.completed > i\\n      color: $success-color\\n    &.refused > i\\n      color: $text-color\\n    > i\\n      margin-right: .4rem\\n      font-size: inherit\\n      color: $primary-color\\n  small.alert > i\\n    font-size: 1.2rem\\n\\n  table\\n    tr.row-error\\n      background: rgba(255, 102, 0, 0.05)\\n    td.billing small span\\n      color: $text-color\\n    td.iban\\n      ka-button.check-iban-btn\\n        border-radius: 0\\n        border-bottom: 1px solid rgba(64, 64, 64, 0.3)\\n        box-shadow: none !important\\n        &.readonly\\n          border-bottom: 1px solid rgba(64, 64, 64, 0.1)\\n          cursor: standard\\n    td.sdd\\n      > span\\n        display: block\\n        white-space: nowrap\\n        &:before\\n          @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $secondary-color, top)\\n        &.enabled\\n          &:before\\n            @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $success-color, top)\\n        &.activation-errors\\n          &:before\\n            @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $error-color, top)\\n      .error-details\\n        color: $primary-color\\n        > small\\n          color: $primary-color\\n      > small\\n        display: inline-block\\n        margin-top: .25rem\\n    td.authorization\\n      .create-mav-request, .delete-mav-request\\n        display: block\\n        text-decoration: underline\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n\\n      .create-mav-request\\n        color: $primary-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f067\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color, middle)\\n\\n      .delete-mav-request\\n        color: $error-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $error-color, middle)\\n\\n      .REFUSED\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n\\n      .ACTIVE:before\\n        @include fontawesome(\\\"\\\\f00c\\\", \\\"regular\\\", 1.2rem, 0, $success-color)\\n\\n      .iban-required\\n        transition: color .3s\\n        cursor: pointer\\n        &:hover\\n          color: $text-color\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $primary-color)\\n\\n  // Mav (fatturazione-editor)\\n  label \\n    display: block\\n    line-height: 1.5rem\\n    font-size: 1.2rem\\n    color: rgba($primary-color, .7)\\n    white-space: nowrap\\n  .mav-button \\n    animation: 2.1s ease-in-out infinite pulse-button\\n  .mav-requests \\n    .alert-message \\n      margin: .5rem 0 0\\n      line-height: 1.1\\n      i \\n        margin-right: .3rem\\n        color: $primary-color !important\\n    table\\n      tbody tr td, thead tr th \\n        padding: 7px\\n        height: 4rem\\n        small \\n          font-size: 1.3rem\\n          color: $text-color\\n      thead \\n        border: 0\\n        tr \\n          border: 0\\n          background: linear-gradient(180deg, transparent 10%, #fff)\\n          box-shadow: inset 0 -1px 0 0 #cacaca\\n      tbody\\n        tr \\n          border: 0\\n          background: linear-gradient(180deg, #fbfbfb 40%, #f2f2f2 90%)\\n          td\\n            ka-button \\n              flex-shrink: 0\\n              margin: 1rem 0 0\\n              padding: 0 8px\\n              line-height: 2.5rem\\n              height: 2.5rem\\n              font-size: 1.3rem\\n              font-weight: 500\\n            a \\n              display: block\\n              font-size: 1.2rem\\n              color: $primary-color\\n              text-decoration: underline\\n            &.deleted > small \\n              color: $error-color\\n          & + tr \\n            box-shadow: inset 0 1px 0 0 #e0e0e0\\n  .mav-request-status\\n    &.ACTIVE:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $success-color, top)\\n    &.REFUSED:before, &.DELETED:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $error-color, top)\\n    &:not(.ACTIVE):not(.REFUSED):not(.DELETED):before\\n      @include fontawesome(\\\"\\\\f253\\\", \\\"solid\\\", 1.4rem, 0 .5rem 0 0, $pending-color, top)\\n      animation: rotate infinite 3s 1s\\n      @keyframes rotate\\n        0%\\n          transform: rotate(0deg)\\n        100%\\n          transform: rotate(360deg)\\n  // authorizations\\n  .authorizations\\n    .add\\n      position: relative\\n      width: 2.6rem\\n      height: 2.5rem\\n      overflow: hidden\\n      font-size: 1.2rem\\n      border-radius: 3px\\n      text-align: center\\n      color: #ffffff\\n      background-color: #ed5a23\\n      > select\\n        display: block\\n        position: absolute\\n        top: 0\\n        left: 0\\n        opacity: 0\\n        cursor: pointer\\n    .group \\n      position: relative\\n      height: 2.5rem\\n      border-radius: 3px\\n      overflow: hidden\\n      font-size: 1.2rem\\n      color: #fff\\n      text-transform: uppercase\\n      background-color: #1f244bbb\\n      a \\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        font-size: 1.2rem\\n        line-height: 2.5rem\\n        color: #ffffff\\n        text-align: center\\n        text-decoration: none\\n        background-color: #ed5a23\\n        box-shadow: -1px 0 0 0 #ffffff\\n        overflow: hidden\\n        transform: translateX(3rem)\\n        transition: transform 0.3s    \\n      &:hover a\\n        width: 2.5rem\\n        height: 2.5rem\\n        transform: translateX(0)\\n\\n@keyframes pulse-button \\n  0%\\n    transform: scale(1)\\n  5%\\n    transform: scale(1.03)\\n  20% \\n    transform: scale(1)\\n  25%\\n    transform: scale(1.03)\\n  40%\\n    transform: scale(1)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.anagrafiche-utenti-importazione .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.anagrafiche-utenti-importazione h2+.step-box{margin-top:-0.5rem}router-view.anagrafiche-utenti-importazione ka-flex-row>ka-input+ka-button+ka-button{margin-top:1.5rem}router-view.anagrafiche-utenti-importazione .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.anagrafiche-utenti-importazione .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.anagrafiche-utenti-importazione .step-description{margin:0;padding:1rem}router-view.anagrafiche-utenti-importazione .step-description ka-button:last-child{margin-right:0;margin-left:0}router-view.anagrafiche-utenti-importazione .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.anagrafiche-utenti-importazione .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.anagrafiche-utenti-importazione .step-separator{display:none}}router-view.anagrafiche-utenti-importazione h2.table_title{margin:0 0 0}router-view.anagrafiche-utenti-importazione h2.table_title>ka-button:not(:last-child){margin-left:0}router-view.anagrafiche-utenti-importazione .table_container{width:100%;height:calc(100% - 5.1rem);overflow-y:auto}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like{table-layout:fixed}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like.expanded{table-layout:auto}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like.expanded tbody td{overflow:visible}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like colgroup col.profile{width:4.1666666667%}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th{padding:0;padding-left:.7rem;padding-right:.7rem;overflow:hidden;text-overflow:ellipsis}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody td:last-child,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th:last-child{border-right:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr{border-bottom:1px solid #e0e0e0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td{vertical-align:baseline;border-right:1px solid #e0e0e0;min-width:6rem;vertical-align:top}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.medium_size{min-width:14rem}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.max_size{min-width:20rem}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.checkbox{vertical-align:inherit;min-width:unset}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.checkbox .warning{display:block;width:2rem;height:2rem;line-height:2rem;text-align:center;color:#ed5923;cursor:pointer}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.profile,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td.billing{padding:0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control{display:block;margin:0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control label{display:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tbody tr>td ka-control .display-value{padding:0 0 0 .7rem !important;background:rgba(0,0,0,0);box-shadow:none}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead th{padding:1rem .7rem;border-right:1px solid #e0e0e0}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th{padding:2rem;line-height:1;border-bottom:1px solid #e0e0e0;background:linear-gradient(90deg, transparent, #F0F0EF)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th>p{display:inline-block;margin:0;margin-left:1rem;font-size:12px;color:#404040;font-weight:400}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like thead .top>th>p>span{color:#404040;font-weight:600}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tfoot td{padding:0;z-index:-500}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr td{opacity:.5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr td.selected{opacity:1}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error td,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated td{opacity:1}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.pending .profile{background:#f5f5f5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.pending .profile ka-control .display-value{color:rgba(0,0,0,.2)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile{background:rgba(255,0,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.error .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile{background:rgba(255,102,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.duplicated .profile ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .billing{background:#f5f5f5}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-pending .billing ka-control .display-value{color:rgba(0,0,0,.2)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .billing{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-success .billing ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing{background:rgba(255,0,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-error .billing ka-control .display-value:active{box-shadow:none;background:#fff}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .profile{background:rgba(13,255,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .profile ka-control .display-value{color:rgba(0,0,0,.5)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing{background:rgba(255,102,0,.0666666667)}router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:focus,router-view.anagrafiche-utenti-importazione .table_container table.ka-table-like tr.success-duplicated .billing ka-control .display-value:active{box-shadow:none;background:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/anagrafiche/utenti/views/importazione.scss\"],\"names\":[],\"mappings\":\"AAAA,sDACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,yDAEF,kBACE,CAAA,qFAEF,iBACE,CAAA,yDAGF,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,wDAEF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,8DAGF,QACE,CAAA,YACA,CAAA,mFAEA,cACE,CAAA,aACA,CAAA,4DAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,kEAGF,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAEF,4DACE,YAAA,CAAA,CAAA,2DAGF,YACE,CAAA,sFAEA,aACE,CAAA,6DAIJ,UACE,CAAA,0BACA,CAAA,eACA,CAAA,iFAEA,kBACE,CAAA,0FACA,iBACE,CAAA,mGACA,gBACE,CAAA,sGAIF,mBACE,CAAA,oLAGJ,SAEE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,sBACA,CAAA,0MAEA,iBACE,CAAA,0FAIJ,+BACE,CAAA,6FAEA,uBACE,CAAA,8BACA,CAAA,cACA,CAAA,kBACA,CAAA,yGAEA,eACE,CAAA,sGAEF,eACE,CAAA,sGAEF,sBACE,CAAA,eACA,CAAA,+GACA,aACE,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,iBACA,CAAA,aACA,CAAA,cACA,CAAA,0MAIJ,SAEE,CAAA,wGAGF,aACE,CAAA,QACA,CAAA,8GACA,YACE,CAAA,uHAEF,8BACE,CAAA,wBACA,CAAA,eACA,CAAA,0FAON,kBACE,CAAA,8BACA,CAAA,+FAGF,YACE,CAAA,aACA,CAAA,+BACA,CAAA,uDACA,CAAA,iGAEA,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,cACA,CAAA,aACA,CAAA,eACA,CAAA,sGAEA,aACE,CAAA,eACA,CAAA,0FAMR,SACE,CAAA,YACA,CAAA,uFAKA,UACE,CAAA,gGACA,SACE,CAAA,ueAGJ,SACE,CAAA,qGAGA,kBACE,CAAA,+HAEF,oBACE,CAAA,qGAIF,qCACE,CAAA,+HAEF,oBACE,CAAA,mGAIF,oCACE,CAAA,uQAGA,eAEE,CAAA,eACA,CAAA,wGAKJ,sCACE,CAAA,iRAGA,eAEE,CAAA,eACA,CAAA,6GAKJ,qCACE,CAAA,uIAEF,oBACE,CAAA,6GAEF,kBACE,CAAA,uIAEF,oBACE,CAAA,6GAIF,qCACE,CAAA,uIAEF,oBACE,CAAA,6GAEF,qCACE,CAAA,uIAEF,oBACE,CAAA,2GAIF,qCACE,CAAA,qIAEF,oBACE,CAAA,2GAEF,oCACE,CAAA,uRAGA,eAEE,CAAA,eACA,CAAA,gHAKJ,qCACE,CAAA,0IAEF,oBACE,CAAA,gHAEF,sCACE,CAAA,iSAGA,eAEE,CAAA,eACA\",\"sourcesContent\":[\"router-view.anagrafiche-utenti-importazione {  \\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  }\\n  h2 + .step-box {\\n    margin-top: -0.5rem;\\n  }\\n  ka-flex-row > ka-input + ka-button + ka-button {\\n    margin-top: 1.5rem;\\n  }\\n  \\n  .step-number {\\n    display: inline-block;\\n    margin-right: 1rem;\\n    border-radius: 50%;\\n    width: 3rem;\\n    height: 3rem;\\n    font-size: 2rem;\\n    line-height: 3rem;\\n    text-align: center;\\n    vertical-align: top;\\n    color: #ffffff;\\n    background-color: #ed5923;\\n    background-color: #11254b;\\n  }\\n  .step-title {\\n    display: inline-block;\\n    margin: 0;\\n    font-size: 1.6rem;\\n    line-height: 3rem;\\n    color: #ed5923;\\n    color: #11254b;\\n  }\\n  \\n  .step-description {\\n    margin: 0;\\n    padding: 1rem;\\n  \\n    ka-button:last-child {\\n      margin-right: 0;\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  }\\n\\n  .step-separator:after {\\n    content: \\\"▶\\\";\\n    display: block;\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    z-index: -1;\\n    font-size: 1.8rem;\\n    color: #e0e0e0;\\n    transform: translate(-50%, -50%);\\n  }\\n  @media screen and (max-width: 62em) {\\n    .step-separator { display: none; }\\n  }\\n  /* Table */\\n  h2.table_title {\\n    margin: 0 0 0;\\n\\n    > ka-button:not(:last-child) {\\n      margin-left: 0;\\n    }\\n  }\\n\\n  .table_container {\\n    width: 100%;\\n    height: calc(100% - 5.1rem);\\n    overflow-y: auto;\\n\\n    table.ka-table-like {\\n      table-layout: fixed;\\n      &.expanded {\\n        table-layout: auto;\\n        tbody td {\\n          overflow: visible;\\n        }\\n      }\\n      colgroup {\\n        col.profile {\\n          width: calc(50% / 12);\\n        }\\n      }\\n      tbody td,\\n      thead th {\\n        padding: 0;\\n        padding-left: 0.7rem;\\n        padding-right: 0.7rem;\\n        overflow: hidden;\\n        text-overflow: ellipsis;\\n\\n        &:last-child {\\n          border-right: none;\\n        }\\n      }\\n\\n      tbody tr {\\n        border-bottom: 1px solid #e0e0e0;\\n\\n        > td {\\n          vertical-align: baseline;\\n          border-right: 1px solid #e0e0e0;\\n          min-width: 6rem;\\n          vertical-align: top;\\n    \\n          &.medium_size {\\n            min-width: 14rem;\\n          }\\n          &.max_size {\\n            min-width: 20rem;\\n          }\\n          &.checkbox {\\n            vertical-align: inherit;\\n            min-width: unset;\\n            .warning {\\n              display: block;\\n              width: 2rem;\\n              height: 2rem;\\n              line-height: 2rem;\\n              text-align: center;\\n              color: #ed5923;\\n              cursor: pointer;\\n            }\\n          }\\n    \\n          &.profile,\\n          &.billing {\\n            padding: 0;\\n          }\\n    \\n          ka-control {\\n            display: block;\\n            margin: 0;\\n            label {\\n              display: none;\\n            }\\n            .display-value {\\n              padding: 0 0 0 0.7rem !important;\\n              background: transparent;\\n              box-shadow: none;\\n            }\\n          }\\n        }\\n      }\\n\\n      thead {\\n        th {\\n          padding: 1rem 0.7rem;\\n          border-right: 1px solid #e0e0e0;\\n        }\\n\\n        .top > th {\\n          padding: 2rem;\\n          line-height: 1;\\n          border-bottom: 1px solid #e0e0e0;\\n          background: linear-gradient(90deg, transparent, #F0F0EF);\\n\\n          > p {\\n            display: inline-block;\\n            margin: 0;\\n            margin-left: 1rem;\\n            font-size: 12px;\\n            color: #404040;\\n            font-weight: 400;\\n\\n            > span {\\n              color: #404040;\\n              font-weight: 600;\\n            }\\n          }\\n        }\\n      }\\n\\n      tfoot td {\\n        padding: 0;\\n        z-index: -500;\\n      }\\n\\n      /* Import */\\n      tr {\\n        td {\\n          opacity: 0.5;\\n          &.selected {\\n            opacity: 1;\\n          }\\n        }\\n        &.success td, &.success-success td, &.success-error td, &.error, &.duplicated td {\\n          opacity: 1;\\n        }\\n        &.pending {\\n          .profile {\\n            background:#f5f5f5;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.error {\\n          .profile {\\n            background: #ff000011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.duplicated {\\n          .profile {\\n            background: #ff660011;\\n          }\\n          .profile ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-pending {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background:#f5f5f5;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.2);\\n          }\\n        }\\n        &.success-success {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #0dff0011;\\n          }\\n          .billing ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n        }\\n        &.success-error {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff000011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n        &.success-duplicated {\\n          .profile {\\n            background: #0dff0011;\\n          }\\n          .profile ka-control .display-value {\\n            color: rgba(0, 0, 0, 0.5);\\n          }\\n          .billing {\\n            background: #ff660011;\\n          }\\n          .billing ka-control .display-value {\\n            &:focus, \\n            &:active {\\n              box-shadow: none;\\n              background: #fff;\\n            }\\n          }\\n        }\\n      }\\n    }\\n  }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-impostazioni .assistance strong+strong:before{content:\\\"e \\\"}router-view.anagrafiche-utenti-impostazioni .assistance strong:last-child:after{content:\\\".\\\"}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/views/impostazioni.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CChbE,6EACE,YAAA,CACJ,gFACE,WAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-impostazioni\\n  .assistance\\n    strong + strong\\n      &:before\\n        content: 'e '\\n    strong:last-child:after\\n      content: '.'\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.anagrafiche-utenti-segnalatori .service-groups .add{position:relative;width:2.6rem;height:2.5rem;overflow:hidden;font-size:1.2rem;border-radius:3px;text-align:center;color:#fff;background-color:#ed5a23}router-view.anagrafiche-utenti-segnalatori .service-groups .add>select{display:block;position:absolute;top:0;left:0;opacity:0;cursor:pointer}router-view.anagrafiche-utenti-segnalatori .service-groups .group{position:relative;height:2.5rem;border-radius:3px;overflow:hidden;font-size:1.2rem;color:#fff;text-transform:uppercase;background-color:rgba(31,36,75,.7333333333)}router-view.anagrafiche-utenti-segnalatori .service-groups .group a{display:block;position:absolute;top:0;right:0;width:0;height:0;font-size:1.2rem;line-height:2.5rem;color:#fff;text-align:center;text-decoration:none;background-color:#ed5a23;box-shadow:-1px 0 0 0 #fff;overflow:hidden;transform:translateX(3rem);transition:transform .3s}router-view.anagrafiche-utenti-segnalatori .service-groups .group:hover a{width:2.5rem;height:2.5rem;transform:translateX(0)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/anagrafiche/utenti/views/segnalatori.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCjbA,gEACE,iBAAA,CACA,YAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,iBAAA,CACA,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,uEACE,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,cAAA,CACJ,kEACE,iBAAA,CACA,aAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,UAAA,CACA,wBAAA,CACA,2CAAA,CACA,oEACE,aAAA,CACA,iBAAA,CACA,KAAA,CACA,OAAA,CACA,OAAA,CACA,QAAA,CACA,gBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,oBAAA,CACA,wBAAA,CACA,0BAAA,CACA,eAAA,CACA,0BAAA,CACA,wBAAA,CACF,0EACE,YAAA,CACA,aAAA,CACA,uBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.anagrafiche-utenti-segnalatori\\n  .service-groups\\n    .add\\n      position: relative\\n      width: 2.6rem\\n      height: 2.5rem\\n      overflow: hidden\\n      font-size: 1.2rem\\n      border-radius: 3px\\n      text-align: center\\n      color: #ffffff\\n      background-color: #ed5a23\\n      > select\\n        display: block\\n        position: absolute\\n        top: 0\\n        left: 0\\n        opacity: 0\\n        cursor: pointer\\n    .group \\n      position: relative\\n      height: 2.5rem\\n      border-radius: 3px\\n      overflow: hidden\\n      font-size: 1.2rem\\n      color: #fff\\n      text-transform: uppercase\\n      background-color: #1f244bbb\\n      a \\n        display: block\\n        position: absolute\\n        top: 0\\n        right: 0\\n        width: 0\\n        height: 0\\n        font-size: 1.2rem\\n        line-height: 2.5rem\\n        color: #ffffff\\n        text-align: center\\n        text-decoration: none\\n        background-color: #ed5a23\\n        box-shadow: -1px 0 0 0 #ffffff\\n        overflow: hidden\\n        transform: translateX(3rem)\\n        transition: transform 0.3s    \\n      &:hover a\\n        width: 2.5rem\\n        height: 2.5rem\\n        transform: translateX(0)\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.not-found,router-view.maintenance{min-height:100%;max-height:100%;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.not-found>div,router-view.maintenance>div{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center}router-view.not-found>div h1,router-view.maintenance>div h1{margin:0;border:0;padding:0;font-size:3rem;line-height:1.5}router-view.not-found>div h2,router-view.maintenance>div h2{margin:1rem 0 0;border:0;padding:0;font-size:2rem;line-height:1.5;color:#11254b}router-view.not-found>div p,router-view.maintenance>div p{margin:.5rem 0 0;font-size:1.6rem;line-height:1.5;color:#11254b}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/app/not-found.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAEA,8CACE,eAAA,CACA,eAAA,CAEA,kFAAA,CAEA,sDACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,iBAAA,CAEA,4DACE,QAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACA,eAAA,CACF,4DACE,eAAA,CACA,QAAA,CACA,SAAA,CACA,cAAA,CACA,eAAA,CACA,aC1BY,CD2Bd,0DACE,gBAAA,CACA,gBAAA,CACA,eAAA,CACA,aC/BY\",\"sourcesContent\":[\"@import ../../static/vars\\n\\nrouter-view.not-found, router-view.maintenance\\n  min-height: 100%\\n  max-height: 100%\\n\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n\\n  > div\\n    position: absolute\\n    top: 0\\n    right: 0\\n    bottom: 0\\n    left: 0\\n    text-align: center\\n\\n    h1\\n      margin: 0\\n      border: 0\\n      padding: 0\\n      font-size: 3rem\\n      line-height: 1.5\\n    h2 \\n      margin: 1rem 0 0\\n      border: 0\\n      padding: 0\\n      font-size: 2rem\\n      line-height: 1.5\\n      color: $secondary-color\\n    p \\n      margin: 0.5rem 0 0\\n      font-size: 1.6rem\\n      line-height: 1.5\\n      color: $secondary-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.editor-wall-advice{max-width:calc(858.66px + 2rem)}ux-dialog.editor-wall-advice .body{padding:1rem;overflow-x:hidden !important}ux-dialog.editor-wall-advice .body ka-control[name=advice]{width:100%}ux-dialog.editor-wall-advice .body ka-control[name=advice] .ck.ck-editor__main,ux-dialog.editor-wall-advice .body ka-control[name=advice] .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline{height:20vh}ux-dialog.editor-wall-advice .body>.row>.col:first-of-type{box-shadow:inset -1px 0 0 0 rgba(64,64,64,.1)}ux-dialog.editor-wall-advice .footer{display:flex;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.editor-wall-advice .footer ka-button+ka-button{margin-left:0}ux-dialog.confirm-advice ux-dialog-footer button+button{margin-left:0 !important}ux-dialog.confirm-advice ux-dialog-footer button:first-child{background:#11254b}ux-dialog.confirm-advice ux-dialog-footer button:first-child:hover:enabled{background:#081021}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/avvisi/dialogs/editor-wall-advice.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,6BACE,+BAAA,CACA,mCACE,YAAA,CACA,4BAAA,CACA,2DACE,UAAA,CACA,sOACE,WAAA,CACJ,2DACE,6CAAA,CACJ,qCACE,YAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA,CAIF,wDACE,wBAAA,CACF,6DACE,kBCzBY,CD0BZ,2EACE,kBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/_mixins'\\n\\nux-dialog.editor-wall-advice\\n  max-width: calc(858.66px + 2rem)\\n  .body \\n    padding: 1rem\\n    overflow-x: hidden !important\\n    ka-control[name=\\\"advice\\\"]\\n      width: 100%\\n      .ck.ck-editor__main, .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline\\n        height: 20vh\\n    > .row > .col:first-of-type\\n      box-shadow: inset -1px 0 0 0 rgba($text-color, 0.1)\\n  .footer \\n    display: flex\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\\nux-dialog.confirm-advice\\n  ux-dialog-footer\\n    button + button\\n      margin-left: 0 !important\\n    button:first-child\\n      background: $secondary-color\\n      &:hover:enabled\\n        background: darken($secondary-color, 10%)\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2{display:flex;justify-content:space-between;padding:0 2rem}ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2 .date{font-size:1.4rem;color:#404040}ux-dialog.wall-advice .body{padding:2rem}ux-dialog.wall-advice .body h3{margin:0;margin-bottom:2rem;padding:0}ux-dialog.wall-advice .body p{margin:0;padding:0 0 1rem}ux-dialog.wall-advice .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.wall-advice .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/avvisi/dialogs/wall-advice-preview.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,iEACE,YAAA,CACA,6BAAA,CACA,cAAA,CACA,uEACE,gBAAA,CACA,aCTO,CDUX,4BACE,YAAA,CACA,+BACE,QAAA,CACA,kBAAA,CACA,SAAA,CACF,8BACE,QAAA,CACA,gBAAA,CACJ,8BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,kDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.wall-advice\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    justify-content: space-between\\n    padding: 0 2rem\\n    .date\\n      font-size: 1.4rem\\n      color: $text-color\\n  .body \\n    padding: 2rem\\n    h3\\n      margin: 0\\n      margin-bottom: 2rem\\n      padding: 0\\n    p\\n      margin: 0\\n      padding: 0 0 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2{display:flex;justify-content:space-between;padding:0 2rem}ux-dialog.wall-advice ux-dialog-header .dialog-header-content h2 .date{font-size:1.4rem;color:#404040}ux-dialog.wall-advice .body{padding:2rem}ux-dialog.wall-advice .body h3{margin:0;margin-bottom:2rem;padding:0}ux-dialog.wall-advice .body p{margin:0;padding:0 0 1rem}ux-dialog.wall-advice .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.wall-advice .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/avvisi/dialogs/wall-advice.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,iEACE,YAAA,CACA,6BAAA,CACA,cAAA,CACA,uEACE,gBAAA,CACA,aCTO,CDUX,4BACE,YAAA,CACA,+BACE,QAAA,CACA,kBAAA,CACA,SAAA,CACF,8BACE,QAAA,CACA,gBAAA,CACJ,8BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,kDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.wall-advice\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    justify-content: space-between\\n    padding: 0 2rem\\n    .date\\n      font-size: 1.4rem\\n      color: $text-color\\n  .body \\n    padding: 2rem\\n    h3\\n      margin: 0\\n      margin-bottom: 2rem\\n      padding: 0\\n    p\\n      margin: 0\\n      padding: 0 0 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.backoffice-avvisi table .dates>small{display:block;white-space:nowrap}router-view.backoffice-avvisi table .dates>small strong{color:#404040}router-view.backoffice-avvisi table .advice{max-width:10vw}router-view.backoffice-avvisi table .advice small{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/avvisi/wall-advices.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CChbE,iDACE,aAAA,CACA,kBAAA,CACA,wDACE,aCVG,CDWT,4CACE,cAAA,CACA,kDDkDJ,mBAAA,CACA,eAFqC,CAGrC,eAAA,CACA,sBAAA,CACA,YCrDyB,CDsDzB,oBCtDyB,CDuDzB,2BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.backoffice-avvisi\\n  table\\n    .dates\\n      > small\\n        display: block\\n        white-space: nowrap\\n        strong\\n          color: $text-color\\n    .advice\\n      max-width: 10vw\\n      small\\n        @include max-lines(3)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.backoffice-alias .modify-alias{margin:0 0 0 1rem}router-view.backoffice-alias .modify-alias [class*=col]+[class*=col]{margin-top:1rem;padding-left:0}router-view.backoffice-alias .modify-alias [class*=col]:first-child{padding-left:0}router-view.backoffice-alias .modify-alias [class*=col]:nth-child(2){margin-top:0}router-view.backoffice-alias .form-buttons ka-button+ka-button{margin-right:0}router-view.backoffice-agreements td.agreement-status>i{font-size:2rem;color:rgba(64,64,64,.3);cursor:pointer}router-view.backoffice-agreements tr.attivo td.agreement-status>i{color:#ed5a23}router-view.backoffice-agreements .ck-editor{width:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/backoffice.scss\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCjbF,2CACE,iBAAA,CACA,qEAAA,eAAA,CAAA,cAAA,CACA,oEAAA,cAAA,CACA,qEAAA,YAAA,CAGA,+DAAA,cAAA,CAOA,wDACE,cAAA,CACA,uBAAA,CACA,cAAA,CAIF,kEACE,aC1BU,CD6Bd,6CACE,UAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars';\\n@import '../../static/mixins';\\n\\n/* Alias sms */\\nrouter-view.backoffice-alias {\\n  .modify-alias {\\n    margin: 0 0 0 1rem;\\n    [class*=\\\"col\\\"] + [class*=\\\"col\\\"] { margin-top: 1rem; padding-left: 0; }\\n    [class*=\\\"col\\\"]:first-child { padding-left: 0; }\\n    [class*=\\\"col\\\"]:nth-child(2) { margin-top: 0; }\\n  }\\n  .form-buttons {\\n    ka-button + ka-button { margin-right: 0; }\\n  }\\n}\\n\\n/* Agreements */\\nrouter-view.backoffice-agreements {\\n  td.agreement-status {\\n    > i {\\n      font-size: 2rem;\\n      color: rgba($text-color, 0.3);\\n      cursor: pointer;\\n    }\\n  }\\n  tr.attivo {\\n    td.agreement-status > i {\\n      color: $primary-color;\\n    }\\n  }\\n  .ck-editor {\\n    width: 100%;\\n  }\\n}\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.blacklisted-tax-codes{max-width:max(30vw,30rem)}ux-dialog.blacklisted-tax-codes .body{padding:0}ux-dialog.blacklisted-tax-codes .body h2.table-title{margin:0}ux-dialog.blacklisted-tax-codes .body table tbody tr:last-of-type{box-shadow:none}ux-dialog.blacklisted-tax-codes .footer{display:flex;justify-content:flex-end;padding:6px;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/blacklisted-tax-codes/dialog-blacklisted-tax-codes.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,gCACE,yBAAA,CACA,sCACE,SAAA,CACA,qDACE,QAAA,CAGE,kEACE,eAAA,CACR,wCACE,YAAA,CACA,wBAAA,CACA,WAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/_mixins'\\n\\nux-dialog.blacklisted-tax-codes\\n  max-width: max(30vw, 30rem)\\n  .body\\n    padding: 0\\n    h2.table-title\\n      margin: 0\\n    table\\n      tbody\\n        tr:last-of-type\\n          box-shadow: none\\n  .footer \\n    display: flex\\n    justify-content: flex-end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.documenti-approval .body{padding:1rem}ux-dialog.documenti-approval .body .alert-message>i{font-size:1.2rem;color:#ed5a23;vertical-align:middle}ux-dialog.documenti-approval .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.documenti-approval .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/documenti/dialogs/documenti-approval.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,YAAA,CAEE,oDACE,gBAAA,CACA,aCPQ,CDQR,qBAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.documenti-approval\\n  .body \\n    padding: 1rem\\n    .alert-message\\n      > i\\n        font-size: 1.2rem\\n        color: $primary-color\\n        vertical-align: middle\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body .meta{margin-bottom:0}ux-dialog .body .meta>span{display:inline-block;margin-right:1rem;margin-bottom:1rem}ux-dialog .body h2+ka-tabs{margin-top:-1rem}ux-dialog .body ka-tab p{line-height:1.2}ux-dialog .body ka-tab p small{opacity:.5}ux-dialog .body ka-tab .unformat{padding:0 1rem 1rem}ux-dialog .body ka-tab .unformat *{margin:0;padding:0;font-size:1.2rem;line-height:1.4}ux-dialog .body .code{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;height:fit-content;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;font-size:1.2rem;white-space:nowrap;cursor:pointer}ux-dialog .body .key{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;height:fit-content;color:#fff;text-align:center;background-color:rgba(31,36,75,.7);box-shadow:inset 0 0 0 1px rgba(87,88,147,.7333333333);font-size:1.2rem;white-space:nowrap;cursor:pointer}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}#emailFrame{display:block;border:0;width:100%;height:30vh}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/notifiche-sistema/dialogs/notifiche-dettaglio.sass\"],\"names\":[],\"mappings\":\"AAII,sBACE,eAAA,CACA,2BACE,oBAAA,CACA,iBAAA,CACA,kBAAA,CACJ,2BACE,gBAAA,CAEA,yBACE,eAAA,CACA,+BACE,UAAA,CACJ,iCACE,mBAAA,CACA,mCACE,QAAA,CACA,SAAA,CACA,gBAAA,CACA,eAAA,CACN,sBACE,oBAAA,CACA,iBAAA,CACA,oBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,gBAAA,CACA,kBAAA,CACA,cAAA,CACF,qBACE,oBAAA,CACA,iBAAA,CACA,oBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,sDAAA,CACA,gBAAA,CACA,kBAAA,CACA,cAAA,CAEJ,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEJ,YACE,aAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog\\n  .body\\n    .meta\\n      margin-bottom: 0\\n      > span\\n        display: inline-block\\n        margin-right: 1rem\\n        margin-bottom: 1rem\\n    h2 + ka-tabs\\n      margin-top: -1rem\\n    ka-tab\\n      p\\n        line-height: 1.2\\n        small\\n          opacity: 0.5\\n      .unformat\\n        padding: 0 1rem 1rem\\n        & *\\n          margin: 0\\n          padding: 0\\n          font-size: 1.2rem\\n          line-height: 1.4         \\n    .code\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      height: fit-content\\n      color: white\\n      text-align: center\\n      background-color: rgba(28, 200, 0, 0.7)\\n      box-shadow: inset 0 0 0 1px #1cc800\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n    .key\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      height: fit-content\\n      color: white\\n      text-align: center\\n      background-color: rgba(31, 36, 75, 0.7)\\n      box-shadow: inset 0 0 0 1px #575893bb\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\\n#emailFrame\\n  display: block\\n  border: 0\\n  width: calc(100%)\\n  height: 30vh\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.backoffice-notifiche ka-tabs>nav{display:none}router-view.backoffice-notifiche .notifications-search{padding:0 1rem 1rem}router-view.backoffice-notifiche .search-channel>.row{min-width:16vw}router-view.backoffice-notifiche .notifications .code{display:inline-block;border-radius:3px;padding:.3rem 1.5rem;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;font-size:1.2rem;white-space:nowrap;cursor:pointer}router-view.backoffice-notifiche .notifications .code:before{display:inline-block;content:\\\"\\\";margin:0 .4rem 0 0;font-size:100%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:unset;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .code:hover{background-color:rgba(28,200,0,.8);box-shadow:inset 0 0 0 1px #15a000}router-view.backoffice-notifiche .notifications .code:hover:before{font-weight:400}router-view.backoffice-notifiche .notifications .channels{font-size:3rem;color:#ddd;white-space:nowrap}router-view.backoffice-notifiche .notifications .channels i.active{color:#ed5a23}router-view.backoffice-notifiche .notifications .channels i:nth-child(2){margin:0 .5rem}router-view.backoffice-notifiche .notifications .send{width:100%;margin:0;padding:0;list-style:none}router-view.backoffice-notifiche .notifications .send>li{display:flex}router-view.backoffice-notifiche .notifications .send>li.email{display:block}router-view.backoffice-notifiche .notifications .send>li>.emailAdress{display:flex}router-view.backoffice-notifiche .notifications .send>li .emailAdress+.emailAdress{margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li:nth-child(2){margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li:nth-child(3){margin-top:.5rem}router-view.backoffice-notifiche .notifications .send>li.email .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li.sms .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li.ui .send-channel:before{display:inline-block;content:\\\"\\\";margin:0 1rem 0 0;font-size:1.8rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:300}router-view.backoffice-notifiche .notifications .send>li .send-channel{width:max(8vw,12rem)}router-view.backoffice-notifiche .notifications .send>li ul.timeline{position:relative;display:flex;align-items:center;justify-content:space-between;width:max(10vw,15rem);margin:0;padding:0;list-style:none}router-view.backoffice-notifiche .notifications .send>li ul.timeline:before,router-view.backoffice-notifiche .notifications .send>li ul.timeline:after{position:absolute;display:inline-block;height:1.5px;width:calc(max(10vw, 15rem)/2);top:50%;left:0;content:\\\"\\\";transform:translateY(-50%);background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.timeline:after{left:unset;right:0;background:#ddd}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li{position:relative;display:flex;align-items:center;justify-content:center;height:1.8rem;width:1.8rem;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ddd;cursor:pointer;z-index:1}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li:nth-child(1){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li:nth-child(1):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ddd}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.pending>li:nth-child(2):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:spinner 1s linear infinite;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2){background:#ed5a23;box-shadow:none}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.error>li:nth-child(2):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.transit:after{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.transit>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:spinner 1s linear infinite;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.bounced:after,router-view.backoffice-notifiche .notifications .send>li ul.bounced:before{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3){background:#ed5a23;box-shadow:none}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.bounced>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#fff;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.delivered:after,router-view.backoffice-notifiche .notifications .send>li ul.delivered:before{background:#ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2):hover{animation:hover .8s ease-in-out infinite}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(2):before{display:none}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3){background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3):before{display:inline-block;content:\\\"\\\";margin:0;font-size:70%;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:middle;animation:unset;font-weight:900}router-view.backoffice-notifiche .notifications .send>li ul.delivered>li:nth-child(3):hover{animation:hover .8s ease-in-out infinite}@media screen and (max-width: 575px){router-view.backoffice-notifiche .notifications .channels{font-size:2.5rem}router-view.backoffice-notifiche .notifications .send>li{display:block}router-view.backoffice-notifiche .notifications .send>li>.emailAdress{display:block}router-view.backoffice-notifiche .notifications .send>li .send-channel{padding-bottom:.5rem}router-view.backoffice-notifiche .notifications .send>li .send-channel:before{display:none !important}router-view.backoffice-notifiche .notifications .send>li ul.timeline>li{height:1.6rem;width:1.6rem}}.notifications-tooltip strong{display:block;margin:0 -1rem .5rem -1rem;border-bottom:1px solid #606060;padding:0 1rem .5rem 1rem;font-size:1.1rem;text-transform:uppercase}.notifications-tooltip strong+br{display:none}.notifications-tooltip.pending strong{margin-bottom:0;border-bottom:0;padding-bottom:0;text-transform:none}.notifications-tooltip em{font-style:normal;font-size:1rem;opacity:.7}@keyframes spinner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes hover{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/notifiche-sistema/notifiche.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$unselected-color: #dddddd\\n$timeline-width: Max(10vw, 15rem)\\n$timeline-point: 1.8rem\\n$timeline-thikness: 1.5px\\nrouter-view.backoffice-notifiche\\n  ka-tabs > nav\\n    display: none\\n  /* Search */\\n  .notifications-search\\n    padding: 0 1rem 1rem\\n  .search-channel > .row\\n    min-width: 16vw\\n  /* Table */\\n  .notifications\\n    .code\\n      display: inline-block\\n      border-radius: 3px\\n      padding: 0.3rem 1.5rem\\n      color: white\\n      text-align: center\\n      background-color: rgba(28, 200, 0, 0.7)\\n      box-shadow: inset 0 0 0 1px #1cc800\\n      font-size: 1.2rem\\n      white-space: nowrap\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", \\\"light\\\", 100%, 0 0.4rem 0 0, #FFF, unset)\\n      &:hover \\n        background-color: rgba(28, 200, 0, 0.8)\\n        box-shadow: inset 0 0 0 1px #15a000\\n        &:before\\n          font-weight: 400\\n    .channels\\n      font-size: 3rem\\n      color: $unselected-color\\n      white-space: nowrap\\n      i.active\\n        color: $primary-color\\n      i:nth-child(2)\\n        margin: 0 .5rem\\n    .send\\n      width: 100%\\n      margin: 0\\n      padding: 0\\n      list-style: none\\n      > li\\n        display: flex\\n        &.email\\n          display: block\\n        & > .emailAdress\\n          display: flex\\n        .emailAdress + .emailAdress\\n          margin-top: 0.5rem\\n        &:nth-child(2)\\n          margin-top: .5rem\\n        &:nth-child(3)\\n          margin-top: .5rem\\n        &.email .send-channel:before\\n          @include fontawesome(\\\"\\\\f1fa\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        &.sms .send-channel:before\\n          @include fontawesome(\\\"\\\\f7cd\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        &.ui .send-channel:before\\n          @include fontawesome(\\\"\\\\f848\\\", \\\"light\\\", 1.8rem, 0 1rem 0 0, $primary-color, middle)\\n        .send-channel\\n          width: Max(8vw, 12rem)\\n        ul.timeline\\n          position: relative\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          width: $timeline-width\\n          margin: 0\\n          padding: 0\\n          list-style: none\\n          // Line\\n          &:before, &:after\\n            position: absolute\\n            display: inline-block\\n            height: $timeline-thikness\\n            width: calc(#{$timeline-width} / 2)\\n            top: 50%\\n            left: 0\\n            content: \\\"\\\"\\n            transform: translateY(-50%)\\n            background: $primary-color\\n          &:after\\n            left: unset\\n            right: 0\\n            background: $unselected-color\\n          // Point\\n          > li\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: center\\n            height: $timeline-point\\n            width: $timeline-point\\n            border-radius: 50%\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $unselected-color\\n            cursor: pointer\\n            z-index: 1\\n        // Created\\n        ul.timeline > li:nth-child(1)\\n          background: #FFF\\n          box-shadow: inset 0 0 0 2px $primary-color\\n          &:hover\\n              animation: hover .8s ease-in-out infinite\\n        // Pending  \\n        ul.pending > li:nth-child(2)\\n          background: #FFF\\n          box-shadow: inset 0 0 0 2px $unselected-color\\n          &:hover\\n              animation: hover .8s ease-in-out infinite\\n          &:before\\n            @include fontawesome(\\\"\\\\f3f4\\\", \\\"solid\\\", 70%, 0, $primary-color, middle, spinner 1s linear infinite)\\n        // Error  \\n        ul.error > li:nth-child(2)\\n            background: $primary-color\\n            box-shadow: none\\n            &:hover\\n              animation: hover .8s ease-in-out infinite\\n            &:before\\n              @include fontawesome(\\\"\\\\f00d\\\", \\\"solid\\\", 70%, 0, #FFF, middle)\\n        // Transit\\n        ul.transit\\n          &:after\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n              animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n              &:hover\\n                animation: hover .8s ease-in-out infinite\\n              &:before\\n                @include fontawesome(\\\"\\\\f3f4\\\", \\\"solid\\\", 70%, 0, $primary-color, middle, spinner 1s linear infinite)\\n        // Bounced\\n        ul.bounced\\n          &:after, &:before\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n            background: $primary-color\\n            box-shadow: none\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              @include fontawesome(\\\"\\\\f00d\\\", \\\"solid\\\", 70%, 0, #FFF, middle)\\n        // Delivered\\n        ul.delivered\\n          &:after, &:before\\n            background: $primary-color\\n          > li:nth-child(2)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n            &:before\\n              display: none\\n          > li:nth-child(3)\\n            background: #FFF\\n            box-shadow: inset 0 0 0 2px $primary-color\\n            &:before\\n              @include fontawesome(\\\"\\\\f00c\\\", \\\"solid\\\", 70%, 0, $primary-color, middle)\\n            &:hover\\n                animation: hover .8s ease-in-out infinite\\n    @media screen and (max-width: 575px)\\n      .channels\\n        font-size: 2.5rem\\n      .send\\n        > li\\n          display: block\\n          & > .emailAdress\\n            display: block\\n          & .send-channel\\n            padding-bottom: 0.5rem\\n            &:before\\n              display: none !important\\n          ul.timeline\\n            > li\\n              height: $timeline-point - 0.2rem\\n              width: $timeline-point - 0.2rem\\n// Tooltip\\n.notifications-tooltip\\n  strong\\n    display: block\\n    margin: 0 -1rem 0.5rem -1rem\\n    border-bottom: 1px solid #606060\\n    padding: 0 1rem 0.5rem 1rem\\n    font-size: 1.1rem\\n    text-transform: uppercase\\n    & + br\\n      display: none\\n  &.pending strong\\n    margin-bottom: 0\\n    border-bottom: 0\\n    padding-bottom: 0\\n    text-transform: none\\n  em\\n    font-style: normal\\n    font-size: 1rem\\n    opacity: 0.7\\n\\n/* Animations */\\n@keyframes spinner\\n  from \\n    transform: rotate(0deg)\\n  to\\n    transform: rotate(360deg)\\n@keyframes hover\\n  0%\\n    transform: scale(1)\\n  50%\\n    transform: scale(1.15)\\n  100%\\n    transform: scale(1)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.offerte-editor .body{padding:2rem}ux-dialog.offerte-editor .body div[class*=col-],ux-dialog.offerte-editor .body .col{padding-top:1rem}ux-dialog.offerte-editor .body div[class*=col-]:nth-child(1),ux-dialog.offerte-editor .body div[class*=col-]:nth-child(2),ux-dialog.offerte-editor .body .col:nth-child(1),ux-dialog.offerte-editor .body .col:nth-child(2){padding-top:0}ux-dialog.offerte-editor .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/backoffice/offerte/dialogs/offerte-editor.sass\"],\"names\":[],\"mappings\":\"AAGE,+BACE,YAAA,CACA,oFACE,gBAAA,CACA,4NACE,aAAA,CACN,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.offerte-editor\\n  .body\\n    padding: 2rem\\n    div[class*='col-'], .col\\n      padding-top: 1rem\\n      &:nth-child(1), &:nth-child(2)\\n        padding-top: 0\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.backoffice-offerte .service-modify-btn{display:block;width:16.5rem;margin:0}router-view.backoffice-offerte .service-modify-btn+.service-modify-btn{margin-top:.5rem}router-view.backoffice-offerte td small a{color:#ed5a23}@media screen and (max-width: 575px){router-view.backoffice-offerte td{max-width:unset !important;min-width:unset !important}}router-view.backoffice-offerte .payment-methods+.payment-methods:before{content:\\\", \\\"}router-view.backoffice-offerte .promo-code{display:flex;justify-content:center;margin-bottom:.2rem;padding:0 .5rem;border-radius:3px;font-size:1.1rem;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);cursor:pointer}@media screen and (max-width: 575px){router-view.backoffice-offerte .promo-code{display:inline-block;padding:.5rem 1rem}router-view.backoffice-offerte .promo-code+.promo-code{margin-left:.5rem}}router-view.backoffice-offerte .offered-by{text-decoration:line-through;color:rgba(64,64,64,.6);white-space:nowrap}router-view.backoffice-offerte .logs{margin-right:.3rem;color:#ed5a23;cursor:pointer}router-view.backoffice-offerte .logs:hover{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/backoffice/offerte/offerte.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,mDACE,aAAA,CACA,aAAA,CACA,QAAA,CACF,uEACE,gBAAA,CAEA,0CACE,aAAA,CACF,qCAHF,kCAII,0BAAA,CACA,0BAAA,CAAA,CAGJ,wEACE,YAAA,CACF,2CACE,YAAA,CACA,sBAAA,CACA,mBAAA,CACA,eAAA,CACA,iBAAA,CACA,gBAAA,CACA,kBAAA,CACA,6CAAA,CACA,mCAAA,CACA,cAAA,CACA,qCAXF,2CAYI,oBAAA,CACA,kBAAA,CACA,uDACE,iBAAA,CAAA,CAEN,2CACE,4BAAA,CACA,uBAAA,CACA,kBAAA,CAEF,qCACE,kBAAA,CACA,aC3CY,CD4CZ,cAAA,CACA,2CACE,aC/CO\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.backoffice-offerte\\n  .service-modify-btn\\n    display: block\\n    width: 16.5rem\\n    margin: 0\\n  .service-modify-btn + .service-modify-btn \\n    margin-top: 0.5rem\\n  td\\n    small a \\n      color: #ed5a23\\n    @media screen and (max-width: 575px)\\n      max-width: unset !important\\n      min-width: unset !important\\n\\n  // Servizi\\n  .payment-methods + .payment-methods:before\\n    content: ', '\\n  .promo-code\\n    display: flex\\n    justify-content: center\\n    margin-bottom: .2rem\\n    padding: 0 .5rem\\n    border-radius: 3px\\n    font-size: 1.1rem\\n    white-space: nowrap\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n    background-color: rgba($primary-color, 0.2)\\n    cursor: pointer\\n    @media screen and (max-width: 575px)\\n      display: inline-block\\n      padding: .5rem 1rem\\n      & + .promo-code\\n        margin-left: .5rem\\n\\n  .offered-by\\n    text-decoration: line-through\\n    color: rgba($text-color, 0.6)\\n    white-space: nowrap\\n\\n  .logs\\n    margin-right: .3rem\\n    color: $primary-color\\n    cursor: pointer\\n    &:hover\\n      color: $text-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.contract-detail{width:50vw}ux-dialog.contract-detail .content{margin:1rem}ux-dialog.contract-detail .content a{color:#ed5a23}ux-dialog.contract-detail .content>h2,ux-dialog.contract-detail .content h3{border:none;margin:1rem 0;color:#404040;font-weight:bold;font-size:1.6rem;line-height:1}ux-dialog.contract-detail .content>h2:before,ux-dialog.contract-detail .content>h2:after,ux-dialog.contract-detail .content h3:before,ux-dialog.contract-detail .content h3:after{border:none;box-shadow:none;background:rgba(0,0,0,0)}ux-dialog.contract-detail .content>h3{margin:1rem 0;font-size:1.4rem}ux-dialog.contract-detail .content>h4{margin:1rem 0;padding:0 0 0 1rem;font-size:1.4rem}ux-dialog.contract-detail .content h2+h3{margin-top:0;font-weight:normal;color:#ed5a23}ux-dialog.contract-detail .content h2+h4{font-weight:normal;color:#ed5a23}ux-dialog.contract-detail .content p+h2,ux-dialog.contract-detail .content p+h3,ux-dialog.contract-detail .content p+h4{margin-top:2rem}ux-dialog.contract-detail .content>p:last-child{margin-bottom:2rem}ux-dialog.contract-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/contracts/dialogs/contract-detail.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,0BACE,UAAA,CACA,mCACE,WAAA,CACA,qCACE,aCPU,CDQZ,4EACE,WAAA,CACA,aAAA,CACA,aCZO,CDaP,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,kLACE,WAAA,CACA,eAAA,CACA,wBAAA,CACJ,sCACE,aAAA,CACA,gBAAA,CACF,sCACE,aAAA,CACA,kBAAA,CACA,gBAAA,CACF,yCACE,YAAA,CACA,kBAAA,CACA,aC7BU,CD8BZ,yCACE,kBAAA,CACA,aChCU,CDiCZ,wHACE,eAAA,CACF,gDACE,kBAAA,CAEJ,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.contract-detail\\n  width: 50vw\\n  .content\\n    margin: 1rem\\n    a\\n      color: $primary-color\\n    > h2, h3\\n      border: none\\n      margin: 1rem 0\\n      color: $text-color\\n      font-weight: bold\\n      font-size: 1.6rem\\n      line-height: 1\\n      &:before, &:after\\n        border: none \\n        box-shadow: none \\n        background: transparent\\n    > h3 \\n      margin: 1rem 0 \\n      font-size: 1.4rem\\n    > h4 \\n      margin: 1rem 0 \\n      padding: 0 0 0 1rem \\n      font-size: 1.4rem\\n    h2 + h3 \\n      margin-top: 0 \\n      font-weight: normal \\n      color: $primary-color\\n    h2 + h4 \\n      font-weight: normal\\n      color: $primary-color\\n    p + h2, p + h3, p + h4 \\n      margin-top: 2rem\\n    > p:last-child \\n      margin-bottom: 2rem\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.contract-rescission .body .contract-versions{display:block}ux-dialog.contract-rescission .body .contract-versions .flat-service,ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes{display:block;font-weight:bold;white-space:nowrap}ux-dialog.contract-rescission .body .contract-versions .flat-service:before,ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes:before{font-weight:normal}ux-dialog.contract-rescission .body .contract-versions .flat-service:before{content:\\\"Ultima versione di contratto per attivazioni servizi in abbonamento accettata dall'utente: \\\"}ux-dialog.contract-rescission .body .contract-versions .multinvio-volumes:before{content:\\\"Ultima versione di contratto per spedizioni MultInvio accettata dall'utente: \\\"}ux-dialog.contract-rescission .body .reason-alert{display:block}ux-dialog.contract-rescission .body .reason-alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.contract-rescission .footer{display:flex;justify-content:space-between;align-items:center;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/dialogs/contract-rescission.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,uDDjbA,aACE,CAAA,+IACA,aACE,CAAA,gBACA,CAAA,kBACA,CAAA,6JACA,kBACE,CAAA,4EACJ,qGACE,CAAA,iFACF,uFACE,CAAA,kDACJ,aACE,CAAA,yDACA,oBCwBJ,CAAA,WDvB2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC2B/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sCDrCF,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.contract-rescission\\n  .body\\n    .contract-versions\\n      display: block\\n      .flat-service, .multinvio-volumes\\n        display: block\\n        font-weight: bold\\n        white-space: nowrap\\n        &:before\\n          font-weight: normal\\n      .flat-service:before\\n        content: 'Ultima versione di contratto per attivazioni servizi in abbonamento accettata dall\\\\'utente: '\\n      .multinvio-volumes:before\\n        content: 'Ultima versione di contratto per spedizioni MultInvio accettata dall\\\\'utente: '\\n    .reason-alert\\n      display: block\\n      &:before\\n        @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: flex\\n    justify-content: space-between\\n    align-items: center\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.create-contract{max-width:fit-content}ux-dialog.create-contract .body{overflow-x:hidden !important}ux-dialog.create-contract .body ka-control[name=htmlTemplate]{width:100%}ux-dialog.create-contract .body ka-control[name=htmlTemplate] .ck.ck-editor__main,ux-dialog.create-contract .body ka-control[name=htmlTemplate] .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline{height:50vh}ux-dialog.create-contract .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/contracts/dialogs/create-contract.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,0BACE,qBAAA,CACA,gCACE,4BAAA,CACA,8DACE,UAAA,CACA,4OACE,WAAA,CACN,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.create-contract\\n  max-width: fit-content\\n  .body\\n    overflow-x: hidden !important\\n    ka-control[name=\\\"htmlTemplate\\\"]\\n      width: 100%\\n      .ck.ck-editor__main, .ck-blurred.ck.ck-content.ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline\\n        height: 50vh\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.cashback-contracts #userArchive .subscriptions .subscription{display:flex;flex-direction:column;align-items:center;width:100%;border:none}router-view.cashback-contracts #userArchive .subscriptions .subscription h2{padding-right:1rem;font-size:1.4rem;line-height:4rem;white-space:nowrap;box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody tr:last-of-type{box-shadow:none;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td{font-size:1.3rem;white-space:nowrap;vertical-align:middle !important}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:first-child{box-shadow:inset 1px 0 0 0 #e0e0e0,inset -1px 0 0 0 #e0e0e0 !important}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:last-child{width:0;text-align:right;box-shadow:inset -1px 0 0 0 #e0e0e0}router-view.cashback-contracts #userArchive .subscriptions .subscription table tbody td:not(:last-child){box-shadow:1px 0 0 0 #e0e0e0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/contracts/tabs/user-archive.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCjbA,yEACE,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,4EACE,kBAAA,CACA,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mFAAA,CAGE,qGACE,eAAA,CACA,mCAAA,CACF,wFACE,gBAAA,CACA,kBAAA,CACA,gCAAA,CACA,oGACE,sEAAA,CACF,mGACE,OAAA,CACA,gBAAA,CACA,mCAAA,CACF,yGACE,4BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.cashback-contracts #userArchive\\n  .subscriptions\\n    .subscription\\n      display: flex\\n      flex-direction: column\\n      align-items: center\\n      width: 100%\\n      border: none\\n      h2\\n        padding-right: 1rem\\n        font-size: 1.4rem\\n        line-height: 4rem\\n        white-space: nowrap\\n        box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0\\n      table\\n        tbody\\n          tr:last-of-type\\n            box-shadow: none\\n            box-shadow: inset 0 -1px 0 0 #e0e0e0,\\n          td\\n            font-size: 1.3rem\\n            white-space: nowrap\\n            vertical-align: middle !important\\n            &:first-child\\n              box-shadow: inset 1px 0 0 0 #e0e0e0, inset -1px 0 0 0 #e0e0e0 !important\\n            &:last-child\\n              width: 0\\n              text-align: right\\n              box-shadow: inset -1px 0 0 0 #e0e0e0\\n            &:not(:last-child)\\n              box-shadow: 1px 0 0 0 #e0e0e0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.cashback-contracts #userSubscriptions .contracts .contract{display:flex;flex-direction:column;width:100%;min-height:30vh;max-height:calc(100vh - 5rem - 6rem - 2rem);border:1px solid #e0e0e0;overflow-y:auto;overflow-x:hidden}@media only screen and (max-width: 767px){router-view.cashback-contracts #userSubscriptions .contracts .contract{max-height:calc((100vh - 5rem - 6rem - 2rem)/2)}router-view.cashback-contracts #userSubscriptions .contracts .contract:last-of-type{border-top:none}router-view.cashback-contracts #userSubscriptions .contracts .contract h3{font-size:1.3rem;margin-bottom:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract ka-button{height:2.5rem;margin-top:.5rem;font-size:1.2rem;line-height:2.5rem}}router-view.cashback-contracts #userSubscriptions .contracts .contract:first-child{margin-right:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract:last-child{margin-left:.5rem}router-view.cashback-contracts #userSubscriptions .contracts .contract p{font-size:1.3rem;line-height:1.3}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .subscripted:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#1cc800;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .to-be-subscripted:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .subscription .nothing-to-subcribe:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .grace-period-warning:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:middle;animation:unset;font-weight:400}router-view.cashback-contracts #userSubscriptions .contracts .contract .content{position:relative;height:100%;min-height:20vh;width:calc(100% - 2rem);border:1px solid #e0e0e0;line-height:2rem;font-size:1.3rem;overflow-y:auto;overflow-x:hidden}@media only screen and (max-width: 767px){router-view.cashback-contracts #userSubscriptions .contracts .contract .content{min-height:10vh}}router-view.cashback-contracts #userSubscriptions .contracts .contract .content .spinner-loader{position:absolute;top:calc(50% - 2.5rem);left:calc(50% - 2.5rem);width:5rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #c0c0c0 94%, rgba(0, 0, 0, 0)) top/8px 8px no-repeat,conic-gradient(rgba(0, 0, 0, 0) 30%, #c0c0c0);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 8px), #000 0);animation:l13 1s infinite linear}router-view.cashback-contracts #userSubscriptions .contracts .contract .fa-exclamation-triangle{color:#f30}router-view.cashback-contracts #userSubscriptions .contracts .contract .tag{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control input{flex-shrink:0;cursor:pointer}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control .description{font-size:1.3rem;line-height:1.3;white-space:normal}router-view.cashback-contracts #userSubscriptions .contracts .clauses ul{margin:0 0 0 2.5rem;padding:0;list-style:none;line-height:1.3;font-size:1.3rem}@media only screen and (max-width: 991px){router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control ka-control-check{height:2.5rem}router-view.cashback-contracts #userSubscriptions .contracts .clauses ka-control .description{line-height:1;font-size:1.1rem}router-view.cashback-contracts #userSubscriptions .contracts .clauses ul{margin-top:.2rem !important;line-height:1;font-size:1.1rem}}router-view.cashback-contracts #userSubscriptions .contracts .cashback-restriction{display:flex;font-size:1.1rem;background:rgba(255,170,0,.3)}@keyframes l13{100%{transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/contracts/tabs/user-subscriptions.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,uEDhbA,YACE,CAAA,qBACA,CAAA,UACA,CAAA,eACA,CAAA,2CACA,CAAA,wBACA,CAAA,eACA,CAAA,iBACA,CAAA,0CACA,uEATF,+CAUI,CAAA,oFACA,eACE,CAAA,0EACF,gBACE,CAAA,mBACA,CAAA,iFACF,aACE,CAAA,gBACA,CAAA,gBACA,CAAA,kBACA,CAAA,CAAA,mFACJ,kBACE,CAAA,kFACF,iBACE,CAAA,yEACF,gBACE,CAAA,eACA,CAAA,yGAEA,oBCQN,CAAA,WDP6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCWjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aC7Cc,CAAA,qBF8BwE,CAAA,eCMA,CAAA,eAgBpF,CAAA,+GDrBI,oBCMN,CAAA,WDL6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCSjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC5Cc,CAAA,qBF+BwE,CAAA,eCIA,CAAA,eAgBpF,CAAA,iHDnBI,oBCIN,CAAA,WDH6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCOjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,qBFmCwE,CAAA,eCEE,CAAA,eAgBpF,CAAA,oGDjBE,oBCEJ,CAAA,WDD6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCKjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,qBFqC8D,CAAA,eCAY,CAAA,eAgBpF,CAAA,gFDfE,iBACE,CAAA,WACA,CAAA,eACA,CAAA,uBACA,CAAA,wBACA,CAAA,gBACA,CAAA,gBACA,CAAA,eACA,CAAA,iBACA,CAAA,0CACA,gFAVF,eAWI,CAAA,CAAA,gGACF,iBACE,CAAA,sBACA,CAAA,uBACA,CAAA,UAvDK,CAAA,cAyDL,CAAA,iBACA,CAAA,4IACA,CAAA,sFACA,CAAA,gCACA,CAAA,gGACJ,UE5DQ,CAAA,4EF8DR,eACE,CAAA,kBACA,CAAA,eACA,CAAA,sBACA,CAAA,uFAGA,aACE,CAAA,cACA,CAAA,8FACF,gBACE,CAAA,eACA,CAAA,kBACA,CAAA,yEACJ,mBACE,CAAA,SACA,CAAA,eACA,CAAA,eACA,CAAA,gBACA,CAAA,0CACF,kGAEI,aACE,CAAA,8FACF,aACE,CAAA,gBACA,CAAA,yEACJ,2BACE,CAAA,aACA,CAAA,gBACA,CAAA,CAAA,mFACN,YACE,CAAA,gBACA,CAAA,6BACA,CAAA,eAGJ,KACE,uBACE,CAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\n$loader-width: 5rem\\nrouter-view.cashback-contracts #userSubscriptions\\n  .contracts\\n    .contract\\n      display: flex\\n      flex-direction: column\\n      width: 100%\\n      min-height: 30vh\\n      max-height: calc(100vh - 5rem - 6rem - 2rem)\\n      border: 1px solid #e0e0e0\\n      overflow-y: auto\\n      overflow-x: hidden\\n      @media only screen and (max-width: 767px)\\n        max-height: calc((100vh - 5rem - 6rem - 2rem) / 2)\\n        &:last-of-type\\n          border-top: none\\n        h3\\n          font-size: 1.3rem\\n          margin-bottom: .5rem\\n        ka-button\\n          height: 2.5rem\\n          margin-top: .5rem\\n          font-size: 1.2rem\\n          line-height: 2.5rem\\n      &:first-child\\n        margin-right: .5rem\\n      &:last-child\\n        margin-left: .5rem\\n      p\\n        font-size: 1.3rem\\n        line-height: 1.3\\n      .subscription\\n        .subscripted:before\\n          @include fontawesome('\\\\f00c', 'regular', 1.3rem, 0 .5rem 0 0, $success-color, middle)\\n        .to-be-subscripted:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0 .5rem 0 0, $pending-color, middle)\\n        .nothing-to-subcribe:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0 .5rem 0 0, $error-color, middle)\\n      .grace-period-warning:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.3rem, 0, $error-color, middle)\\n      .content\\n        position: relative\\n        height: 100%\\n        min-height: 20vh\\n        width: calc(100% - 2rem)\\n        border: 1px solid #e0e0e0\\n        line-height: 2rem\\n        font-size: 1.3rem\\n        overflow-y: auto\\n        overflow-x: hidden\\n        @media only screen and (max-width: 767px)\\n          min-height: 10vh\\n        .spinner-loader\\n          position: absolute\\n          top: calc(50% - $loader-width / 2)\\n          left: calc(50% - $loader-width / 2)\\n          width: $loader-width\\n          aspect-ratio: 1\\n          border-radius: 50%\\n          background: radial-gradient(farthest-side,#c0c0c0 94%,#0000) top/8px 8px no-repeat, conic-gradient(#0000 30%,#c0c0c0)\\n          -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0)\\n          animation: l13 1s infinite linear\\n      .fa-exclamation-triangle\\n        color: $error-color\\n      .tag\\n        max-width: 300px\\n        white-space: nowrap\\n        overflow: hidden\\n        text-overflow: ellipsis\\n    .clauses\\n      ka-control\\n        input\\n          flex-shrink: 0\\n          cursor: pointer\\n        .description\\n          font-size: 1.3rem\\n          line-height: 1.3\\n          white-space: normal\\n      ul\\n        margin: 0 0 0 2.5rem\\n        padding: 0\\n        list-style: none\\n        line-height: 1.3\\n        font-size: 1.3rem\\n      @media only screen and (max-width: 991px)\\n        ka-control\\n          ka-control-check\\n            height: 2.5rem\\n          .description\\n            line-height: 1\\n            font-size: 1.1rem\\n        ul\\n          margin-top: .2rem !important\\n          line-height: 1\\n          font-size: 1.1rem\\n    .cashback-restriction\\n      display: flex\\n      font-size: 1.1rem\\n      background: rgba($warning-color, .3)\\n      \\n\\n  @keyframes l13 \\n    100%\\n      transform: rotate(1turn)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.credit-transfer .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/transactions/dialogs/credit-transfer.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.credit-transfer\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.edit-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/transactions/dialogs/edit-request.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,+BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.edit-request\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.insert-movement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/cashback/transactions/dialogs/insert-movement.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,kCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.insert-movement\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.withdrawal-request .download{font-size:1.3rem;color:#404040;text-decoration:underline;cursor:pointer}ux-dialog.withdrawal-request .download:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:unset;font-weight:400}ux-dialog.withdrawal-request .download:hover{color:#ed5a23}ux-dialog.withdrawal-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/dialogs/withdrawal-request.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,uCDlbF,gBACE,CAAA,aELS,CAAA,yBFOT,CAAA,cACA,CAAA,8CACA,oBCkCF,CAAA,WDjCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCqC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,kBFSoE,CAAA,eCgCI,CAAA,eAgBpF,CAAA,6CD/CA,aEVY,CAAA,qCFYd,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.withdrawal-request\\n  .download\\n    font-size: 1.3rem\\n    color: $text-color\\n    text-decoration: underline\\n    cursor: pointer\\n    &:before\\n      @include fontawesome(\\\"\\\\f56d\\\", \\\"regular\\\", 1.3rem, 0 .5rem 0 0, $primary-color, top)\\n    &:hover\\n      color: $primary-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.cashback-transactions #movements .movements-list h2{margin-bottom:0;border-bottom:none}router-view.cashback-transactions #movements .movements-list h2:only-of-type{margin:0 0 1rem}router-view.cashback-transactions #movements .movements-list h2+h2,router-view.cashback-transactions #movements .movements-list .grace-period-warning+h2{display:flex;margin-bottom:1rem;padding:0 1rem;font-size:1.4rem;color:#404040}router-view.cashback-transactions #movements .movements-list h2+h2:before,router-view.cashback-transactions #movements .movements-list .grace-period-warning+h2:before{display:none}router-view.cashback-transactions #movements .grace-period-warning{margin:0 !important;padding:1rem;background:rgba(255,170,0,.3)}router-view.cashback-transactions #movements .grace-period-warning>a{margin-left:.3rem;text-decoration:underline;color:#ed5a23;cursor:pointer;transition:color .3s ease-out}router-view.cashback-transactions #movements .grace-period-warning>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.cashback-transactions #movements .grace-period-warning>a:hover{color:#404040}router-view.cashback-transactions #movements .balance{cursor:pointer}router-view.cashback-transactions #movements .balance:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.inhibition-cashback>p{color:#fff;margin:0}ux-dialog-body .inhibition-cashback>p{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/cashback/transactions/tabs/movements.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,gEDjbA,eACE,CAAA,kBACA,CAAA,6EACA,eACE,CAAA,yJACJ,YACE,CAAA,kBACA,CAAA,cACA,CAAA,gBACA,CAAA,aEdO,CAAA,uKFgBP,YACE,CAAA,mEACN,mBACE,CAAA,YACA,CAAA,6BACA,CAAA,qEACA,iBACE,CAAA,yBACA,CAAA,aEvBU,CAAA,cFyBV,CAAA,6BACA,CAAA,4EACA,oBCeJ,CAAA,WDd2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCkB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2ED5BE,aE9BO,CAAA,sDFgCX,cACE,CAAA,6DACA,oBCSF,CAAA,WDRyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCY7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uBDrBF,UACE,CAAA,QACA,CAAA,sCAEF,aEzCW\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nrouter-view.cashback-transactions #movements\\n  .movements-list\\n    h2\\n      margin-bottom: 0\\n      border-bottom: none\\n      &:only-of-type\\n        margin: 0 0 1rem\\n    h2 + h2, .grace-period-warning + h2\\n      display: flex\\n      margin-bottom: 1rem\\n      padding: 0 1rem\\n      font-size: 1.4rem\\n      color: $text-color\\n      &:before\\n        display: none\\n  .grace-period-warning\\n    margin: 0 !important\\n    padding: 1rem\\n    background: rgba($warning-color, .3)\\n    > a\\n      margin-left: .3rem\\n      text-decoration: underline\\n      color: $primary-color\\n      cursor: pointer\\n      transition: color .3s ease-out\\n      &:before\\n        @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $text-color\\n  .balance\\n    cursor: pointer\\n    &:before\\n      @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0 .3rem 0 0, $primary-color)\\n.inhibition-cashback\\n  > p\\n    color: #fff\\n    margin: 0\\nux-dialog-body .inhibition-cashback\\n  > p\\n    color: $text-color\\n\\n      \\n      \\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.order-detail .body{display:flex;flex-direction:column;align-items:center}ux-dialog.order-detail .body>p{align-self:flex-start}ux-dialog.order-detail .body h3{align-self:flex-start}ux-dialog.order-detail .body .ka-table-like+.ka-table-like{margin-top:1rem}ux-dialog.order-detail .body .ka-table-like{width:calc(100% - 2rem);box-shadow:0 0 1px 0 #404040;max-height:50px;overflow-y:auto}ux-dialog.order-detail .body .ka-table-like:last-child{margin-bottom:1rem}ux-dialog.order-detail .body .ka-table-like tr{box-shadow:none}ux-dialog.order-detail .body .ka-table-like tr td,ux-dialog.order-detail .body .ka-table-like tr th{padding:1rem}ux-dialog.order-detail .body .ka-table-like tr .order-description{width:30%}ux-dialog.order-detail .body .ka-table-like tr .order-number{white-space:nowrap}ux-dialog.order-detail .body .ka-table-like tr .order-number>span{cursor:pointer;text-decoration:underline}ux-dialog.order-detail .body .ka-table-like tr .order-number>span:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.order-detail .body .ka-table-like tr .order-number>span:hover{color:#ed5a23}ux-dialog.order-detail .body .ka-table-like tr .invoice{white-space:nowrap}ux-dialog.order-detail .body .ka-table-like tr .invoice>a{text-decoration:underline;color:#404040;cursor:pointer}ux-dialog.order-detail .body .ka-table-like tr .invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.order-detail .body .ka-table-like tr .invoice>a:hover{color:#ed5a23}ux-dialog.order-detail .footer{display:flex;justify-content:flex-end;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.order-detail .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/order-detail.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6BDlbF,YACE,CAAA,qBACA,CAAA,kBACA,CAAA,+BACA,qBACE,CAAA,gCACF,qBACE,CAAA,2DACF,eACE,CAAA,4CACF,uBACE,CAAA,4BACA,CAAA,eAIA,CAAA,eACA,CAAA,uDAJA,kBACE,CAAA,+CAIF,eACE,CAAA,oGACA,YACE,CAAA,kEACF,SACE,CAAA,6DACF,kBACE,CAAA,kEACA,cACE,CAAA,yBACA,CAAA,yEACA,oBCUV,CAAA,WDTiC,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCarD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,wEDvBQ,aElCI,CAAA,wDFoCR,kBACE,CAAA,0DACA,yBACE,CAAA,aExCC,CAAA,cF0CD,CAAA,iEACA,oBAAA,CAAA,WCCV,CAAA,kBDA6D,CAAA,gBAAR,CAAA,iBCGrD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,gEDbQ,aE5CI,CAAA,+BF8Cd,YACE,CAAA,wBACA,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,mDACA,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.order-detail\\n  .body\\n    display: flex\\n    flex-direction: column\\n    align-items: center\\n    > p\\n      align-self: flex-start\\n    h3\\n      align-self: flex-start\\n    .ka-table-like + .ka-table-like\\n      margin-top: 1rem\\n    .ka-table-like\\n      width: calc(100% - 2rem)\\n      box-shadow: 0 0 1px 0 $text-color\\n      &:last-child\\n        margin-bottom: 1rem\\n      tbody.scrollable-body \\n      max-height: 50px\\n      overflow-y: auto\\n      tr\\n        box-shadow: none\\n        td, th\\n          padding: 1rem\\n        .order-description\\n          width: 30%\\n        .order-number\\n          white-space: nowrap\\n          > span\\n            cursor: pointer\\n            text-decoration: underline\\n            &:before\\n              @include fontawesome(\\\"\\\\f0c5\\\", 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n            &:hover\\n              color: $primary-color\\n        .invoice\\n          white-space: nowrap\\n          > a\\n            text-decoration: underline\\n            color: $text-color\\n            cursor: pointer\\n            &:before\\n              @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n            &:hover\\n              color: $primary-color\\n  .footer\\n    display: flex\\n    justify-content: flex-end\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.payment-instructions .body{padding:2rem}ux-dialog.payment-instructions .body p{margin:0;margin-bottom:1rem;padding:0}ux-dialog.payment-instructions .body ul{margin:0;padding:0 0 1rem;list-style:none}ux-dialog.payment-instructions .body .tips p{margin:0;padding:0}ux-dialog.payment-instructions .body .tips p .important{text-transform:uppercase}ux-dialog.payment-instructions .body .tips p .important:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.payment-instructions .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.payment-instructions .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/payment-instructions.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,qCDlbF,YACE,CAAA,uCACA,QACE,CAAA,kBACA,CAAA,SACA,CAAA,wCACF,QACE,CAAA,gBACA,CAAA,eACA,CAAA,6CACF,QACE,CAAA,SACA,CAAA,wDACA,wBACE,CAAA,+DACA,oBCwBN,CAAA,WDvB6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBC2BjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aD/B4D,CAAA,oBCsBO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,uCDrCF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,2DACA,aACE\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.payment-instructions\\n  .body \\n    padding: 2rem\\n    p\\n      margin: 0\\n      margin-bottom: 1rem\\n      padding: 0\\n    ul\\n      margin: 0\\n      padding: 0 0 1rem\\n      list-style: none\\n    .tips p\\n      margin: 0\\n      padding: 0\\n      .important\\n        text-transform: uppercase\\n        &:before\\n          @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, inherit)\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.settle-invoice .body{padding:2rem;color:#404040}ux-dialog.settle-invoice .body div>div{margin-block:1rem}ux-dialog.settle-invoice .body span.importo::after{content:\\\"€\\\"}ux-dialog.settle-invoice .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right;margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/dialogs/settle-invoice.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,+BDlbF,YACE,CAAA,aACA,CAAA,uCAEA,iBACE,CAAA,mDAEF,WACE,CAAA,iCAEJ,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,aAEA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.settle-invoice\\n  .body\\n    padding: 2rem\\n    color: #404040\\n\\n    div > div\\n      margin-block: 1rem\\n\\n    span.importo::after\\n      content: \\\"€\\\"\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n    margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.contabilita-invoices-list small.invoice{white-space:nowrap}router-view.contabilita-invoices-list small.invoice>a{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-invoices-list small.invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-invoices-list small.invoice>a:hover{color:#ed5a23}router-view.contabilita-invoices-list div.order-number{white-space:nowrap}router-view.contabilita-invoices-list div.order-number>span:last-child{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-invoices-list div.order-number>span:last-child:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-invoices-list div.order-number>span:last-child:hover{color:#ed5a23}router-view.contabilita-invoices-list .instruction{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.contabilita-invoices-list .instruction:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/invoices/invoices-list.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,oDDlbF,kBACE,CAAA,sDACA,yBACE,CAAA,aEPO,CAAA,cFSP,CAAA,6DACA,oBCiCJ,CAAA,WDhC2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCoC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4DD9CE,aEXU,CAAA,uDFad,kBACE,CAAA,uEACA,yBACE,CAAA,aEjBO,CAAA,cFmBP,CAAA,8EACA,oBCuBJ,CAAA,WDtB2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC0B/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,6EDpCE,aErBU,CAAA,mDFuBd,aACE,CAAA,aExBY,CAAA,yBF0BZ,CAAA,cACA,CAAA,oBACA,CAAA,aE7BS,CAAA,yDF+BT,aE9BY\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.contabilita-invoices-list\\n  small.invoice\\n    white-space: nowrap\\n    > a\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  div.order-number\\n    white-space: nowrap\\n    > span:last-child\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  .instruction\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:hover\\n      color: $primary-color \\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.contabilita-orders small.invoice{white-space:nowrap}router-view.contabilita-orders small.invoice>a{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-orders small.invoice>a:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-orders small.invoice>a:hover{color:#ed5a23}router-view.contabilita-orders div.order-number{white-space:nowrap}router-view.contabilita-orders div.order-number>span:last-child{text-decoration:underline;color:#404040;cursor:pointer}router-view.contabilita-orders div.order-number>span:last-child:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.contabilita-orders div.order-number>span:last-child:hover{color:#ed5a23}router-view.contabilita-orders .instruction{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.contabilita-orders .instruction:hover{color:#ed5a23}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/contabilita/orders.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6CDlbF,kBACE,CAAA,+CACA,yBACE,CAAA,aEPO,CAAA,cFSP,CAAA,sDACA,oBCiCJ,CAAA,WDhC2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCoC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,qDD9CE,aEXU,CAAA,gDFad,kBACE,CAAA,gEACA,yBACE,CAAA,aEjBO,CAAA,cFmBP,CAAA,uEACA,oBCuBJ,CAAA,WDtB2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC0B/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sEDpCE,aErBU,CAAA,4CFuBd,aACE,CAAA,aExBY,CAAA,yBF0BZ,CAAA,cACA,CAAA,oBACA,CAAA,aE7BS,CAAA,kDF+BT,aE9BY\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.contabilita-orders\\n  small.invoice\\n    white-space: nowrap\\n    > a\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  div.order-number\\n    white-space: nowrap\\n    > span:last-child\\n      text-decoration: underline\\n      color: $text-color\\n      cursor: pointer\\n      &:before\\n        @include fontawesome(\\\"\\\\f0c5\\\", 'regular', 1.1rem, 0 .3rem 0 0, $primary-color)\\n      &:hover\\n        color: $primary-color\\n  .instruction\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:hover\\n      color: $primary-color\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.fidelity-cards-activation{background:rgba(17,37,75,.01)}router-view.fidelity-cards-activation .cards-wrapper{height:100%;overflow:auto;grid-template-columns:repeat(3, 1fr)}router-view.fidelity-cards-activation .cards-wrapper .information-band{padding:1rem;display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;background:#fff;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>h2{margin:0 0 .4rem;padding:0 !important;border:none;padding:0 1rem;line-height:1.2;min-height:unset;height:fit-content}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p{margin:0;line-height:1.2;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p>a{font-weight:600;text-underline-offset:.4rem;transition:color .3s}router-view.fidelity-cards-activation .cards-wrapper .information-band>.title>p>a:hover{color:#ed5a23}router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages{display:flex;align-items:center;margin-left:auto}router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages .card-title,router-view.fidelity-cards-activation .cards-wrapper .information-band>.messages .promotion-title{text-transform:capitalize}router-view.fidelity-cards-activation .cards-wrapper .cards-1{display:block;max-width:100rem;padding:1rem}router-view.fidelity-cards-activation .cards-wrapper .cards-2,router-view.fidelity-cards-activation .cards-wrapper .cards-3{display:grid;row-gap:1rem;column-gap:1rem;padding:1rem}@media(max-width: 1200px){router-view.fidelity-cards-activation .cards-wrapper .cards-2,router-view.fidelity-cards-activation .cards-wrapper .cards-3{grid-template-columns:repeat(1, 1fr) !important}}router-view.fidelity-cards-activation .cards-wrapper .cards-2{grid-template-columns:repeat(2, 1fr)}@media(max-width: 1980px){router-view.fidelity-cards-activation .cards-wrapper .cards-2{max-width:130rem}}@media(max-width: 1600px){router-view.fidelity-cards-activation .cards-wrapper{grid-template-columns:repeat(2, 1fr)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/fidelity-cards/activation.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,sCACE,6BAAA,CACA,qDACE,WAAA,CACA,aAAA,CAmDA,oCAAA,CAlDA,uEACE,YAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,iBAAA,CACA,eAAA,CACA,6CAAA,CAEE,iFACE,gBAAA,CACA,oBAAA,CACA,WAAA,CACA,cAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACF,gFACE,QAAA,CACA,eAAA,CACA,gBAAA,CACA,yCAAA,CACA,kFACE,eAAA,CACA,2BAAA,CACA,oBAAA,CACA,wFACE,aClCE,CDmCV,iFACE,YAAA,CACA,kBAAA,CACA,gBAAA,CACA,+LACE,yBAAA,CACN,8DACE,aAAA,CACA,gBAAA,CACA,YAAA,CACF,4HACE,YAAA,CACA,YAAA,CACA,eAAA,CACA,YAAA,CACA,0BALF,4HAMI,+CAAA,CAAA,CACJ,8DACE,oCAAA,CACA,0BAFF,8DAGI,gBAAA,CAAA,CAGJ,0BAtDF,qDAuDI,oCAAA,CAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.fidelity-cards-activation\\n  background: rgba($secondary-color, .01)\\n  .cards-wrapper\\n    height: 100%\\n    overflow: auto\\n    .information-band\\n      padding: 1rem\\n      display: flex\\n      align-items: center\\n      justify-content: space-between\\n      min-height: 3.5rem\\n      background: #fff\\n      box-shadow: inset 0 -1px 0 0 rgba($secondary-color, .1)\\n      > .title\\n        > h2\\n          margin: 0 0 .4rem\\n          padding: 0 !important\\n          border: none\\n          padding: 0 1rem\\n          line-height: 1.2\\n          min-height: unset\\n          height: fit-content\\n        > p\\n          margin: 0\\n          line-height: 1.2\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', sans-serif\\n          > a\\n            font-weight: 600\\n            text-underline-offset: .4rem\\n            transition: color .3s\\n            &:hover\\n              color: $primary-color\\n      > .messages\\n        display: flex\\n        align-items: center\\n        margin-left: auto\\n        .card-title, .promotion-title\\n          text-transform: capitalize\\n    .cards-1\\n      display: block\\n      max-width: 100rem\\n      padding: 1rem  \\n    .cards-2, .cards-3\\n      display: grid\\n      row-gap: 1rem\\n      column-gap: 1rem\\n      padding: 1rem\\n      @media (max-width: 1200px)\\n        grid-template-columns: repeat(1, 1fr) !important\\n    .cards-2\\n      grid-template-columns: repeat(2, 1fr)\\n      @media (max-width: 1980px)\\n        max-width: 130rem\\n    .cards-3\\n    grid-template-columns: repeat(3, 1fr)\\n    @media (max-width: 1600px)\\n      grid-template-columns: repeat(2, 1fr)\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.fidelity-card-activation{max-width:min(90vw,100rem)}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2{display:flex;align-items:center;justify-content:space-between;padding:0 2rem}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2>.card-title{color:#11254b;font-family:\\\"Roboto slab\\\",serif}ux-dialog.fidelity-card-activation ux-dialog-header .dialog-header-content h2>.card-title>strong{font-weight:400;font-family:\\\"Roboto flex\\\",sans-serif;color:#ed5a23}ux-dialog.fidelity-card-activation .body{margin:0;padding:0;position:relative;overflow-y:auto;overflow-x:hidden}ux-dialog.fidelity-card-activation .body .disclosure>*:first-child{margin-top:0 !important}ux-dialog.fidelity-card-activation .body .acknowledgement{margin:2rem}ux-dialog.fidelity-card-activation .body .acknowledgement>h4{margin:0 0 .7rem;line-height:1.6;font-size:1.6rem;font-weight:500;font-family:\\\"Roboto condensed\\\",serif;color:#cc2900}ux-dialog.fidelity-card-activation .body .acknowledgement>h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.7rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#cc2900;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check{height:fit-content;padding:1rem 1.5rem;align-items:flex-start;background:#f3f3f3;box-shadow:inset 0 0 0 1px #bdbdbd}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check:after{position:absolute;content:\\\"\\\";height:100%;width:100%;top:0;left:0;background-size:6px 6px;pointer-events:none;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]{position:relative;z-index:1;margin:.3rem 0 0;flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:0;cursor:pointer;background:#fff;box-shadow:inset 0 0 0 1px #505050}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:before{content:\\\"\\\";opacity:0;position:absolute;top:50%;left:50%;height:1rem;width:1rem;background:#ed5a23;transform:translate(-50%, -50%);transition:opacity .3s}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:checked{background:inherit}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>input[type=checkbox]:checked:before{opacity:1}ux-dialog.fidelity-card-activation .body .acknowledgement ka-control-check>.description{line-height:1.5;font-size:1.5rem;white-space:unset;font-family:\\\"Roboto condensed\\\",sans-serif;color:#000}ux-dialog.fidelity-card-activation .footer{display:flex;align-items:center;position:relative;justify-content:flex-end;border-top:1px solid #e5e5e5;min-height:6.3rem}ux-dialog.fidelity-card-activation .footer md-table-progressbar{position:absolute;top:0;left:0;width:100%;height:.3rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/dialogs/fidelity-card-activation.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,mCDnbJ,0BACE,CAAA,8EACA,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,cACA,CAAA,0FACA,aERc,CAAA,+BFUZ,CAAA,iGACA,eACE,CAAA,oCACA,CAAA,aEdQ,CAAA,yCFgBd,QACE,CAAA,SACA,CAAA,iBACA,CAAA,eACA,CAAA,iBACA,CAAA,mEAEE,uBACE,CAAA,0DAEJ,WACE,CAAA,6DACA,gBACE,CAAA,eACA,CAAA,gBACA,CAAA,eACA,CAAA,oCACA,CAAA,aACA,CAAA,oEACA,oBCON,CAAA,WDN6B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCUjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDdsE,CAAA,oBCKH,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2EDpBE,kBACE,CAAA,mBACA,CAAA,sBACA,CAAA,kBACA,CAAA,kCACA,CAAA,iFACA,iBACE,CAAA,UACA,CAAA,WACA,CAAA,UACA,CAAA,KACA,CAAA,MACA,CAAA,uBACA,CAAA,mBACA,CAAA,iIACA,CAAA,gGACF,iBACE,CAAA,SACA,CAAA,gBACA,CAAA,aACA,CAAA,YACA,CAAA,aACA,CAAA,eACA,CAAA,cACA,CAAA,eACA,CAAA,kCACA,CAAA,uGACA,UACE,CAAA,SACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,WACA,CAAA,UACA,CAAA,kBEvEI,CAAA,+BFyEJ,CAAA,sBACA,CAAA,wGACF,kBACE,CAAA,+GACA,SACE,CAAA,wFACN,eACE,CAAA,gBACA,CAAA,iBACA,CAAA,yCACA,CAAA,UACA,CAAA,2CACR,YACE,CAAA,kBACA,CAAA,iBACA,CAAA,wBACA,CAAA,4BACA,CAAA,iBACA,CAAA,gEACA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,UACA,CAAA,YACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.fidelity-card-activation\\n  max-width: min(90vw, 100rem)\\n  ux-dialog-header .dialog-header-content h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    > .card-title\\n      color: $secondary-color\\n      font-family: 'Roboto slab', serif\\n      > strong\\n        font-weight: 400\\n        font-family: 'Roboto flex', sans-serif\\n        color: $primary-color\\n  .body\\n    margin: 0\\n    padding: 0\\n    position: relative\\n    overflow-y: auto\\n    overflow-x: hidden\\n    .disclosure\\n      > *:first-child\\n        margin-top: 0 !important\\n\\n    .acknowledgement\\n      margin: 2rem\\n      > h4\\n        margin: 0 0 .7rem\\n        line-height: 1.6\\n        font-size: 1.6rem\\n        font-weight: 500\\n        font-family: 'Roboto condensed', serif\\n        color: darken($error-color, 10%)\\n        &:before\\n          @include fontawesome('\\\\f06a', 'regular', 1.7rem, 0 .8rem 0 0, darken($error-color, 10%))\\n      ka-control-check\\n        height: fit-content\\n        padding: 1rem 1.5rem\\n        align-items: flex-start\\n        background: #f3f3f3\\n        box-shadow: inset 0 0 0 1px #bdbdbd\\n        &:after\\n          position: absolute\\n          content: \\\"\\\"\\n          height: 100%\\n          width: 100%\\n          top: 0\\n          left: 0\\n          background-size: 6px 6px\\n          pointer-events: none\\n          background-image: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.04) 0, rgba(0, 0, 0, 0.04) 1px, transparent 0, transparent 50%)\\n        > input[type=\\\"checkbox\\\"]\\n          position: relative\\n          z-index: 1\\n          margin: .3rem 0 0\\n          flex-shrink: 0\\n          width: 1.6rem\\n          height: 1.6rem\\n          border-radius: 0\\n          cursor: pointer\\n          background: #fff\\n          box-shadow: inset 0 0 0 1px #505050\\n          &:before\\n            content: ''\\n            opacity: 0\\n            position: absolute\\n            top: 50%\\n            left: 50%\\n            height: 1rem\\n            width: 1rem\\n            background: $primary-color\\n            transform: translate(-50%,-50%)\\n            transition: opacity .3s\\n          &:checked\\n            background: inherit\\n            &:before\\n              opacity: 1           \\n        > .description\\n          line-height: 1.5\\n          font-size: 1.5rem\\n          white-space: unset\\n          font-family: 'Roboto condensed', sans-serif\\n          color: #000\\n  .footer\\n    display: flex\\n    align-items: center\\n    position: relative\\n    justify-content: flex-end\\n    border-top: 1px solid #e5e5e5\\n    min-height: 6.3rem\\n    md-table-progressbar\\n      position: absolute\\n      top: 0\\n      left: 0\\n      width: 100%\\n      height: .3rem\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.fidelity-card-renewal-management{max-width:max(25vw,55rem)}ux-dialog.fidelity-card-renewal-management .body{padding:2rem}ux-dialog.fidelity-card-renewal-management .body>h3{font-weight:800;color:#404040}ux-dialog.fidelity-card-renewal-management .body>p{font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;margin:1rem 0 0 0}ux-dialog.fidelity-card-renewal-management .body>p>a{font-weight:600;text-underline-offset:.4rem;transition:color .3s;margin-left:.3rem}ux-dialog.fidelity-card-renewal-management .body>p>a:hover{color:#ed5a23}ux-dialog.fidelity-card-renewal-management .body>p>a:hover::before{color:#ed5a23}ux-dialog.fidelity-card-renewal-management .body>p>a::before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:900;transition:color .3s}ux-dialog.fidelity-card-renewal-management .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/dialogs/fidelity-card-renewal-management.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,2CDnbJ,yBACE,CAAA,iDACA,YACE,CAAA,oDACA,eACE,CAAA,aERO,CAAA,mDFUT,gBACE,CAAA,yCACA,CAAA,iBACA,CAAA,qDACA,eACE,CAAA,2BACA,CAAA,oBACA,CAAA,iBACA,CAAA,2DACA,aElBQ,CAAA,mEFoBN,aEpBM,CAAA,6DFsBR,oBCoBN,CAAA,WDnB6B,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBCuB/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aD3BoE,CAAA,oBCkBD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,oBDnCM,CAAA,mDAER,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.fidelity-card-renewal-management\\n  max-width: max(25vw, 55rem)\\n  .body\\n    padding: 2rem\\n    > h3\\n      font-weight: 800\\n      color: $text-color\\n    > p\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      margin: 1rem 0 0 0\\n      > a\\n        font-weight: 600\\n        text-underline-offset: 0.4rem\\n        transition: color 0.3s\\n        margin-left: .3rem\\n        &:hover\\n          color: $primary-color\\n          &::before \\n            color: $primary-color\\n        &::before\\n          @include fontawesome('\\\\f08e', 'solid', 1.2rem, 0 .3rem 0 0, inherit )\\n          transition: color 0.3s\\n         \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.cards-1>.card>.card-body>.card-description-html{min-height:7rem}.cards-1>.card>.card-body>.card-content>.fidelity-card{width:100% !important}.cards-1>.card>.card-body>.card-description-html,.cards-2>.card>.card-body>.card-description-html{min-height:7rem}.cards-1>.card>.card-body>.card-content>.card-section,.cards-2>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:0 0 0 2rem}.cards-1>.card>.card-body>.card-content>.card-section>.buttons,.cards-2>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}@media(max-width: 1200px){.cards-1>.card{align-items:center;justify-content:center;flex-direction:column}.cards-1>.card>.card-body{display:flex;flex-direction:column}.cards-1>.card>.card-body>.card-description-html{min-height:9rem}.cards-1>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-1>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:2rem 0 0;padding:0}.cards-1>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-1>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}}@media(max-width: 1980px){.cards-2>.card{align-items:center;justify-content:center;flex-direction:column}.cards-2>.card>.card-body{display:flex;flex-direction:column}.cards-2>.card>.card-body>.card-description-html{min-height:9rem}.cards-2>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-2>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:2rem 0 0;padding:0}.cards-2>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-2>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}}.cards-3>.card{align-items:center;justify-content:center;flex-direction:column}.cards-3>.card>.card-body{display:flex;flex-direction:column}.cards-3>.card>.card-body>.card-description-html{min-height:9rem}.cards-3>.card>.card-body>.card-content{flex-direction:column;align-items:center;flex-grow:1}.cards-3>.card>.card-body>.card-content>.card-section{flex-grow:1;margin:2rem 0 0;padding:0}.cards-3>.card>.card-body>.card-content>.card-section>.card-actions{justify-content:space-between}.cards-3>.card>.card-body>.card-content>.card-section>.buttons{padding-top:2rem;margin-top:auto}.card{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;min-height:30vh;border:1px solid #e0e0e0;background:#fff}.card .card-header{display:flex;width:100%;min-height:8rem;align-items:center;justify-content:space-between;padding:0 2rem;box-shadow:0 1px 0 0 rgba(17,37,75,.08),0 10px 8px -2px rgba(17,37,75,.1)}.card .card-header>.card-title-wrapper+.new-tag.success:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#0a4900;vertical-align:top;animation:unset;font-weight:400}.card .card-header>.card-title-wrapper{display:flex;align-items:center;justify-content:center}.card .card-header>.card-title-wrapper>.card-icon{display:flex;align-items:center;justify-content:center;position:relative;height:6rem;width:6rem;margin-right:2.5rem;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(17, 37, 75, 0.12) 0, rgba(17, 37, 75, 0.12) 1px, #fff 0, #fff 50%)}.card .card-header>.card-title-wrapper>.card-icon>img{height:100%;width:fit-content}.card .card-header h3{padding:0;margin:0 0 .7rem;font-size:1.8rem;font-weight:400;line-height:1;color:#11254b;font-family:\\\"Roboto slab\\\",sans-serif;text-transform:capitalize}.card .card-header h3>.highlighted{color:#e44c13;font-family:\\\"Roboto\\\",sans-serif}.card .card-header h4{margin:0;font-size:1.5rem;font-weight:400;line-height:1;animation:animated-greetings 1.4s ease-in-out;font-family:\\\"Roboto Condensed\\\",sans-serif;color:rgba(17,37,75,.7)}.card .card-header h4.text-primary{text-decoration-color:rgba(237,90,35,.5)}.card .card-body{position:relative;height:100%;width:100%;padding:2rem}.card .card-body .card-description-html{margin:0 0 2rem}.card .card-body .card-description-html>*{margin:0;padding:0}.card .card-body .card-description-html,.card .card-body .card-description-html>*{font-size:1.4rem;line-height:1.6;font-weight:300;color:rgba(17,37,75,.8);font-family:\\\"Roboto Flex\\\",sans-serif}.card .card-body .card-description-html>strong{font-weight:600;color:#11254b}.card .card-body>.card-content{display:flex}.card .card-body>.card-content>.fidelity-card{flex-shrink:1;width:66%;min-width:32rem;max-width:35rem;min-height:20rem;aspect-ratio:60/39}.card .card-body>.card-content .card-section{display:flex;flex-direction:column;width:100%}.card .card-body>.card-content .card-section>ul.card-benefits{list-style:none;margin:0;padding:0;height:100%}.card .card-body>.card-content .card-section>ul.card-benefits>li{font-weight:300;line-height:1.3;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif}.card .card-body>.card-content .card-section>ul.card-benefits>li+li{margin-top:1rem}.card .card-body>.card-content .card-section>ul.card-benefits>li>strong,.card .card-body>.card-content .card-section>ul.card-benefits>li a{font-weight:600;color:#11254b;text-underline-offset:.4rem}.card .card-body>.card-content .card-section>ul.card-benefits>li>a{color:#ed5a23}.card .card-body>.card-content .card-section>ul.card-benefits>li>a:hover{color:#11254b}.card .card-body>.card-content .card-section>ul.card-benefits>li.simple:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:middle;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>ul.card-benefits>li.promo:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>ul.card-benefits>li.pro:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#18af00;vertical-align:unset;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>ul.card-benefits>li.con{color:rgba(64,64,64,.4)}.card .card-body>.card-content .card-section>ul.card-benefits>li.con>strong{color:rgba(64,64,64,.4)}.card .card-body>.card-content .card-section>ul.card-benefits>li.con:before{display:inline-block;content:\\\"\\\";margin:0 .6rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(64,64,64,.3);vertical-align:unset;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:3rem}.card .card-body>.card-content .card-section>.card-actions .activation-info{display:flex;align-items:center;margin:0}.card .card-body>.card-content .card-section>.card-actions .activation-info>.card-activable-YES:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.card-activable-NO:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.new-tag.self-renewal.success:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#0a4900;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>.new-tag.self-renewal.error:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#960e29;vertical-align:top;animation:unset;font-weight:400}.card .card-body>.card-content .card-section>.card-actions .activation-info>span{display:block;margin-right:.8rem}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period{text-decoration:underline;text-underline-offset:.3rem;text-decoration-color:rgba(64,64,64,.5);margin-bottom:.3rem;cursor:pointer}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period:hover{color:#c41;text-decoration-color:rgba(237,90,35,.8)}.card .card-body>.card-content .card-section>.card-actions .activation-info .grace-period:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:text-bottom;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/fidelity-cards/templates/card.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n@mixin cardDashboardXl()\\n  > .card \\n    > .card-body \\n      > .card-description-html\\n          min-height: 7rem\\n      > .card-content \\n        > .fidelity-card\\n          width: 100% !important\\n\\n@mixin cardDashboard()\\n  > .card\\n    > .card-body\\n      > .card-description-html\\n        min-height: 7rem\\n      > .card-content\\n        > .card-section\\n          flex-grow: 1\\n          margin: 0 0 0 2rem\\n          > .buttons\\n            padding-top: 2rem\\n            margin-top: auto\\n\\n@mixin cardMobile()\\n  > .card\\n    align-items: center\\n    justify-content: center\\n    flex-direction: column\\n    > .card-body\\n      display: flex\\n      flex-direction: column\\n      > .card-description-html\\n        min-height: 9rem\\n      > .card-content\\n        flex-direction: column\\n        align-items: center\\n        flex-grow: 1\\n        > .card-section\\n          flex-grow: 1\\n          margin: 2rem 0 0\\n          padding: 0\\n          > .card-actions\\n            justify-content: space-between\\n          > .buttons\\n            padding-top: 2rem\\n            margin-top: auto\\n\\n.cards-1\\n  @include cardDashboardXl()\\n.cards-1, .cards-2\\n  @include cardDashboard()\\n.cards-1\\n  @media (max-width: 1200px)\\n    @include cardMobile()\\n.cards-2\\n  @media (max-width: 1980px)\\n    @include cardMobile()\\n.cards-3\\n  @include cardMobile()\\n\\n.card\\n  display: flex\\n  align-items: center\\n  justify-content: center\\n  flex-direction: column\\n  width: 100%\\n  min-height: 30vh\\n  border: 1px solid #e0e0e0\\n  background: #fff\\n\\n  .card-header\\n    display: flex\\n    width: 100%\\n    min-height: 8rem\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 2rem\\n    box-shadow: 0 1px 0 0 rgba($secondary-color, .08), 0 10px 8px -2px rgba($secondary-color, .1)\\n    > .card-title-wrapper + .new-tag\\n      &.success:before\\n        @include fontawesome('\\\\f00c', 'regular', 1.4rem, 0 .5rem 0 0, darken($success-color, 25%), top)\\n    > .card-title-wrapper\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      > .card-icon\\n        display: flex\\n        align-items: center\\n        justify-content: center\\n        position: relative\\n        height: 6rem\\n        width: 6rem\\n        margin-right: 2.5rem\\n        background-size: 7px 7px\\n        background-image: repeating-linear-gradient(45deg, rgba($secondary-color, .12) 0, rgba($secondary-color, .12) 1px, #fff 0, #fff 50%)\\n        > img\\n          height: 100%\\n          width: fit-content\\n    h3\\n      padding: 0\\n      margin: 0 0 .7rem\\n      font-size: 1.8rem\\n      font-weight: 400\\n      line-height: 1\\n      color: $secondary-color\\n      font-family: 'Roboto slab', sans-serif\\n      text-transform: capitalize\\n      > .highlighted\\n        color: darken($primary-color, 5%)\\n        font-family: 'Roboto', sans-serif\\n    h4\\n      margin: 0\\n      font-size: 1.5rem\\n      font-weight: 400\\n      line-height: 1\\n      animation: animated-greetings 1.4s ease-in-out\\n      font-family: 'Roboto Condensed', sans-serif\\n      color: rgba($secondary-color, .7)\\n      &.text-primary\\n        text-decoration-color: rgba($primary-color, .5)\\n          \\n  .card-body\\n    position: relative\\n    height: 100%\\n    width: 100%\\n    padding: 2rem\\n    .card-description-html\\n      margin: 0 0 2rem\\n      > *\\n        margin: 0\\n        padding: 0\\n      &, > *\\n        font-size: 1.4rem\\n        line-height: 1.6\\n        font-weight: 300\\n        color: rgba($secondary-color, .8)\\n        font-family: 'Roboto Flex', sans-serif\\n      > strong\\n        font-weight: 600\\n        color: $secondary-color\\n    > .card-content\\n      display: flex\\n      > .fidelity-card\\n        flex-shrink: 1\\n        width: 66%\\n        min-width: 32rem\\n        max-width: 35rem\\n        min-height: 20rem\\n        aspect-ratio: 60/39\\n      .card-section\\n        display: flex\\n        flex-direction: column\\n        width: 100%\\n        > ul.card-benefits\\n          list-style: none\\n          margin: 0\\n          padding: 0\\n          height: 100%\\n          > li\\n            font-weight: 300\\n            line-height: 1.3\\n            font-size: 1.5rem\\n            font-family: 'Roboto condensed', sans-serif\\n            & + li\\n              margin-top: 1rem\\n            > strong, a\\n              font-weight: 600\\n              color: $secondary-color\\n              text-underline-offset: .4rem\\n            > a\\n              color: $primary-color\\n              &:hover\\n                color: $secondary-color\\n            &.simple:before\\n              @include fontawesome('\\\\f35a', 'regular', 1.6rem, 0 .6rem 0 0, $secondary-color, middle)\\n            &.promo:before\\n              @include fontawesome('\\\\f336', 'regular', 1.6rem, 0 .6rem 0 0, darken($primary-color, 5%))\\n            &.pro:before\\n              @include fontawesome('\\\\f058', 'regular', 1.6rem, 0 .6rem 0 0, darken($success-color, 5%))\\n            &.con\\n              color: rgba($text-color, .4)\\n              > strong\\n                color: rgba($text-color, .4)\\n              &:before\\n                @include fontawesome('\\\\f057', 'regular', 1.6rem, 0 .6rem 0 0, rgba($text-color, .3))\\n        > .card-actions\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          margin-top: auto\\n          padding-top: 3rem\\n          .activation-info\\n            display: flex\\n            align-items: center\\n            margin: 0\\n            > .card-activable-YES:before\\n                @include fontawesome('\\\\f164', 'regular', 1.4rem, 0 .5rem 0 0, inherit, top)\\n            > .card-activable-NO:before\\n                @include fontawesome('\\\\f00d', 'regular', 1.4rem, 0 .5rem 0 0, inherit, top)\\n            > .new-tag.self-renewal\\n            > .new-tag.self-renewal\\n              &.success:before\\n                @include fontawesome('\\\\f364', 'regular', 1.4rem, 0 .5rem 0 0, darken($success-color, 25%), top)\\n              &.error:before\\n                @include fontawesome('\\\\f364', 'regular', 1.4rem, 0 .5rem 0 0, darken(crimson, 15%), top)\\n            > span\\n              display: block\\n              margin-right: .8rem\\n            .grace-period\\n              text-decoration: underline\\n              text-underline-offset: .3rem\\n              text-decoration-color: rgba($text-color, .5)\\n              margin-bottom: .3rem\\n              cursor: pointer\\n              &:hover\\n                color: darken($primary-color, 10%)\\n                text-decoration-color: rgba($primary-color, .8)\\n              &:before\\n                @include fontawesome('\\\\f06a', 'regular', inherit, 0 .3rem 0 0, darken($primary-color, 5%), text-bottom)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.fidelity-card{flex-shrink:0;border-radius:10px;position:relative;z-index:2}.fidelity-card:before{content:\\\"\\\";position:absolute;left:0;top:0;height:100%;width:100%;border-radius:10px;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(17, 37, 75, 0.12) 0, rgba(17, 37, 75, 0.12) 1px, transparent 0, transparent 50%)}.fidelity-card>.fidelity-card-header,.fidelity-card>.fidelity-card-footer{position:absolute;left:2rem;z-index:3;width:calc(100% - 4rem);height:fit-content}.fidelity-card>.fidelity-card-header p,.fidelity-card>.fidelity-card-header h5,.fidelity-card>.fidelity-card-header h6,.fidelity-card>.fidelity-card-footer p,.fidelity-card>.fidelity-card-footer h5,.fidelity-card>.fidelity-card-footer h6{margin:0;padding:0;color:#fff;text-shadow:2px 1px 1px rgba(0,0,0,.7)}.fidelity-card>.fidelity-card-header{top:1.5rem}.fidelity-card>.fidelity-card-header>h5{font-weight:300;font-size:2.5rem;font-family:\\\"Roboto flex\\\",sans-serif;text-transform:capitalize}.fidelity-card>.fidelity-card-header>p{font-weight:300;font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif}.fidelity-card>.fidelity-card-footer{display:flex;justify-content:space-between;align-items:flex-end;bottom:1.5rem}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>h6{margin-bottom:.2rem;font-size:1.5rem;font-weight:400;white-space:nowrap;font-family:\\\"Roboto condensed\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p{font-weight:300;font-size:1.5rem;white-space:collapse;font-family:\\\"Roboto flex\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p .price{font-size:1.8rem;font-family:\\\"Roboto mono\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p>.reference-price{display:block;font-size:1.4rem;font-family:\\\"Roboto condensed\\\",sans-serif}.fidelity-card>.fidelity-card-footer>.fidelity-card-price>p>.reference-price>.price{font-size:inherit}.fidelity-card>.fidelity-card-footer>svg{height:5rem}.fidelity-card>.fidelity-card-footer>svg>circle,.fidelity-card>.fidelity-card-footer>svg>path{fill:#fff;stroke:rgba(0,0,0,.5);stroke-width:6px}.fidelity-card>.fidelity-card-footer>svg>g>path{fill:#11254b}.fidelity-card.BASE{background-image:radial-gradient(circle 900px at 80% 10%, #c21500 0%, #F09819 60%);box-shadow:inset 0 0 0 1px #8f0f00}.fidelity-card.BASE-PLUS{background-image:radial-gradient(circle 950px at 130% 0%, #d0198f 0%, #202a94 40%, #170540 60%);box-shadow:inset 1px 0 0 0 #000,inset -1px 0 0 0 #5e0b41,inset 0 1px 0 0 #1a0312,inset 0 -1px 0 0 #1a0312}.fidelity-card.BASE-PLUS:before{background-image:repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 1px, transparent 0, transparent 50%)}.fidelity-card.SILVER{background-image:radial-gradient(circle 1020px at 120% -20%, #acacac 8%, #8e8e8e 14%, #535960 25%, #001d2f 45%);box-shadow:inset 1px 0 0 0 #000,inset -1px 0 0 0 #797979,inset 0 1px 0 0 #606060,inset 0 -1px 0 0 #606060}.fidelity-card.SILVER:before{z-index:2;background-image:repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.09) 0, rgba(255, 255, 255, 0.09) 1px, rgba(0, 0, 0, 0.02) 0, rgba(0, 0, 0, 0.02) 50%)}.fidelity-card.SILVER>.fidelity-card-footer>svg>circle,.fidelity-card.SILVER>.fidelity-card-footer>svg>path{fill:#ed5a23}.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>circle,.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>path,.fidelity-card.SILVER>.fidelity-card-footer>svg>circle,.fidelity-card.SILVER>.fidelity-card-footer>svg>path{stroke:rgba(0,29,47,.7);stroke-width:6px}.fidelity-card.BASE-PLUS>.fidelity-card-footer>svg>g>path,.fidelity-card.SILVER>.fidelity-card-footer>svg>g>path{fill:#000}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/fidelity-cards/templates/fidelity-card.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,eACE,aAAA,CACA,kBAAA,CACA,iBAAA,CACA,SAAA,CACA,sBACE,UAAA,CACA,iBAAA,CACA,MAAA,CACA,KAAA,CACA,WAAA,CACA,UAAA,CACA,kBAAA,CACA,uBAAA,CACA,uIAAA,CAEF,0EACE,iBAAA,CACA,SAAA,CACA,SAAA,CACA,uBAAA,CACA,kBAAA,CACA,8OACE,QAAA,CACA,SAAA,CACA,UAAA,CACA,sCAAA,CACJ,qCACE,UAAA,CACA,wCACE,eAAA,CACA,gBAAA,CACA,oCAAA,CACA,yBAAA,CACF,uCACE,eAAA,CACA,gBAAA,CACA,yCAAA,CACJ,qCACE,YAAA,CACA,6BAAA,CACA,oBAAA,CACA,aAAA,CAEE,6DACE,mBAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,yCAAA,CACF,4DACE,eAAA,CACA,gBAAA,CACA,oBAAA,CACA,oCAAA,CACA,mEACE,gBAAA,CACA,oCAAA,CACF,6EACE,aAAA,CACA,gBAAA,CACA,yCAAA,CACA,oFACE,iBAAA,CACR,yCACE,WAAA,CACA,8FACE,SAAA,CACA,qBAAA,CACA,gBAAA,CACF,gDACE,YCxEU,CD0EhB,oBACE,kFAAA,CACA,kCAAA,CACF,yBACE,+FAAA,CACA,yGAAA,CACA,gCACE,2IAAA,CACJ,sBACE,+GAAA,CACA,yGAAA,CACA,6BACE,SAAA,CACA,6JAAA,CAGE,4GACE,YC5FM,CDgGR,8NACE,uBAAA,CACA,gBAAA,CACF,iHACE,SAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n.fidelity-card\\n  flex-shrink: 0\\n  border-radius: 10px\\n  position: relative\\n  z-index: 2\\n  &:before\\n    content: ''\\n    position: absolute\\n    left: 0\\n    top: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: 10px\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba($secondary-color, .12) 0, rgba($secondary-color, .12) 1px, transparent 0, transparent 50%)\\n\\n  > .fidelity-card-header, > .fidelity-card-footer\\n    position: absolute\\n    left: 2rem\\n    z-index: 3\\n    width: calc(100% - 4rem)\\n    height: fit-content\\n    p, h5, h6\\n      margin: 0\\n      padding: 0\\n      color: #fff\\n      text-shadow: 2px 1px 1px rgba(#000, .7)\\n  > .fidelity-card-header\\n    top: 1.5rem\\n    > h5\\n      font-weight: 300\\n      font-size: 2.5rem\\n      font-family: 'Roboto flex', sans-serif\\n      text-transform: capitalize\\n    > p\\n      font-weight: 300\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n  > .fidelity-card-footer\\n    display: flex\\n    justify-content: space-between\\n    align-items: flex-end\\n    bottom: 1.5rem\\n    > .fidelity-card-price\\n      > h6\\n        margin-bottom: .2rem\\n        font-size: 1.5rem\\n        font-weight: 400\\n        white-space: nowrap\\n        font-family: 'Roboto condensed', sans-serif\\n      > p\\n        font-weight: 300\\n        font-size: 1.5rem\\n        white-space: collapse\\n        font-family: 'Roboto flex', sans-serif\\n        .price\\n          font-size: 1.8rem\\n          font-family: 'Roboto mono', sans-serif\\n        > .reference-price\\n          display: block\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', sans-serif\\n          > .price\\n            font-size: inherit\\n    > svg\\n      height: 5rem\\n      > circle, > path\\n        fill: #fff \\n        stroke: rgba(#000, .5)\\n        stroke-width: 6px\\n      > g > path\\n        fill: $secondary-color\\n\\n  &.BASE\\n    background-image: radial-gradient(circle 900px at 80% 10%, #c21500 0%, #F09819 60%)\\n    box-shadow: inset 0 0 0 1px darken(#c21500, 10%)\\n  &.BASE-PLUS\\n    background-image: radial-gradient(circle 950px at 130% 0%, #d0198f 0%, #202a94 40%, #170540 60%)\\n    box-shadow: inset 1px 0 0 0 #000, inset -1px 0 0 0 darken(#d0198f, 25%), inset 0 1px 0 0 darken(#d0198f, 40%), inset 0 -1px 0 0 darken(#d0198f, 40%)\\n    &:before\\n      background-image: repeating-linear-gradient(45deg, rgba(#fff, .1) 0, rgba(#fff, .1) 1px, transparent 0, transparent 50%)\\n  &.SILVER\\n    background-image: radial-gradient(circle 1020px at 120% -20%, #acacac 8%, #8e8e8e 14%, #535960 25%, #001d2f 45%)\\n    box-shadow: inset 1px 0 0 0 #000, inset -1px 0 0 0 darken(#acacac, 20%), inset 0 1px 0 0 darken(#acacac, 30%), inset 0 -1px 0 0 darken(#acacac, 30%)\\n    &:before\\n      z-index: 2\\n      background-image: repeating-linear-gradient(45deg, rgba(#fff, .09) 0, rgba(#fff, .09) 1px, rgba(#000, .02) 0, rgba(#000, .02) 50%)\\n    > .fidelity-card-footer\\n      > svg\\n        > circle, > path\\n          fill: $primary-color\\n  &.BASE-PLUS, &.SILVER\\n    > .fidelity-card-footer\\n      > svg\\n        > circle, > path\\n          stroke: rgba(#001d2f, .7)\\n          stroke-width: 6px\\n        > g > path\\n          fill: darken($secondary-color, 20%)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.help-services-agreement .body{padding:2rem}ux-dialog.help-services-agreement .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/help/dialogs/help-services-agreement.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,wCACE,YAAA,CACF,0CACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.help-services-agreement\\n  .body\\n    padding: 2rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.help .row{margin:0;padding:.75rem}router-view.help .row>div[class*=col]{padding:0}router-view.help .row .step-box{display:flex;flex-direction:column;margin:.5rem;padding:0 2rem;height:max(32vh,32rem);text-align:center;background-color:#fff;box-shadow:inset 0 0 0 1px rgba(64,64,64,.2),1px 1px 10px 0 rgba(64,64,64,.1)}router-view.help .row .step-box>i{margin:max(4vh,4rem) 0;font-size:max(5vh,5rem);color:#11254b}router-view.help .row .step-box>p{margin:0}router-view.help .row .step-box>.footer{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;flex-grow:1;padding:max(3vh,3rem) 0 2rem}router-view.help .row .step-box>.footer>p{margin:0}router-view.help .row .step-box>.footer>p a{transition:color .3s;text-underline-offset:4px}router-view.help .row .step-box>.footer>p a:hover{color:#ed5a23}router-view.help .row .step-box>.footer>p .disclaimer:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .row .step-box>.footer>p .software:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .address>a{text-decoration:none;transition:color .3s}router-view.help .address>a>span{text-decoration:underline;text-underline-offset:4px}router-view.help .address>a:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .address>a:hover{color:#ed5a23}router-view.help .iva:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .telephone:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.help .email:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/help/help.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,sBDlbF,QACE,CAAA,cACA,CAAA,sCACA,SACE,CAAA,gCACF,YACE,CAAA,qBACA,CAAA,YACA,CAAA,cACA,CAAA,sBACA,CAAA,iBACA,CAAA,qBACA,CAAA,6EACA,CAAA,kCACA,sBACE,CAAA,uBACA,CAAA,aElBU,CAAA,kCFoBZ,QACE,CAAA,wCACF,YACE,CAAA,qBACA,CAAA,0BACA,CAAA,kBACA,CAAA,WACA,CAAA,4BACA,CAAA,0CACA,QACE,CAAA,4CACA,oBACE,CAAA,yBACA,CAAA,kDACA,aEnCI,CAAA,6DFqCN,oBCKR,CAAA,WDJ+B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBCQnD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,2DDlBM,oBCGR,CAAA,WDF+B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBCMnD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4BDfF,oBACE,CAAA,oBACA,CAAA,iCACA,yBACE,CAAA,yBACA,CAAA,mCACF,oBCNF,CAAA,WDOyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCH7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kCDPA,aElDY,CAAA,6BFoDd,oBCVA,CAAA,WDWuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCP3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,mCDHF,oBCZA,CAAA,WDauB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCT3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,+BDDF,oBCdA,CAAA,WDeuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCX3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.help\\n  .row\\n    margin: 0\\n    padding: .75rem\\n    > div[class*=\\\"col\\\"]\\n      padding: 0\\n    .step-box\\n      display: flex\\n      flex-direction: column\\n      margin: 0.5rem\\n      padding: 0 2rem\\n      height: max(32vh, 32rem)\\n      text-align: center\\n      background-color: #fff\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 1px 1px 10px 0 rgba($text-color, .1)\\n      > i\\n        margin: max(4vh, 4rem) 0\\n        font-size: max(5vh, 5rem)\\n        color: $secondary-color\\n      > p \\n        margin: 0\\n      > .footer\\n        display: flex\\n        flex-direction: column\\n        justify-content: flex-start\\n        align-items: center\\n        flex-grow: 1\\n        padding: max(3vh, 3rem) 0 2rem\\n        > p\\n          margin: 0\\n          a\\n            transition: color .3s\\n            text-underline-offset: 4px\\n            &:hover\\n              color: $primary-color\\n          .disclaimer:before\\n            @include fontawesome(\\\"\\\\f1f9\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color)\\n          .software:before\\n            @include fontawesome(\\\"\\\\f08e\\\", \\\"regular\\\", inherit, 0 .3rem 0 0, $primary-color)\\n    \\n  .address > a\\n    text-decoration: none\\n    transition: color .3s\\n    > span\\n      text-decoration: underline\\n      text-underline-offset: 4px\\n    &:before\\n      @include fontawesome(\\\"\\\\f279\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  .iva:before\\n    @include fontawesome(\\\"\\\\f2bb\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  .telephone:before\\n    @include fontawesome(\\\"\\\\f8d3\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  .email:before\\n    @include fontawesome(\\\"\\\\f0e0\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.impostazioni-email h2.preferences{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0 1rem}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p{display:inline-block;margin:0;cursor:pointer}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p>.title{font-weight:600;font-size:1.6rem;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\";color:#11254b}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p>.title>span{display:none}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p>.content{padding-left:.3rem;line-height:1;font-size:2.2rem;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\";color:#ed5a23}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages>p>.content>span{font-size:1.6rem;color:#11254b;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages.finished:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:900}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages.finished>p>.title>span{display:inline}router-view.impostazioni-email h2.preferences>.multinvio-digital-self-usages.finished>p>.content{color:#f30}router-view.impostazioni-email .col-border-left{box-shadow:-1px 0 1px -1px #ed5a23}router-view.impostazioni-email .col-border-left ka-control.certifiedAddresses label{display:none}router-view.impostazioni-email .col-border-left ka-control-list .item:first-of-type .row label{display:block;margin:0;padding:0;width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap;transition:all .5s;margin-top:1.5rem}router-view.impostazioni-email .col-border-left ka-control-list .item:first-of-type .row label .ka-table-like.pec tr{border-bottom:0;background-color:rgba(0,0,0,0)}router-view.impostazioni-email .col-border-left:not(:last-child){border-bottom:1px solid #e0e0e0}router-view.impostazioni-email .col-border-left:not(:last-child) md-input.compact,router-view.impostazioni-email .col-border-left:not(:last-child) ka-input.compact{margin:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/email.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,8CDlbF,YACE,CAAA,gBACA,CAAA,kBACA,CAAA,6BACA,CAAA,cACA,CAAA,oFAEE,oBCgCJ,CAAA,WD/B2B,CAAA,kBAA6B,CAAA,iBAAT,CAAA,iBCmC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,+ED7CE,oBACE,CAAA,QACA,CAAA,cACA,CAAA,sFACA,eACE,CAAA,gBACA,CAAA,2CACA,CAAA,aElBQ,CAAA,2FFoBR,YACE,CAAA,wFACJ,kBACE,CAAA,aACA,CAAA,gBACA,CAAA,sCACA,CAAA,aE3BM,CAAA,6FF6BN,gBACE,CAAA,aE7BM,CAAA,2CF+BN,CAAA,6FAEJ,oBCQN,CAAA,WDP6B,CAAA,kBAA2B,CAAA,iBAAT,CAAA,iBCW/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,oBDqCuD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,oGDtBM,cACE,CAAA,iGACF,UEnCI,CAAA,gDFsCZ,kCACE,CAAA,oFAEA,YACE,CAAA,+FAEF,aACE,CAAA,QACA,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,eACA,CAAA,gBACA,CAAA,kBACA,CAAA,wBACA,CAAA,kBACA,CAAA,kBACA,CAAA,iBAGA,CAAA,qHAEA,eACE,CAAA,8BACA,CAAA,iEAEJ,+BACE,CAAA,oKAEA,QACE\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n  \\nrouter-view.impostazioni-email\\n  h2.preferences \\n    display: flex\\n    flex-wrap: nowrap\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 1rem\\n    > .multinvio-digital-self-usages\\n      &:before\\n        @include fontawesome('\\\\f05a', 'regular', inherit, 0 .3rem 0 0, $primary-color)\\n      > p\\n        display: inline-block\\n        margin: 0\\n        cursor: pointer\\n        > .title\\n          font-weight: 600\\n          font-size: 1.6rem\\n          font-family: 'Roboto condensed', 'sans-serif'\\n          color: $secondary-color\\n          > span\\n            display: none\\n        > .content\\n          padding-left: .3rem\\n          line-height: 1\\n          font-size: 2.2rem\\n          font-family: 'Roboto mono', 'sans-serif'\\n          color: $primary-color\\n          > span\\n            font-size: 1.6rem\\n            color: $secondary-color\\n            font-family: 'Roboto condensed', 'sans-serif'\\n      &.finished\\n        &:before\\n          @include fontawesome('\\\\f05e', 'solid', inherit, 0 .3rem 0 0, $error-color)\\n        & > p\\n          > .title > span\\n            display: inline\\n          > .content\\n            color: $error-color\\n\\n  .col-border-left\\n    box-shadow: -1px 0 1px -1px #ed5a23\\n\\n    ka-control.certifiedAddresses label\\n      display: none\\n\\n    ka-control-list .item:first-of-type .row label \\n      display: block\\n      margin: 0\\n      padding: 0\\n      width: 100%\\n      height: 1.5rem\\n      overflow: hidden\\n      font-size: 1.2rem\\n      line-height: 1.5rem\\n      color: rgba(237, 90, 35, 0.7)\\n      white-space: nowrap\\n      transition: all 0.5s\\n\\n      ka-control-list .item:first-of-type .buttons \\n      margin-top: 1.5rem\\n\\n      .ka-table-like.pec tr\\n        border-bottom: 0\\n        background-color: transparent\\n\\n    &:not(:last-child)\\n      border-bottom: 1px solid #e0e0e0\\n\\n      md-input.compact, ka-input.compact  \\n        margin: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.impostazioni-notifiche .col-border-left{box-shadow:-1px 0 1px -1px #ed5a23}router-view.impostazioni-notifiche md-input.compact,router-view.impostazioni-notifiche ka-input.compact{margin:0}router-view.impostazioni-notifiche #comm fieldset{margin-inline-start:0;margin-inline-end:0;padding-block-start:0;padding-inline-start:0;padding-inline-end:0;padding-block-end:0;min-inline-size:min-content;border-width:0;border-style:none;height:100%;font-size:1.4rem}router-view.impostazioni-notifiche #comm fieldset .legend{display:inline-block;margin:0 0 1rem;color:#404040}router-view.impostazioni-notifiche #comm fieldset .input-radio{display:flex;align-items:center}router-view.impostazioni-notifiche #comm fieldset .input-radio label{color:#404040;white-space:nowrap}router-view.impostazioni-notifiche #comm fieldset .input-radio input{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;margin-right:.5rem;font:inherit;background-color:#fff;width:1.5rem;height:1.5rem;border:.15rem solid #404040;border-radius:50%;cursor:pointer;appearance:none}router-view.impostazioni-notifiche #comm fieldset .input-radio input:before{content:\\\"\\\";width:.8rem;height:.8rem;border-radius:50%;transform:scale(0);transition:.2s transform ease-in-out;box-shadow:inset 1em 1em #ed5a23}router-view.impostazioni-notifiche #comm fieldset .input-radio input:checked:before{transform:scale(1)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/impostazioni/notifiche.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,oDACE,kCAAA,CAEF,wGACE,QAAA,CAGA,kDACE,qBAAA,CACA,mBAAA,CACA,qBAAA,CACA,sBAAA,CACA,oBAAA,CACA,mBAAA,CACA,2BAAA,CACA,cAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CAEA,0DACE,oBAAA,CACA,eAAA,CACA,aC3BK,CD4BP,+DACE,YAAA,CACA,kBAAA,CACA,qEACE,aChCG,CDiCH,kBAAA,CACF,qEACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,QAAA,CACA,kBAAA,CACA,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CACA,2BAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,4EACE,UAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,oCAAA,CACA,gCAAA,CACF,oFACE,kBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.impostazioni-notifiche\\n  .col-border-left \\n    box-shadow: -1px 0 1px -1px #ed5a23\\n\\n  md-input.compact, ka-input.compact \\n    margin: 0\\n\\n  #comm\\n    fieldset\\n      margin-inline-start: 0\\n      margin-inline-end: 0\\n      padding-block-start: 0\\n      padding-inline-start: 0\\n      padding-inline-end: 0\\n      padding-block-end: 0\\n      min-inline-size: min-content\\n      border-width: 0\\n      border-style: none\\n      height: 100%\\n      font-size: 1.4rem\\n\\n      .legend\\n        display: inline-block\\n        margin: 0 0 1rem\\n        color: $text-color\\n      .input-radio\\n        display: flex\\n        align-items: center\\n        label\\n          color: $text-color\\n          white-space: nowrap                 \\n        input\\n          display: flex\\n          align-items: center\\n          justify-content: center\\n          flex-shrink: 0\\n          margin: 0\\n          margin-right: .5rem\\n          font: inherit\\n          background-color: #fff\\n          width: 1.5rem\\n          height: 1.5rem\\n          border: 0.15rem solid $text-color\\n          border-radius: 50%\\n          cursor: pointer\\n          appearance: none              \\n          &:before\\n            content: \\\"\\\"\\n            width: .8rem\\n            height: .8rem\\n            border-radius: 50%\\n            transform: scale(0)\\n            transition: .2s transform ease-in-out\\n            box-shadow: inset 1em 1em $primary-color\\n          &:checked:before\\n            transform: scale(1)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.small{max-width:430px}ux-dialog .body{padding:2rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog md-prefsel{margin:0;background:rgba(0,0,0,0);border:none}ux-dialog md-prefsel .material-icons{display:none}ux-dialog md-prefsel p{padding:0}ux-dialog md-prefsel p.options{margin-top:1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/impostazioni/posta-dialog-confirm.scss\"],\"names\":[],\"mappings\":\"AACE,gBAAA,eAAA,CACA,gBACE,YAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,qBACE,QAAA,CACA,wBAAA,CACA,WAAA,CACA,qCAAA,YAAA,CACA,uBACE,SAAA,CACA,+BAAA,eAAA\",\"sourcesContent\":[\"ux-dialog {\\n  &.small { max-width: 430px; }\\n  .body {\\n    padding: 2rem;\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n  md-prefsel {\\n    margin: 0;\\n    background: transparent;\\n    border: none;\\n    .material-icons { display: none; }\\n    p { \\n      padding: 0;\\n      &.options { margin-top: 1rem; }\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.impostazioni-sms h2>span[static-tooltip]{transition:color .3s}router-view.impostazioni-sms h2>span[static-tooltip]:hover{color:#000}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/impostazioni/sms.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,qDACE,oBAAA,CACA,2DACE,UAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.impostazioni-sms\\n  h2 > span[static-tooltip]\\n    transition: color .3s\\n    &:hover\\n      color: #000\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../static/background.jpg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.offerta{position:relative;height:100%;max-height:100vh;background:#efefef url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 50% 50%/cover no-repeat}router-view.offerta>img{position:absolute;top:0;left:0;height:100%;width:100%;object-fit:cover;opacity:.06}router-view.offerta .offer-header{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;padding:2rem 3rem;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.offerta .offer-header>img{justify-self:start;height:3.5rem}router-view.offerta .offer-header>p{justify-self:center;line-height:1}router-view.offerta .offer-header>a,router-view.offerta .offer-header i{justify-self:end;font-size:2.7rem;text-decoration:none;color:#11254b;cursor:pointer}router-view.offerta .offer-box{width:80vw;max-width:120rem;border-radius:3px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.offerta .offer-box h1{color:#000;font-size:4rem}router-view.offerta .offer-box h2{border:0;font-size:1.8rem;line-height:1.2}router-view.offerta .offer-box .alert>strong,router-view.offerta .offer-box .alert small{display:block;line-height:1;font-size:1.4rem}router-view.offerta .offer-box .alert>strong{font-size:1.6rem}router-view.offerta .offer-box .alert .to-login{display:inline-block;text-decoration:underline;text-underline-offset:.2rem;color:#ed5a23}router-view.offerta .offer-box .alert .to-login>i{font-size:1.8rem;vertical-align:middle}router-view.offerta .offer-box .activation-button{padding:0 3rem;height:unset;border:1px solid #0b1932;line-height:4.5rem;font-size:1.5rem;background:linear-gradient(rgba(17, 37, 75, 0.9), #0b1932)}router-view.offerta .offer-box .activation-button.activable{border:1px solid #df4a12;animation:2.1s ease-in-out infinite pulse-button;background:linear-gradient(rgba(237, 90, 35, 0.9), #df4a12)}router-view.offerta .offer-box .left-side{box-shadow:inset -0.5px 0 0 0 #e0e0e0;padding:3rem}router-view.offerta .offer-box .left-side p{font-size:1.6rem}router-view.offerta .offer-box .left-side h3{font-size:1.6rem}router-view.offerta .offer-box .left-side small{display:block;font-size:1.4rem;line-height:1}router-view.offerta .offer-box .left-side .ribbon{display:flex;align-items:center;position:relative;z-index:3;width:21rem;height:3rem;font-size:calc(3rem - 1.1rem);color:#fff;background:#ed5a23;animation:.5s ease-in-out ribbon-entrance;box-shadow:5px 5px 5px 0 rgba(0,0,0,.1)}router-view.offerta .offer-box .left-side .ribbon:before,router-view.offerta .offer-box .left-side .ribbon::after{display:block;position:absolute;content:\\\"\\\"}router-view.offerta .offer-box .left-side .ribbon:before{position:absolute;content:\\\"\\\";height:0;width:0;left:0;bottom:calc(3rem/3*-1);border-top:calc(3rem/3) solid #c14b1f;border-left:calc(3rem/3) solid rgba(0,0,0,0)}router-view.offerta .offer-box .left-side .ribbon:after{top:0;left:auto;right:calc(3rem*-1);border:calc(3rem/2) solid #ed5a23;border-right-color:rgba(0,0,0,0)}router-view.offerta .offer-box .right-side{box-shadow:inset .5px 0 0 0 #e0e0e0;background:rgba(64,64,64,.05)}router-view.offerta .offer-box .right-side h2{padding:3rem;box-shadow:inset 0 -1px 0 0 #e0e0e0,inset .5px 0 0 0 #e0e0e0;background:#fff}router-view.offerta .offer-box .right-side .wrapper-services .flat-service{padding:3rem;border-radius:3px;background:rgba(0,0,0,0)}router-view.offerta .offer-box .right-side .wrapper-services .flat-service:not(:last-child){box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.offerta .offer-box .right-side .wrapper-services .flat-service h3{font-size:1.4rem;font-weight:800;color:#404040}router-view.offerta .offer-box .right-side .wrapper-services .flat-service p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .description{font-size:1.3rem;line-height:1.2}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price h4,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing h4{font-size:1.1rem;line-height:1.1;font-weight:800;text-transform:uppercase}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price p,router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing p{font-size:1.2rem}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .activability h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .duration h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .price h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .offer-box .right-side .wrapper-services .flat-service .billing h4:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.offerta .form{padding:3rem;box-shadow:inset 0 1px 0 0 #e0e0e0}router-view.offerta .activated-wrapper{padding:2rem 3rem}router-view.offerta .activated-wrapper>h1{margin:0;font-size:3.5rem}router-view.offerta .activated-wrapper>p{display:flex;align-items:center;margin:0;padding:0;height:4rem;font-size:1.8rem;color:#1cc800}router-view.offerta .activated-wrapper>p i{font-size:2rem}router-view.offerta .offer-footer>p{display:block;padding:2rem;font-size:1.6rem;color:#fff}router-view.offerta .offer-footer>p.activated-at{background:#1cc800}router-view.offerta .offer-footer>p.email-already-stored,router-view.offerta .offer-footer>p.authenticated-activated,router-view.offerta .offer-footer>p.authenticated-no-permissions{background:#404040}router-view.offerta .offer-footer>p>i{font-size:2rem;color:#fff;vertical-align:text-bottom}router-view.offerta .offer-footer>p small{display:block;margin-left:3rem}router-view.offerta.already-activated{display:flex;align-items:center;padding:2rem;font-size:1.6rem;background:#404040;color:#fff}@keyframes pulse-button{0%{transform:scale(1)}10%{transform:scale(1.08)}20%{transform:scale(1)}30%{transform:scale(1.08)}45%{transform:scale(1)}}@keyframes ribbon-entrance{0%{opacity:0;width:0;color:rgba(0,0,0,0)}100%{opacity:1;width:21rem;color:#fff}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/landing/offerta.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n$ribbon-height: 3rem\\nrouter-view.offerta\\n  position: relative\\n  height: 100%\\n  max-height: 100vh\\n  background: #efefef url('../../static/background.jpg') 50% 50%/cover no-repeat\\n  > img\\n    position: absolute\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    object-fit: cover\\n    opacity: .06\\n  .offer-header\\n    display: grid\\n    grid-auto-columns: 1fr\\n    grid-auto-flow: column\\n    align-items: center\\n    padding: 2rem 3rem\\n    box-shadow: inset 0 -1px 0 0 #e0e0e0\\n    > img\\n      justify-self: start\\n      height: 3.5rem\\n    > p\\n      justify-self: center\\n      line-height: 1\\n    > a,i\\n      justify-self: end\\n      font-size: 2.7rem\\n      text-decoration: none\\n      color: $secondary-color\\n      cursor: pointer\\n  .offer-box\\n    width: 80vw\\n    max-width: 120rem\\n    border-radius: 3px\\n    background-color: #f9f9f9\\n    box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n    h1\\n      color: #000\\n      font-size: 4rem\\n    h2\\n      border: 0\\n      font-size: 1.8rem\\n      line-height: 1.2\\n    .alert\\n      > strong, small\\n        display: block\\n        line-height: 1\\n        font-size: 1.4rem\\n      > strong\\n        font-size: 1.6rem\\n      .to-login\\n        display: inline-block\\n        text-decoration: underline\\n        text-underline-offset: .2rem\\n        color: $primary-color\\n        > i\\n          font-size: 1.8rem\\n          vertical-align: middle\\n    .activation-button\\n      padding: 0 3rem\\n      height: unset\\n      border: 1px solid darken($secondary-color, 6%)\\n      line-height: 4.5rem\\n      font-size: 1.5rem\\n      background: linear-gradient(rgba($secondary-color, .9), darken($secondary-color, 6%))\\n      &.activable\\n        border: 1px solid darken($primary-color, 6%)\\n        animation: 2.1s ease-in-out infinite pulse-button\\n        background: linear-gradient(rgba($primary-color, .9), darken($primary-color, 6%))\\n\\n    // Left side\\n    .left-side\\n      box-shadow: inset -.5px 0 0 0 #e0e0e0\\n      padding: 3rem\\n      p\\n        font-size: 1.6rem\\n      h3\\n        font-size: 1.6rem\\n      small\\n        display: block\\n        font-size: 1.4rem\\n        line-height: 1\\n      .ribbon\\n        display: flex\\n        align-items: center\\n        position: relative\\n        z-index: 3\\n        width: 21rem\\n        height: $ribbon-height\\n        font-size: calc(#{$ribbon-height} - 1.1rem)\\n        color: #fff\\n        background: $primary-color\\n        animation: .5s ease-in-out ribbon-entrance\\n        box-shadow: 5px 5px 5px 0 rgba(#000, 0.1)\\n        &:before, &::after\\n          display: block\\n          position: absolute\\n          content: ''\\n        &:before\\n          position: absolute\\n          content: ''\\n          height: 0\\n          width: 0\\n          left: 0\\n          bottom: calc((#{$ribbon-height} / 3) * -1)\\n          border-top: calc(#{$ribbon-height} / 3) solid #c14b1f\\n          border-left: calc(#{$ribbon-height} / 3) solid transparent\\n        &:after\\n          top: 0\\n          left: auto\\n          right: calc(#{$ribbon-height} * -1)\\n          border: calc(#{$ribbon-height} / 2) solid $primary-color\\n          border-right-color: transparent\\n\\n    // Right side\\n    .right-side\\n      box-shadow: inset .5px 0 0 0 #e0e0e0\\n      background: rgba($text-color, 0.05)\\n      h2\\n        padding: 3rem\\n        box-shadow: inset 0 -1px 0 0 #e0e0e0, inset .5px 0 0 0 #e0e0e0\\n        background: #fff\\n      .wrapper-services\\n        .flat-service\\n          padding: 3rem\\n          border-radius: 3px\\n          background: transparent\\n          &:not(:last-child)\\n            box-shadow: inset 0 -1px 0 0 #e0e0e0\\n          h3\\n            font-size: 1.4rem\\n            font-weight: 800\\n            color: $text-color\\n          p, .description\\n            font-size: 1.3rem\\n            line-height: 1.2\\n          .activability, .duration, .price, .billing\\n            h4\\n              font-size: 1.1rem\\n              line-height: 1.1\\n              font-weight: 800\\n              text-transform: uppercase\\n            p\\n              font-size: 1.2rem\\n          .activability h4:before\\n            @include fontawesome(\\\"\\\\f073\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .duration h4:before\\n            @include fontawesome(\\\"\\\\f34E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .price h4:before\\n            @include fontawesome(\\\"\\\\f51E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n          .billing h4:before\\n            @include fontawesome(\\\"\\\\f51E\\\", \\\"regular\\\", 1.5rem, 0 .8rem 0 0, $primary-color, unset)\\n\\n  .form \\n    padding: 3rem // 0 // 3rem // 2rem\\n    box-shadow: inset 0 1px 0 0 #e0e0e0\\n\\n  .activated-wrapper\\n    padding: 2rem 3rem\\n    > h1\\n      margin: 0\\n      font-size: 3.5rem\\n    > p\\n      display: flex\\n      align-items: center\\n      margin: 0\\n      padding: 0\\n      height: 4rem\\n      font-size: 1.8rem\\n      color: $success-color\\n      i\\n        font-size: 2rem\\n\\n  .offer-footer > p\\n    display: block\\n    padding: 2rem\\n    font-size: 1.6rem\\n    color: #fff\\n    &.activated-at\\n      background: $success-color\\n    &.email-already-stored, &.authenticated-activated, &.authenticated-no-permissions\\n      background: $text-color\\n    > i\\n      font-size: 2rem\\n      color: #fff\\n      vertical-align: text-bottom\\n    small\\n      display: block\\n      margin-left: 3rem\\n\\n  &.already-activated\\n    display: flex\\n    align-items: center\\n    padding: 2rem\\n    font-size: 1.6rem\\n    background: $text-color\\n    color: #fff\\n\\n// Animation \\n@keyframes pulse-button\\n  0%\\n    transform: scale(1)\\n  10%\\n    transform: scale(1.08)\\n  20%\\n    transform: scale(1)   \\n  30%\\n    transform: scale(1.08)\\n  45%\\n    transform: scale(1)\\n\\n@keyframes ribbon-entrance\\n  0%\\n    opacity: 0\\n    width: 0\\n    color: transparent\\n  100%\\n    opacity: 1\\n    width: 21rem\\n    color: #fff\\n\\n  \",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.registrazione{position:relative;height:100%;max-height:100vh}router-view.registrazione .wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;position:relative;z-index:10}router-view.registrazione .wrapper .header{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.registrazione .wrapper .header>img{justify-self:start;height:3.5rem}router-view.registrazione .wrapper .header>a,router-view.registrazione .wrapper .header i{justify-self:end;font-size:2.5rem;text-decoration:none;color:#11254b;cursor:pointer}router-view.registrazione .wrapper .box{width:80vw;max-width:120rem;border-radius:3px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1),0 10px 10px -10px rgba(0,0,0,.1)}router-view.registrazione .wrapper .box h2{border:0;font-size:1.8rem;line-height:1.2}router-view.registrazione .wrapper .box .step-section{position:relative;width:100%}router-view.registrazione .wrapper .box .step-section:before{position:absolute;display:block;content:\\\"\\\";bottom:0;left:.15rem;width:calc(100% - .3rem);height:1px;background:#e0e0e0}router-view.registrazione .wrapper .box .step-section:nth-of-type(2):before{display:none}router-view.registrazione .wrapper .box .step-section:last-of-type:before{display:block;left:-1.5rem;width:calc(100% + 3rem);height:1px;background:#e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy{margin:.5rem 0 0}router-view.registrazione .wrapper .box .step-section.privacy .row{position:relative;box-shadow:inset 0 0 0 1px #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>p{display:inline-block;padding:1rem;margin:0;box-shadow:inset 0 -1px 0 0 #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col]:first-of-type{box-shadow:inset -1px 0 0 0 #e0e0e0}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset{margin-inline-start:0;margin-inline-end:0;padding-block-start:0;padding-inline-start:0;padding-inline-end:0;padding-block-end:0;min-inline-size:min-content;border-width:0;border-style:none;height:100%;font-size:1.2rem}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .legend{display:inline-block;margin:0 0 1rem;color:#404040}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio{display:flex;align-items:center}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio label{color:#404040;white-space:nowrap}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;margin-right:.5rem;font:inherit;background-color:#fff;width:1.5rem;height:1.5rem;border:.15rem solid #404040;border-radius:50%;cursor:pointer;appearance:none}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input:before{content:\\\"\\\";width:.8rem;height:.8rem;border-radius:50%;transform:scale(0);transition:.2s transform ease-in-out;box-shadow:inset 1em 1em #ed5a23}router-view.registrazione .wrapper .box .step-section.privacy .row>div[class^=col] fieldset .input-radio input:checked:before{transform:scale(1)}@media screen and (max-width: 767px){router-view.registrazione .wrapper{max-width:100vw;height:fit-content;overflow-x:hidden}router-view.registrazione .wrapper .box{width:100vw;max-width:100vw;height:fit-content}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/landing/registrazione.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,0BACE,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,mCACE,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,iBAAA,CACA,UAAA,CACA,2CACE,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,kBAAA,CACA,mCAAA,CACA,+CACE,kBAAA,CACA,aAAA,CACF,0FACE,gBAAA,CACA,gBAAA,CACA,oBAAA,CACA,aC1BU,CD2BV,cAAA,CACJ,wCACE,UAAA,CACA,gBAAA,CACA,iBAAA,CACA,wBAAA,CACA,mEAAA,CACA,2CACE,QAAA,CACA,gBAAA,CACA,eAAA,CACF,sDACE,iBAAA,CACA,UAAA,CACA,6DACE,iBAAA,CACA,aAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,wBAAA,CACA,UAAA,CACA,kBAAA,CACF,4EACE,YAAA,CACF,0EACE,aAAA,CACA,YAAA,CACA,uBAAA,CACA,UAAA,CACA,kBAAA,CAEF,8DACE,gBAAA,CACA,mEACE,iBAAA,CACA,kCAAA,CACA,qEACE,oBAAA,CACA,YAAA,CACA,QAAA,CACA,mCAAA,CAEA,iGACE,mCAAA,CACF,4FACE,qBAAA,CACA,mBAAA,CACA,qBAAA,CACA,sBAAA,CACA,oBAAA,CACA,mBAAA,CACA,2BAAA,CACA,cAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CAEA,oGACE,oBAAA,CACA,eAAA,CACA,aC1FL,CD2FG,yGACE,YAAA,CACA,kBAAA,CACA,+GACE,aC/FP,CDgGO,kBAAA,CACF,+GACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,QAAA,CACA,kBAAA,CACA,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CACA,2BAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,sHACE,UAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,oCAAA,CACA,gCAAA,CACF,8HACE,kBAAA,CAEpB,qCACE,mCACE,eAAA,CACA,kBAAA,CACA,iBAAA,CACA,wCACE,WAAA,CACA,eAAA,CACA,kBAAA,CAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.registrazione\\n  position: relative\\n  height: 100%\\n  max-height: 100vh\\n  .wrapper\\n    display: flex\\n    flex-direction: column\\n    justify-content: center\\n    align-items: center\\n    height: 100%\\n    position: relative \\n    z-index: 10\\n    .header\\n      display: grid\\n      grid-auto-columns: 1fr\\n      grid-auto-flow: column\\n      align-items: center\\n      box-shadow: inset 0 -1px 0 0 #e0e0e0\\n      > img\\n        justify-self: start\\n        height: 3.5rem\\n      > a,i\\n        justify-self: end\\n        font-size: 2.5rem\\n        text-decoration: none\\n        color: $secondary-color\\n        cursor: pointer\\n    .box\\n      width: 80vw\\n      max-width: 120rem\\n      border-radius: 3px\\n      background-color: #f9f9f9\\n      box-shadow: 0 0 10px rgba(#000, 0.1), 0 10px 10px -10px rgba(#000, 0.1)\\n      h2\\n        border: 0\\n        font-size: 1.8rem\\n        line-height: 1.2\\n      .step-section\\n        position: relative\\n        width: 100%\\n        &:before\\n          position: absolute\\n          display: block\\n          content: ''\\n          bottom: 0\\n          left: .15rem\\n          width: calc(100% - (0.15rem * 2))\\n          height: 1px\\n          background: #e0e0e0\\n        &:nth-of-type(2):before\\n          display: none\\n        &:last-of-type:before\\n          display: block\\n          left: -1.5rem\\n          width: calc(100% + (1.5rem * 2))\\n          height: 1px\\n          background: #e0e0e0\\n\\n        &.privacy\\n          margin: .5rem 0 0\\n          .row\\n            position: relative\\n            box-shadow: inset 0 0 0 1px #e0e0e0\\n            > p\\n              display: inline-block\\n              padding: 1rem\\n              margin: 0\\n              box-shadow: inset 0 -1px 0 0 #e0e0e0\\n            > div[class^=\\\"col\\\"]\\n              &:first-of-type\\n                box-shadow: inset -1px 0 0 0 #e0e0e0\\n              fieldset\\n                margin-inline-start: 0\\n                margin-inline-end: 0\\n                padding-block-start: 0\\n                padding-inline-start: 0\\n                padding-inline-end: 0\\n                padding-block-end: 0\\n                min-inline-size: min-content\\n                border-width: 0\\n                border-style: none\\n                height: 100%\\n                font-size: 1.2rem\\n\\n                .legend\\n                  display: inline-block\\n                  margin: 0 0 1rem\\n                  color: $text-color\\n                .input-radio\\n                  display: flex\\n                  align-items: center\\n                  label\\n                    color: $text-color\\n                    white-space: nowrap                 \\n                  input\\n                    display: flex\\n                    align-items: center\\n                    justify-content: center\\n                    flex-shrink: 0\\n                    margin: 0\\n                    margin-right: .5rem\\n                    font: inherit\\n                    background-color: #fff\\n                    width: 1.5rem\\n                    height: 1.5rem\\n                    border: 0.15rem solid $text-color\\n                    border-radius: 50%\\n                    cursor: pointer\\n                    appearance: none              \\n                    &:before\\n                      content: \\\"\\\"\\n                      width: .8rem\\n                      height: .8rem\\n                      border-radius: 50%\\n                      transform: scale(0)\\n                      transition: .2s transform ease-in-out\\n                      box-shadow: inset 1em 1em $primary-color\\n                    &:checked:before\\n                      transform: scale(1)\\n\\n  @media screen and (max-width: 767px)\\n    .wrapper\\n      max-width: 100vw\\n      height: fit-content\\n      overflow-x: hidden\\n      .box\\n        width: 100vw\\n        max-width: 100vw\\n        height: fit-content\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.multicerta-invite .step-box{margin:.5rem;border:1px solid #e0e0e0;padding:1rem;height:calc(100% - 1rem);background-color:#fff}router-view.multicerta-invite .step-box .step-number{display:inline-block;margin-right:1rem;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:3rem;text-align:center;vertical-align:top;color:#fff;background-color:#ed5923;background-color:#11254b}router-view.multicerta-invite .step-box .step-title{display:inline-block;margin:0;font-size:1.6rem;line-height:3rem;color:#ed5923;color:#11254b}router-view.multicerta-invite .step-box .step-description{margin:0;padding:1rem}router-view.multicerta-invite .step-box .step-description p{margin:0}router-view.multicerta-invite .step-box .step-description ka-button,router-view.multicerta-invite .step-box .step-description .ka-button{margin:0}router-view.multicerta-invite .step-separator{position:relative;flex:0;margin:0 !important;width:0}router-view.multicerta-invite .step-separator:after{content:\\\"▶\\\";display:block;position:absolute;top:50%;left:50%;z-index:-1;font-size:1.8rem;color:#e0e0e0;transform:translate(-50%, -50%)}@media screen and (max-width: 62em){router-view.multicerta-invite .step-separator{display:none}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/multicerta/invite.scss\"],\"names\":[],\"mappings\":\"AAAA,wCACE,YACE,CAAA,wBACA,CAAA,YACA,CAAA,wBACA,CAAA,qBACA,CAAA,qDAEA,oBACE,CAAA,iBACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,cACA,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,UACA,CAAA,wBACA,CAAA,wBACA,CAAA,oDAGF,oBACE,CAAA,QACA,CAAA,gBACA,CAAA,gBACA,CAAA,aACA,CAAA,aACA,CAAA,0DAGF,QACE,CAAA,YACA,CAAA,4DACA,QAAA,CAAA,yIACA,QAAA,CAAA,8CAIJ,iBACE,CAAA,MACA,CAAA,mBACA,CAAA,OACA,CAAA,oDAEA,WACE,CAAA,aACA,CAAA,iBACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,aACA,CAAA,+BACA,CAAA,oCAIJ,8CAAA,YAAA,CAAA\",\"sourcesContent\":[\"router-view.multicerta-invite {\\n  .step-box {\\n    margin: 0.5rem;\\n    border: 1px solid #e0e0e0;\\n    padding: 1rem;\\n    height: calc(100% - 1rem);\\n    background-color: #ffffff;\\n  \\n    .step-number {\\n      display: inline-block;\\n      margin-right: 1rem;\\n      border-radius: 50%;\\n      width: 3rem;\\n      height: 3rem;\\n      font-size: 2rem;\\n      line-height: 3rem;\\n      text-align: center;\\n      vertical-align: top;\\n      color: #ffffff;\\n      background-color: #ed5923;\\n      background-color: #11254b;\\n    }\\n    \\n    .step-title {\\n      display: inline-block;\\n      margin: 0;\\n      font-size: 1.6rem;\\n      line-height: 3rem;\\n      color: #ed5923;\\n      color: #11254b;\\n    }\\n    \\n    .step-description {\\n      margin: 0;\\n      padding: 1rem;\\n      p { margin: 0; }\\n      ka-button, .ka-button { margin: 0; }\\n    }\\n  }\\n  \\n  .step-separator {\\n    position: relative;\\n    flex: 0;\\n    margin: 0 !important;\\n    width: 0;\\n  \\n    &:after {\\n      content: \\\"▶\\\";\\n      display: block;\\n      position: absolute;\\n      top: 50%;\\n      left: 50%;\\n      z-index: -1;\\n      font-size: 1.8rem;\\n      color: #e0e0e0;\\n      transform: translate(-50%, -50%);\\n    }\\n  }\\n  \\n  @media screen and (max-width: 62em) { .step-separator { display: none; } }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.ka-tooltip.visible .points-transaction-history-info-tooltip-status{padding:0;margin:0 0 0 1rem;font-size:1.2rem;color:#fff !important}router-view.multicoin-points-transaction-history h2.table-title{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0 1rem}router-view.multicoin-points-transaction-history h2.table-title>p{line-height:1.2}router-view.multicoin-points-transaction-history h2.table-title>p>span[static-tooltip]:hover{color:#404040;transition:color .3s}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container{display:flex;margin-left:1rem;flex-wrap:nowrap;align-items:center;justify-content:space-between}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points{display:flex;align-items:center}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag{padding:.6rem 1rem;border-radius:.4rem}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points:not(:last-child):after{display:flex;justify-content:center;content:\\\"+\\\";width:2.5rem;font-weight:400;font-size:1.8rem;color:#000;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag{padding:0;text-shadow:none;background:unset;box-shadow:none}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag:after{background:unset}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total>.new-tag:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points.total:after{content:\\\"=\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag>span:last-child{line-height:1;vertical-align:text-bottom;font-size:1.8rem;font-weight:600;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2.table-title>.multicoin-points-container>.multicoin-points .new-tag>span:last-child:after{content:\\\"pt.\\\";font-weight:400;font-size:1.5rem;padding-left:.3rem;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history h2+.table-band{margin-top:-1rem}router-view.multicoin-points-transaction-history .table-band{display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 0 0 #e0e0e0;background-size:7px 7px;background-image:repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.02) 0, rgba(0, 0, 0, 0.02) 1px, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 50%)}router-view.multicoin-points-transaction-history .table-band>.banner-message>.no-fidelity-card:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:inherit;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e62e00;vertical-align:bottom;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history .table-band>.banner-message>.BASE-PLUS:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#2365de;vertical-align:bottom;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band>.banner-message>.BASE:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:bottom;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band>.banner-message>.SILVER:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(0,0,0,.7);vertical-align:bottom;animation:unset;font-weight:900}router-view.multicoin-points-transaction-history .table-band .table-buttons{display:flex;align-content:center}router-view.multicoin-points-transaction-history table th.info-tooltip>span{cursor:pointer}router-view.multicoin-points-transaction-history table th.info-tooltip>span:hover{color:#ed5a23;transition:color .3s}router-view.multicoin-points-transaction-history table th.info-tooltip>span:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.created-at{font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.created-at>.data,router-view.multicoin-points-transaction-history table td.created-at>div>.data{font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.created-at>div{color:rgba(64,64,64,.6)}router-view.multicoin-points-transaction-history table td.source>p{margin:0;font-family:\\\"Roboto slab\\\",\\\"serif\\\"}router-view.multicoin-points-transaction-history table td.source>p.source-type{font-size:1.4rem;font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\";color:rgba(64,64,64,.6)}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason{color:rgba(64,64,64,.8);text-decoration:underline;text-underline-offset:.3rem;transition:color .3s}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:before{transition:color .3s;display:inline-block;content:\\\"\\\";margin:0 .2rem 0 .2rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(64,64,64,.8);vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:hover{color:#ed5a23}router-view.multicoin-points-transaction-history table td.source>p.source-type>.reason:hover:before{color:#ed5a23}router-view.multicoin-points-transaction-history table td.points>span{font-size:1.5rem;font-family:\\\"Roboto mono\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.points>span:after{content:\\\"pt\\\";padding-left:.3rem}router-view.multicoin-points-transaction-history table td.points.secondary>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#11254b;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.pending>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f90;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.success>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#159500;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points.error>span:before{display:inline-block;content:\\\"\\\";margin:0 .8rem 0 0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:unset;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points .accreditation{margin:.3rem 0 0;font-size:1.4rem;color:rgba(64,64,64,.6);font-family:\\\"Roboto condensed\\\",\\\"sans-serif\\\"}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail{color:rgba(0,0,0,.8);text-decoration:underline;text-underline-offset:.3rem;transition:color .3s}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 .5rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:crimson;vertical-align:middle;animation:unset;font-weight:400}router-view.multicoin-points-transaction-history table td.points .accreditation .failed-accreditation-detail:hover{color:crimson}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/multicoin/points-transaction-history.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n.ka-tooltip.visible\\n  .points-transaction-history-info-tooltip-status\\n    padding: 0\\n    margin: 0 0 0 1rem\\n    font-size: 1.2rem\\n    color: #fff !important\\n\\nrouter-view.multicoin-points-transaction-history\\n  h2.table-title\\n    display: flex\\n    flex-wrap: nowrap\\n    align-items: center\\n    justify-content: space-between\\n    padding: 0 1rem\\n    > p\\n      line-height: 1.2\\n      > span[static-tooltip]:hover\\n        color: $text-color\\n        transition: color .3s\\n    > .multicoin-points-container\\n      display: flex\\n      margin-left: 1rem\\n      flex-wrap: nowrap\\n      align-items: center\\n      justify-content: space-between\\n      > .multicoin-points\\n        display: flex\\n        align-items: center\\n        .new-tag\\n          padding: .6rem 1rem\\n          border-radius: .4rem\\n        &:not(:last-child)\\n          &:after\\n            display: flex\\n            justify-content: center\\n            content: '+'\\n            width: 2.5rem\\n            font-weight: 400\\n            font-size: 1.8rem\\n            color: #000\\n            font-family: 'Roboto mono', 'sans-serif'\\n        &.total\\n          > .new-tag\\n            padding: 0\\n            text-shadow: none\\n            background: unset\\n            box-shadow: none\\n            &:after\\n              background: unset\\n            &:before\\n              @include fontawesome('\\\\f4d3', 'regular', 2rem, 0 .3rem 0 0, $primary-color)\\n          &:after\\n            content: '='\\n        .new-tag\\n          > span:last-child\\n            line-height: 1\\n            vertical-align: text-bottom\\n            font-size: 1.8rem\\n            font-weight: 600\\n            font-family: 'Roboto mono', 'sans-serif'\\n            &:after\\n              content: 'pt.'\\n              font-weight: 400\\n              font-size: 1.5rem\\n              padding-left: .3rem\\n              font-family: 'Roboto condensed', 'sans-serif'\\n\\n  h2 + .table-band\\n    margin-top: -1rem\\n  .table-band\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    box-shadow: 0 1px 0 0 #e0e0e0\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .02) 0, rgba(#000, .02) 1px, rgba(#fff, .1) 0, rgba(#fff, .1) 50%)\\n    > .banner-message\\n      > .no-fidelity-card:before\\n        @include fontawesome('\\\\f06a', 'regular', inherit, 0 .5rem 0 0, darken($error-color, 5%), bottom)\\n      > .BASE-PLUS:before\\n        @include fontawesome('\\\\f389', 'solid', 1.6rem, 0 .5rem 0 0, #2365de, bottom)\\n      > .BASE:before\\n        @include fontawesome('\\\\f389', 'solid', 1.6rem, 0 .5rem 0 0, $primary-color, bottom)\\n      > .SILVER:before\\n        @include fontawesome('\\\\f389', 'solid', 1.6rem, 0 .5rem 0 0, rgba(#000, .7), bottom)\\n\\n    .table-buttons\\n      display: flex\\n      align-content: center\\n\\n  table\\n    th.info-tooltip\\n      > span\\n        cursor: pointer\\n        &:hover\\n          color: $primary-color\\n          transition: color .3s\\n        &:before\\n          @include fontawesome('\\\\f05a', 'regular', 1.5rem, 0 .5rem 0 0, darken($primary-color, 5%))\\n    td.created-at\\n      font-family: 'Roboto condensed', 'sans-serif'\\n      > .data, > div > .data\\n        font-family: 'Roboto mono', 'sans-serif'\\n      > div\\n        color: rgba($text-color, .6)\\n    td.source\\n      > p\\n        margin: 0\\n        font-family: 'Roboto slab', 'serif'\\n        &.source-type\\n          font-size: 1.4rem\\n          font-family: 'Roboto condensed', 'sans-serif'\\n          color: rgba($text-color, .6)\\n          > .reason\\n            color: rgba($text-color, .8)\\n            text-decoration: underline\\n            text-underline-offset: .3rem\\n            transition: color .3s\\n            &:before\\n              transition: color .3s\\n              @include fontawesome('\\\\f4a6', 'regular', 1.2rem, 0 .2rem 0 .2rem, rgba($text-color, .8))\\n            &:hover\\n              color: $primary-color\\n              &:before\\n                color: $primary-color\\n    td.points\\n      > span\\n        font-size: 1.5rem\\n        font-family: 'Roboto mono', 'sans-serif'\\n        &:after\\n          content: 'pt'\\n          padding-left: .3rem\\n      &.secondary\\n        > span:before\\n          @include fontawesome('\\\\f353', 'regular', 1.6rem, 0 .8rem 0 0, $secondary-color)\\n      &.pending\\n        > span:before\\n          @include fontawesome('\\\\f51e', 'regular', 1.6rem, 0 .8rem 0 0, $pending-color)\\n      &.success\\n        > span:before\\n          @include fontawesome('\\\\f062', 'regular', 1.6rem, 0 .8rem 0 0, darken($success-color, 10%))\\n      &.error\\n        > span:before\\n          @include fontawesome('\\\\f00d', 'regular', 1.6rem, 0 .8rem 0 0, crimson)\\n      .accreditation\\n        margin: .3rem 0 0\\n        font-size: 1.4rem\\n        color: rgba($text-color, .6)\\n        font-family: 'Roboto condensed', 'sans-serif'\\n        .failed-accreditation-detail\\n          color: rgba(#000, .8)\\n          text-decoration: underline\\n          text-underline-offset: .3rem\\n          transition: color .3s\\n          &:before\\n            @include fontawesome('\\\\f35d', 'regular', 1.2rem, 0 .5rem 0 .5rem, crimson, middle)\\n          &:hover\\n            color: crimson\\n\\n      \\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.notificheui-anteprima{width:unset !important;max-width:calc(100vw - 6rem)}ux-dialog.notificheui-anteprima h2{display:flex;align-items:center;padding:0 1rem;min-height:5.1rem;line-height:1.5}ux-dialog.notificheui-anteprima .body{padding:1rem;overflow-x:auto}ux-dialog.notificheui-anteprima .footer{display:block;padding:.5rem;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/notifiche-ui/dialogs/notifiche-anteprima.sass\"],\"names\":[],\"mappings\":\"AAEA,gCACE,sBAAA,CACA,4BAAA,CACA,mCACE,YAAA,CACA,kBAAA,CACA,cAAA,CACA,iBAAA,CACA,eAAA,CACF,sCACE,YAAA,CACA,eAAA,CACF,wCACE,aAAA,CACA,aAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.notificheui-anteprima\\n  width: unset !important\\n  max-width: calc(100vw - 6rem)\\n  h2\\n    display: flex\\n    align-items: center\\n    padding: 0 1rem\\n    min-height: 5.1rem\\n    line-height: 1.5\\n  .body \\n    padding: 1rem\\n    overflow-x: auto\\n  .footer \\n    display: block\\n    padding: .5rem\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.notifiche{max-height:100vh;overflow:hidden}router-view.notifiche ka-tabs>nav>a.alert>span{margin-left:.5rem;color:#11254b}router-view.notifiche ka-tabs>nav>a.alert>span:after{display:inline-block;content:\\\"\\\";margin:0 0 0 .2rem;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:top;animation:unset;font-weight:400}router-view.notifiche ka-tabs>nav>a.alert:not(.active)::before{color:rgba(64,64,64,.4)}router-view.notifiche ka-tab{position:relative}router-view.notifiche ka-tab>.row{height:100%;margin:0}router-view.notifiche ka-tab>.row h2{margin:0}router-view.notifiche ka-tab>.row .users,router-view.notifiche ka-tab>.row .notifications{padding:0}router-view.notifiche ka-tab>.row .users>ul,router-view.notifiche ka-tab>.row .notifications>ul{list-style:none;margin:0;padding:0}router-view.notifiche ka-tab>.row .users>.app-shared-search-style{margin:0;padding:1rem 1rem 1.5rem;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.notifiche ka-tab>.row .users>.app-shared-search-style>.col-12{margin:0;padding:0}router-view.notifiche ka-tab>.row .users>.app-shared-search-style>.col-12+.col-12{margin-top:1rem}router-view.notifiche ka-tab>.row .users>ul.templates{height:calc(100vh - 6rem - 5rem - 5.1rem - 7rem)}router-view.notifiche ka-tab>.row .users>ul.subusers{height:calc(100vh - 6rem - 5rem - 5.1rem - 12.5rem)}router-view.notifiche ka-tab>.row .users>ul.templates,router-view.notifiche ka-tab>.row .users ul.subusers{overflow-y:auto}router-view.notifiche ka-tab>.row .users>ul.templates>li,router-view.notifiche ka-tab>.row .users ul.subusers>li{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:0 1rem;box-shadow:0 -1px 0 0 rgba(17,37,75,.1);transition:all .3s;cursor:pointer}router-view.notifiche ka-tab>.row .users>ul.templates>li>.label,router-view.notifiche ka-tab>.row .users ul.subusers>li>.label{font-size:1.3rem;letter-spacing:-0.5px;display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}router-view.notifiche ka-tab>.row .users>ul.templates>li>.counter,router-view.notifiche ka-tab>.row .users ul.subusers>li>.counter{position:relative;flex-shrink:0;height:calc(4rem/2);width:calc(4rem/2);margin-left:1rem;font-size:1rem;text-align:center;background:#ed5a23;border-radius:50%;border:0;color:#fff}router-view.notifiche ka-tab>.row .users>ul.templates>li:before,router-view.notifiche ka-tab>.row .users ul.subusers>li:before{display:block;position:absolute;content:\\\"\\\";top:0;left:50%;height:100%;width:100%;background:rgba(17,37,75,.031372549);transform:translateX(-50%) scaleX(30%);opacity:0;transition:all .3s}router-view.notifiche ka-tab>.row .users>ul.templates>li:not(.selected):hover:before,router-view.notifiche ka-tab>.row .users ul.subusers>li:not(.selected):hover:before{opacity:1;transform:translateX(-50%) scaleX(100%)}router-view.notifiche ka-tab>.row .users>ul.templates>li.selected,router-view.notifiche ka-tab>.row .users ul.subusers>li.selected{background-color:rgba(17,37,75,.1);box-shadow:0 -1px 0 0 rgba(17,37,75,.2)}router-view.notifiche ka-tab>.row .users>ul.templates>li{justify-content:flex-start;line-height:1.1}router-view.notifiche ka-tab>.row .users>ul.templates>li>i{position:relative;flex-shrink:0;width:3rem;font-size:1.7rem;color:#ed5a23}router-view.notifiche ka-tab>.row .users>ul.templates>li:not(:first-child)>i:after{position:absolute;top:20%;left:46%;display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:middle;animation:unset;font-weight:300;transform:rotate(90deg)}router-view.notifiche ka-tab>.row>.notifications{height:100vh;box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922)}router-view.notifiche ka-tab>.row>.notifications>md-table-progressbar{margin-top:-0.2rem;background:#e0e0e0}router-view.notifiche ka-tab>.row>.notifications>md-table-toolbar{margin-top:-0.1rem;background:#fff;box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922),inset 0 -1px 0 0 #e0e0e0,inset 0 1px 0 0 #e0e0e0}router-view.notifiche ka-tab>.row>.notifications>md-table-toolbar>md-table-progressbar{display:none}router-view.notifiche ka-tab>.row>.notifications>ul{height:calc(100vh - 6rem - 5rem - 5.1rem - 4rem);overflow-y:auto;padding:.5rem .5rem 0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification{display:flex;margin-bottom:.5rem;justify-content:flex-start;height:calc(4rem*3);z-index:2}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box{margin:0;padding:1.5rem;height:100%;width:100%;background:#f2f2f2;box-shadow:inset 0 0 0 1px rgba(17,37,75,.15),0 0 5px 0 rgba(17,37,75,.1);border-radius:.5rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>div[class*=col-],router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box .col{padding:0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon{flex-grow:0;margin:-1.5rem 0;padding:2rem 1.5rem 0 0;box-shadow:inset -1px 0 0 0 rgba(17,37,75,.15)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button{margin:0;padding:0;background:inherit;box-shadow:none}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button:hover{background:#fff}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i{padding:0;font-size:2.2rem;color:#11254b}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i:before{opacity:.5}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i:after{opacity:1}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>ka-button>i.fa-bell-on{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.title{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.3rem;line-height:1}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.title+.preview{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.2rem;font-size:1.2rem;line-height:1.2}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive{display:-webkit-box;max-width:unset;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:auto;font-size:1.1rem;line-height:1.3;color:rgba(64,64,64,.6)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive.archived{text-decoration:underline;text-underline-offset:.3rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive>i{margin-right:.3rem;vertical-align:text-top}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right{display:flex;flex-direction:column;align-items:flex-end;flex-grow:0;font-size:1.1rem;line-height:1.3;color:rgba(64,64,64,.6)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span{display:block;white-space:nowrap;text-align:right}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span>i{position:relative;margin-left:.3rem;font-size:1.1rem;vertical-align:text-top}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span.received>i,router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span.read>i{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.notification-buttons ka-button{margin:auto 0 0 0;padding:0 1rem;height:3rem;line-height:3rem;text-align:center}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded .checked>i,router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.readed .checked>i{color:#ed5a23}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded>.row{background:#fff}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification.unreaded>.row .reading-icon ka-button:hover{background:#f2f2f2}@media screen and (max-width: 768px){router-view.notifiche ka-tab>.row>.notifications>ul>li.notification{height:fit-content}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box{padding:0}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon{display:flex;align-items:center;justify-content:center;margin:0;padding:0;min-width:10vw}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.reading-icon>i{font-size:1.5rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content{display:flex;flex-direction:column;justify-content:center;padding:1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-content>.archive{margin-top:1rem}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:1rem !important;box-shadow:0 -1px 0 0 rgba(17,37,75,.15)}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.date>span{text-align:left}router-view.notifiche ka-tab>.row>.notifications>ul>li.notification>.box>.notification-right>.notification-buttons{height:unset !important}}.notification-tooltip{max-width:50vw;overflow:hidden}.notification-tooltip .title{display:block;padding:0 0 .5rem;margin:0 0 .5rem;font-size:1.2rem;line-height:1.2;border-bottom:1px solid rgba(255,255,255,.5)}.notification-tooltip .content{display:block;margin:0;padding:0;font-size:1.2rem;line-height:1.2;color:#fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/notifiche-ui/notifiche.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\n$list-height: 4rem\\nrouter-view.notifiche\\n  max-height: 100vh\\n  overflow: hidden\\n  ka-tabs > nav > a\\n    &.alert\\n      > span\\n        margin-left: 0.5rem\\n        color: $secondary-color\\n        &:after\\n          @include fontawesome(\\\"\\\\f0f3\\\", \\\"regular\\\", 1.2rem, 0 0 0 .2rem, $primary-color, top)\\n      &:not(.active)::before\\n        color: rgba($text-color, 0.4)\\n  ka-tab\\n    position: relative\\n    > .row\\n      height: 100%\\n      margin: 0\\n      h2\\n        margin: 0\\n\\n      // Menu & Notices (common rules)\\n      .users, .notifications\\n        padding: 0\\n        > ul\\n          list-style: none\\n          margin: 0\\n          padding: 0\\n\\n      // Users\\n      .users\\n        // Form\\n        > .app-shared-search-style\\n          margin: 0\\n          padding: 1rem 1rem 1.5rem\\n          box-shadow: inset 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n          > .col-12\\n            margin: 0\\n            padding: 0\\n          > .col-12 + .col-12\\n            margin-top: 1rem\\n\\n        // Subusers\\n        > ul.templates\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 7rem)\\n        > ul.subusers\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 12.5rem)\\n        > ul.templates, ul.subusers\\n          overflow-y: auto\\n          > li\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: space-between\\n            min-height: $list-height\\n            padding: 0 1rem\\n            box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n            transition: all 0.3s\\n            cursor: pointer\\n            > .label\\n              font-size: 1.3rem\\n              letter-spacing: -.5px\\n              @include max-lines(1)\\n            > .counter\\n              position: relative\\n              flex-shrink: 0\\n              height: calc(#{$list-height} / 2)\\n              width: calc(#{$list-height} / 2)\\n              margin-left: 1rem\\n              font-size: 1rem\\n              text-align: center\\n              background: $primary-color\\n              border-radius: 50%\\n              border: 0\\n              color: #fff\\n          & > li\\n            &:before\\n              display: block\\n              position: absolute\\n              content: \\\"\\\"\\n              top: 0\\n              left: 50%\\n              height: 100%\\n              width: 100%\\n              background: #11254b08\\n              transform: translateX(-50%) scaleX(30%)\\n              opacity: 0\\n              transition: all 0.3s\\n            &:not(.selected):hover:before\\n              opacity: 1\\n              transform: translateX(-50%) scaleX(100%)\\n            &.selected\\n              background-color: rgba(17, 37, 75, 0.1)\\n              box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.2)\\n\\n        // Templates\\n        > ul.templates\\n          > li\\n            justify-content: flex-start\\n            line-height: 1.1\\n            > i\\n              position: relative\\n              flex-shrink: 0\\n              width: 3rem\\n              font-size: 1.7rem\\n              color: $primary-color\\n            &:not(:first-child)\\n              > i:after\\n                position: absolute\\n                top: 20%\\n                left: 46%\\n                @include fontawesome(\\\"\\\\f148\\\", \\\"light\\\", 1.2rem, 0, inherit, middle)\\n                transform: rotate(90deg)\\n\\n      // Notifications\\n      > .notifications\\n        height: 100vh\\n        box-shadow: inset 10px 0 10px -10px #00000040\\n        > md-table-progressbar\\n          margin-top: -0.2rem\\n          background: #e0e0e0\\n        > md-table-toolbar\\n          margin-top: -0.1rem\\n          background: #fff\\n          box-shadow: inset 10px 0 10px -10px #00000040, inset 0 -1px 0 0 #e0e0e0, inset 0 1px 0 0 #e0e0e0\\n          > md-table-progressbar\\n            display: none\\n        > ul\\n          height: calc(100vh - 6rem - 5rem - 5.1rem - 4rem)\\n          overflow-y: auto\\n          padding: 0.5rem 0.5rem 0\\n          > li.notification\\n            display: flex\\n            margin-bottom: 0.5rem\\n            justify-content: flex-start\\n            height: calc(#{$list-height} * 3)\\n            z-index: 2\\n            > .box\\n              margin: 0\\n              padding: 1.5rem\\n              height: 100% \\n              width: 100%\\n              background: #f2f2f2\\n              box-shadow: inset 0 0 0 1px rgba(17, 37, 75, 0.15), 0 0 5px 0 rgba(17, 37, 75, 0.1)\\n              border-radius: 0.5rem\\n              > div[class*=\\\"col-\\\"], .col\\n                padding: 0            \\n              > .reading-icon\\n                flex-grow: 0\\n                margin: -1.5rem 0\\n                padding: 2rem 1.5rem 0 0\\n                box-shadow: inset -1px 0 0 0 rgba(17, 37, 75, 0.15)\\n                > ka-button\\n                  margin: 0\\n                  padding: 0\\n                  background: inherit\\n                  box-shadow: none\\n                  &:hover\\n                    background: #fff    \\n                  > i\\n                    padding: 0\\n                    font-size: 2.2rem\\n                    color: $secondary-color\\n                    &:before\\n                        opacity: 0.5\\n                    &:after\\n                      opacity: 1\\n                    &.fa-bell-on\\n                      color: $primary-color\\n              > .notification-content\\n                @include max-lines(2)\\n                padding: 0 1rem\\n                > .title\\n                  @include max-lines(2)\\n                  font-size: 1.3rem\\n                  line-height: 1\\n                > .title + .preview\\n                  @include max-lines(2)\\n                  margin-top: 0.2rem\\n                  font-size: 1.2rem\\n                  line-height: 1.2\\n                > .archive\\n                  @include max-lines(1)\\n                  margin-top: auto\\n                  font-size: 1.1rem\\n                  line-height: 1.3\\n                  color: rgba($text-color, .6)\\n                  &.archived\\n                    text-decoration: underline\\n                    text-underline-offset: .3rem\\n                  > i\\n                    margin-right: .3rem\\n                    vertical-align: text-top\\n              > .notification-right\\n                display: flex\\n                flex-direction: column\\n                align-items: flex-end\\n                flex-grow: 0\\n                font-size: 1.1rem\\n                line-height: 1.3\\n                color: rgba($text-color, .6)\\n                > .date > span\\n                  display: block\\n                  white-space: nowrap\\n                  text-align: right\\n                  > i\\n                    position: relative\\n                    margin-left: 0.3rem\\n                    font-size: 1.1rem\\n                    vertical-align: text-top\\n                  &.received > i, &.read > i\\n                    color: $primary-color\\n                > .notification-buttons ka-button\\n                  margin: auto 0 0 0\\n                  padding: 0 1rem\\n                  height: 3rem\\n                  line-height: 3rem\\n                  text-align: center\\n            &.unreaded, &.readed\\n              .checked > i\\n                color: $primary-color\\n            &.unreaded > .row\\n              background: #fff\\n              .reading-icon ka-button:hover\\n                background: #f2f2f2\\n\\n      @media screen and (max-width: 768px)\\n        > .notifications\\n          > ul > li.notification\\n            height: fit-content\\n            > .box\\n              padding: 0\\n              > .reading-icon\\n                display: flex\\n                align-items: center\\n                justify-content: center\\n                margin: 0\\n                padding: 0\\n                min-width: 10vw\\n                > i\\n                  font-size: 1.5rem\\n              > .notification-content\\n                display: flex\\n                flex-direction: column\\n                justify-content: center\\n                padding: 1rem\\n                > .archive\\n                  margin-top: 1rem\\n              > .notification-right\\n                flex-direction: row\\n                flex-wrap: wrap\\n                align-items: center\\n                justify-content: space-between\\n                padding: 1rem !important\\n                box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.15)\\n                > .date > span\\n                  text-align: left\\n                > .notification-buttons\\n                  height: unset !important\\n/* Tooltip */\\n.notification-tooltip\\n  max-width: 50vw\\n  overflow: hidden\\n  .title\\n    display: block\\n    padding: 0 0 0.5rem\\n    margin: 0 0 0.5rem\\n    font-size: 1.2rem\\n    line-height: 1.2\\n    border-bottom: 1px solid rgba(#fff, 0.5)\\n  .content\\n    display: block\\n    margin: 0\\n    padding: 0\\n    font-size: 1.2rem\\n    line-height: 1.2\\n    color: #fff\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}.alert.small{line-height:1.3 !important}.alert.small:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}.alert.regular:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}.info{cursor:pointer}.info.regular:after{transition:color .3s;display:inline-block;content:\\\"\\\";margin:0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}.info:hover:after{color:#404040 !important}#copertine .user-subusers,.copertine .user-subusers{display:flex;flex-wrap:wrap;margin:0}#copertine .associations,.copertine .associations{display:block;margin-top:.8rem;text-decoration:underline;cursor:pointer;color:#404040}#copertine .associations:before,.copertine .associations:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:900}#copertine .associations:hover,.copertine .associations:hover{color:#ed5a23}#copertine .default,.copertine .default{color:#e44c13;text-transform:uppercase;font-size:1.1rem}#copertine .default:before,.copertine .default:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/copertine.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,aDnbF,0BACE,CAAA,oBACA,oBCsCF,CAAA,WDrCyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCyC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,oBDqCuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sBDnDF,oBCoCA,CAAA,WDnCuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCuC3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,oBDqCuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,MDhDJ,cACE,CAAA,oBACA,oBACE,CAAA,oBC8BF,CAAA,WD7BuB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCiC3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBD3CF,wBACE,CAAA,oDAGF,YACE,CAAA,cACA,CAAA,QACA,CAAA,kDACF,aACE,CAAA,gBACA,CAAA,yBACA,CAAA,cACA,CAAA,aE3BS,CAAA,gEF6BT,oBCcF,CAAA,WDbyB,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBCiB3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAkBpF,CAAA,8DD7BA,aE9BY,CAAA,wCFgCd,aACE,CAAA,wBACA,CAAA,gBACA,CAAA,sDACA,oBCMF,CAAA,WDLyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCS7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n.alert\\n  &.small\\n    line-height: 1.3 !important\\n    &:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n  &.regular:before\\n    @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0, $error-color)\\n\\n.info\\n  cursor: pointer\\n  &.regular:after\\n    transition: color .3s\\n    @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.4rem, 0, $primary-color)\\n  &:hover:after\\n    color: $text-color !important\\n\\n#copertine, .copertine\\n  .user-subusers\\n    display: flex\\n    flex-wrap: wrap\\n    margin: 0\\n  .associations\\n    display: block\\n    margin-top: .8rem\\n    text-decoration: underline\\n    cursor: pointer\\n    color: $text-color\\n    &:before\\n      @include fontawesome(\\\"\\\\f63d\\\", \\\"solid\\\", 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  .default\\n    color: darken($primary-color, 5%)\\n    text-transform: uppercase\\n    font-size: 1.1rem\\n    &:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.2rem, 0, $primary-color)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.add-cover .body{padding:2rem}ux-dialog.add-cover .body .important:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.add-cover .body .clickable{white-space:nowrap;color:#ed5a23;cursor:pointer;text-decoration:underline;transition:all .3s}ux-dialog.add-cover .body .clickable:hover{color:#404040}ux-dialog.add-cover .body *[static-tooltip]:after{vertical-align:middle}ux-dialog.add-cover .body .layout-title{display:flex;align-items:center;justify-content:center;text-align:center}ux-dialog.add-cover .body .layout-title>*[static-tooltip]>span{text-decoration:underline;text-underline-offset:.3rem}ux-dialog.add-cover .body .document{display:flex;justify-content:center;margin:2rem 0 4rem 0;padding:0;list-style:none}ux-dialog.add-cover .body .document>li{display:inline-block;position:relative;padding:0}ux-dialog.add-cover .body .document>li:after{position:absolute;bottom:-2rem;left:50%;font-size:1rem;font-weight:800;text-transform:uppercase;white-space:nowrap}ux-dialog.add-cover .body .document>li:nth-of-type(1){position:relative;margin-right:2rem}ux-dialog.add-cover .body .document>li:nth-of-type(1):after{content:\\\"Copertina\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(1)>svg{width:8rem}ux-dialog.add-cover .body .document>li:nth-of-type(2){margin:0 1rem}ux-dialog.add-cover .body .document>li:nth-of-type(2):after{content:\\\"2ª e 3ª di copertina (interno)\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(2)>svg{width:15.8rem}ux-dialog.add-cover .body .document>li:nth-of-type(3){margin-left:2rem}ux-dialog.add-cover .body .document>li:nth-of-type(3):after{content:\\\"Retro\\\";transform:translateX(-50%)}ux-dialog.add-cover .body .document>li:nth-of-type(3)>svg{width:8rem}ux-dialog.add-cover .body .paginated{display:flex;justify-content:center;align-items:center;margin:1rem 0 3rem}ux-dialog.add-cover .body .paginated>svg{width:17.8rem;margin:0 1rem 0 0}ux-dialog.add-cover .body .paginated>svg:last-child{margin:0 0 0 1rem}ux-dialog.add-cover .body .knowledge{margin:0;text-align:center;text-decoration:underline}ux-dialog.add-cover .body .knowledge:hover{color:#ed5a23}ux-dialog.add-cover .body .knowledge>span:first-child{margin-right:-0.3rem}ux-dialog.add-cover .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/dialogs/add-cover.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,0BDjbF,YACE,CAAA,4CACA,oBCoCF,CAAA,WDnCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCuC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,oBDqCuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,qCDjDA,kBCyBF,CAAA,aCjCc,CAAA,cDmCd,CAAA,yBACA,CAAA,kBACA,CAAA,2CACA,aCvCW,CAAA,kDFWT,qBACE,CAAA,wCACF,YACE,CAAA,kBACA,CAAA,sBACA,CAAA,iBACA,CAAA,+DAEE,yBACE,CAAA,2BACA,CAAA,oCACN,YACE,CAAA,sBACA,CAAA,oBACA,CAAA,SACA,CAAA,eACA,CAAA,uCACA,oBACE,CAAA,iBACA,CAAA,SACA,CAAA,6CACA,iBACE,CAAA,YACA,CAAA,QACA,CAAA,cACA,CAAA,eACA,CAAA,wBACA,CAAA,kBACA,CAAA,sDACF,iBACE,CAAA,iBACA,CAAA,4DACA,mBACE,CAAA,0BACA,CAAA,0DACF,UACE,CAAA,sDACJ,aACE,CAAA,4DACA,wCACE,CAAA,0BACA,CAAA,0DACF,aACE,CAAA,sDACJ,gBACE,CAAA,4DACA,eACE,CAAA,0BACA,CAAA,0DACF,UACE,CAAA,qCAER,YACE,CAAA,sBACA,CAAA,kBACA,CAAA,kBACA,CAAA,yCACA,aACE,CAAA,iBACA,CAAA,oDACA,iBACE,CAAA,qCAEN,QACE,CAAA,iBACA,CAAA,yBACA,CAAA,2CACA,aE7EU,CAAA,sDF+EV,oBACE,CAAA,4BACN,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n\\nux-dialog.add-cover\\n  .body\\n    padding: 2rem\\n    .important:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.4rem, 0 .5rem 0 0, $error-color)\\n    .clickable\\n      @include clickable($primary-color, $text-color)\\n    *[static-tooltip]:after\\n      vertical-align: middle\\n    .layout-title\\n      display: flex\\n      align-items: center\\n      justify-content: center\\n      text-align: center\\n      > *[static-tooltip]\\n        > span\\n          text-decoration: underline\\n          text-underline-offset: .3rem       \\n    .document\\n      display: flex\\n      justify-content: center\\n      margin: 2rem 0 4rem 0\\n      padding: 0\\n      list-style: none\\n      > li\\n        display: inline-block\\n        position: relative\\n        padding: 0\\n        &:after\\n          position: absolute\\n          bottom: - 2rem\\n          left: 50%\\n          font-size: 1rem\\n          font-weight: 800\\n          text-transform: uppercase\\n          white-space: nowrap\\n        &:nth-of-type(1)\\n          position: relative\\n          margin-right: 2rem\\n          &:after\\n            content: 'Copertina'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 8rem\\n        &:nth-of-type(2)\\n          margin: 0 1rem\\n          &:after\\n            content: '2ª e 3ª di copertina (interno)'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 15.8rem\\n        &:nth-of-type(3)\\n          margin-left: 2rem\\n          &:after\\n            content: 'Retro'\\n            transform: translateX(-50%)\\n          > svg\\n            width: 8rem\\n    \\n    .paginated\\n      display: flex\\n      justify-content: center\\n      align-items: center\\n      margin: 1rem 0 3rem\\n      > svg\\n        width: 17.8rem\\n        margin: 0 1rem 0 0\\n        &:last-child\\n          margin: 0 0 0 1rem\\n    \\n    .knowledge\\n      margin: 0\\n      text-align: center\\n      text-decoration: underline\\n      &:hover\\n        color: $primary-color\\n      > span:first-child\\n        margin-right: -.3rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.manage-cover .body{padding:1rem 2rem}ux-dialog.manage-cover .body h2{margin:1rem -2rem;font-size:1.8rem}ux-dialog.manage-cover .body h2:before{box-shadow:none}ux-dialog.manage-cover .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/print-backoffice/dialogs/manage-cover.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,6BACE,iBAAA,CACA,gCACE,iBAAA,CACA,gBAAA,CACA,uCACE,eAAA,CAEN,+BACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.manage-cover\\n  .body\\n    padding: 1rem 2rem\\n    h2\\n      margin: 1rem -2rem\\n      font-size: 1.8rem\\n      &:before\\n        box-shadow: none\\n      \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.user-associations-with-the-cover{width:min(50vw,80rem)}ux-dialog.user-associations-with-the-cover .denominazione .user:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .denominazione .subuser:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .body{overflow:hidden}ux-dialog.user-associations-with-the-cover .recipients-counter{color:#404040}ux-dialog.user-associations-with-the-cover .selection-btn{min-width:126.02px}ux-dialog.user-associations-with-the-cover .alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.user-associations-with-the-cover .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/print-backoffice/dialogs/user-associations-with-the-cover.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,2CDnbJ,qBACE,CAAA,uEAEE,oBCqCF,CAAA,WDpCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCwC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,0EDlDA,oBCmCF,CAAA,WDlCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCsC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aD1CmE,CAAA,oBCiCA,CAAA,eAAmB,CAAA,eAgBpF,CAAA,iDDhDF,eACE,CAAA,+DACF,aEZW,CAAA,0DFcX,kBACE,CAAA,yDACF,oBC2BA,CAAA,WD1BuB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC8B3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,mDDxCF,aACE,CAAA,WACA,CAAA,gBACA,CAAA,4BACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.user-associations-with-the-cover\\n  width: min(50vw, 80rem)\\n  .denominazione\\n    .user:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.4rem, 0 0.5rem 0 0, $primary-color)\\n    .subuser:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.4rem, 0 0.5rem 0 0, inherit)\\n  .body\\n    overflow: hidden\\n  .recipients-counter\\n    color: $text-color\\n  .selection-btn\\n    min-width: 126.02px\\n  .alert:before\\n    @include fontawesome('\\\\f06a', 'regular', 1.4rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n    \\n  \\n\\n\\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.riscossioni-autorizzazioni ka-tabs>nav{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/autorizzazioni.sass\"],\"names\":[],\"mappings\":\"AAGE,mDACE,YAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.riscossioni-autorizzazioni\\n  ka-tabs > nav \\n    display: none\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.documenti-approval .body{padding:2rem}ux-dialog.documenti-approval .body .alert-message>i{font-size:1.2rem;color:#ed5a23;vertical-align:middle}ux-dialog.documenti-approval .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.documenti-approval .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/dialogs/mav-approval.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,YAAA,CAEE,oDACE,gBAAA,CACA,aCPQ,CDQR,qBAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.documenti-approval\\n  .body \\n    padding: 2rem\\n    .alert-message\\n      > i\\n        font-size: 1.2rem\\n        color: $primary-color\\n        vertical-align: middle\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.mav-create-request .body{padding:2rem 1rem}ux-dialog.mav-create-request .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.mav-create-request .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/dialogs/mav-create-request.sass\"],\"names\":[],\"mappings\":\"AAGE,mCACE,iBAAA,CACF,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,yDACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.mav-create-request\\n  .body \\n    padding: 2rem 1rem\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}#mav .title-warning{color:#404040}#mav .title-warning:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}#mav .status-reason.refused{cursor:pointer;transition:color .3s}#mav .status-reason.refused:hover{color:#404040}#mav .status-reason.refused:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(64,64,64,.7);vertical-align:unset;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/riscossioni/autorizzazioni/tabs/mav.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,oBDlbF,aEJW,CAAA,2BFMT,oBCqCF,CAAA,WDpCyB,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCwC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,oBDqCuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,4BDjDA,cACE,CAAA,oBACA,CAAA,kCACA,aEZO,CAAA,mCFcP,oBC6BJ,CAAA,WD5B2B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCgC/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,uBDpC0D,CAAA,oBC2BS,CAAA,eAAmB,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\n#mav\\n  .title-warning\\n    color: $text-color\\n    &:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0, $error-color)\\n  .status-reason\\n    &.refused\\n      cursor: pointer\\n      transition: color .3s\\n      &:hover\\n        color: $text-color\\n      &:before\\n        @include fontawesome(\\\"\\\\f05a\\\", \\\"regular\\\", 1.2rem, 0, rgba($text-color, .7))\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.servizi-abbonamenti h2{display:flex;align-items:center;justify-content:space-between}router-view.servizi-abbonamenti h2>span[static-tooltip]{line-height:1.2;transition:color .3s}router-view.servizi-abbonamenti h2>span[static-tooltip]:hover{color:#000}router-view.servizi-abbonamenti .service-modify-btn{display:block;width:16.5rem;margin:0}router-view.servizi-abbonamenti .service-modify-btn+.service-modify-btn{margin-top:.5rem}router-view.servizi-abbonamenti td small a{color:#ed5a23}@media screen and (max-width: 575px){router-view.servizi-abbonamenti td{max-width:unset !important;min-width:unset !important}}router-view.servizi-abbonamenti .payment-methods+.payment-methods:before{content:\\\", \\\"}router-view.servizi-abbonamenti .promo-code{display:flex;justify-content:center;margin-bottom:.2rem;border-radius:3px;font-size:1.1rem;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2)}@media screen and (max-width: 575px){router-view.servizi-abbonamenti .promo-code{display:inline-block;padding:.5rem 1rem}router-view.servizi-abbonamenti .promo-code+.promo-code{margin-left:.5rem}}router-view.servizi-abbonamenti .info-text{cursor:pointer;display:block}router-view.servizi-abbonamenti .info-text:after{content:\\\"\\\";display:inline-block;margin-left:.5rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.2rem;font-style:normal;text-rendering:auto;font-variant:normal;font-weight:400;-webkit-font-smoothing:antialiased;color:#ed5a23}router-view.servizi-abbonamenti .offered-by{text-decoration:line-through;color:rgba(64,64,64,.6);white-space:nowrap}router-view.servizi-abbonamenti .logs{margin-right:.3rem;color:#ed5a23;cursor:pointer}router-view.servizi-abbonamenti .logs:hover{color:#404040}router-view.servizi-abbonamenti .link{color:#ed5a23;cursor:pointer}router-view.servizi-abbonamenti .cashback{white-space:nowrap}router-view.servizi-abbonamenti .cashback .tag{cursor:pointer}router-view.servizi-abbonamenti .cashback .tag:hover{color:#404040}router-view.servizi-abbonamenti .bank-transfer-data{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s}router-view.servizi-abbonamenti .bank-transfer-data:hover{color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/abbonamenti.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,mCDlbF,YACE,CAAA,kBACA,CAAA,6BACA,CAAA,wDACA,eACE,CAAA,oBACA,CAAA,8DACA,UACE,CAAA,oDACN,aACE,CAAA,aACA,CAAA,QACA,CAAA,wEACF,gBACE,CAAA,2CAEA,aACE,CAAA,qCACF,mCAHF,0BAII,CAAA,0BACA,CAAA,CAAA,yEAGJ,YACE,CAAA,4CACF,YACE,CAAA,sBACA,CAAA,mBACA,CAAA,iBACA,CAAA,gBACA,CAAA,kBACA,CAAA,6CACA,CAAA,mCACA,CAAA,qCACA,4CATF,oBAUI,CAAA,kBACA,CAAA,wDACA,iBACE,CAAA,CAAA,2CAEN,cACE,CAAA,aACA,CAAA,iDACA,WACE,CAAA,oBACA,CAAA,iBACA,CAAA,gCACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,mBACA,CAAA,eACA,CAAA,kCACA,CAAA,aExDU,CAAA,4CF2Dd,4BACE,CAAA,uBACA,CAAA,kBACA,CAAA,sCAEF,kBACE,CAAA,aEjEY,CAAA,cFmEZ,CAAA,4CACA,aErES,CAAA,sCFwEX,aEvEc,CAAA,cFyEZ,CAAA,0CAEF,kBACE,CAAA,+CACA,cACE,CAAA,qDACA,aEhFO,CAAA,oDFmFX,aACI,CAAA,aEnFU,CAAA,yBFqFV,CAAA,cACA,CAAA,oBACA,CAAA,0DACA,aEzFO\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.servizi-abbonamenti\\n  h2\\n    display: flex\\n    align-items: center\\n    justify-content: space-between\\n    > span[static-tooltip]\\n      line-height: 1.2\\n      transition: color .3s\\n      &:hover\\n        color: #000\\n  .service-modify-btn\\n    display: block\\n    width: 16.5rem\\n    margin: 0\\n  .service-modify-btn + .service-modify-btn\\n    margin-top: 0.5rem\\n  td\\n    small a\\n      color: #ed5a23\\n    @media screen and (max-width: 575px)\\n      max-width: unset !important\\n      min-width: unset !important\\n\\n  // Servizi\\n  .payment-methods + .payment-methods:before\\n    content: ', '\\n  .promo-code\\n    display: flex\\n    justify-content: center\\n    margin-bottom: .2rem\\n    border-radius: 3px\\n    font-size: 1.1rem\\n    white-space: nowrap\\n    box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n    background-color: rgba($primary-color, 0.2)\\n    @media screen and (max-width: 575px)\\n      display: inline-block\\n      padding: .5rem 1rem\\n      & + .promo-code\\n        margin-left: .5rem\\n\\n  .info-text\\n    cursor: pointer\\n    display: block\\n    &:after // per tooltip in attesa bonifico\\n      content: \\\"\\\\f05a\\\"\\n      display: inline-block\\n      margin-left: .5rem\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-size: 1.2rem\\n      font-style: normal\\n      text-rendering: auto\\n      font-variant: normal\\n      font-weight: 400\\n      -webkit-font-smoothing: antialiased\\n      color: $primary-color\\n\\n  .offered-by\\n    text-decoration: line-through\\n    color: rgba($text-color, 0.6)\\n    white-space: nowrap\\n\\n  .logs\\n    margin-right: .3rem\\n    color: $primary-color\\n    cursor: pointer\\n    &:hover\\n      color: $text-color\\n\\n  .link\\n    color: $primary-color\\n    cursor: pointer\\n\\n  .cashback\\n    white-space: nowrap\\n    .tag\\n      cursor: pointer\\n      &:hover\\n        color: $text-color\\n\\n  .bank-transfer-data\\n      display: block\\n      color: $primary-color\\n      text-decoration: underline\\n      cursor: pointer\\n      transition: color .3s\\n      &:hover\\n        color: $text-color\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-attivazione-sottoutenti{width:calc(100vw - 20rem);max-width:100rem !important}ux-dialog.abbonamenti-attivazione-sottoutenti .detail{white-space:nowrap;color:#404040;cursor:pointer;text-decoration:underline;transition:all .3s}ux-dialog.abbonamenti-attivazione-sottoutenti .detail:hover{color:#f30}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body md-table-toolbar md-table-progressbar{display:none}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body md-table-toolbar .progressbar{display:block}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body td.subuser>small.tag{color:#404040}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .activations ul{list-style:none}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .tag.error{cursor:pointer}ux-dialog.abbonamenti-attivazione-sottoutenti ux-dialog-body .tag.error:hover>small{color:#f30}ux-dialog.abbonamenti-attivazione-sottoutenti .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-attivazione-sottoutenti .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione-sottoutenti.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,8CACE,yBAAA,CACA,2BAAA,CACA,sDD4BA,kBAAA,CACA,aEnCW,CFoCX,cAAA,CACA,yBAAA,CACA,kBAAA,CACA,4DACE,UEnCU,CDMR,mGACE,YAAA,CACF,2FACE,aAAA,CACJ,kFACE,aChBO,CDkBP,6EACE,eAAA,CACJ,wEACE,cAAA,CACA,oFACE,UClBM,CDmBZ,sDACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0EACE,aAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-attivazione-sottoutenti\\n  width: calc(100vw - 20rem)\\n  max-width: 100rem !important\\n  .detail\\n    @include clickable($text-color,$error-color )\\n    \\n  ux-dialog-body\\n    md-table-toolbar \\n      md-table-progressbar\\n        display: none\\n      .progressbar\\n        display: block\\n    td.subuser > small.tag\\n      color: $text-color\\n    .activations\\n      ul\\n        list-style: none\\n    .tag.error\\n      cursor: pointer\\n      &:hover > small\\n        color: $error-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-attivazione{max-width:50rem}.body{padding:2rem}.body ka-control+ka-control{margin-top:1rem}.body .service-duration{display:block;margin-bottom:1rem}.body .service-duration>span{color:#909090}.body .service-description{display:-webkit-box;max-width:400px;overflow:hidden;text-overflow:ellipsis;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem}.footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}.footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-attivazione.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,kCACE,eAAA,CACF,MACE,YAAA,CACA,4BACE,eAAA,CACF,wBACE,aAAA,CACA,kBAAA,CACA,6BACE,aAAA,CACJ,2BDiDA,mBAAA,CACA,eCjDwB,CDkDxB,eAAA,CACA,sBAAA,CACA,YCpDqB,CDqDrB,oBCrDqB,CDsDrB,2BAAA,CCrDE,kBAAA,CACJ,QACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,4BACE,aAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-attivazione\\n  max-width: 50rem\\n.body\\n  padding: 2rem\\n  ka-control + ka-control\\n    margin-top: 1rem\\n  .service-duration\\n    display: block\\n    margin-bottom: 1rem\\n    > span\\n      color: #909090\\n  .service-description\\n    @include max-lines(2, 400px)\\n    margin-bottom: 1rem\\n.footer\\n  display: block\\n  padding: 6px\\n  border-top: 1px solid #e5e5e5\\n  text-align: right\\n  ka-button + ka-button\\n    margin-left: 0\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-autorinnovo .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-autorinnovo .text-error:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:baseline;animation:unset;font-weight:400}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-autorinnovo.sass\",\"webpack://./src/static/_mixins.sass\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,0CDlbF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,qDAEA,oBCiCF,CAAA,WDhCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCoC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDxCmE,CAAA,uBAAS,CAAA,eC+BU,CAAA,eAgBpF\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-autorinnovo\\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  .text-error\\n    &:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.4rem, 0 0.3rem 0 0, inherit, baseline)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-detail .body{padding:0;overflow-x:hidden}ux-dialog.abbonamenti-detail .body>.row{padding:1rem 1rem 0}ux-dialog.abbonamenti-detail .body ka-control{margin-bottom:1rem}ux-dialog.abbonamenti-detail .body div[class*=columns-]{margin:0}ux-dialog.abbonamenti-detail .body .pd-0{padding:0}ux-dialog.abbonamenti-detail .body .right{padding-left:.5rem}ux-dialog.abbonamenti-detail .body .left{padding-right:.5rem}ux-dialog.abbonamenti-detail .body .center{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-detail .body .columns-left{padding-right:1rem;box-shadow:inset -1px 0 0 0 rgba(64,64,64,.1019607843)}ux-dialog.abbonamenti-detail .body .columns-right{padding-left:1rem}ux-dialog.abbonamenti-detail .body .edit-service-title{margin:0 -1rem 1rem}ux-dialog.abbonamenti-detail .body .edit-service-title:before{box-shadow:0 -1px 0 0 rgba(64,64,64,.1019607843);border-radius:unset}ux-dialog.abbonamenti-detail .body .message{margin:1rem 0 0;color:#ed5a23}ux-dialog.abbonamenti-detail .body .associated-promo{border-top:1px solid rgba(64,64,64,.1019607843);padding-top:1rem}ux-dialog.abbonamenti-detail .body .description-html{margin-bottom:1rem}ux-dialog.abbonamenti-detail .body .description-html>.label{display:block;content:\\\"Descrizione\\\";width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap}ux-dialog.abbonamenti-detail .body .description-html>.content{display:block;padding:.7rem 0;min-height:3rem;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ux-dialog.abbonamenti-detail .body .description-html>.content>*{margin:0;padding:0}@media screen and (max-width: 991px){ux-dialog.abbonamenti-detail .body .right,ux-dialog.abbonamenti-detail .body .left,ux-dialog.abbonamenti-detail .body .columns-right,ux-dialog.abbonamenti-detail .body .columns-left{padding-left:.75rem !important;padding-right:.75rem !important;box-shadow:none}ux-dialog.abbonamenti-detail .body .col-sm-6.left,ux-dialog.abbonamenti-detail .body .col-6.left{padding-right:.5rem !important}ux-dialog.abbonamenti-detail .body .col-sm-6.right,ux-dialog.abbonamenti-detail .body .col-6.right{padding-left:.5rem !important}}@media screen and (max-width: 575px){ux-dialog.abbonamenti-detail .body .col-sm-6.right,ux-dialog.abbonamenti-detail .body .col-sm-6.left{padding-left:.75rem !important;padding-right:.75rem !important}}ux-dialog.abbonamenti-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-detail .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-detail.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,SAAA,CACA,iBAAA,CACA,wCACE,mBAAA,CACF,8CACE,kBAAA,CACF,wDACE,QAAA,CACF,yCACE,SAAA,CACF,0CACE,kBAAA,CACF,yCACE,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,iDACE,kBAAA,CACA,sDAAA,CACF,kDACE,iBAAA,CACF,uDACE,mBAAA,CACA,8DACE,gDAAA,CACA,mBAAA,CACJ,4CACE,eAAA,CACA,aChCU,CDiCZ,qDACE,+CAAA,CACA,gBAAA,CACF,qDACE,kBAAA,CACA,4DACE,aAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACF,8DACE,aAAA,CACA,eAAA,CACA,eAAA,CACA,6CAAA,CACA,gEACE,QAAA,CACA,SAAA,CACN,qCACE,sLACE,8BAAA,CACA,+BAAA,CACA,eAAA,CACF,iGACE,8BAAA,CACF,mGACE,6BAAA,CAAA,CACJ,qCACE,qGACE,8BAAA,CACA,+BAAA,CAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.abbonamenti-detail\\n  .body\\n    padding: 0\\n    overflow-x: hidden\\n    > .row \\n      padding: 1rem 1rem 0\\n    ka-control \\n      margin-bottom: 1rem\\n    div[class*=\\\"columns-\\\"] \\n      margin: 0\\n    .pd-0 \\n      padding: 0\\n    .right \\n      padding-left: .5rem\\n    .left \\n      padding-right: .5rem\\n    .center\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .columns-left \\n      padding-right: 1rem\\n      box-shadow: inset -1px 0 0 0 #4040401a\\n    .columns-right \\n      padding-left: 1rem\\n    .edit-service-title\\n      margin: 0 -1rem 1rem\\n      &:before \\n        box-shadow: 0 -1px 0 0 #4040401a\\n        border-radius: unset\\n    .message \\n      margin: 1rem 0 0\\n      color: $primary-color\\n    .associated-promo \\n      border-top: 1px solid #4040401a \\n      padding-top: 1rem\\n    .description-html\\n      margin-bottom: 1rem\\n      > .label\\n        display: block\\n        content: 'Descrizione'\\n        width: 100%\\n        height: 1.5rem\\n        overflow: hidden\\n        font-size: 1.2rem\\n        line-height: 1.5rem\\n        color: rgba($primary-color, 0.7)\\n        white-space: nowrap\\n      > .content\\n        display: block\\n        padding: .7rem 0\\n        min-height: 3rem\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, .1)\\n        > *\\n          margin: 0\\n          padding: 0\\n    @media screen and (max-width: 991px)\\n      .right, .left, .columns-right, .columns-left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n        box-shadow: none\\n      .col-sm-6.left, .col-6.left\\n        padding-right: .5rem !important\\n      .col-sm-6.right, .col-6.right\\n        padding-left: .5rem !important\\n    @media screen and (max-width: 575px)\\n      .col-sm-6.right, .col-sm-6.left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.abbonamenti-editor .body{padding:0;overflow-x:hidden}ux-dialog.abbonamenti-editor .body>.row{padding:1rem 1rem 0}ux-dialog.abbonamenti-editor .body ka-control{margin-bottom:1rem}ux-dialog.abbonamenti-editor .body div[class*=columns-]{margin:0}ux-dialog.abbonamenti-editor .body .pd-0{padding:0}ux-dialog.abbonamenti-editor .body .right{padding-left:.5rem}ux-dialog.abbonamenti-editor .body .left{padding-right:.5rem}ux-dialog.abbonamenti-editor .body .middle{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-editor .body .center{padding-left:.5rem;padding-right:.5rem}ux-dialog.abbonamenti-editor .body .columns-left{padding-right:1rem;box-shadow:inset -1px 0 0 0 rgba(64,64,64,.1019607843)}ux-dialog.abbonamenti-editor .body .columns-right{padding-left:1rem}ux-dialog.abbonamenti-editor .body .edit-service-title{margin:0 -1rem 1rem}ux-dialog.abbonamenti-editor .body .edit-service-title:before{box-shadow:0 -1px 0 0 rgba(64,64,64,.1019607843);border-radius:unset}ux-dialog.abbonamenti-editor .body .message{margin:1rem 0 0;color:#ed5a23}ux-dialog.abbonamenti-editor .body .associated-promo{border-top:1px solid rgba(64,64,64,.1019607843);padding-top:1rem}ux-dialog.abbonamenti-editor .body .description-html{margin-bottom:1rem}ux-dialog.abbonamenti-editor .body .description-html>.label{display:block;content:\\\"Descrizione\\\";width:100%;height:1.5rem;overflow:hidden;font-size:1.2rem;line-height:1.5rem;color:rgba(237,90,35,.7);white-space:nowrap}ux-dialog.abbonamenti-editor .body .description-html>.content{display:block;padding:.7rem 0;min-height:3rem;box-shadow:inset 0 -1px 0 0 rgba(64,64,64,.1)}ux-dialog.abbonamenti-editor .body .description-html>.content>*{margin:0;padding:0}@media screen and (max-width: 991px){ux-dialog.abbonamenti-editor .body .right,ux-dialog.abbonamenti-editor .body .left,ux-dialog.abbonamenti-editor .body .columns-right,ux-dialog.abbonamenti-editor .body .columns-left{padding-left:.75rem !important;padding-right:.75rem !important;box-shadow:none}ux-dialog.abbonamenti-editor .body .col-sm-6.left,ux-dialog.abbonamenti-editor .body .col-4.left,ux-dialog.abbonamenti-editor .body .col-6.left{padding-right:.5rem !important}ux-dialog.abbonamenti-editor .body .col-sm-6.right,ux-dialog.abbonamenti-editor .body .col-4.right,ux-dialog.abbonamenti-editor .body .col-6.right{padding-left:.5rem !important}}@media screen and (max-width: 575px){ux-dialog.abbonamenti-editor .body .col-sm-6.right,ux-dialog.abbonamenti-editor .body .col-sm-6.left{padding-left:.75rem !important;padding-right:.75rem !important}}ux-dialog.abbonamenti-editor .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-editor .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-editor.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,mCACE,SAAA,CACA,iBAAA,CACA,wCACE,mBAAA,CACF,8CACE,kBAAA,CACF,wDACE,QAAA,CACF,yCACE,SAAA,CACF,0CACE,kBAAA,CACF,yCACE,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,2CACE,kBAAA,CACA,mBAAA,CACF,iDACE,kBAAA,CACA,sDAAA,CACF,kDACE,iBAAA,CACF,uDACE,mBAAA,CACA,8DACE,gDAAA,CACA,mBAAA,CACJ,4CACE,eAAA,CACA,aCnCU,CDoCZ,qDACE,+CAAA,CACA,gBAAA,CACF,qDACE,kBAAA,CACA,4DACE,aAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CACA,gBAAA,CACA,kBAAA,CACA,wBAAA,CACA,kBAAA,CACF,8DACE,aAAA,CACA,eAAA,CACA,eAAA,CACA,6CAAA,CACA,gEACE,QAAA,CACA,SAAA,CACN,qCACE,sLACE,8BAAA,CACA,+BAAA,CACA,eAAA,CACF,gJACE,8BAAA,CACF,mJACE,6BAAA,CAAA,CACJ,qCACE,qGACE,8BAAA,CACA,+BAAA,CAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,0DACE,aAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.abbonamenti-editor\\n  .body\\n    padding: 0\\n    overflow-x: hidden\\n    > .row \\n      padding: 1rem 1rem 0\\n    ka-control\\n      margin-bottom: 1rem\\n    div[class*=\\\"columns-\\\"] \\n      margin: 0\\n    .pd-0 \\n      padding: 0\\n    .right \\n      padding-left: .5rem\\n    .left \\n      padding-right: .5rem\\n    .middle\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .center\\n      padding-left: .5rem\\n      padding-right: .5rem\\n    .columns-left \\n      padding-right: 1rem\\n      box-shadow: inset -1px 0 0 0 #4040401a\\n    .columns-right \\n      padding-left: 1rem\\n    .edit-service-title\\n      margin: 0 -1rem 1rem\\n      &:before \\n        box-shadow: 0 -1px 0 0 #4040401a\\n        border-radius: unset\\n    .message \\n      margin: 1rem 0 0\\n      color: $primary-color\\n    .associated-promo \\n      border-top: 1px solid #4040401a \\n      padding-top: 1rem\\n    .description-html\\n      margin-bottom: 1rem\\n      > .label\\n        display: block\\n        content: 'Descrizione'\\n        width: 100%\\n        height: 1.5rem\\n        overflow: hidden\\n        font-size: 1.2rem\\n        line-height: 1.5rem\\n        color: rgba($primary-color, 0.7)\\n        white-space: nowrap\\n      > .content\\n        display: block\\n        padding: .7rem 0\\n        min-height: 3rem\\n        box-shadow: inset 0 -1px 0 0 rgba($text-color, .1)\\n        > *\\n          margin: 0\\n          padding: 0\\n    @media screen and (max-width: 991px)\\n      .right, .left, .columns-right, .columns-left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n        box-shadow: none\\n      .col-sm-6.left, .col-4.left, .col-6.left\\n        padding-right: .5rem !important\\n      .col-sm-6.right, .col-4.right, .col-6.right\\n        padding-left: .5rem !important\\n    @media screen and (max-width: 575px)\\n      .col-sm-6.right, .col-sm-6.left\\n        padding-left: .75rem !important\\n        padding-right: .75rem !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-fidelity-card-required{max-width:50rem}ux-dialog.abbonamenti-fidelity-card-required .body{padding:2rem}ux-dialog.abbonamenti-fidelity-card-required .body strong{font-weight:700}ux-dialog.abbonamenti-fidelity-card-required .body .link{font-size:1.5rem;font-family:\\\"Roboto condensed\\\",sans-serif;text-decoration:underline;text-underline-offset:.4rem;color:#ed5a23;transition:color .3s;cursor:pointer}ux-dialog.abbonamenti-fidelity-card-required .body .link:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#e44c13;vertical-align:unset;animation:unset;font-weight:900}ux-dialog.abbonamenti-fidelity-card-required .body .link:hover{color:#404040}ux-dialog.abbonamenti-fidelity-card-required .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.abbonamenti-fidelity-card-required .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-fidelity-card-required.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6CDnbJ,eACE,CAAA,mDACA,YACE,CAAA,0DACA,eACE,CAAA,yDACF,gBACE,CAAA,yCACA,CAAA,yBACA,CAAA,2BACA,CAAA,aEZU,CAAA,oBFcV,CAAA,cACA,CAAA,gEACA,oBC0BJ,CAAA,WDzB2B,CAAA,kBAA0B,CAAA,gBAAR,CAAA,iBC6B7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDjCkE,CAAA,oBCwBC,CAAA,eAAmB,CAAA,eAkBpF,CAAA,+DDzCE,aEnBO,CAAA,qDFqBX,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,yEACA,aACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-fidelity-card-required\\n  max-width: 50rem\\n  .body\\n    padding: 2rem\\n    strong\\n      font-weight: 700\\n    .link\\n      font-size: 1.5rem\\n      font-family: 'Roboto condensed', sans-serif\\n      text-decoration: underline\\n      text-underline-offset: .4rem\\n      color: $primary-color\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f35d', 'solid', 1.1rem, 0 .3rem 0 0, darken($primary-color, 5%))\\n      &:hover\\n        color: $text-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button\\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog .log-id{display:block;width:23.5rem;border-radius:3px;padding:.5rem;line-height:1;color:#fff !important;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;white-space:nowrap}ux-dialog .log-reason{cursor:pointer}ux-dialog .log-reason .text{display:inline-block;width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-log.scss\"],\"names\":[],\"mappings\":\"AACE,gBACE,YAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,kBACE,aAAA,CACA,aAAA,CACA,iBAAA,CACA,aAAA,CACA,aAAA,CACA,qBAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,kBAAA,CAEF,sBACE,cAAA,CACA,4BACE,oBAAA,CACA,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA\",\"sourcesContent\":[\"ux-dialog {\\n  .body {\\n    padding: 2rem;\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n  .log-id {\\n    display: block;\\n    width: 23.5rem;\\n    border-radius: 3px;\\n    padding: 0.5rem;\\n    line-height: 1;\\n    color: #fff !important;\\n    text-align: center;\\n    background-color: rgba(28, 200, 0, 0.7);\\n    box-shadow: inset 0 0 0 1px #1cc800;\\n    white-space: nowrap;\\n  }\\n  .log-reason {\\n    cursor: pointer;\\n    .text {\\n      display: inline-block;\\n      width: 150px;\\n      white-space: nowrap; \\n      overflow: hidden;\\n      text-overflow: ellipsis;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.abbonamenti-stato-servizio{max-width:50rem}ux-dialog.abbonamenti-stato-servizio .body{padding:2rem}ux-dialog.abbonamenti-stato-servizio .body .message{display:block;margin-bottom:1rem}ux-dialog.abbonamenti-stato-servizio .body .alert-message>i{margin-right:.3rem;color:#ed5a23}ux-dialog.abbonamenti-stato-servizio .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/abbonamenti/dialogs/abbonamenti-stato-servizio.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCnbJ,qCACE,eAAA,CACA,2CACE,YAAA,CACA,oDACE,aAAA,CACA,kBAAA,CAEA,4DACE,kBAAA,CACA,aCZQ,CDad,6CACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.abbonamenti-stato-servizio\\n  max-width: 50rem\\n  .body\\n    padding: 2rem\\n    .message\\n      display: block\\n      margin-bottom: 1rem\\n    .alert-message\\n      > i\\n        margin-right: .3rem\\n        color: $primary-color\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view[class*=\\\"credito/deposito\\\"] h2.with-buttons,router-view[class*=\\\"credito/crediti\\\"] h2.with-buttons{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] h2.with-buttons ka-button,router-view[class*=\\\"credito/crediti\\\"] h2.with-buttons ka-button{white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] .tooltip,router-view[class*=\\\"credito/crediti\\\"] .tooltip{cursor:pointer}router-view[class*=\\\"credito/deposito\\\"] .tooltip:after,router-view[class*=\\\"credito/crediti\\\"] .tooltip:after{content:\\\"\\\";display:inline-block;line-height:1;margin-left:.5rem;font-size:1.2rem;font-weight:400;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\"}router-view[class*=\\\"credito/deposito\\\"] .tooltip:hover:after,router-view[class*=\\\"credito/crediti\\\"] .tooltip:hover:after{font-weight:900}router-view[class*=\\\"credito/deposito\\\"] h2.table-title,router-view[class*=\\\"credito/crediti\\\"] h2.table-title{display:flex;justify-content:space-between;align-items:center;min-height:5rem;line-height:1;padding:1rem 1rem}router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user,router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user-credit,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user-credit{font-size:1.2rem}router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user>span,router-view[class*=\\\"credito/deposito\\\"] h2.table-title .user-credit>span,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user>span,router-view[class*=\\\"credito/crediti\\\"] h2.table-title .user-credit>span{color:#404040}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span{display:block}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span+span,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span+span,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span+span,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span+span{margin-top:.5rem}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a{font-size:1.2rem;text-decoration:none;color:#404040;transition:color .3s}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a:before{display:inline-block;content:\\\"\\\";margin-right:.5rem;font-family:\\\"Font Awesome 5 Pro\\\";font-weight:900;font-size:1.2rem;font-style:normal;font-variant:normal;vertical-align:top;text-rendering:auto;-webkit-font-smoothing:antialiased;color:#ed5a23}router-view[class*=\\\"credito/deposito\\\"] table.deposito td>span>a:hover,router-view[class*=\\\"credito/deposito\\\"] table.credito td>span>a:hover,router-view[class*=\\\"credito/crediti\\\"] table.deposito td>span>a:hover,router-view[class*=\\\"credito/crediti\\\"] table.credito td>span>a:hover{color:#ed5a23}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita:before{display:inline-block;margin-right:.4rem;font-family:\\\"Font Awesome 5 Pro\\\";font-weight:400;font-size:1.7rem;font-style:normal;font-variant:normal;vertical-align:top;text-rendering:auto;-webkit-font-smoothing:antialiased;line-height:1}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata{color:#1cc800;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.entrata:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.entrata:before{content:\\\"\\\";vertical-align:initial}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita{color:#f30;white-space:nowrap}router-view[class*=\\\"credito/deposito\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td.uscita:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td.uscita:before{content:\\\"\\\";vertical-align:text-bottom}router-view[class*=\\\"credito/deposito\\\"] table.deposito td small.tag.success:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td small.tag.success:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td small.tag.success:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td small.tag.success:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400;margin-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] table.deposito td small.tag.error:before,router-view[class*=\\\"credito/deposito\\\"] table.credito td small.tag.error:before,router-view[class*=\\\"credito/crediti\\\"] table.deposito td small.tag.error:before,router-view[class*=\\\"credito/crediti\\\"] table.credito td small.tag.error:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:unset;animation:unset;font-weight:400;margin-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] .credit-search,router-view[class*=\\\"credito/crediti\\\"] .credit-search{padding-left:.5rem;padding-right:.5rem}router-view[class*=\\\"credito/deposito\\\"] .credit-search div[class*=col-],router-view[class*=\\\"credito/deposito\\\"] .credit-search .col,router-view[class*=\\\"credito/crediti\\\"] .credit-search div[class*=col-],router-view[class*=\\\"credito/crediti\\\"] .credit-search .col{padding-left:.5rem;padding-right:.5rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/credito-deposito.scss\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6GDlbF,YACE,CAAA,kBACA,CAAA,gBACA,CAAA,kBACA,CAAA,iIACA,kBACE,CAAA,+FAGJ,cACE,CAAA,2GACA,WACE,CAAA,oBACA,CAAA,aACA,CAAA,iBACA,CAAA,gBACA,CAAA,eACA,CAAA,iBACA,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,uHAEF,eAAA,CAAA,2GAGF,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,eACA,CAAA,aACA,CAAA,iBACA,CAAA,4PACA,gBACE,CAAA,gRACA,aExCO,CAAA,oPFgDP,aACE,CAAA,wQACA,gBAAA,CAAA,4PACA,gBACE,CAAA,oBACA,CAAA,aErDG,CAAA,oBFuDH,CAAA,wRACA,oBACE,CAAA,WACA,CAAA,kBACA,CAAA,gCACA,CAAA,eACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,kBACA,CAAA,mBACA,CAAA,kCACA,CAAA,aElEI,CAAA,oRFqEN,aErEM,CAAA,ojBFwEV,oBACE,CAAA,kBACA,CAAA,gCACA,CAAA,eACA,CAAA,gBACA,CAAA,iBACA,CAAA,mBACA,CAAA,kBACA,CAAA,mBACA,CAAA,kCACA,CAAA,aACA,CAAA,gQAEF,aEhFU,CAAA,kBFkFR,CAAA,4RACA,WAAA,CAAA,sBAAA,CAAA,4PAEF,UEtFQ,CAAA,kBFwFN,CAAA,wRACA,WAAA,CAAA,0BAAA,CAAA,oUAIA,oBCvDN,CAAA,WDwD6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCpDjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDgD4D,CAAA,oBCzDO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBD0CM,CAAA,4TAGF,oBC5DN,CAAA,WD6D6B,CAAA,QAA4B,CAAA,gBAAR,CAAA,iBCzDjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDqD4D,CAAA,oBC9DO,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kBD+CM,CAAA,2GAMR,kBACE,CAAA,mBACA,CAAA,kQACA,kBACE,CAAA,mBACA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n@import '../../../static/mixins';\\n\\nrouter-view[class*=\\\"credito/deposito\\\"], router-view[class*=\\\"credito/crediti\\\"] {\\n  h2.with-buttons {\\n    display: flex;\\n    align-items: center;\\n    flex-wrap: nowrap;\\n    white-space: nowrap;\\n    ka-button {\\n      white-space: nowrap;\\n    }\\n  }\\n  .tooltip {\\n    cursor: pointer;\\n    &:after {\\n      content: '\\\\f059';\\n      display: inline-block;\\n      line-height: 1;\\n      margin-left: .5rem;\\n      font-size: 1.2rem;\\n      font-weight: 400;\\n      font-style: normal;\\n      font-variant: normal;\\n      text-rendering: auto;\\n      -webkit-font-smoothing: antialiased;\\n      font-family: \\\"Font Awesome 5 Pro\\\";\\n    }  \\n    &:hover:after { font-weight: 900; }\\n  }\\n\\n  h2.table-title {\\n    display: flex;\\n    justify-content: space-between;\\n    align-items: center;\\n    min-height: 5rem;\\n    line-height: 1;\\n    padding: 1rem 1rem;\\n    .user, .user-credit {\\n      font-size: 1.2rem;\\n      > span {\\n        color: $text-color;\\n      }\\n    }\\n  }\\n\\n  table.deposito, table.credito {\\n    td {\\n      > span {\\n        display: block;\\n        & + span { margin-top: .5rem; }\\n        & > a {\\n          font-size: 1.2rem;\\n          text-decoration: none;\\n          color: $text-color;\\n          transition: color .3s;\\n          &:before {\\n            display: inline-block;\\n            content: \\\"\\\\f08e\\\";\\n            margin-right: .5rem;\\n            font-family: \\\"Font Awesome 5 Pro\\\";\\n            font-weight: 900;\\n            font-size: 1.2rem;\\n            font-style: normal;\\n            font-variant: normal;\\n            vertical-align: top;\\n            text-rendering: auto;\\n            -webkit-font-smoothing: antialiased;\\n            color: $primary-color;\\n          }\\n          &:hover { color: $primary-color; }\\n        }\\n      }\\n      &.entrata:before, &.uscita:before {\\n        display: inline-block;\\n        margin-right: 0.4rem;\\n        font-family: \\\"Font Awesome 5 Pro\\\";\\n        font-weight: 400;\\n        font-size: 1.7rem;\\n        font-style: normal;\\n        font-variant: normal;\\n        vertical-align: top;\\n        text-rendering: auto;\\n        -webkit-font-smoothing: antialiased;\\n        line-height: 1;\\n      }\\n      &.entrata {\\n        color: $success-color;\\n        white-space: nowrap;\\n        &:before { content: \\\"\\\\f176\\\"; vertical-align: initial; }\\n      }\\n      &.uscita {\\n        color: $error-color;\\n        white-space: nowrap;\\n        &:before { content: \\\"\\\\f175\\\"; vertical-align: text-bottom; }\\n      }\\n\\n      small.tag {\\n        &.success:before {\\n          @include fontawesome(\\\"\\\\f062\\\", \\\"regular\\\", 1.2rem, 0, inherit);\\n          margin-right: 0.5rem;\\n        }\\n\\n        &.error:before {\\n          @include fontawesome(\\\"\\\\f063\\\", \\\"regular\\\", 1.2rem, 0, inherit);\\n          margin-right: 0.5rem;\\n        }\\n      }\\n    }\\n  }\\n\\n  .credit-search {\\n    padding-left: .5rem;\\n    padding-right: .5rem;\\n    div[class*=\\\"col-\\\"], .col {\\n      padding-left: .5rem;\\n      padding-right: .5rem;\\n    }\\n  }\\n}\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body .row{margin-top:1rem;margin-bottom:1rem}ux-dialog .body .row:first-of-type{margin-top:0}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/dialog-credit-movement.scss\"],\"names\":[],\"mappings\":\"AAGE,gBACE,YAAA,CACA,qBACE,eAAA,CACA,kBAAA,CACA,mCAAA,YAAA,CAGJ,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n\\nux-dialog {\\n  .body {\\n    padding: 2rem;\\n    .row {\\n      margin-top: 1rem;\\n      margin-bottom: 1rem;\\n      &:first-of-type { margin-top: 0; }\\n    }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body p{margin:0 0 1rem}ux-dialog .body .user{font-size:1.2rem;color:rgba(237,90,35,.7)}ux-dialog .body .user>p{color:#404040}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/credito/dialog-deposit-transaction.scss\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,gBACE,YAAA,CACA,kBAAA,eAAA,CACA,sBACE,gBAAA,CACA,wBAAA,CACA,wBAAA,aCTO,CDYX,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars';\\n\\nux-dialog {\\n  .body {\\n    padding: 2rem;\\n    p { margin: 0 0 1rem; }\\n    .user {\\n      font-size: 1.2rem;\\n      color: rgba($primary-color, 0.7);\\n      > p { color: $text-color; }\\n    }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n  }\\n}\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.listini-pianificazione .body{padding:0}ux-dialog.listini-pianificazione .body .alert>strong:before{display:inline-block;content:\\\"\\\";margin:0 .4rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.listini-pianificazione .body .tooltip-icon{margin:0 !important}ux-dialog.listini-pianificazione .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.listini-pianificazione .footer ka-button:last-child{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/listini/dialogs/listini-pianificazione.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,uCDlbF,SACE,CAAA,4DACA,oBCqCF,CAAA,WDpCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCwC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBFMqE,CAAA,eCmCG,CAAA,eAgBpF,CAAA,qDDlDA,mBACE,CAAA,yCACJ,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA,CAAA,8DACA,aACE\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n@import '../../../../static/mixins'\\n\\nux-dialog.listini-pianificazione\\n  .body\\n    padding: 0\\n    .alert > strong:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0 0.4rem 0 0, $primary-color, unset)\\n    .tooltip-icon\\n      margin: 0 !important\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button:last-child \\n      margin-left: 0\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.servizi-listini nav{display:none}router-view.servizi-listini #elenco{height:calc(100vh - 6rem);overflow:hidden}router-view.servizi-listini #elenco .left-side>.app-shared-search-style{padding:1rem 1rem 1.5rem;box-shadow:inset 0 -1px 0 0 rgba(17,37,75,.1)}router-view.servizi-listini #elenco .left-side>.app-shared-search-style>.col-12{margin:0;padding:0}router-view.servizi-listini #elenco .left-side>.app-shared-search-style>.col-12+.col-12{margin-top:1rem}router-view.servizi-listini #elenco .left-side>.app-shared-search-style input[disabled]{color:rgba(64,64,64,.4) !important}router-view.servizi-listini #elenco .left-side>ul.subusers{height:calc(100vh - 6rem - 5.1rem - 12.5rem);overflow-y:auto}router-view.servizi-listini #elenco .left-side>ul.subusers.hide{opacity:.4}router-view.servizi-listini #elenco .left-side>ul.subusers>li{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:0 1rem;box-shadow:0 -1px 0 0 rgba(17,37,75,.1);transition:all .3s;cursor:pointer}router-view.servizi-listini #elenco .left-side>ul.subusers>li>.counter{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:2rem;width:2rem;margin-left:1rem;font-size:1rem;background:#ed5a23;border-radius:50%;color:#fff}router-view.servizi-listini #elenco .left-side>ul.subusers>li:before{display:block;position:absolute;content:\\\"\\\";top:0;left:50%;height:100%;width:100%;background:rgba(17,37,75,.031372549);transform:translateX(-50%) scaleX(30%);opacity:0;transition:all .3s}router-view.servizi-listini #elenco .left-side>ul.subusers>li:not(.selected):hover:before{opacity:1;transform:translateX(-50%) scaleX(100%)}router-view.servizi-listini #elenco .left-side>ul.subusers>li.selected{background-color:rgba(17,37,75,.1);box-shadow:0 -1px 0 0 rgba(17,37,75,.2)}router-view.servizi-listini #elenco .right-side{box-shadow:inset 10px 0 10px -10px rgba(0,0,0,.2509803922);height:calc(100vh - 6rem)}router-view.servizi-listini #elenco .right-side>md-table-progressbar{margin-top:-1.5px !important}router-view.servizi-listini #elenco .right-side>ul{padding:3rem 1.5rem 0}router-view.servizi-listini #elenco .right-side>ul>li{display:flex;position:relative;min-height:10rem}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;height:1.8rem;width:1.8rem}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval:before{display:block;position:absolute;content:\\\"\\\";left:calc(11.3rem + .9rem - 1px);width:2px;background:#ed5a23}router-view.servizi-listini #elenco .right-side>ul>li>.timeline-interval>.circle{z-index:2;height:100%;width:100%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}router-view.servizi-listini #elenco .right-side>ul>li>.pricelist-date{flex-shrink:0;flex-basis:11.3rem}router-view.servizi-listini #elenco .right-side>ul>li>.pricelist-date>span{padding:.5rem .8rem;background:#fff;box-shadow:0 0 0 1px #ddd;border-radius:.2rem;color:#000}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist{position:relative;margin:-1.5rem 0 0 3rem;padding:1.5rem 1.5rem;height:100%;min-height:10rem;width:100%;border-radius:1rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem;line-height:1.3;background:#fff;box-shadow:0 0 0 1px #ddd}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .pricelist-detail{font-size:1.2rem;color:#ed5a23;cursor:pointer}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .pricelist-detail>i{font-size:1.1rem;margin-right:.5rem}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist svg{position:absolute;top:0;left:0;z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-99%, 1.5rem)}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}router-view.servizi-listini #elenco .right-side>ul>li>.wrapper-pricelist .code-label>small{color:rgba(64,64,64,.6)}router-view.servizi-listini #elenco .right-side>ul li>.timeline-interval:before{top:0;height:100%;background:#ddd}router-view.servizi-listini #elenco .right-side>ul li>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ddd}router-view.servizi-listini #elenco .right-side>ul li.endless>.timeline-interval:before{top:0;height:calc(100% + 3rem);background:linear-gradient(180deg, #ddd, transparent)}router-view.servizi-listini #elenco .right-side>ul li.current>.timeline-interval:before{background:#ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current>.wrapper-pricelist .code-label{color:#ed5a23}router-view.servizi-listini #elenco .right-side>ul li.current.endless>.timeline-interval:before{top:0;height:calc(100% + 3rem);background:linear-gradient(180deg, #ed5a23, transparent)}router-view.servizi-listini #elenco .right-side>ul li.pricelists-end{height:auto;min-height:unset}router-view.servizi-listini #elenco .right-side>ul li.pricelists-end>.timeline-interval:before{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/listini/listini.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC1aF,gCACE,YAAA,CAGF,oCACE,yBAAA,CACA,eAAA,CAIE,wEACE,wBAAA,CACA,6CAAA,CACA,gFACE,QAAA,CACA,SAAA,CACF,wFACE,eAAA,CACF,wFACE,kCAAA,CAGJ,2DACE,4CAAA,CACA,eAAA,CACA,gEACE,UAAA,CACF,8DACE,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,eAxCa,CAyCb,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,cAAA,CACA,uEACE,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,gBAAA,CACA,cAAA,CACA,kBC1DI,CD2DJ,iBAAA,CACA,UAAA,CAEF,qEACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,KAAA,CACA,QAAA,CACA,WAAA,CACA,UAAA,CACA,oCAAA,CACA,sCAAA,CACA,SAAA,CACA,kBAAA,CACF,0FACE,SAAA,CACA,uCAAA,CACF,uEACE,kCAAA,CACA,uCAAA,CAGR,gDACE,0DAAA,CACA,yBAAA,CACA,qEACI,4BAAA,CACJ,mDACE,qBAAA,CACA,sDACE,YAAA,CACA,iBAAA,CACA,gBAxFa,CAyFb,yEACE,mBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,aA7FM,CA8FN,YA9FM,CA+FN,gFACE,aAAA,CACA,iBAAA,CACA,UAAA,CACA,gCAAA,CACA,SAlGG,CAmGH,kBC1GE,CD2GJ,iFACE,SAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,eAAA,CACA,kCAAA,CAEJ,sEACE,aAAA,CACA,kBA/Ga,CAgHb,2EACE,mBAAA,CACA,eAAA,CACA,yBAAA,CACA,mBAAA,CACA,UAAA,CAEJ,yEACI,iBAAA,CACA,uBAAA,CACA,qBAAA,CACA,WAAA,CACA,gBA9HS,CA+HT,UAAA,CACA,kBAAA,CACA,4BAAA,CACA,6BAAA,CACA,eAAA,CACA,eAAA,CACA,yBAAA,CACA,2FACE,gBAAA,CACA,aC5IA,CD6IA,cAAA,CACA,6FACE,gBAAA,CACA,kBAAA,CACJ,6EACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,SAAA,CACA,UAAA,CACA,aAAA,CACA,iCAAA,CACA,sFACE,SAAA,CACA,WAAA,CACA,eAAA,CAEF,2FACE,uBAAA,CAER,gFACE,KAAA,CACA,WAAA,CACA,eAAA,CACF,iFACE,+BAAA,CAGA,wFACE,KAAA,CACA,wBAAA,CACA,qDAAA,CAGF,wFACE,kBCjLE,CDkLJ,yFACE,kCAAA,CAEF,6FACE,aCtLE,CDuLN,gGACE,KAAA,CACA,wBAAA,CACA,wDAAA,CACJ,qEACE,WAAA,CACA,gBAAA,CAEE,+FACE,YAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$list-subusers-height: 4rem\\n$list-timeline-height: 10rem\\n$timeline-circle: 1.8rem\\n$timeline-pricelistdate: 11.3rem\\n$timeline-width: 2px\\n\\n// Listini utente\\nrouter-view.servizi-listini\\n  nav\\n    display: none\\n\\n  // Tab elenco\\n  #elenco\\n    height: calc(100vh - 6rem)\\n    overflow: hidden\\n\\n    // Left side\\n    .left-side\\n      & > .app-shared-search-style\\n        padding: 1rem 1rem 1.5rem\\n        box-shadow: inset 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n        & > .col-12\\n          margin: 0\\n          padding: 0\\n        & > .col-12 + .col-12\\n          margin-top: 1rem\\n        input[disabled]\\n          color: rgba($text-color, .4) !important\\n\\n      // Subusers\\n      > ul.subusers\\n        height: calc(100vh - 6rem - 5.1rem - 12.5rem)\\n        overflow-y: auto\\n        &.hide\\n          opacity: 0.4\\n        > li\\n          position: relative\\n          display: flex\\n          align-items: center\\n          justify-content: space-between\\n          min-height: $list-subusers-height\\n          padding: 0 1rem\\n          box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.1)\\n          transition: all 0.3s\\n          cursor: pointer\\n          > .counter\\n            position: relative\\n            display: flex\\n            align-items: center\\n            justify-content: center\\n            flex-shrink: 0\\n            height: calc($list-subusers-height / 2)\\n            width: calc($list-subusers-height / 2)\\n            margin-left: 1rem\\n            font-size: 1rem\\n            background: $primary-color\\n            border-radius: 50%\\n            color: #fff\\n        & > li\\n          &:before\\n            display: block\\n            position: absolute\\n            content: \\\"\\\"\\n            top: 0\\n            left: 50%\\n            height: 100%\\n            width: 100%\\n            background: #11254b08\\n            transform: translateX(-50%) scaleX(30%)\\n            opacity: 0\\n            transition: all 0.3s\\n          &:not(.selected):hover:before\\n            opacity: 1\\n            transform: translateX(-50%) scaleX(100%)\\n          &.selected\\n            background-color: rgba(17, 37, 75, 0.1)\\n            box-shadow: 0 -1px 0 0 rgba(17, 37, 75, 0.2)\\n\\n    // Right-side\\n    .right-side\\n      box-shadow: inset 10px 0 10px -10px #00000040\\n      height: calc(100vh - 6rem)\\n      > md-table-progressbar\\n          margin-top: -1.5px !important\\n      > ul\\n        padding: 3rem 1.5rem 0\\n        > li\\n          display: flex\\n          position: relative\\n          min-height: $list-timeline-height\\n          > .timeline-interval\\n            display: inline-flex\\n            flex-shrink: 0\\n            align-items: center\\n            justify-content: center\\n            height: $timeline-circle\\n            width: $timeline-circle\\n            &:before\\n              display: block\\n              position: absolute\\n              content: ''\\n              left: calc($timeline-pricelistdate + (calc($timeline-circle / 2) - calc($timeline-width / 2)))\\n              width: $timeline-width\\n              background: $primary-color\\n            > .circle\\n              z-index: 2\\n              height: 100%\\n              width: 100%\\n              border-radius: 50%\\n              background: #fff\\n              box-shadow: inset 0 0 0 2px $primary-color\\n          \\n          > .pricelist-date\\n            flex-shrink: 0\\n            flex-basis: $timeline-pricelistdate\\n            > span\\n              padding: .5rem .8rem\\n              background: #fff\\n              box-shadow: 0 0 0 1px #ddd\\n              border-radius: .2rem\\n              color: #000\\n          // Wrapper pricelist\\n          > .wrapper-pricelist\\n              position: relative\\n              margin: -1.5rem 0 0 3rem\\n              padding: 1.5rem 1.5rem\\n              height: 100%\\n              min-height: $list-timeline-height\\n              width: 100%\\n              border-radius: 1rem\\n              border-top-left-radius: .5rem\\n              border-top-right-radius: .5rem\\n              line-height: 1.3\\n              background: #fff\\n              box-shadow: 0 0 0 1px #ddd\\n              .pricelist-detail\\n                font-size: 1.2rem\\n                color: $primary-color\\n                cursor: pointer\\n                > i\\n                  font-size: 1.1rem\\n                  margin-right: .5rem\\n              svg\\n                position: absolute\\n                top: 0\\n                left: 0\\n                z-index: 5\\n                padding: 0\\n                width: auto\\n                height: 1.5rem\\n                transform: translate(-99%, 1.5rem)\\n                > polyline\\n                  fill: #fff\\n                  stroke: #ddd\\n                  stroke-width: 30\\n              .code-label\\n                > small\\n                  color: rgba($text-color, .6)\\n        li > .timeline-interval\\n          &:before\\n            top: 0\\n            height: 100%\\n            background: #ddd\\n          > .circle\\n            box-shadow: inset 0 0 0 2px #ddd\\n        li.endless\\n          > .timeline-interval\\n            &:before\\n              top: 0\\n              height: calc(100% + 3rem)\\n              background: linear-gradient(180deg, #ddd, transparent)\\n        li.current \\n          > .timeline-interval\\n            &:before\\n              background: $primary-color\\n            > .circle\\n              box-shadow: inset 0 0 0 2px $primary-color\\n          > .wrapper-pricelist\\n            .code-label\\n              color: $primary-color\\n          &.endless > .timeline-interval:before\\n            top: 0\\n            height: calc(100% + 3rem)\\n            background: linear-gradient(180deg, $primary-color, transparent)\\n        li.pricelists-end\\n          height: auto\\n          min-height: unset\\n          > .timeline-interval\\n            &:before\\n              display: none\\n\\n\\n\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.add-promotion .dialog-header-content h2{font-size:1.6rem}ux-dialog.add-promotion .body{padding:0}ux-dialog.add-promotion .body .expire-at{min-width:12rem}ux-dialog.add-promotion .body .user{margin:0;padding:1rem}ux-dialog.add-promotion .body .user .message{color:#ed5a23}ux-dialog.add-promotion .body .promo-code{display:flex;align-items:center}ux-dialog.add-promotion .body .promo-code>span{display:inline-block;padding:0 1rem;text-align:left;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);white-space:nowrap}ux-dialog.add-promotion .body .promo-code>.tag{color:#ed5a23;cursor:pointer;transition:all .3s}ux-dialog.add-promotion .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-assegna.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,kDACE,gBAAA,CACF,8BACE,SAAA,CAEA,yCACE,eAAA,CAEF,oCACE,QAAA,CACA,YAAA,CACA,6CACE,aCdQ,CDgBZ,0CACE,YAAA,CACA,kBAAA,CACA,+CACE,oBAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,6CAAA,CACA,mCAAA,CACA,kBAAA,CACF,+CACE,aC5BQ,CD6BR,cAAA,CACA,kBAAA,CAEN,gCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../../static/vars'\\n\\nux-dialog.add-promotion\\n  .dialog-header-content h2 \\n    font-size: 1.6rem\\n  .body\\n    padding: 0\\n\\n    .expire-at\\n      min-width: 12rem\\n\\n    .user \\n      margin: 0\\n      padding: 1rem\\n      .message\\n        color: $primary-color\\n\\n    .promo-code\\n      display: flex\\n      align-items: center\\n      > span\\n        display: inline-block\\n        padding: 0 1rem\\n        text-align: left\\n        border-radius: 3px\\n        box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n        background-color: rgba($primary-color, 0.2)\\n        white-space: nowrap\\n      > .tag\\n        color: $primary-color\\n        cursor: pointer\\n        transition: all .3s\\n  \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog .body{padding:2rem}ux-dialog .body ka-control+ka-control{margin-top:1rem}ux-dialog .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-crea.scss\"],\"names\":[],\"mappings\":\"AACE,gBACE,YAAA,CACA,sCAAA,eAAA,CAEF,kBACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,sCAAA,aAAA\",\"sourcesContent\":[\"ux-dialog {\\n  .body {\\n    padding: 2rem;\\n    ka-control + ka-control { margin-top: 1rem; }\\n  }\\n  .footer {\\n    display: block;\\n    padding: 6px;\\n    border-top: 1px solid #e5e5e5;\\n    text-align: right;\\n    ka-button + ka-button { margin-left: 0; }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.edit-promotion .body{padding:2rem}ux-dialog.edit-promotion .body ka-control+ka-control{margin-top:1rem}ux-dialog.edit-promotion .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.edit-promotion .footer ka-button+ka-button{margin-left:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/promozioni/dialogs/promozioni-modifica.sass\"],\"names\":[],\"mappings\":\"AACE,+BACE,YAAA,CACA,qDACE,eAAA,CAEJ,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CACA,qDACE,aAAA\",\"sourcesContent\":[\"ux-dialog.edit-promotion\\n  .body \\n    padding: 2rem\\n    ka-control + ka-control \\n      margin-top: 1rem\\n  \\n  .footer \\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n    ka-button + ka-button \\n      margin-left: 0\\n  \\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.servizi-promozioni .promo-code{display:flex;align-items:center}router-view.servizi-promozioni .promo-code>span{display:inline-block;padding:0 1rem;text-align:left;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(237,90,35,.6);background-color:rgba(237,90,35,.2);white-space:nowrap}router-view.servizi-promozioni .promo-code>.tag{color:#ed5a23;cursor:pointer;transition:all .3s}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/servizi/promozioni/promozioni.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,2CACE,YAAA,CACA,kBAAA,CACA,gDACE,oBAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,6CAAA,CACA,mCAAA,CACA,kBAAA,CACF,gDACE,aCfU,CDgBV,cAAA,CACA,kBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.servizi-promozioni\\n  .promo-code\\n    display: flex\\n    align-items: center\\n    > span\\n      display: inline-block\\n      padding: 0 1rem\\n      text-align: left\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($primary-color, .6)\\n      background-color: rgba($primary-color, 0.2)\\n      white-space: nowrap\\n    > .tag\\n      color: $primary-color\\n      cursor: pointer\\n      transition: all .3s\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.servizi-ricariche #ricariche .type-header{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}router-view.servizi-ricariche #ricariche .type-header td{padding:1rem 1rem}router-view.servizi-ricariche #ricariche .type-header td p{margin:0;padding:0;color:#ed5a23}router-view.servizi-ricariche #ricariche .type-header td p .iva{margin-left:.5rem;color:#404040}router-view.servizi-ricariche #ricariche .type-header td p .description{display:block;font-size:1.2rem;color:rgba(64,64,64,.7)}router-view.servizi-ricariche #ricariche md-table-wrapper{perspective:1000px}router-view.servizi-ricariche #ricariche md-table-wrapper table thead>tr>th:last-child{min-width:26rem}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header).error{background:rgba(255,6,6,.1098039216)}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header):last-child{border-bottom:0}router-view.servizi-ricariche #ricariche md-table-wrapper table tbody>tr:not(.type-header) td.code>span{display:inline-block;border-radius:3px;padding:.3rem 1rem;color:#fff;text-align:center;background-color:rgba(28,200,0,.7);box-shadow:inset 0 0 0 1px #1cc800;min-width:12rem;white-space:nowrap}router-view.servizi-ricariche #ricariche .cartbar{position:fixed;display:flex;align-items:center;height:11rem;bottom:-11rem;left:50%;z-index:2;border:1px solid rgba(0,0,0,.062745098);border-radius:5px;box-shadow:0 0 5px rgba(0,0,0,.2),0 5px 5px -5px rgba(0,0,0,.2),rgba(0,0,0,.0196078431) 0px -50px 36px -28px inset,rgba(0,0,0,.0196078431) 0px 30px 60px -12px inset;font-size:1.6rem;font-weight:400;color:#fff;background-color:#11254b;padding:0 2rem;transition:bottom .5s;transform:translateX(-50%)}router-view.servizi-ricariche #ricariche .cartbar.filled{bottom:2rem}router-view.servizi-ricariche #ricariche .cartbar.added{animation:rotate 1s infinite}router-view.servizi-ricariche #ricariche .cartbar>i{margin:.4rem 1.2rem 0 0;font-size:4rem;color:#ed5a23}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary{display:flex;align-items:flex-start;font-size:1rem;font-weight:700;text-transform:uppercase;color:#ed5a23}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary em{margin:0 .5rem 0 -1.4rem;border-radius:50%;display:inline-block;border-radius:50%;width:3.5rem;line-height:3.5rem;font-style:normal;font-size:2rem;text-align:center;vertical-align:middle;background-color:#fff}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.summary .user{display:block;color:#fff;font-size:1.4rem;font-weight:500;text-transform:none}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.amount{display:flex;align-items:flex-start;margin-top:-0.1rem;border-top:1px solid #ed5a23;padding-top:.5rem;font-size:1.4rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-info>.amount>strong{font-size:1.8rem;vertical-align:middle;margin-left:.5rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons{display:flex;flex-direction:column;margin-left:2rem}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons>ka-button{margin:0}router-view.servizi-ricariche #ricariche .cartbar>.cart-buttons>ka-button:first-child{margin-bottom:.5rem}router-view.servizi-ricariche .quantity-selector{display:flex;box-shadow:0 2px 5px rgba(0,0,0,.2)}router-view.servizi-ricariche .quantity-selector ka-button{border-radius:0;white-space:nowrap}router-view.servizi-ricariche .quantity-selector ka-button:not(.icon){box-shadow:inset 1px 0 0 #e0e0e0 !important}router-view.servizi-ricariche .quantity-selector ka-button.disabled{background:#fff;color:silver}router-view.servizi-ricariche .quantity-selector ka-button.icon{width:3rem}router-view.servizi-ricariche .quantity-selector input{outline:0;border:0;border-radius:0;padding:0;width:3rem;height:3rem;text-align:center;appearance:none;-moz-appearance:none;-webkit-appearance:none}router-view.servizi-ricariche .quantity-selector input::-webkit-outer-spin-button,router-view.servizi-ricariche .quantity-selector input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@keyframes rotate{0%{transform:translateX(-50%) scale(1) rotate3d(-1, 0, 0, 0deg)}50%{transform:translateX(-50%) scale(0.5) rotate3d(-1, 0, 0, 180deg)}100%{transform:translateX(-50%) scale(1) rotate3d(-1, 0, 0, 360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/servizi/ricariche/ricariche.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAKI,sDACE,4BAAA,CACA,+BAAA,CACA,yDACE,iBAAA,CACA,2DACE,QAAA,CACA,SAAA,CACA,aCZM,CDaN,gEACE,iBAAA,CACA,aChBC,CDiBH,wEACE,aAAA,CACA,gBAAA,CACA,uBAAA,CACR,0DACE,kBAAA,CAGI,uFACE,eAAA,CAGA,iGACE,oCAAA,CACF,sGACE,eAAA,CACF,wGACE,oBAAA,CACA,iBAAA,CACA,kBAAA,CACA,UAAA,CACA,iBAAA,CACA,kCAAA,CACA,kCAAA,CACA,eAAA,CACA,kBAAA,CAGV,kDACE,cAAA,CACA,YAAA,CACA,kBAAA,CACA,YAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,uCAAA,CACA,iBAAA,CACA,oKAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA,CACA,wBCzDY,CD0DZ,cAAA,CACA,qBAAA,CACA,0BAAA,CACA,yDACI,WAAA,CACJ,wDACE,4BAAA,CACF,oDACE,uBAAA,CACA,cAAA,CACA,aCrEQ,CDuER,sEACE,YAAA,CACA,sBAAA,CACA,cAAA,CACA,eAAA,CACA,wBAAA,CACA,aC7EM,CD8EN,yEACE,wBAAA,CACA,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,cAAA,CACA,iBAAA,CACA,qBAAA,CACA,qBAAA,CACF,4EACE,aAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,mBAAA,CACJ,qEACE,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,4BAAA,CACA,iBAAA,CACA,gBAAA,CACA,4EACE,gBAAA,CACA,qBAAA,CACA,iBAAA,CACN,gEACE,YAAA,CACA,qBAAA,CACA,gBAAA,CACA,0EACE,QAAA,CACA,sFACE,mBAAA,CAGV,iDACE,YAAA,CACA,mCAAA,CACA,2DACE,eAAA,CACA,kBAAA,CACA,sEACE,2CAAA,CACF,oEACE,eAAA,CACA,YAAA,CACF,gEACE,UAAA,CACJ,uDACE,SAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,eAAA,CACA,oBAAA,CACA,uBAAA,CACA,oKAEE,uBAAA,CACA,QAAA,CAGR,kBACE,GACE,4DAAA,CACF,IACE,gEAAA,CACF,KACE,8DAAA,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nrouter-view.servizi-ricariche\\n  // Ricariche-elenco\\n  #ricariche\\n    .type-header\\n      border-top: 1px solid #e0e0e0\\n      border-bottom: 1px solid #e0e0e0\\n      td\\n        padding: 1rem 1rem\\n        p\\n          margin: 0\\n          padding: 0\\n          color: $primary-color\\n          .iva\\n            margin-left: .5rem\\n            color: $text-color\\n          .description\\n            display: block\\n            font-size: 1.2rem\\n            color: rgba($text-color, 0.7)\\n    md-table-wrapper\\n      perspective: 1000px\\n      table\\n        thead\\n          > tr > th:last-child\\n            min-width: 26rem\\n        tbody\\n          > tr:not(.type-header)\\n            &.error\\n              background: #ff06061c\\n            &:last-child\\n              border-bottom: 0\\n            td.code > span\\n              display: inline-block\\n              border-radius: 3px\\n              padding: 0.3rem 1rem\\n              color: white\\n              text-align: center\\n              background-color: rgba(28, 200, 0, 0.7)\\n              box-shadow: inset 0 0 0 1px #1cc800\\n              min-width: 12rem\\n              white-space: nowrap\\n\\n    // Cartbar\\n    .cartbar\\n      position: fixed\\n      display: flex\\n      align-items: center\\n      height: 11rem\\n      bottom: -11rem\\n      left: 50%\\n      z-index: 2\\n      border: 1px solid #00000010\\n      border-radius: 5px\\n      box-shadow: 0 0 5px #00000033, 0 5px 5px -5px #00000033, #00000005 0px -50px 36px -28px inset, #00000005 0px 30px 60px -12px inset\\n      font-size: 1.6rem\\n      font-weight: 400\\n      color: #fff\\n      background-color: $secondary-color\\n      padding: 0 2rem\\n      transition: bottom 0.5s\\n      transform: translateX(-50%)\\n      &.filled\\n          bottom: 2rem\\n      &.added\\n        animation: rotate 1s infinite\\n      > i\\n        margin: 0.4rem 1.2rem 0 0\\n        font-size: 4rem\\n        color: $primary-color\\n      > .cart-info \\n        > .summary\\n          display: flex\\n          align-items: flex-start\\n          font-size: 1rem\\n          font-weight: 700\\n          text-transform: uppercase\\n          color: $primary-color\\n          em \\n            margin: 0 0.5rem 0 -1.4rem\\n            border-radius: 50%\\n            display: inline-block\\n            border-radius: 50%\\n            width: 3.5rem\\n            line-height: 3.5rem\\n            font-style: normal\\n            font-size: 2rem\\n            text-align: center\\n            vertical-align: middle\\n            background-color: #ffffff\\n          .user\\n            display: block\\n            color: white\\n            font-size: 1.4rem\\n            font-weight: 500\\n            text-transform: none\\n        > .amount\\n          display: flex\\n          align-items: flex-start\\n          margin-top: -0.1rem\\n          border-top: 1px solid $primary-color\\n          padding-top: 0.5rem\\n          font-size: 1.4rem\\n          > strong\\n            font-size: 1.8rem\\n            vertical-align: middle\\n            margin-left: 0.5rem\\n      > .cart-buttons\\n        display: flex\\n        flex-direction: column\\n        margin-left: 2rem\\n        > ka-button\\n          margin: 0\\n          &:first-child\\n            margin-bottom: 0.5rem\\n\\n  // Quantity selector\\n  .quantity-selector\\n    display: flex\\n    box-shadow: 0 2px 5px rgba(#000, 0.2)\\n    ka-button\\n      border-radius: 0\\n      white-space: nowrap\\n      &:not(.icon)\\n        box-shadow: inset 1px 0 0 #e0e0e0 !important\\n      &.disabled\\n        background: #fff\\n        color: #c0c0c0\\n      &.icon\\n        width: 3rem       \\n    input\\n      outline: 0\\n      border: 0\\n      border-radius: 0\\n      padding: 0\\n      width: 3rem\\n      height: 3rem\\n      text-align: center\\n      appearance: none\\n      -moz-appearance: none\\n      -webkit-appearance: none     \\n      &::-webkit-outer-spin-button,\\n      &::-webkit-inner-spin-button\\n        -webkit-appearance: none\\n        margin: 0\\n\\n// Animation\\n@keyframes rotate\\n  0%\\n    transform: translateX(-50%) scale(1) rotate3d(-1, 0, 0, 0deg)\\n  50%\\n    transform: translateX(-50%) scale(0.5) rotate3d(-1, 0, 0, 180deg)\\n  100%\\n    transform: translateX(-50%) scale(1) rotate3d(-1, 0, 0, 360deg)\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.bank-transfer-data h3{margin-bottom:1rem !important}ux-dialog.bank-transfer-data .tables{padding:0 1rem;margin:0}ux-dialog.bank-transfer-data li.table{list-style:none;border:1px solid #e0e0e0}ux-dialog.bank-transfer-data li.table>.grid-row{display:grid;grid-template-columns:repeat(2, 1fr);width:100%;line-height:1;color:#404040;text-align:left;padding:.5rem 0;background:#efefef}ux-dialog.bank-transfer-data li.table>.grid-row>.colmn{display:flex;align-items:center;padding:1rem 1.5rem;min-height:3rem;font-weight:300}ux-dialog.bank-transfer-data li.table>.grid-row>.colmn strong{margin-right:.3rem;font-size:1rem;font-weight:600;text-transform:uppercase}ux-dialog.bank-transfer-data .info{margin-bottom:.5rem;text-align:left}ux-dialog.bank-transfer-data .info i{margin-right:.2rem;color:#f30}ux-dialog.bank-transfer-data .info a{font-weight:500;color:#ed5a23}ux-dialog.bank-transfer-data .copy-text{transition:all .3s;cursor:pointer}ux-dialog.bank-transfer-data .copy-text:hover{color:#ed5a23}ux-dialog.bank-transfer-data .copy-text.with-icon:after{display:inline-block;content:\\\"\\\";margin-left:.3rem;font-family:\\\"Font Awesome 5 Pro\\\";font-size:1.1rem;font-style:normal;font-weight:400;-webkit-font-smoothing:antialiased;color:#ed5a23}ux-dialog.bank-transfer-data .tag{padding:.3rem .6rem}ux-dialog.bank-transfer-data .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/bank-transfer-data.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,gCAGE,6BACE,CAAA,qCACF,cACE,CAAA,QACA,CAAA,sCACF,eACE,CAAA,wBACA,CAAA,gDACA,YACE,CAAA,oCACA,CAAA,UACA,CAAA,aACA,CAAA,aACA,CAAA,eACA,CAAA,eACA,CAAA,kBACA,CAAA,uDACA,YACE,CAAA,kBACA,CAAA,mBACA,CAAA,eACA,CAAA,eACA,CAAA,8DACA,kBACE,CAAA,cACA,CAAA,eACA,CAAA,wBACA,CAAA,mCACR,mBACE,CAAA,eACA,CAAA,qCACA,kBACE,CAAA,UC9BQ,CAAA,qCDgCV,eACE,CAAA,aCrCU,CAAA,wCDwCd,kBACE,CAAA,cACA,CAAA,8CACA,aC3CY,CAAA,wDD6CZ,oBACE,CAAA,WACA,CAAA,iBACA,CAAA,gCACA,CAAA,gBACA,CAAA,iBACA,CAAA,eACA,CAAA,kCACA,CAAA,aCrDU,CAAA,kCDwDd,mBACE,CAAA,qCAEF,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.bank-transfer-data\\n  h3\\n    margin-bottom: 1rem !important\\n  .tables\\n    padding: 0 1rem\\n    margin: 0\\n  li.table\\n    list-style: none\\n    border: 1px solid #e0e0e0\\n    > .grid-row\\n      display: grid\\n      grid-template-columns: repeat(2, 1fr)\\n      width: 100%\\n      line-height: 1\\n      color: #404040\\n      text-align: left\\n      padding: .5rem 0\\n      background: #efefef\\n      > .colmn\\n        display: flex\\n        align-items: center\\n        padding: 1rem 1.5rem\\n        min-height: 3rem\\n        font-weight: 300\\n        strong\\n          margin-right: .3rem\\n          font-size: 1rem\\n          font-weight: 600\\n          text-transform: uppercase\\n  .info\\n    margin-bottom: .5rem\\n    text-align: left\\n    i\\n      margin-right: .2rem\\n      color: $error-color\\n    a\\n      font-weight: 500\\n      color: $primary-color\\n\\n  .copy-text\\n    transition: all .3s\\n    cursor: pointer\\n    &:hover\\n      color: $primary-color\\n    &.with-icon:after\\n      display: inline-block\\n      content: \\\"\\\\f24d\\\"\\n      margin-left: .3rem\\n      font-family: \\\"Font Awesome 5 Pro\\\"\\n      font-size: 1.1rem\\n      font-style: normal\\n      font-weight: 400\\n      -webkit-font-smoothing: antialiased\\n      color: $primary-color\\n\\n  .tag\\n    padding: 0.3rem 0.6rem\\n\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.legacy-history .body{padding:2rem}ux-dialog.legacy-history .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/spedizioni/dialogs/legacy-history.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,+BACE,YAAA,CACF,iCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.legacy-history\\n  .body\\n    padding: 2rem\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ux-dialog.message-cost-detail table{box-shadow:0 0 1px rgba(64,64,64,.7);white-space:nowrap}ux-dialog.message-cost-detail table tr:last-of-type{box-shadow:none}ux-dialog.message-cost-detail table tfoot>tr>td,ux-dialog.message-cost-detail table tfoot>tr>td>strong{white-space:nowrap}ux-dialog.message-cost-detail table tfoot>tr:first-of-type{box-shadow:inset 0 1px 0 rgba(64,64,64,.3),inset 0 -1px 0 0 rgba(224,224,224,.5)}ux-dialog.message-cost-detail table tfoot>tr:last-of-type{box-shadow:inset 0 1px 0 rgba(237,90,35,.5)}ux-dialog.message-cost-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/message-cost-detail.sass\"],\"names\":[],\"mappings\":\"AAGE,oCACE,oCAAA,CACA,kBAAA,CACA,oDACE,eAAA,CAGE,uGACE,kBAAA,CACF,2DACE,gFAAA,CACF,0DACE,2CAAA,CACR,sCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n\\nux-dialog.message-cost-detail\\n  table\\n    box-shadow: 0 0 1px rgba($text-color, .7)\\n    white-space: nowrap\\n    tr:last-of-type\\n      box-shadow: none\\n    tfoot\\n      > tr\\n        > td, > td > strong\\n          white-space: nowrap\\n        &:first-of-type\\n          box-shadow: inset 0 1px 0 rgba($text-color, .3), inset 0 -1px 0 0 rgba(#e0e0e0, .5)\\n        &:last-of-type\\n          box-shadow: inset 0 1px 0 rgba($primary-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n   \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.message-status-transitions-history{max-width:450px}ux-dialog.message-status-transitions-history .body .statuses{padding:3rem 1.5rem 0}ux-dialog.message-status-transitions-history .body .statuses>li{display:flex;position:relative;min-height:8rem}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;height:1.5rem;width:1.5rem}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval:before{display:block;position:absolute;content:\\\"\\\";width:2px;background:#ed5a23}ux-dialog.message-status-transitions-history .body .statuses>li>.timeline-interval>.circle{position:relative;z-index:2;height:100%;width:100%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ed5a23}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date{font-size:1.2rem;flex-shrink:0;flex-basis:10.3rem;margin:-1.5rem 0 0 0}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date>div{position:relative;z-index:4;width:fit-content;padding:.8rem;background:#fff;box-shadow:0 0 0 1px #ddd;border-radius:.2rem;color:#000}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date>div .time{color:rgba(64,64,64,.5)}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date svg{position:absolute;top:0;left:calc(100% + 1.1rem);z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-100%, 1.5rem) rotateY(180deg)}ux-dialog.message-status-transitions-history .body .statuses>li>.status-date svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status{position:relative;margin:-1.5rem 0 0 2.5rem;padding:.8rem;height:100%;min-height:8rem;width:100%;border-radius:.3rem .3rem .5rem .5rem;line-height:1.3;background:#fff;box-shadow:0 0 0 1px #ddd}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status svg{position:absolute;top:0;left:0;z-index:5;padding:0;width:auto;height:1.5rem;transform:translate(-99%, 1.5rem)}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status svg>polyline{fill:#fff;stroke:#ddd;stroke-width:30}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .status{min-height:2rem;white-space:normal;display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .status:before{margin-right:.5rem}ux-dialog.message-status-transitions-history .body .statuses>li>.wrapper-status .reason{display:block;margin:.7rem 0 0 0;font-size:1.1rem;line-height:1.1;display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:rgba(64,64,64,.8)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval:before{top:0;height:100%;background:linear-gradient(180deg, transparent, #ed5a23 60%)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval:after{position:absolute;content:\\\"\\\";top:1.5rem;height:.5rem;width:.5rem;border:2px solid rgba(237,90,35,.6);border-right:none;border-bottom:none;transform:rotate(45deg)}ux-dialog.message-status-transitions-history .body .statuses li>.timeline-interval>.circle{box-shadow:inset 0 0 0 2px #ed5a23}ux-dialog.message-status-transitions-history .body .statuses li:last-of-type>.timeline-interval:before,ux-dialog.message-status-transitions-history .body .statuses li:last-of-type>.timeline-interval:after{display:none}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type:not(.ended)>.timeline-interval:before{top:-2rem;height:calc(100% + 3rem)}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.timeline-interval>.circle{position:relative}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.timeline-interval>.circle:before{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:inline-block;content:\\\"\\\";margin:0;font-size:.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:rgba(237,90,35,.5);vertical-align:unset;animation:unset;font-weight:900}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.status-date>div{box-shadow:0 0 0 1px rgba(64,64,64,.4)}ux-dialog.message-status-transitions-history .body .statuses li:first-of-type.ended>.status-date>div svg polyline{fill:#fff;stroke:rgba(64,64,64,.5)}ux-dialog.message-status-transitions-history .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/message-status-transitions-history.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,6CD5aJ,eACE,CAAA,6DAEE,qBACE,CAAA,gEACA,YACE,CAAA,iBACA,CAAA,eAVe,CAAA,mFAYf,mBACE,CAAA,aACA,CAAA,kBACA,CAAA,sBACA,CAAA,aAjBQ,CAAA,YAAA,CAAA,0FAoBR,aACE,CAAA,iBACA,CAAA,UACA,CAAA,SAzBK,CAAA,kBEHD,CAAA,2FF+BN,iBACE,CAAA,SACA,CAAA,WACA,CAAA,UACA,CAAA,iBACA,CAAA,eACA,CAAA,kCACA,CAAA,6EAEJ,gBACE,CAAA,aACA,CAAA,kBAnCa,CAAA,oBAqCb,CAAA,iFACA,iBACE,CAAA,SACA,CAAA,iBACA,CAAA,aACA,CAAA,eACA,CAAA,yBACA,CAAA,mBACA,CAAA,UACA,CAAA,uFACA,uBACE,CAAA,iFACJ,iBACE,CAAA,KACA,CAAA,wBACA,CAAA,SACA,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,kDACA,CAAA,0FACA,SACE,CAAA,WACA,CAAA,eACA,CAAA,gFAEN,iBACI,CAAA,yBACA,CAAA,aACA,CAAA,WACA,CAAA,eApEW,CAAA,UAsEX,CAAA,qCACA,CAAA,eACA,CAAA,eACA,CAAA,yBACA,CAAA,oFACA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,SACA,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,iCACA,CAAA,6FACA,SACE,CAAA,WACA,CAAA,eACA,CAAA,wFACJ,eACE,CAAA,kBACA,CAAA,mBClCZ,CAAA,cDmC8C,CAAA,eCjC9C,CAAA,sBACA,CAAA,YDgC+B,CAAA,oBAAA,CAAA,2BC7B/B,CAAA,+FD8BY,kBACE,CAAA,wFACJ,aACE,CAAA,kBACA,CAAA,gBACA,CAAA,eACA,CAAA,mBC1CZ,CAAA,cD2C8C,CAAA,eCzC9C,CAAA,sBACA,CAAA,YDwC+B,CAAA,oBAAA,CAAA,2BCrC/B,CAAA,uBDsCY,CAAA,0FAEN,KACE,CAAA,WACA,CAAA,4DACA,CAAA,yFACF,iBACE,CAAA,UACA,CAAA,UA7GQ,CAAA,YA+GR,CAAA,WACA,CAAA,mCACA,CAAA,iBACA,CAAA,kBACA,CAAA,uBACA,CAAA,2FACF,kCACE,CAAA,6MAEF,YACE,CAAA,oHAEF,SACE,CAAA,wBACA,CAAA,+GAEF,iBACE,CAAA,sHACA,iBACE,CAAA,OACA,CAAA,QACA,CAAA,+BACA,CAAA,oBChGV,CAAA,WDiG+B,CAAA,QAAyB,CAAA,eAAP,CAAA,iBC7FjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,wBDyF2D,CAAA,oBAA0B,CAAA,eClGC,CAAA,eAkBpF,CAAA,qGDiFI,sCACI,CAAA,kHAEE,SACE,CAAA,wBACA,CAAA,qDACd,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$timeline-width: 2px\\n$margin-top-wrappers: -1.5rem\\n$timeline-circle: 1.5rem\\n$list-timeline-height: 8rem\\n$timeline-status-date: 10.3rem\\n\\nux-dialog.message-status-transitions-history\\n  max-width: 450px\\n  .body\\n    .statuses\\n      padding: 3rem 1.5rem 0\\n      > li\\n        display: flex\\n        position: relative\\n        min-height: $list-timeline-height\\n        > .timeline-interval\\n          display: inline-flex\\n          flex-shrink: 0\\n          align-items: center\\n          justify-content: center\\n          height: $timeline-circle\\n          width: $timeline-circle\\n          &:before // Line\\n            display: block\\n            position: absolute\\n            content: ''\\n            width: $timeline-width\\n            background: $primary-color\\n          > .circle\\n            position: relative\\n            z-index: 2\\n            height: 100%\\n            width: 100%\\n            border-radius: 50%\\n            background: #fff\\n            box-shadow: inset 0 0 0 2px $primary-color\\n        \\n        > .status-date\\n          font-size: 1.2rem\\n          flex-shrink: 0\\n          flex-basis: $timeline-status-date\\n          margin: $margin-top-wrappers 0 0 0\\n          > div\\n            position: relative\\n            z-index: 4\\n            width: fit-content\\n            padding: .8rem\\n            background: #fff\\n            box-shadow: 0 0 0 1px #ddd\\n            border-radius: .2rem\\n            color: #000\\n            .time\\n              color: rgba($text-color, .5)\\n          svg\\n            position: absolute\\n            top: 0\\n            left: calc(100% + 1.1rem)\\n            z-index: 5\\n            padding: 0\\n            width: auto\\n            height: 1.5rem\\n            transform: translate(-100%, 1.5rem) rotateY(180deg)\\n            > polyline\\n              fill: #fff\\n              stroke: #ddd\\n              stroke-width: 30\\n        // Wrapper pricelist\\n        > .wrapper-status\\n            position: relative\\n            margin: $margin-top-wrappers 0 0 2.5rem\\n            padding: .8rem\\n            height: 100%\\n            min-height: $list-timeline-height\\n            width: 100%\\n            border-radius: .3rem .3rem .5rem .5rem\\n            line-height: 1.3\\n            background: #fff\\n            box-shadow: 0 0 0 1px #ddd\\n            svg\\n              position: absolute\\n              top: 0\\n              left: 0\\n              z-index: 5\\n              padding: 0\\n              width: auto\\n              height: 1.5rem\\n              transform: translate(-99%, 1.5rem)\\n              > polyline\\n                fill: #fff\\n                stroke: #ddd\\n                stroke-width: 30\\n            .status\\n              min-height: 2rem\\n              white-space: normal\\n              @include max-lines(1, $max-width: 100%)\\n              &:before\\n                margin-right: .5rem\\n            .reason\\n              display: block\\n              margin: .7rem 0 0 0\\n              font-size: 1.1rem\\n              line-height: 1.1\\n              @include max-lines(3, $max-width: 100%)\\n              color: rgba($text-color, .8)\\n      li > .timeline-interval\\n        &:before // Line\\n          top: 0\\n          height: 100%\\n          background: linear-gradient(180deg, transparent, $primary-color 60%)\\n        &:after // Arrow\\n          position: absolute\\n          content: ''\\n          top: $timeline-circle\\n          height: .5rem\\n          width: .5rem\\n          border: $timeline-width solid rgba($primary-color, .6)\\n          border-right: none\\n          border-bottom: none\\n          transform: rotate(45deg)\\n        > .circle\\n          box-shadow: inset 0 0 0 2px $primary-color\\n      li:last-of-type > .timeline-interval\\n        &:before, &:after\\n          display: none\\n      li:first-of-type:not(.ended) > .timeline-interval \\n        &:before\\n          top: -2rem\\n          height: calc(100% + 3rem)\\n      li:first-of-type.ended \\n        > .timeline-interval > .circle\\n          position: relative\\n          &:before\\n            position: absolute\\n            top: 50%\\n            left: 50%\\n            transform: translate(-50%, -50%)\\n            @include fontawesome(\\\"\\\\f111\\\", \\\"solid\\\", .5rem, 0, rgba($primary-color, .5), unset)\\n        > .status-date > div\\n            box-shadow: 0 0 0 1px rgba($text-color, .4)\\n            svg\\n              polyline\\n                fill: #fff\\n                stroke: rgba($text-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.queue-cost-detail table{box-shadow:0 0 1px rgba(64,64,64,.7)}ux-dialog.queue-cost-detail table td{vertical-align:top}ux-dialog.queue-cost-detail table tbody tr:last-of-type{box-shadow:0 5px 5px 0px rgba(64,64,64,.1)}ux-dialog.queue-cost-detail table tfoot>tr>td,ux-dialog.queue-cost-detail table tfoot>tr>td>strong{white-space:nowrap}ux-dialog.queue-cost-detail table tfoot>tr:first-of-type{box-shadow:inset 0 1px 0 rgba(64,64,64,.3),inset 0 -1px 0 0 rgba(224,224,224,.5)}ux-dialog.queue-cost-detail table tfoot>tr:last-of-type{box-shadow:inset 0 1px 0 rgba(237,90,35,.5)}ux-dialog.queue-cost-detail .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}ux-dialog.queue-cost-detail .gross-amount,ux-dialog.queue-cost-detail .order-amount{margin:0;white-space:nowrap;text-align:right}ux-dialog.queue-cost-detail .gross-amount.DISCONTINUED,ux-dialog.queue-cost-detail .order-amount.DISCONTINUED{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}ux-dialog.queue-cost-detail .gross-amount.order-amount,ux-dialog.queue-cost-detail .order-amount.order-amount{display:block;color:#404040}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/spedizioni/dialogs/queue-cost-detail.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CClbF,kCACE,oCAAA,CACA,qCACE,kBAAA,CAEA,wDACE,0CAAA,CAGA,mGACE,kBAAA,CACF,yDACE,gFAAA,CACF,wDACE,2CAAA,CACR,oCACE,aAAA,CACA,WAAA,CACA,4BAAA,CACA,gBAAA,CAEF,oFACE,QAAA,CACA,kBAAA,CACA,gBAAA,CACA,8GDCF,uBAD+B,CAE/B,8CAAA,CAAA,8GCCI,aAAA,CACA,aCjCO\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-cost-detail\\n  table\\n    box-shadow: 0 0 1px rgba($text-color, .7)\\n    td\\n      vertical-align: top\\n    tbody \\n      tr:last-of-type\\n        box-shadow: 0 5px 5px 0px rgba($text-color, .1)\\n    tfoot\\n      > tr\\n        > td, > td > strong\\n          white-space: nowrap\\n        &:first-of-type\\n          box-shadow: inset 0 1px 0 rgba($text-color, .3), inset 0 -1px 0 0 rgba(#e0e0e0, .5)\\n        &:last-of-type\\n          box-shadow: inset 0 1px 0 rgba($primary-color, .5)\\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n  \\n  .gross-amount, .order-amount\\n    margin: 0\\n    white-space: nowrap\\n    text-align: right\\n    &.DISCONTINUED\\n      @include line-through()\\n    &.order-amount\\n      display: block\\n      color: $text-color\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.queue-csv-download .body h3{border-top:1px solid #e0e0e0}ux-dialog.queue-csv-download .body table thead{border:1px solid #e0e0e0;background:#ebebeb}ux-dialog.queue-csv-download .body table tbody{display:grid;max-height:30vh;overflow-y:scroll}ux-dialog.queue-csv-download .body table tbody>tr{width:100%;height:fit-content}ux-dialog.queue-csv-download .body table tbody>tr td{display:flex;justify-content:space-between}ux-dialog.queue-csv-download .body table tbody>tr td>.error{color:#404040;cursor:pointer;transition:color .3s;text-decoration:underline}ux-dialog.queue-csv-download .body table tbody>tr td>.error:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.queue-csv-download .body table tbody>tr td>.error:hover{color:#f30}ux-dialog.queue-csv-download .body table tbody tr:last-child{border-bottom:0 !important;box-shadow:none !important}ux-dialog.queue-csv-download .body table+*{border-top:1px solid #e0e0e0}ux-dialog.queue-csv-download .footer{display:block;padding:6px;border-top:1px solid #e5e5e5;text-align:right}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/queue-csv-download.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,sCDjbA,4BACE,CAAA,+CAEA,wBACE,CAAA,kBACA,CAAA,+CACF,YACE,CAAA,eACA,CAAA,iBACA,CAAA,kDACA,UACE,CAAA,kBACA,CAAA,qDACA,YACE,CAAA,6BACA,CAAA,4DACA,aErBC,CAAA,cFuBC,CAAA,oBACA,CAAA,yBACA,CAAA,mEACA,oBCiBZ,CAAA,WDhBmC,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCoBvD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,oBDqCuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kED9BU,UEvBA,CAAA,6DFyBN,0BACE,CAAA,0BACA,CAAA,2CACN,4BACE,CAAA,qCAEJ,aACE,CAAA,WACA,CAAA,4BACA,CAAA,gBACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.queue-csv-download\\n  .body\\n    h3\\n      border-top: 1px solid #e0e0e0\\n    table\\n      thead\\n        border: 1px solid #e0e0e0\\n        background: #ebebeb\\n      tbody\\n        display: grid\\n        max-height: 30vh\\n        overflow-y: scroll\\n        > tr\\n          width: 100%\\n          height: fit-content\\n          td\\n            display: flex\\n            justify-content: space-between\\n            > .error\\n              color: $text-color\\n              cursor: pointer\\n              transition: color .3s\\n              text-decoration: underline\\n              &:before\\n                @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.2rem, 0 .3rem 0 0, $error-color)\\n              &:hover\\n                color: $error-color\\n        tr:last-child\\n          border-bottom: 0 !important\\n          box-shadow: none !important\\n    table + *\\n      border-top: 1px solid #e0e0e0\\n    \\n  .footer\\n    display: block\\n    padding: 6px\\n    border-top: 1px solid #e5e5e5\\n    text-align: right\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.report-attachments .body .general-options{display:inline-block}ux-dialog.report-attachments .body>div{padding:0 1rem 1rem}ux-dialog.report-attachments .body>div>h3{padding:0}ux-dialog.report-attachments .body>div>p{margin:0}ux-dialog.report-attachments .body table tbody>tr>td,ux-dialog.report-attachments .body table tbody>tr>th,ux-dialog.report-attachments .body table thead>tr>td,ux-dialog.report-attachments .body table thead>tr>th{font-size:1.3rem}ux-dialog.report-attachments .body table tbody tr:last-of-type{box-shadow:none}ux-dialog.report-attachments .body table tbody .signature .fa-check{color:rgba(64,64,64,.3)}ux-dialog.report-attachments .body table tbody .signature .fa-check.checked{color:#1cc800}ux-dialog.report-attachments .printing-options>span:not(:last-of-type):after,ux-dialog.report-attachments .format-options>span:not(:last-of-type):after{content:\\\",\\\"}ux-dialog.report-attachments .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/spedizioni/dialogs/report-attachments.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CCjbA,oDACE,oBAAA,CACF,uCACE,mBAAA,CACA,0CACE,SAAA,CACF,yCACE,QAAA,CAGA,oNACE,gBAAA,CAEF,+DACE,eAAA,CAEA,oEACE,uBAAA,CACA,4EACE,aClBE,CDqBV,wJACE,WAAA,CACN,qCACE,aAAA,CACA,WAAA,CACA,gBAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.report-attachments\\n  .body\\n    .general-options\\n      display: inline-block\\n    > div\\n      padding: 0 1rem 1rem\\n      > h3\\n        padding: 0\\n      > p\\n        margin: 0\\n    table\\n      tbody, thead\\n        > tr > td, > tr > th\\n          font-size: 1.3rem\\n      tbody\\n        tr:last-of-type\\n          box-shadow: none\\n        .signature\\n          .fa-check\\n            color: rgba($text-color, .3)\\n            &.checked\\n              color: $success-color\\n  .printing-options, .format-options\\n    > span\\n      &:not(:last-of-type):after\\n        content: ','\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.report-multibox-detail .body{padding:1rem}ux-dialog.report-multibox-detail .body .addressLines{display:grid;grid-template-columns:repeat(2, 1fr)}ux-dialog.report-multibox-detail .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/static/_mixins.sass\",\"webpack://./src/views/spedizioni/dialogs/report-multibox-detail.sass\"],\"names\":[],\"mappings\":\"AA8aA,2BACE,GACE,UAAA,CACF,IACE,WAAA,CACF,IACE,YAAA,CACF,IACE,aAAA,CAAA,CC3aF,uCACE,YAAA,CACA,qDACE,YAAA,CACA,oCAAA,CACJ,yCACE,aAAA,CACA,WAAA,CACA,gBAAA,CACA,4BAAA\",\"sourcesContent\":[\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n// Vars\\n$timeline-width: 2px\\n$margin-top-wrappers: -1.5rem\\n$timeline-circle: 1.5rem\\n$list-timeline-height: 8rem\\n$timeline-status-date: 10.3rem\\n\\nux-dialog.report-multibox-detail\\n  .body\\n    padding: 1rem\\n    .addressLines\\n      display: grid\\n      grid-template-columns: repeat(2, 1fr)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}ux-dialog.report-queue-resend{width:min(50vw,80rem)}ux-dialog.report-queue-resend .body{overflow:hidden}ux-dialog.report-queue-resend .recipients-counter{color:#404040}ux-dialog.report-queue-resend .selection-btn{min-width:126.02px}ux-dialog.report-queue-resend .alert:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.4rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}ux-dialog.report-queue-resend .footer{display:block;padding:6px;text-align:right;border-top:1px solid #e5e5e5}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/dialogs/report-queue-resend.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,8BDnbJ,qBACE,CAAA,oCACA,eACE,CAAA,kDACF,aEPW,CAAA,6CFSX,kBACE,CAAA,4CACF,oBCgCA,CAAA,WD/BuB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCmC3C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,sCD7CF,aACE,CAAA,WACA,CAAA,gBACA,CAAA,4BACA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nux-dialog.report-queue-resend\\n  width: min(50vw, 80rem)\\n  .body\\n    overflow: hidden\\n  .recipients-counter\\n    color: $text-color\\n  .selection-btn\\n    min-width: 126.02px\\n  .alert:before\\n    @include fontawesome('\\\\f06a', 'regular', 1.4rem, 0 .3rem 0 0, $primary-color)\\n  .footer\\n    display: block\\n    padding: 6px\\n    text-align: right\\n    border-top: 1px solid #e5e5e5\\n    \\n  \\n\\n\\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \\n  \",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"router-view.spedizioni-pending i.fal{color:rgba(64,64,64,.7)}router-view.spedizioni-pending i.fal.used-channel{color:#ed5a23}router-view.spedizioni-pending div.total-to-pay{margin-top:.5rem;font-size:1rem;font-weight:600;line-height:1;color:#ed5a23;text-align:center;text-transform:uppercase}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/drafts.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAGE,qCACE,uBAAA,CACA,kDACE,aCLU,CDMd,gDACE,gBAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,aCXY,CDYZ,iBAAA,CACA,wBAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n\\nrouter-view.spedizioni-pending\\n  i.fal\\n    color: rgba($text-color, 0.7)\\n    &.used-channel\\n      color: $primary-color\\n  div.total-to-pay\\n    margin-top: 0.5rem\\n    font-size: 1rem\\n    font-weight: 600\\n    line-height: 1\\n    color: $primary-color\\n    text-align: center\\n    text-transform: uppercase\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.spedizioni-pending .channels{margin-top:.5rem}router-view.spedizioni-pending .channels>i{font-size:1.6rem;color:rgba(64,64,64,.4)}router-view.spedizioni-pending .channels>i.used{color:#ed5a23}router-view.spedizioni-pending .channels>i+i{margin-left:.5rem}router-view.spedizioni-pending .payment-method-edit{margin-left:.1rem;font-size:1.3rem;color:rgba(64,64,64,.4);transition:color .3s;cursor:pointer}router-view.spedizioni-pending .payment-method-edit:hover{color:#ed5a23}router-view.spedizioni-pending .payment .bank-transfer-data{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer}router-view.spedizioni-pending .payment .delete-payment{color:#ed5a23;text-decoration:none;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-pending .payment .delete-payment:before{display:inline-block;content:\\\"\\\";margin:0 .1rem 0 0;font-size:1.3rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:baseline;animation:unset;font-weight:400;transition:transform .5s ease-out}router-view.spedizioni-pending .payment .delete-payment:hover{color:#ed5a23}router-view.spedizioni-pending .payment .delete-payment.attachments{display:block}router-view.spedizioni-pending .payment .payment-pending{white-space:nowrap}router-view.spedizioni-pending .payment .payment-pending:before{display:inline-block;content:\\\"\\\";margin:0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#a36200;vertical-align:baseline;animation:spinner 1s linear infinite;font-weight:900}router-view.spedizioni-pending .payment span+.short-confirmation-code,router-view.spedizioni-pending .payment small+.short-confirmation-code{margin-top:.5rem}router-view.spedizioni-pending .gross-amount,router-view.spedizioni-pending .order-amount{white-space:nowrap}router-view.spedizioni-pending .gross-amount.line-through,router-view.spedizioni-pending .order-amount.line-through{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}router-view.spedizioni-pending .gross-amount.order-amount,router-view.spedizioni-pending .order-amount.order-amount{display:block}@keyframes spinner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/pending.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,yCDlbF,gBACE,CAAA,2CACA,gBACE,CAAA,uBACA,CAAA,gDACA,aERU,CAAA,6CFUV,iBACE,CAAA,oDAEN,iBACE,CAAA,gBACA,CAAA,uBACA,CAAA,oBACA,CAAA,cACA,CAAA,0DACA,aEnBY,CAAA,4DFuBZ,aACE,CAAA,aExBU,CAAA,yBF0BV,CAAA,cACA,CAAA,wDAEF,aE7BY,CAAA,oBF+BV,CAAA,cACA,CAAA,oBACA,CAAA,aElCO,CAAA,+DFoCP,oBCOJ,CAAA,WDN2B,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCU/C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,uBFoCsE,CAAA,eCKE,CAAA,eAgBpF,CAAA,iCDpBI,CAAA,8DACF,aEtCU,CAAA,oEFwCV,aACE,CAAA,yDAEJ,kBACE,CAAA,gEACA,oBCHJ,CAAA,WDI2B,CAAA,QAA0B,CAAA,gBAAR,CAAA,iBAAA,CAAA,mBCC7C,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDJwD,CAAA,uBAA6B,CAAA,oCAAU,CAAA,eCa7F,CAAA,6IDXA,gBACE,CAAA,0FAEJ,kBACE,CAAA,oHACA,uBACE,CAAA,8CACA,CAAA,oHACF,aACE,CAAA,mBAGN,KACE,sBACE,CAAA,GACF,wBACE,CAAA\",\"sourcesContent\":[\"@import '../../static/vars'\\n@import '../../static/mixins'\\n\\nrouter-view.spedizioni-pending\\n  .channels\\n    margin-top: .5rem\\n    > i\\n      font-size: 1.6rem\\n      color: rgba($text-color, .4)\\n      &.used\\n        color: $primary-color\\n      & + i\\n        margin-left: .5rem\\n\\n  .payment-method-edit\\n    margin-left: 0.1rem\\n    font-size: 1.3rem\\n    color: rgba($text-color, .4)\\n    transition: color .3s\\n    cursor: pointer\\n    &:hover\\n      color: $primary-color\\n\\n  .payment\\n    .bank-transfer-data\\n      display: block\\n      color: $primary-color\\n      text-decoration: underline\\n      cursor: pointer\\n\\n    .delete-payment\\n      color: $primary-color\\n      text-decoration: none\\n      cursor: pointer\\n      transition: color .3s\\n      color: $text-color\\n      &:before\\n        @include fontawesome('\\\\f057', 'regular', 1.3rem, 0 .1rem 0 0, $primary-color, baseline)\\n        transition: transform 0.5s ease-out\\n      &:hover\\n        color: $primary-color\\n      &.attachments\\n        display: block\\n\\n    .payment-pending\\n      white-space: nowrap\\n      &:before\\n        @include fontawesome(\\\"\\\\f1ce\\\", \\\"solid\\\", 1.2rem, 0, darken($pending-color, 18%), baseline, spinner 1s linear infinite)\\n\\n    span + .short-confirmation-code, small + .short-confirmation-code\\n      margin-top: .5rem\\n\\n  .gross-amount, .order-amount\\n    white-space: nowrap\\n    &.line-through\\n      color: rgba($text-color, .8)\\n      text-decoration: line-through rgba($error-color, .6)\\n    &.order-amount\\n      display: block\\n\\n\\n@keyframes spinner\\n  from \\n    transform: rotate(0deg)\\n  to\\n    transform: rotate(360deg)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.spedizioni-reportistica-dettaglio .redirect-to-detail,router-view.spedizioni-reportistica-dettaglio .envelope-logo{display:block;white-space:nowrap;color:#ed5a23;cursor:pointer;text-decoration:underline;transition:all .3s}router-view.spedizioni-reportistica-dettaglio .redirect-to-detail:hover,router-view.spedizioni-reportistica-dettaglio .envelope-logo:hover{color:#404040}router-view.spedizioni-reportistica-dettaglio .redirect-to-detail:before,router-view.spedizioni-reportistica-dettaglio .envelope-logo:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .envelope-logo:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .queue-details{display:grid;height:fit-content;grid-template-columns:repeat(2, 1fr);grid-auto-rows:1fr;padding-bottom:2rem}@media screen and (max-width: 991px)and (orientation: portrait){router-view.spedizioni-reportistica-dettaglio .queue-details{grid-template-columns:repeat(1, 1fr);margin-bottom:1rem !important}router-view.spedizioni-reportistica-dettaglio .queue-details .queue,router-view.spedizioni-reportistica-dettaglio .queue-details .sender{margin:1rem !important}router-view.spedizioni-reportistica-dettaglio .queue-details .queue.sender,router-view.spedizioni-reportistica-dettaglio .queue-details .sender.sender{margin-top:2rem !important}}router-view.spedizioni-reportistica-dettaglio .queue-details .queue,router-view.spedizioni-reportistica-dettaglio .queue-details .sender{height:100%;border:1px solid #e0e0e0;background:#fcfcfc}router-view.spedizioni-reportistica-dettaglio .queue-details .queue h3,router-view.spedizioni-reportistica-dettaglio .queue-details .sender h3{display:flex;justify-content:space-between;align-items:center;margin:0;padding:1rem;min-height:5rem;box-shadow:inset 0 -1px 0 0 #e0e0e0}@media screen and (max-width: 1199px)and (orientation: portrait){router-view.spedizioni-reportistica-dettaglio .queue-details .queue h3 .text-color,router-view.spedizioni-reportistica-dettaglio .queue-details .sender h3 .text-color{font-size:1.2rem}router-view.spedizioni-reportistica-dettaglio .queue-details .queue h3 ka-button>span,router-view.spedizioni-reportistica-dettaglio .queue-details .sender h3 ka-button>span{font-size:1.2rem !important}}router-view.spedizioni-reportistica-dettaglio .queue-details .queue .loader-wrapper,router-view.spedizioni-reportistica-dettaglio .queue-details .sender .loader-wrapper{position:relative;width:100%;min-height:16rem;height:calc(100% - 3.4rem)}router-view.spedizioni-reportistica-dettaglio .queue-details .queue .loader-wrapper>.spinner-loader,router-view.spedizioni-reportistica-dettaglio .queue-details .sender .loader-wrapper>.spinner-loader{position:absolute;top:calc(50% - 2.5rem);left:calc(50% - 2.5rem);width:5rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side, #c0c0c0 94%, rgba(0, 0, 0, 0)) top/8px 8px no-repeat,conic-gradient(rgba(0, 0, 0, 0) 30%, #c0c0c0);-webkit-mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 8px), #000 0);animation:l13 1s infinite linear}router-view.spedizioni-reportistica-dettaglio .queue-details .queue .table-wrapper,router-view.spedizioni-reportistica-dettaglio .queue-details .sender .table-wrapper{max-height:25vh;overflow-y:auto}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table{height:100%}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table thead,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table thead{background:#f9f9f9}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table thead th,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table thead th{padding:1rem}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table tbody,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table tbody{height:fit-content}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table tr,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table tr{box-shadow:none;background:none}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .thead,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .thead{background:#f9f9f9;box-shadow:inset 0 1px 0 0 #e0e0e0,inset 0 -1px 0 0 #e0e0e0}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .thead>td>small,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .thead>td>small{font-weight:bold;color:#404040}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody{height:100%}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody>td,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody>td{border:none}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes{margin:0;padding:0;list-style:none}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes .multibox,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes .multibox{cursor:pointer}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes .multibox>small:first-of-type,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes .multibox>small:first-of-type{color:#404040;text-decoration:underline}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes .multibox>small:first-of-type:hover,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes .multibox>small:first-of-type:hover{color:#ed5a23 !important}router-view.spedizioni-reportistica-dettaglio .queue-details .queue table .tbody .multiboxes .multibox:before,router-view.spedizioni-reportistica-dettaglio .queue-details .sender table .tbody .multiboxes .multibox:before{display:inline-block;content:\\\"\\\";margin:0 .2rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel>i,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel>template>i{font-size:2rem;color:#ed5a23}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel>p{font-size:1.4rem;line-height:1.2}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel .arrow-icon{position:relative}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.channel .arrow-icon:after{position:absolute;left:1.1rem;top:.6rem;display:inline-block;content:\\\"\\\";margin:0;font-size:1.6rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message{font-size:1.2rem;line-height:1.2}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.alt-channel{color:#404040}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.alt-channel.SENDEMAIL:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:sub;animation:unset;font-weight:300}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.alt-channel.SENDPOSTA:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:sub;animation:unset;font-weight:300}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.alt-channel.PEC:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.5rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:sub;animation:unset;font-weight:300}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.subject{display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.message>.body{font-size:1.2rem;line-height:1.2;display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks{font-size:1.6rem;color:rgba(64,64,64,.3)}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:first-of-type.RECEIVED-OPENED,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:first-of-type.RECEIVED-READ,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:first-of-type.RECEIVED-READ,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:first-of-type.RECEIVED-CERTIFIED-READ{color:#1cc800}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type{display:none}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type.MULTICERTA{display:inline-block}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type.MULTICERTA.RECEIVED-READ,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type.MULTICERTA.RECEIVED-READ,router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks>i:last-of-type.MULTICERTA.RECEIVED-CERTIFIED-READ{color:#1cc800}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .checks i+i{margin-left:-0.6rem}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.download-checks .download{font-size:2rem}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.status .tag{height:fit-content}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.status .tag>i{font-size:1.1rem}router-view.spedizioni-reportistica-dettaglio tbody>tr>td.status button{border:none;outline:none;font-size:1.8rem;background:rgba(0,0,0,0)}router-view.spedizioni-reportistica-dettaglio .attachments,router-view.spedizioni-reportistica-dettaglio .message-cost-detail,router-view.spedizioni-reportistica-dettaglio .queue-schedule,router-view.spedizioni-reportistica-dettaglio .receipt,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica-dettaglio .attachments.attachments:before,router-view.spedizioni-reportistica-dettaglio .attachments.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .attachments.receipt:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.attachments:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.receipt:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.attachments:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.receipt:before,router-view.spedizioni-reportistica-dettaglio .receipt.attachments:before,router-view.spedizioni-reportistica-dettaglio .receipt.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .receipt.receipt:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.attachments:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.queue-schedule:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.receipt:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .attachments.message-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.message-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.message-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .receipt.message-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.message-cost-detail:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .attachments.message-status-transitions-history:before,router-view.spedizioni-reportistica-dettaglio .message-cost-detail.message-status-transitions-history:before,router-view.spedizioni-reportistica-dettaglio .queue-schedule.message-status-transitions-history:before,router-view.spedizioni-reportistica-dettaglio .receipt.message-status-transitions-history:before,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history.message-status-transitions-history:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.2rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .attachments:hover,router-view.spedizioni-reportistica-dettaglio .message-cost-detail:hover,router-view.spedizioni-reportistica-dettaglio .queue-schedule:hover,router-view.spedizioni-reportistica-dettaglio .receipt:hover,router-view.spedizioni-reportistica-dettaglio .message-status-transitions-history:hover{color:#ed5a23}router-view.spedizioni-reportistica-dettaglio .postal-link{color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica-dettaglio .postal-link::before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica-dettaglio .postal-link:hover{color:#ed5a23}router-view.spedizioni-reportistica-dettaglio .gross-amount,router-view.spedizioni-reportistica-dettaglio .order-amount{white-space:nowrap}router-view.spedizioni-reportistica-dettaglio .gross-amount.line-through,router-view.spedizioni-reportistica-dettaglio .order-amount.line-through{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}router-view.spedizioni-reportistica-dettaglio .gross-amount.order-amount,router-view.spedizioni-reportistica-dettaglio .order-amount.order-amount{display:block}ux-dialog.interrupt-delivery ux-dialog-footer button:first-of-type{margin-right:0;background-color:#11254b}ux-dialog.interrupt-delivery ux-dialog-footer button:first-of-type:hover{background:#03060d}@keyframes l13{100%{transform:rotate(1turn)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/report/report-detail.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\n$loader-width: 5rem\\nrouter-view.spedizioni-reportistica-dettaglio\\n  .redirect-to-detail, .envelope-logo\\n    display: block\\n    @include clickable($primary-color, $text-color)\\n    &:before\\n      @include fontawesome(\\\"\\\\f362\\\", \\\"regular\\\", 1.2rem, 0 .5rem 0 0, inherit, top)\\n  .envelope-logo\\n    &:before\\n      @include fontawesome('\\\\f08e', 'regular', 1.2rem, 0 .5rem 0 0, inherit, top)\\n      \\n  .queue-details\\n    display: grid\\n    height: fit-content\\n    grid-template-columns: repeat(2, 1fr)\\n    grid-auto-rows: 1fr\\n    padding-bottom: 2rem\\n    @media screen and (max-width: 991px) and (orientation: portrait)\\n      grid-template-columns: repeat(1, 1fr)\\n      margin-bottom: 1rem !important\\n      .queue, .sender\\n        margin: 1rem !important\\n        &.sender\\n          margin-top: 2rem !important\\n    .queue, .sender\\n      height: 100%\\n      border: 1px solid #e0e0e0\\n      background: #fcfcfc\\n      h3\\n        display: flex\\n        justify-content: space-between\\n        align-items: center\\n        margin: 0\\n        padding: 1rem\\n        min-height: 5rem\\n        box-shadow: inset 0 -1px 0 0 #e0e0e0\\n        @media screen and (max-width: 1199px) and (orientation: portrait)\\n          .text-color\\n            font-size: 1.2rem\\n          ka-button > span\\n            font-size: 1.2rem !important\\n      .loader-wrapper\\n        position: relative\\n        width: 100%\\n        min-height: 16rem\\n        height: calc(100% - 3.4rem)\\n        > .spinner-loader\\n          position: absolute\\n          top: calc(50% - $loader-width / 2)\\n          left: calc(50% - $loader-width / 2)\\n          width: $loader-width\\n          aspect-ratio: 1\\n          border-radius: 50%\\n          background: radial-gradient(farthest-side,#c0c0c0 94%,#0000) top/8px 8px no-repeat, conic-gradient(#0000 30%,#c0c0c0)\\n          -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0)\\n          animation: l13 1s infinite linear\\n      .table-wrapper\\n        max-height: 25vh\\n        overflow-y: auto\\n      table\\n        height: 100%\\n        thead\\n          background: #f9f9f9\\n          th\\n            padding: 1rem\\n        tbody\\n          height: fit-content\\n        tr\\n          box-shadow: none\\n          background: none\\n        .thead\\n          background: #f9f9f9\\n          box-shadow: inset 0 1px 0 0 #e0e0e0, inset 0 -1px 0 0 #e0e0e0\\n          > td > small\\n            font-weight: bold\\n            color: $text-color\\n        .tbody\\n          height: 100%\\n          > td\\n            border: none\\n          .multiboxes\\n            margin: 0\\n            padding: 0\\n            list-style: none\\n            .multibox\\n              cursor: pointer\\n              > small:first-of-type\\n                color: $text-color\\n                text-decoration: underline\\n                &:hover\\n                  color: $primary-color !important\\n              &:before\\n                @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .2rem 0 0, $primary-color)\\n  tbody > tr > td\\n    &.channel\\n      > i, > template > i\\n        font-size: 2rem\\n        color: $primary-color\\n      > p\\n        font-size: 1.4rem\\n        line-height: 1.2\\n      .arrow-icon\\n        position: relative\\n        &:after\\n          position: absolute\\n          left: 1.1rem\\n          top: .6rem\\n          @include fontawesome(\\\"\\\\f30b\\\", \\\"regular\\\", 1.60rem, 0, inherit, top)\\n    &.message\\n      font-size: 1.2rem\\n      line-height: 1.2\\n      > .alt-channel\\n        color: $text-color\\n        &.SENDEMAIL:before\\n          @include fontawesome('\\\\f1fa', 'light', 1.5rem, 0 .3rem 0 0, $primary-color, sub)\\n        &.SENDPOSTA:before\\n          @include fontawesome('\\\\f674', 'light', 1.5rem, 0 .3rem 0 0, $primary-color, sub)\\n        &.PEC:before\\n          @include fontawesome('\\\\f5f3', 'light', 1.5rem, 0 .3rem 0 0, $primary-color, sub)\\n    &.message\\n      > .subject\\n        @include max-lines(1, $max-width: 100%)\\n      > .body\\n        font-size: 1.2rem\\n        line-height: 1.2\\n        @include max-lines(3, $max-width: 100%)\\n    &.download-checks\\n      .checks\\n        font-size: 1.6rem\\n        color: rgba($text-color, 0.3)\\n        > i:first-of-type\\n            &.RECEIVED-OPENED, &.RECEIVED-READ, &.RECEIVED-READ, &.RECEIVED-CERTIFIED-READ\\n              color: $success-color\\n        > i:last-of-type\\n          display: none\\n          &.MULTICERTA\\n            display: inline-block\\n            &.RECEIVED-READ, &.RECEIVED-READ, &.RECEIVED-CERTIFIED-READ\\n              color: $success-color\\n        i + i\\n          margin-left: -.6rem\\n      .download\\n        font-size: 2rem\\n    &.status\\n      .tag\\n        height: fit-content\\n        > i\\n          font-size: 1.1rem\\n      button\\n        border: none\\n        outline: none\\n        font-size: 1.8rem\\n        background: transparent\\n\\n  .attachments, .message-cost-detail, .queue-schedule, .receipt, .message-status-transitions-history\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &.attachments:before, &.queue-schedule:before, &.receipt:before\\n      @include fontawesome('\\\\f56d', 'regular', 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &.message-cost-detail:before\\n      @include fontawesome('\\\\f51e', 'regular', 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &.message-status-transitions-history:before\\n      @include fontawesome('\\\\f550', 'regular', 1.2rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  \\n  .postal-link\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &::before\\n      @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n  \\n  .gross-amount, .order-amount\\n    white-space: nowrap\\n    &.line-through\\n      color: rgba($text-color, .8)\\n      text-decoration: line-through rgba($error-color, .6)\\n    &.order-amount\\n      display: block\\n  \\nux-dialog.interrupt-delivery\\n  ux-dialog-footer\\n    button:first-of-type\\n      margin-right: 0\\n      background-color: $secondary-color\\n      &:hover\\n        background: darken($secondary-color, 15%)\\n@keyframes l13\\n  100%\\n    transform: rotate(1turn)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes loading-elipsis{0%{content:\\\"\\\"}25%{content:\\\".\\\"}50%{content:\\\"..\\\"}75%{content:\\\"...\\\"}}router-view.spedizioni-reportistica md-table-toolbar .selected,router-view.spedizioni-reportistica-dettaglio md-table-toolbar .selected{align-self:center;margin-right:1rem;font-size:1.3rem}router-view.spedizioni-reportistica .channels,router-view.spedizioni-reportistica-dettaglio .channels{margin-top:.5rem}router-view.spedizioni-reportistica .channels>.channel,router-view.spedizioni-reportistica-dettaglio .channels>.channel{font-size:1.6rem;color:#b0b0b0;cursor:pointer}router-view.spedizioni-reportistica .channels>.channel.used,router-view.spedizioni-reportistica-dettaglio .channels>.channel.used{color:#ed5a23}router-view.spedizioni-reportistica .channels>.channel+.channel,router-view.spedizioni-reportistica-dettaglio .channels>.channel+.channel{margin-left:.5rem}router-view.spedizioni-reportistica .channels>.channel.forwarding,router-view.spedizioni-reportistica-dettaglio .channels>.channel.forwarding{position:relative;color:#ed5a23}router-view.spedizioni-reportistica .channels>.channel.forwarding:after,router-view.spedizioni-reportistica-dettaglio .channels>.channel.forwarding:after{position:absolute;left:1.05rem;top:.2rem;display:inline-block;content:\\\"\\\";margin:0;font-size:1.35rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:inherit;vertical-align:top;animation:unset;font-weight:400}router-view.spedizioni-reportistica .channels p.queue-info>small,router-view.spedizioni-reportistica-dettaglio .channels p.queue-info>small{white-space:nowrap}router-view.spedizioni-reportistica .channels p.queue-info>small:not(.redirect-to-detail)>i,router-view.spedizioni-reportistica-dettaglio .channels p.queue-info>small:not(.redirect-to-detail)>i{font-size:1.5rem;vertical-align:text-bottom;color:#404040}router-view.spedizioni-reportistica .statuses .tag>.messages-count,router-view.spedizioni-reportistica-dettaglio .statuses .tag>.messages-count{font-size:1.1rem;white-space:nowrap}router-view.spedizioni-reportistica .statuses .tag>.messages-count>span,router-view.spedizioni-reportistica-dettaglio .statuses .tag>.messages-count>span{color:#0d0d0d !important}router-view.spedizioni-reportistica .statuses .messages-status,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status{display:flex;flex-wrap:wrap;padding-top:.2rem;font-size:1.3rem}router-view.spedizioni-reportistica .statuses .messages-status>small,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small{white-space:nowrap;color:#404040}router-view.spedizioni-reportistica .statuses .messages-status>small:not(:last-of-type),router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small:not(:last-of-type){margin-right:.25rem}router-view.spedizioni-reportistica .statuses .messages-status>small:not(:last-of-type):after,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small:not(:last-of-type):after{content:\\\",\\\";color:#404040}router-view.spedizioni-reportistica .statuses .messages-status>small.DISCONTINUED,router-view.spedizioni-reportistica .statuses .messages-status>small.ERROR,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.DISCONTINUED,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.ERROR{color:#991f00}router-view.spedizioni-reportistica .statuses .messages-status>small.COMPLETED,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.COMPLETED{color:#0e6200}router-view.spedizioni-reportistica .statuses .messages-status>small.PENDING,router-view.spedizioni-reportistica .statuses .messages-status>small.WARNING,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.PENDING,router-view.spedizioni-reportistica-dettaglio .statuses .messages-status>small.WARNING{color:rgba(64,64,64,.8)}router-view.spedizioni-reportistica .attachments,router-view.spedizioni-reportistica .update-messages,router-view.spedizioni-reportistica-dettaglio .attachments,router-view.spedizioni-reportistica-dettaglio .update-messages{color:#ed5a23;text-decoration:none;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica .attachments:before,router-view.spedizioni-reportistica .update-messages:before,router-view.spedizioni-reportistica-dettaglio .attachments:before,router-view.spedizioni-reportistica-dettaglio .update-messages:before{display:inline-block;content:\\\"\\\";margin:0 .3rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:baseline;animation:unset;font-weight:400;transition:transform .5s ease-out}router-view.spedizioni-reportistica .attachments:hover,router-view.spedizioni-reportistica .update-messages:hover,router-view.spedizioni-reportistica-dettaglio .attachments:hover,router-view.spedizioni-reportistica-dettaglio .update-messages:hover{color:#ed5a23}router-view.spedizioni-reportistica .attachments.attachments,router-view.spedizioni-reportistica .update-messages.attachments,router-view.spedizioni-reportistica-dettaglio .attachments.attachments,router-view.spedizioni-reportistica-dettaglio .update-messages.attachments{display:block}router-view.spedizioni-reportistica .attachments.update-messages.loading:before,router-view.spedizioni-reportistica .update-messages.update-messages.loading:before,router-view.spedizioni-reportistica-dettaglio .attachments.update-messages.loading:before,router-view.spedizioni-reportistica-dettaglio .update-messages.update-messages.loading:before{animation:spinner 1s linear infinite}router-view.spedizioni-reportistica .queue-cost-detail,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail{display:block;color:#ed5a23;text-decoration:underline;cursor:pointer;transition:color .3s;color:#404040}router-view.spedizioni-reportistica .queue-cost-detail:before,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .queue-cost-detail.legacy:before,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail.legacy:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#ed5a23;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .queue-cost-detail:hover,router-view.spedizioni-reportistica-dettaglio .queue-cost-detail:hover{color:#ed5a23}router-view.spedizioni-reportistica .alert-message:before,router-view.spedizioni-reportistica-dettaglio .alert-message:before{display:inline-block;content:\\\"\\\";margin:0 .5rem 0 0;font-size:1.1rem;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:\\\"Font Awesome 5 Pro\\\";color:#f30;vertical-align:unset;animation:unset;font-weight:400}router-view.spedizioni-reportistica .amount,router-view.spedizioni-reportistica-dettaglio .amount{white-space:nowrap}router-view.spedizioni-reportistica .amount.line-through,router-view.spedizioni-reportistica-dettaglio .amount.line-through{color:rgba(64,64,64,.8);text-decoration:line-through rgba(255,51,0,.6)}router-view.spedizioni-reportistica .amount:not(.line-through),router-view.spedizioni-reportistica-dettaglio .amount:not(.line-through){display:block}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/spedizioni/report/report.sass\",\"webpack://./src/static/_mixins.sass\",\"webpack://./src/static/_vars.scss\"],\"names\":[],\"mappings\":\"AAAA,2BC8aA,GACE,UACE,CAAA,IACF,WACE,CAAA,IACF,YACE,CAAA,IACF,aACE,CAAA,CAAA,wIDlbF,iBACE,CAAA,iBACA,CAAA,gBACA,CAAA,sGAEF,gBACE,CAAA,wHACA,gBACE,CAAA,aACA,CAAA,cACA,CAAA,kIACA,aEdU,CAAA,0IFgBV,iBACE,CAAA,8IACF,iBACE,CAAA,aEnBQ,CAAA,0JFqBR,iBACE,CAAA,YACA,CAAA,SACA,CAAA,oBCkBR,CAAA,WDjB6B,CAAA,QAA6B,CAAA,iBAAT,CAAA,iBCqBjD,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aDzB6D,CAAA,kBAAS,CAAA,eCgBgB,CAAA,eAgBpF,CAAA,4ID9BE,kBACE,CAAA,kMACF,gBACE,CAAA,0BACA,CAAA,aEhCK,CAAA,gJFoCT,gBACE,CAAA,kBACA,CAAA,0JACA,wBACE,CAAA,wIACJ,YACE,CAAA,cACA,CAAA,iBACA,CAAA,gBACA,CAAA,oJACA,kBACE,CAAA,aE/CK,CAAA,0LFiDL,mBACE,CAAA,sMACA,WACE,CAAA,aEpDC,CAAA,8UFsDL,aACE,CAAA,wKACF,aACE,CAAA,wUACF,uBACE,CAAA,gOACR,aE3Dc,CAAA,oBF6DZ,CAAA,cACA,CAAA,oBACA,CAAA,aEhES,CAAA,4PFkET,oBCvBF,CAAA,WDwByB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCpB7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,uBFkEoE,CAAA,eCzBI,CAAA,eAgBpF,CAAA,iCDUE,CAAA,wPACF,aEpEY,CAAA,gRFsEZ,aACE,CAAA,4VACF,oCACE,CAAA,wHAEJ,aACE,CAAA,aE5EY,CAAA,yBF8EZ,CAAA,cACA,CAAA,oBACA,CAAA,aEjFS,CAAA,sIFmFT,oBCxCF,CAAA,WDyCyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCrC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,oJD2BA,oBC1CF,CAAA,WD2CyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBCvC7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,aClDc,CAAA,oBDyCqD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,oID6BA,aEtFY,CAAA,8HF0FZ,oBChDF,CAAA,WDiDyB,CAAA,kBAA4B,CAAA,gBAAR,CAAA,iBC7C7C,CAAA,mBACA,CAAA,mBACA,CAAA,kCACA,CAAA,gCACA,CAAA,UC9CY,CAAA,oBDqCuD,CAAA,eAAmB,CAAA,eAgBpF,CAAA,kGDoCF,kBACE,CAAA,4HACA,uBCnE6B,CAAA,8CAE/B,CAAA,wIDmEE,aACE,CAAA,mBAEJ,GACE,sBACE,CAAA,KACF,wBACE,CAAA\",\"sourcesContent\":[\"@import '../../../static/vars'\\n@import '../../../static/mixins'\\n\\nrouter-view.spedizioni-reportistica, router-view.spedizioni-reportistica-dettaglio\\n  md-table-toolbar .selected\\n    align-self: center\\n    margin-right: 1rem\\n    font-size: 1.3rem\\n\\n  .channels\\n    margin-top: .5rem\\n    > .channel\\n      font-size: 1.6rem\\n      color: #b0b0b0\\n      cursor: pointer\\n      &.used\\n        color: $primary-color\\n      & + .channel\\n        margin-left: .5rem\\n      &.forwarding\\n        position: relative\\n        color: $primary-color\\n        &:after\\n          position: absolute\\n          left: 1.05rem\\n          top: .2rem\\n          @include fontawesome(\\\"\\\\f30b\\\", \\\"regular\\\", 1.35rem, 0, inherit, top)\\n    p.queue-info\\n      > small\\n        white-space: nowrap\\n      > small:not(.redirect-to-detail) > i\\n        font-size: 1.5rem\\n        vertical-align: text-bottom\\n        color: $text-color\\n\\n  .statuses\\n    .tag > .messages-count\\n      font-size: 1.1rem\\n      white-space: nowrap\\n      > span\\n        color: darken($text-color, 20%) !important\\n    .messages-status\\n      display: flex\\n      flex-wrap: wrap\\n      padding-top: .2rem\\n      font-size: 1.3rem\\n      > small\\n        white-space: nowrap\\n        color: $text-color\\n        &:not(:last-of-type)\\n          margin-right: .25rem\\n          &:after\\n            content: ','\\n            color: $text-color\\n        &.DISCONTINUED, &.ERROR  \\n          color: darken($error-color, 20%)\\n        &.COMPLETED \\n          color: darken($success-color, 20%)\\n        &.PENDING, &.WARNING\\n          color: rgba($text-color, .8)\\n  .attachments, .update-messages\\n    color: $primary-color\\n    text-decoration: none\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:before\\n      @include fontawesome('\\\\f2f1', 'regular', 1.1rem, 0 .3rem 0 0, $primary-color, baseline)\\n      transition: transform 0.5s ease-out\\n    &:hover\\n      color: $primary-color\\n    &.attachments\\n      display: block\\n    &.update-messages.loading:before\\n      animation: spinner 1s linear infinite\\n\\n  .queue-cost-detail\\n    display: block\\n    color: $primary-color\\n    text-decoration: underline\\n    cursor: pointer\\n    transition: color .3s\\n    color: $text-color\\n    &:before\\n      @include fontawesome('\\\\f51e', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color)\\n    &.legacy:before\\n      @include fontawesome('\\\\f08e', 'regular', 1.1rem, 0 .5rem 0 0, $primary-color)\\n    &:hover\\n      color: $primary-color\\n    \\n  .alert-message\\n    &:before\\n      @include fontawesome('\\\\f071', 'regular', 1.1rem, 0 .5rem 0 0, $error-color)\\n  \\n  .amount\\n    white-space: nowrap\\n    &.line-through\\n      @include line-through()\\n    &:not(.line-through)\\n      display: block\\n\\n  @keyframes spinner\\n    0%\\n      transform: rotate(0deg)\\n    100%\\n      transform: rotate(360deg)\\n\",\"@import 'vars'\\n\\n@mixin limitwidth($default)\\n  max-width: $default\\n  white-space: nowrap\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  &:not(td)\\n    display: block\\n  &.limitwidth-10\\n    max-width: 10rem\\n  &.limitwidth-20\\n    max-width: 20rem\\n  &.limitwidth-30\\n    max-width: 30rem\\n  &.limitwidth-40\\n    max-width: 40rem\\n  &.limitwidth-50\\n    max-width: 50rem\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin line-through($color-text: rgba($text-color, .8), $color-line: rgba($error-color, .6))\\n  color: $color-text\\n  text-decoration: line-through $color-line\\n\\n@mixin clickable($static-color, $hover-color)\\n  white-space: nowrap\\n  color: $static-color\\n  cursor: pointer\\n  text-decoration: underline\\n  transition: all .3s\\n  &:hover\\n    color: $hover-color\\n\\n@mixin fontawesome($content, $style, $size, $margin, $color, $align: unset, $animation: unset)\\n  display: inline-block\\n  content: $content\\n  margin: $margin\\n  font-size: $size\\n  font-style: normal\\n  font-variant: normal\\n  text-rendering: auto\\n  -webkit-font-smoothing: antialiased\\n  font-family: \\\"Font Awesome 5 Pro\\\"\\n  color: $color\\n  vertical-align: $align\\n  animation: $animation\\n  @if $style == 'light'\\n    font-weight: 300\\n  @if $style == 'regular'\\n    font-weight: 400\\n  @if $style == 'solid'\\n    font-weight: 900\\n\\n@mixin max-lines($n-lines, $max-width: unset)\\n  display: -webkit-box\\n  max-width: $max-width\\n  overflow: hidden\\n  text-overflow: ellipsis\\n  line-clamp: $n-lines\\n  -webkit-line-clamp: $n-lines\\n  -webkit-box-orient: vertical\\n\\n@mixin typewriter-animation($string, $delay)\\n  0%\\n  content: $string\\n  #{0% + $delay}\\n    content: $string\\n  @for $i from 1 through str-length($string)\\n    $percent: (((100% - $delay) / str-length($string)) * $i) + $delay\\n    #{$percent}\\n      content: str-slice($string, 1, $i)\\n\\n@mixin ka-button($version: null)\\n  max-width: min-content\\n  white-space: nowrap\\n  transition: all .3s\\n  font-weight: 600\\n  font-family: 'Roboto flex', sans-serif\\n  &:first-letter\\n    text-transform: uppercase\\n  > i\\n    padding-right: 1rem\\n    transition: all .3s\\n    &:only-child\\n      padding-right: 0\\n  > span\\n    padding: 0 1rem\\n    margin-right: -1rem\\n    transition: all .3s\\n    &:first-letter\\n      text-transform: uppercase\\n  > i + span\\n    display: inline-block\\n  &.icon\\n    min-width: 3rem\\n    max-width: none\\n  &.with-icon\\n    display: inline-flex\\n    align-items: center\\n    > .busy\\n      background: #f0f0f0\\n      border-radius: 3px\\n      box-shadow: inset 0 0 0 1px rgba($text-color, .2), 0 0 5px rgba(#000, .1), 0 5px 5px -5px rgba(#000, .1)\\n\\n  @if $version == 'with-icon-primary'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $primary-color\\n      box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n    > i\\n      color: $primary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($primary-color, .1)\\n    &:not(.disabled).inverted:hover\\n      background-color: #ededed\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($primary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $primary-color\\n        box-shadow: -1px 0 0 0 darken($primary-color, 6%)\\n\\n  @if $version == 'with-icon-secondary'\\n    background: #fff\\n    box-shadow: inset 0 0 0px 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: $secondary-color\\n      box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    > i\\n      color: $secondary-color\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%) !important\\n    &.inverted > span\\n      background: rgba($secondary-color, .1)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($secondary-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: $secondary-color\\n        box-shadow: -1px 0 0 0 darken($secondary-color, 6%) !important\\n    &.busy:before, > .busy:after\\n      background: $secondary-color\\n\\n  @if $version == 'with-icon-error'\\n    background: #fff\\n    box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2)\\n    > span\\n      border-top-right-radius: 3px\\n      border-bottom-right-radius: 3px\\n      background: darken($error-color, 15%)\\n      box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    > i\\n      color: darken($error-color, 15%)\\n    &.flat\\n      box-shadow: inset 0 0 0 1px darken($error-color, 15%) !important\\n    &.inverted > span\\n      color: darken($error-color, 15%)\\n      background: rgba(darken($error-color, 15%), .15)\\n    &:not(.disabled):not(.inverted):hover\\n      background: #e0e0e0\\n      box-shadow: inset 0 0 0 1px darken($error-color, 6%), 0 0 5px rgba(#000, .2), 0 5px 5px -5px rgba(#000, .2) !important\\n      > span\\n        background: darken($error-color, 15%)\\n        box-shadow: -1px 0 0 0 darken($error-color, 15%) !important\\n    &.busy:before, > .busy:after\\n      background: darken($error-color, 15%)\\n\\n  &.disabled\\n    background: rgba($text-color, .1)\\n    box-shadow: inset 0 0 0 1px rgba($text-color, .1) !important\\n    > span\\n      background: transparent\\n      color: rgba($text-color, .3)\\n      box-shadow: -1px 0 0 0 rgba($text-color, .1) !important\\n    > i\\n      color: rgba($text-color, .3)\\n\\n@mixin sharedStyleTag()\\n  display: inline-block\\n  padding: 0 0.5rem\\n  border-radius: .3rem\\n  max-width: 100%\\n  overflow: hidden\\n  text-decoration: none\\n  text-overflow: ellipsis\\n  vertical-align: middle\\n  font-size: 1.3rem\\n  white-space: nowrap\\n  cursor: pointer\\n  color: inherit\\n  background: rgba($text-color, .1)\\n  box-shadow: 0 0 0 1px rgba($text-color, .3)\\n\\n@mixin newTag()\\n  @include sharedStyleTag()\\n  padding: .6rem .7rem\\n  line-height: 1\\n  position: relative\\n  font-size: 1.5rem\\n  font-weight: 400\\n  font-family: 'Roboto condensed', sans-serif\\n  color: #000\\n  text-shadow: 1px 1px 1px #fff\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:first-letter\\n    text-transform: uppercase\\n  strong\\n    font-weight: 600\\n  &:after\\n    position: absolute\\n    content: ''\\n    height: 100%\\n    width: 100%\\n    top: 0\\n    left: 0\\n    background-size: 6px 6px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .04) 0, rgba(#000, .04) 1px, transparent 0, transparent 50%)\\n  &.primary\\n    color: #9a0000\\n    box-shadow: 0 0 0 1px #ff946e\\n    background: #ffd6ab\\n  &.secondary\\n    color: #061735\\n    box-shadow: 0 0 0 1px #888e98\\n    background: #d1dae9\\n  &.pending\\n    color: #930000\\n    box-shadow: inset 0 0 0 1px #ea9f00\\n    background: #ffebbc\\n  &.success\\n    color: #184011\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #cef2ba\\n  &.error\\n    color: #a00000\\n    box-shadow: inset 0 0 0 1px #d77e7e\\n    background: #ffcccc\\n\\n@mixin tag()\\n  @include sharedStyleTag()\\n  &.primary\\n    background: rgba($primary-color, .1)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .5)\\n    color: darken($primary-color, 5%)\\n  &.secondary\\n    color: #fff\\n    background: rgba($secondary-color, .7)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .8)\\n  &.accent\\n    background: rgba($accent-color, .2)\\n    box-shadow: 0 0 0 1px rgba($accent-color, .4)\\n  &.success, &.completed\\n    color: darken($success-color, 18%)\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f058\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.error\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f071\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.warning\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f06a\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.discontinued\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f057\\\", \\\"regular\\\", 1.3rem, 0, darken($error-color, 18%), top)\\n  &.pending\\n    color: #9c630e\\n    background: rgba($pending-color, .2)\\n    box-shadow: 0 0 0 1px rgba($pending-color, .6)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f2f2\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.deleted\\n    color: #fff\\n    background: rgba($text-color, .9)\\n    box-shadow: 0 0 0 1px $text-color\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f00d\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.refused\\n    color: darken($error-color, 18%)\\n    background: rgba($error-color, .2)\\n    box-shadow: 0 0 0 1px rgba($error-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f05e\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.abandoned\\n    color: $secondary-color\\n    background: rgba($secondary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($secondary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f334\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n  &.id\\n    color: $text-color !important\\n    background: rgba($success-color, .2)\\n    box-shadow: 0 0 0 1px rgba($success-color, .4)\\n  &.user\\n    background: rgba($primary-color, .2)\\n    box-shadow: 0 0 0 1px rgba($primary-color, .4)\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f508\\\", \\\"regular\\\", 1.3rem, 0, $primary-color)\\n  &.building\\n    &.with-icon:before\\n      @include fontawesome(\\\"\\\\f1ad\\\", \\\"regular\\\", 1.3rem, 0, inherit)\\n\\n@mixin copy-text()\\n  transition: all .3s\\n  cursor: pointer\\n  &.with-icon:after\\n    display: inline-block\\n    content: \\\"\\\\f24d\\\"\\n    margin-left: .3rem\\n    font-family: \\\"Font Awesome 5 Pro\\\"\\n    font-size: 1.2rem\\n    font-style: normal\\n    font-weight: 400\\n    -webkit-font-smoothing: antialiased\\n  &:hover\\n    color: $primary-color\\n\\n@mixin bannerMessage()\\n  margin: 0\\n  position: relative\\n  padding: .8rem 1.2rem\\n  border-radius: .2rem\\n  color: #000\\n  line-height: 1.2\\n  font-size: 1.5rem\\n  font-family: 'Roboto condensed', 'serif'\\n  background: #f3f3f3\\n  box-shadow: inset 0 0 0 1px #bdbdbd\\n  &:after\\n    content: ''\\n    position: absolute\\n    z-index: 2\\n    top: 0\\n    left: 0\\n    height: 100%\\n    width: 100%\\n    border-radius: .2rem\\n    background-size: 7px 7px\\n    background-image: repeating-linear-gradient(45deg, rgba(#000, .05) 0, rgba(#000, .05) 1px, transparent 0, transparent 50%)\\n    pointer-events: none\\n  > span\\n    position: relative\\n    z-index: 3\\n    > strong, a\\n      font-weight: 600\\n      text-underline-offset: .2rem\\n    &:before\\n      text-shadow: none\\n    > a\\n      text-underline-offset: .3rem\\n      text-decoration-thickness: .1rem\\n      transition: color .3s\\n      cursor: pointer\\n      &:before\\n        @include fontawesome('\\\\f08e', 'solid', 1.4rem, 0 .5rem 0 .3rem, $primary-color, text-bottom)\\n      &:hover\\n        color: $primary-color\\n  &.white\\n    background: #fff\\n    &:after\\n      background-image: none\\n  &.highlight\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #034ea4\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#034ea4, .1) 0, rgba(#034ea4, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f0a1', 'regular', 1.5rem, 0 .5rem 0 0, #003c80, bottom)\\n  &.alert\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #fbc51b\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#fbc51b, .3) 0, rgba(#fbc51b, .3) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f06a', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n  &.success\\n    color: #000\\n    box-shadow: inset 0 0 0 1px #86ac4d\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(#86ac4d, .2) 0, rgba(#86ac4d, .2) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f164', 'regular', 1.5rem, 0 .5rem 0 0, #517a15, bottom)\\n  &.error\\n    color: #000\\n    box-shadow: inset 0 0 0 1px crimson\\n    background: #fff\\n    &:after\\n      background-image: repeating-linear-gradient(45deg, rgba(crimson, .1) 0, rgba(crimson, .1) 1px, transparent 0, transparent 50%)\\n    > span\\n      &:before\\n        @include fontawesome('\\\\f071', 'regular', 1.5rem, 0 .5rem 0 0, crimson, bottom)\\n\\n@mixin dialogLoader()  \\n  > span:after\\n    content: '...'\\n    margin-left: .3rem\\n    animation: loading-elipsis .8s linear infinite\\n@keyframes loading-elipsis\\n  0%\\n    content: ''\\n  25%\\n    content: '.'\\n  50%\\n    content: '..'\\n  75%\\n    content: '...'\\n\",\"$text-color: #404040;\\n$primary-color: #ed5a23;\\n$secondary-color: #11254b;\\n$accent-color: #19a5f2;\\n$warning-color: #FFAA00;\\n$error-color: #ff3300;\\n$success-color: #1CC800;\\n$pending-color: #FF9900;\\n$background-color: #f9f9f9;\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  }\n\n  url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n  }\n\n  return url;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n  var content = item[1];\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (typeof btoa === \"function\") {\n    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n    var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n    var sourceMapping = \"/*# \".concat(data, \" */\");\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n  }\n\n  return [content].join(\"\\n\");\n};","// Module\nvar code = \"<template>\\n  <slot></slot>\\n  <div if.bind=\\\"busy\\\" class=\\\"busy\\\"></div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <template if.bind=\\\"!_schema.datamultiple\\\">\\n    <input\\n      type=\\\"checkbox\\\"\\n      checked.bind=\\\"value\\\"\\n      disabled.bind=\\\"readonly\\\"\\n      focus.trigger=\\\"focus()\\\"\\n      blur.trigger=\\\"blur()\\\"\\n      class=\\\"${readonly?'readonly':''}\\\"\\n      />\\n    <div\\n      innerhtml.bind=\\\"description || _schema.description\\\"\\n      click.delegate=\\\"click($event)\\\"\\n      class=\\\"description ${readonly?'readonly':''}\\\">\\n    </div>\\n  </template>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"display-value ${readonly ? 'readonly' : ''}\\\" click.delegate=\\\"open($event)\\\">\\n    <ul>\\n      <li repeat.for=\\\"item of valuestack\\\">${item.text|kaControlComboTextify}<i class=\\\"material-icons\\\" if.bind=\\\"_schema.datamultiple === true && !readonly && item.model.readonly !== true\\\" click.delegate=\\\"select(item)\\\">close</i></li>\\n    </ul>\\n  </div>\\n  <div ref=\\\"drawer\\\" class=\\\"${_schema.datamultiple === true ? 'multiple' : ''}\\\" show.bind=\\\"opened\\\">\\n    <template if.bind=\\\"schema.datapreload !== true || preloadedCombostack.length > 8\\\">\\n      <input type=\\\"text\\\"  class=\\\"search\\\" placeholder=\\\"Cerca\\\" ref=\\\"searchInput\\\" value.bind=\\\"term\\\" keyup.delegate=\\\"searchKeyUp($event)\\\" keydown.delegate=\\\"searchKeyDown($event)\\\" />\\n      <i if.bind=\\\"searchPending\\\" class=\\\"search-loader fal fa-spinner-third fa-spin\\\"></i>\\n    </template>\\n    <ul>\\n      <li repeat.for=\\\"item of _combostack\\\" click.delegate=\\\"select(item)\\\" class=\\\"${item.selected?'selected':''} ${item.model.optgroup?'optgroup':''} ${item.model.readonly === true?'readonly':''}\\\" innerhtml.bind=\\\"item.text | kaControlComboHighlight:term\\\"></li>\\n    </ul>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value | controlDate:schema.params.utc\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder || ''\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <div ref=\\\"drawer\\\" class=\\\"ka-control-date-drawer\\\">\\n    <ka-datetime type=\\\"date\\\" value.bind=\\\"value\\\" selected.trigger=\\\"close()\\\"></ka-datetime>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value | controlDatetime:schema.params.utc\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder || ''\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <div ref=\\\"drawer\\\" class=\\\"ka-control-datetime-drawer\\\">\\n    <ka-datetime type=\\\"datetime\\\" value.bind=\\\"value\\\" selected.trigger=\\\"close()\\\"></ka-datetime>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"displayValue\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  <input\\n    type=\\\"file\\\"\\n    files.bind=\\\"value\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    disabled.bind=\\\"readonly\\\">\\n  <div class=\\\"buttons\\\">\\n    <button if.bind=\\\"!readonly && value\\\" click.delegate=\\\"clear()\\\"><i class=\\\"material-icons\\\">clear</i></button> \\n    <button if.bind=\\\"!readonly && !value\\\" style=\\\"pointer-events:none\\\"><i class=\\\"material-icons\\\">publish</i></button> \\n    <button if.bind=\\\"params.download && value\\\" click.delegate=\\\"download()\\\"><i class=\\\"material-icons\\\">get_app</i></button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div class=\\\"item ${readonly?'readonly':''}\\\" repeat.for=\\\"value of _value\\\">\\n    <div class=\\\"buttons\\\">\\n      <button if.bind=\\\"!readonly && $last && (!schema.max || $index+1 < schema.max)\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">add</i></button> \\n      <button if.bind=\\\"!readonly && !$first && (!schema.min || $index+1 > schema.min)\\\" click.delegate=\\\"remove(value)\\\"><i class=\\\"material-icons\\\">delete_outline</i></button> \\n    </div>\\n    <div class=\\\"row no-gutters\\\">\\n      <div class=\\\"${schema.class || 'col'}\\\" repeat.for=\\\"schema of _schema.datasource.model.schema\\\">\\n        <label if.bind=\\\"schema.label\\\">${schema.label}</label>\\n        <input\\n          type=\\\"text\\\"\\n          value.bind=\\\"value[schema.field]\\\"\\n          disabled.bind=\\\"readonly\\\"\\n          placeholder.bind=\\\"schema.label || schema.field\\\"\\n          keydown.delegate=\\\"keydown()\\\"\\n          change.delegate=\\\"change()\\\"\\n          focus.trigger=\\\"focus()\\\"\\n          blur.trigger=\\\"blur()\\\"\\n          ka-tooltip.bind=\\\"schema.label\\\"\\n          class=\\\"display-value ${readonly?'readonly':''}\\\">\\n      </div>\\n    </div>\\n  </div>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"number\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"password\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h3 if.bind=\\\"label\\\">${label}</h3>\\n  <table class=\\\"ka-table-like\\\">\\n    <thead>\\n      <tr>\\n        <th repeat.for=\\\"schema of _schema\\\">${schema.label || schema.field}</th>\\n        <th></th>\\n      </tr>\\n    </thead>\\n    <tbody>\\n      <tr repeat.for=\\\"value of _value\\\">\\n        <td repeat.for=\\\"schema of _schema\\\"><ka-control schema.bind=\\\"schema\\\" value.bind=\\\"value[schema.field]\\\" change.delegate=\\\"update()\\\"></ka-control></td>\\n        <td class=\\\"ka-tr-tools\\\"><button class=\\\"ka-table-button\\\" click.delegate=\\\"remove(value)\\\"><i class=\\\"material-icons\\\">delete_outline</i></button></td>\\n      </tr>\\n      <tr>\\n        <td repeat.for=\\\"schema of _schema\\\"><ka-control schema.bind=\\\"schema\\\" value.bind=\\\"newValue[schema.field]\\\"></ka-control></td>\\n        <td class=\\\"ka-tr-tools\\\"><button class=\\\"ka-table-button\\\" click.delegate=\\\"add(newValue)\\\"><i class=\\\"material-icons\\\">add</i></button></td>\\n      </tr>\\n    </tbody>\\n  </table>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <input\\n    type=\\\"text\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <textarea\\n    type=\\\"text\\\"\\n    value.bind=\\\"value\\\"\\n    disabled.bind=\\\"readonly\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    keydown.delegate=\\\"keydown()\\\"\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"display-value ${readonly?'readonly':''}\\\">\\n  </textarea>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <label if.bind=\\\"label\\\">${label} <span if.bind=\\\"required\\\">*</span></label>\\n  <div>\\n    <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n    <div class=\\\"ka-control-buttons\\\">\\n      <button class=\\\"button-dropdown\\\" tabindex=\\\"-1\\\" click.delegate=\\\"dropdown()\\\"  if.bind=\\\"!readonly && buttons.includes('dropdown')\\\">\\n        <i if.bind=\\\"schema.control === 'combo'\\\" class=\\\"fal fa-chevron-down\\\"></i>\\n        <i if.bind=\\\"schema.control === 'date'\\\" class=\\\"fal fa-calendar\\\"></i>\\n        <i if.bind=\\\"schema.control === 'time'\\\" class=\\\"fal fa-clock\\\"></i>\\n        <i if.bind=\\\"schema.control === 'datetime'\\\" class=\\\"fal fa-calendar\\\"></i>\\n      </button>\\n      <button class=\\\"button-clear\\\" tabindex=\\\"-1\\\" click.delegate=\\\"clear()\\\"  if.bind=\\\"!readonly && buttons.includes('clear')\\\"><i class=\\\"fal fa-times\\\"></i></button>\\n    </div>\\n  </div>\\n  <div class=\\\"ka-control-overlay\\\">\\n    <div class=\\\"ka-control-error\\\" if.bind=\\\"!readonly && validator.errors.length\\\">\\n      <div class=\\\"ka-control-error-scroller\\\">\\n        <span repeat.for=\\\"error of validator.errors\\\">${error}</span>\\n        <span class=\\\"clone\\\" repeat.for=\\\"error of validator.errors\\\">${error}</span>\\n      </div>\\n    </div>\\n    <div class=\\\"ka-control-description\\\" if.bind=\\\"!readonly && schema.control !=='check' && description\\\">${description}</div>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <slot></slot>\\n  <template if.bind=\\\"['date', 'datetime'].includes(type)\\\">\\n    <div class=\\\"row no-gutters selectors\\\">\\n      <div class=\\\"col-auto\\\">\\n        <button click.delegate=\\\"shiftValues({ month: -1 })\\\"><i class=\\\"far fa-angle-left\\\"></i></button>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.month\\\" change.trigger=\\\"setValues({ month: selected.month })\\\">\\n            <option repeat.for=\\\"month of months\\\" model.bind=\\\"month.numeric\\\">${month.long}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.year\\\" change.trigger=\\\"setValues({ year: selected.year })\\\">\\n            <option repeat.for=\\\"year of years\\\" model.bind=\\\"year\\\">${year}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col-auto\\\">\\n        <button click.delegate=\\\"shiftValues({ month: 1 })\\\"><i class=\\\"far fa-angle-right\\\"></i></button>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"row weekdays\\\">\\n      <div repeat.for=\\\"weekday of weekdays\\\" class=\\\"col\\\">${weekday.short}</div>\\n    </div>\\n\\n    <div class=\\\"row days\\\" repeat.for=\\\"week of weeks\\\">\\n      <div repeat.for=\\\"day of week\\\" class=\\\"col\\\">\\n        <button class=\\\"${day.day === selected.day ? 'selected':''}\\\" disabled.bind=\\\"day.month !== selected.month\\\" click.delegate=\\\"setValues({ day: day.day })\\\">${day.text}</button>\\n      </div>\\n    </div>\\n  </template>\\n  <template if.bind=\\\"['time', 'datetime'].includes(type)\\\">\\n    <div class=\\\"row no-gutters selectors\\\">\\n      <div class=\\\"col-auto\\\"></div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.hour\\\" change.trigger=\\\"setValues({ hours: selected.hour })\\\">\\n            <option repeat.for=\\\"hour of hours\\\" model.bind=\\\"hour\\\">${hour < 10 ? '0' : ''}${hour}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div>\\n          <select value.bind=\\\"selected.minute\\\" change.trigger=\\\"setValues({ minutes: selected.minute })\\\">\\n            <option repeat.for=\\\"minute of minutes\\\" model.bind=\\\"minute\\\">${minute < 10 ? '0' : ''}${minute}</option>\\n          </select>\\n          <i class=\\\"dropdown far fa-angle-down\\\"></i>\\n        </div>\\n      </div>\\n      <div class=\\\"col-auto\\\"></div>\\n    </div>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <ux-dialog class.bind=\\\"params.class\\\">\\n    <ux-dialog-header if.bind=\\\"params.title\\\">\\n      <h2>${params.title}</h2>\\n    </ux-dialog-header>\\n\\n    <ux-dialog-body if.bind=\\\"params.body\\\">\\n      <div innerhtml.bind=\\\"params.body\\\"></div>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-body if.bind=\\\"params.viewModel\\\">\\n      <compose view-model.bind=\\\"params.viewModel\\\" model.bind=\\\"params.viewModelParams\\\"></compose>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-body if.bind=\\\"params.viewStrategy\\\">\\n      <compose view.bind=\\\"params.viewStrategy\\\"></compose>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'alert'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.ok(params.viewModelParams?params.viewModelParams:null)\\\">OK</button>\\n    </ux-dialog-footer>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'confirm'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.cancel(params.viewModelParams?params.viewModelParams:null)\\\">Annulla</button>\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.ok(params.viewModelParams?params.viewModelParams:null)\\\">Continua</button>\\n    </ux-dialog-footer>\\n\\n    <ux-dialog-footer if.bind=\\\"params.type == 'cancel'\\\">\\n      <button class=\\\"ka-button\\\" click.trigger=\\\"controller.cancel(params.viewModelParams?params.viewModelParams:null)\\\">Annulla</button>\\n    </ux-dialog-footer>\\n\\n  </ux-dialog>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <label if.bind=\\\"label && control !== 'check'\\\" for=\\\"${id}\\\">${label} ${error}</label>\\n  <label if.bind=\\\"label && control === 'check'\\\" for=\\\"${id}\\\" click.delegate=\\\"checkClick($event)\\\">${label} ${error}</label>\\n\\n  <input if.bind=\\\"control=='text'||control=='password'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='number'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='date'||control=='age'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"displayValue & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n  <input if.bind=\\\"control=='time'\\\"\\n    id=\\\"${id}\\\"\\n    type.bind=\\\"type\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n\\n  <input if.bind=\\\"control=='file'\\\"\\n    id=\\\"${id}\\\"\\n    type=\\\"file\\\"\\n    files.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    />\\n  <input if.bind=\\\"control=='file'\\\"\\n    type=\\\"text\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"displayValue & validate\\\"\\n    class=\\\"ka-input pad${buttons.length}\\\"\\n    readonly/>\\n\\n  <input if.bind=\\\"control=='check'&&!datamultiple\\\"\\n    id=\\\"${id}\\\"\\n    type=\\\"checkbox\\\"\\n    checked.bind=\\\"value & validate\\\"\\n\\n    class=\\\"ka-input\\\"\\n    />\\n  <div if.bind=\\\"control=='check'&&!datamultiple&&description\\\"\\n    class=\\\"ka-input-checkbox-description\\\"\\n    innerHTML.bind=\\\"description\\\"\\n    click.delegate=\\\"checkClick($event)\\\"\\n    ></div>\\n\\n  <div if.bind=\\\"control=='combo'\\\"\\n    ref=\\\"combo\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-combo\\\"\\n    mouse-leave.trigger=\\\"comboClose()\\\"\\n  >\\n    <input type=\\\"text\\\" class=\\\"ka-input pad${buttons.length}\\\" placeholder.bind=\\\"placeholder\\\" value.bind=\\\"displayValue & validate\\\" focus.trigger=\\\"comboOpen()\\\" readonly />\\n    <div ref=\\\"drawer\\\" class=\\\"ka-input-combo-drawer\\\" if.bind=\\\"comboOpened\\\">\\n      <input if.bind=\\\"!datapreload||comboItemsSource.length>10\\\" type=\\\"text\\\" placeholder=\\\"Cerca\\\" class=\\\"ka-input\\\" value.bind=\\\"comboQueryValue\\\" focus.one-way=\\\"comboReady\\\" keyup.trigger=\\\"comboQuery(comboQueryValue)\\\" />\\n      <ul class=\\\"${datamultiple?'multiple':''}\\\">\\n        <li repeat.for=\\\"item of comboItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"comboSelect(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext:comboQueryValue\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n      </ul>\\n    </div>\\n  </div>\\n\\n  <div if.bind=\\\"(control=='check')&&(datamultiple)&&(datapreload)\\\"\\n    ref=\\\"checklist\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-checklist\\\"\\n  >\\n    <ul class=\\\"multiple\\\">\\n      <li repeat.for=\\\"item of checklistItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"checklistSelect(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n    </ul>\\n  </div>\\n  <div if.bind=\\\"(control=='check')&&(datamultiple)&&(!datapreload)\\\"\\n    ref=\\\"combo\\\"\\n    id=\\\"${id}\\\"\\n    class=\\\"ka-input-checklist\\\"\\n  >\\n    <div class=\\\"ka-input-combo\\\" mouse-leave.trigger=\\\"comboClose()\\\" style=\\\"position: relative;\\\">\\n      <input type=\\\"text\\\" class=\\\"ka-input pad${buttons.length}\\\" placeholder.bind=\\\"placeholder\\\" focus.trigger=\\\"comboOpen()\\\" readonly />\\n      <div ref=\\\"drawer\\\" class=\\\"ka-input-combo-drawer\\\" if.bind=\\\"comboOpened\\\">\\n        <input if.bind=\\\"!datapreload||comboItemsSource.length>10\\\" type=\\\"text\\\" placeholder=\\\"Cerca\\\" class=\\\"ka-input\\\" value.bind=\\\"comboQueryValue\\\" focus.one-way=\\\"comboReady\\\" keyup.trigger=\\\"comboQuery(comboQueryValue)\\\" />\\n        <ul>\\n          <li repeat.for=\\\"item of comboItems\\\" class=\\\"${item.selected?'selected':''}\\\" click.delegate=\\\"comboListAddItem(item, $event)\\\" innerHTML.bind=\\\"item | kaHighlight:datatext:comboQueryValue\\\" data-value=\\\"${item[datavalue]}\\\"></li>\\n        </ul>\\n      </div>\\n    </div>\\n    <ul>\\n      <li repeat.for=\\\"item of comboListItems\\\">\\n        <span click.delegate=\\\"comboListRemoveItem(item, $event)\\\">X</span>&nbsp;${item.text}\\n      </li>\\n    </ul>\\n  </div>\\n\\n  <div if.bind=\\\"control=='editor'\\\" id=\\\"${id}\\\" class=\\\"ka-input-editor\\\"></div>\\n\\n  <textarea if.bind=\\\"control=='textarea'\\\"\\n    id=\\\"${id}\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    value.bind=\\\"value & validate\\\"\\n    readonly.bind=\\\"readonly\\\"\\n\\n    focus.trigger=\\\"focus()\\\"\\n    blur.trigger=\\\"blur()\\\"\\n    keyup.trigger=\\\"keyup($event)\\\"\\n    class=\\\"ka-input ka-input-textarea pad${buttons.length}\\\">\\n  </textarea>\\n\\n  <button class=\\\"ka-input-button show\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.show()\\\"  if.bind=\\\"buttons.showEnabled\\\"><i class=\\\"material-icons\\\">&#xE8F4;</i></button>\\n  <button class=\\\"ka-input-button hide\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.hide()\\\"  if.bind=\\\"buttons.hideEnabled\\\"><i class=\\\"material-icons\\\">&#xE8F5;</i></button>\\n  <button class=\\\"ka-input-button open\\\"  tabindex=\\\"-1\\\" click.delegate=\\\"buttons.open()\\\"  if.bind=\\\"buttons.openEnabled\\\"><i class=\\\"material-icons\\\">&#xE89E;</i></button>\\n  <button class=\\\"ka-input-button add\\\"   tabindex=\\\"-1\\\" click.delegate=\\\"buttons.add()\\\"   if.bind=\\\"buttons.addEnabled\\\"><i class=\\\"material-icons\\\">add</i></button>\\n  <button class=\\\"ka-input-button download\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.download()\\\" if.bind=\\\"buttons.downloadEnabled\\\"><i class=\\\"material-icons\\\">&#xE2C4;</i></button>\\n  <button class=\\\"ka-input-button dropdown\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.dropdown()\\\" if.bind=\\\"buttons.dropdownEnabled\\\"><i class=\\\"fal fa-chevron-down\\\"></i></button>\\n  <button class=\\\"ka-input-button clear\\\" tabindex=\\\"-1\\\" click.delegate=\\\"buttons.clear()\\\" if.bind=\\\"buttons.clearEnabled\\\"><i class=\\\"material-icons\\\">&#xE14C;</i></button>\\n\\n  <div class=\\\"ka-input-error\\\" if.bind=\\\"validator.errors.length\\\"><span repeat.for=\\\"error of validator.errors\\\">${error}</span></div>\\n  <div class=\\\"ka-input-description\\\" if.bind=\\\"control!='check'&&description\\\">${description}</div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Control linked to resource -->\\n  <ka-input-controls\\n    if.bind=\\\"name && insideMdResource === false\\\"\\n    with.bind=\\\"parent\\\"\\n    record.bind=\\\"resource.resource.id\\\"\\n    config.bind=\\\"resource.schema[name]\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"resource.data[name]\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly||resource.schema[name].readonly||resource.readonly\\\"\\n    required.bind=\\\"required||resource.schema[name].required\\\"\\n    view-model.ref=\\\"resource.controls[name]\\\"\\n    client.bind=\\\"resource.client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n  <ka-input-controls\\n    if.bind=\\\"name && insideMdResource === true\\\"\\n    record.bind=\\\"parent.data.id\\\"\\n    config.bind=\\\"parent.schema[name]\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"parent.data[name]\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly||parent.schema[name].readonly||parent.readonly\\\"\\n    required.bind=\\\"required||parent.schema[name].required\\\"\\n    view-model.ref=\\\"parent.controls[name]\\\"\\n    client.bind=\\\"parent.client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n  <!-- Control NOT linked to resource -->\\n  <ka-input-controls\\n    if.bind=\\\"!name\\\"\\n    record.bind=\\\"record\\\"\\n    config.bind=\\\"config\\\"\\n    label.bind=\\\"label\\\"\\n    value.bind=\\\"value\\\"\\n    default.bind=\\\"default\\\"\\n    description.bind=\\\"description\\\"\\n    placeholder.bind=\\\"placeholder\\\"\\n    autocomplete.bind=\\\"autocomplete\\\"\\n    readonly.bind=\\\"readonly\\\"\\n    required.bind=\\\"required\\\"\\n    view-model.ref=\\\"input\\\"\\n    client.bind=\\\"client\\\"\\n    change.bind=\\\"change\\\"\\n    ready.bind=\\\"ready\\\"\\n    dialog-closed.bind=\\\"dialogClosed\\\"\\n    validation.bind=\\\"validation\\\"\\n    query-operator.bind=\\\"queryOperator\\\"\\n  ></ka-input-controls>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <aside>\\n    <div class=\\\"layout-burger\\\" click.delegate=\\\"toggle()\\\" ref=\\\"burgerAside\\\"><i class=\\\"fal fa-bars\\\"></i></div>\\n    <div class=\\\"layout-logo\\\"></div>\\n\\n    <slot></slot>\\n\\n    <nav>\\n      <ul>\\n        <template repeat.for=\\\"item of _navigation\\\">\\n          <li if.bind=\\\"authorized(item)\\\" class=\\\"${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.href ? 'active' : ''}\\\">\\n  \\n            <i class=\\\"expand fas fa-chevron-down\\\" click.delegate=\\\"expand(item)\\\"></i>\\n            <i class=\\\"collapse fas fa-chevron-up\\\" click.delegate=\\\"collapse(item)\\\"></i>\\n  \\n            <template if.bind=\\\"item.icon\\\">\\n              <i if.bind=\\\"item.icon.indexOf('fa') === 0\\\" class=\\\"item-icon ${item.icon} fa-fw\\\"></i>\\n              <i else class=\\\"item-icon material-icons\\\" innerhtml.bind=\\\"item.icon\\\"></i>\\n            </template>\\n  \\n            <span class=\\\"item-label\\\">${item.label}</span>\\n            <b if.bind=\\\"item.badge && item.badge.value\\\" class=\\\"item-badge\\\">${item.badge.value}</b>\\n            <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\" class=\\\"item-link\\\"></a>\\n            \\n            <a if.bind=\\\"!item.href && item.collapsed\\\" href=\\\"#\\\" class=\\\"item-link expand\\\" click.delegate=\\\"expand(item)\\\"></a>\\n            <a if.bind=\\\"!item.href && !item.collapsed\\\" href=\\\"#\\\" class=\\\"item-link collapse\\\" click.delegate=\\\"collapse(item)\\\"></a>\\n\\n  \\n            <ul if.bind=\\\"item.nav && !item.collapsed\\\">\\n              <template repeat.for=\\\"item of item.nav\\\">\\n                <li if.bind=\\\"authorized(item)\\\" class=\\\"${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.href ? 'active' : ''}\\\">\\n                  \\n                  <template if.bind=\\\"item.icon\\\">\\n                    <i if.bind=\\\"item.icon.indexOf('fa') === 0\\\" class=\\\"item-icon ${item.icon} fa-fw\\\"></i>\\n                    <i else class=\\\"item-icon material-icons\\\" innerhtml.bind=\\\"item.icon\\\"></i>\\n                  </template>\\n        \\n                  <span class=\\\"item-label\\\">${item.label}</span>\\n                  <b if.bind=\\\"item.badge && item.badge.value\\\" class=\\\"item-badge\\\">${item.badge.value}</b>\\n                  <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\" class=\\\"item-link\\\"></a>\\n  \\n                </li>\\n              </template>\\n            </ul>\\n          </li>\\n        </template>\\n      </ul>\\n    </nav>\\n  </aside>\\n  <header>\\n    <div class=\\\"layout-burger\\\" click.delegate=\\\"toggle()\\\" ref=\\\"burgerHeader\\\"><i class=\\\"fal fa-bars\\\"></i></div>\\n    <h1>${router.currentInstruction.config.title}</h1>\\n  </header>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <span class=\\\"ka-navbar-menu-button\\\" click.delegate=\\\"toggle()\\\" ref=\\\"button\\\"><i class=\\\"material-icons\\\">&#xE5D2;</i></span>\\n  <nav class=\\\"ka-navbar-menu ${visible?'visible':''}\\\" ref=\\\"nav\\\">\\n    <div class=\\\"ka-navbar-menu-label\\\">${appName}</div>\\n    <a\\n      repeat.for=\\\"route of routes\\\"\\n      click.delegate=\\\"hide()\\\"\\n      class=\\\"ka-navbar-menu-item ${route.isActive?'active':''} ${route.settings.class}\\\"\\n      href.bind=\\\"route.href\\\">\\n      <template if.bind=\\\"route.settings.icon\\\">\\n        <i if.bind=\\\"route.settings.icon.indexOf('fa') === 0\\\" class=\\\"${route.settings.icon}\\\"></i>\\n        <i else class=\\\"material-icons\\\" innerhtml.bind=\\\"route.settings.icon\\\"></i>\\n      </template>\\n      ${route.title}\\n    </a>\\n  </nav>\\n  <h1>${router.currentInstruction.config.title}</h1>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div if.bind=\\\"!loaded\\\" class=\\\"ka-resource-progress\\\" ><div></div></div>\\n\\n  <div show.bind=\\\"loaded\\\">\\n    <div class=\\\"ka-resource-buttons\\\">\\n      <a replaceable part=\\\"buttons\\\" repeat.for=\\\"button of buttons\\\" click.delegate=\\\"button.action()\\\">\\n        <i class=\\\"material-icons\\\" innerHtml.bind=\\\"button.icon\\\"></i>\\n        <span if.bind=\\\"!button.icon&&button.label&&button.label.length\\\">${button.label}</span>\\n      </a>\\n    </div>\\n    <slot></slot>\\n  </div>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div class=\\\"ka-toolbar\\\" if.bind=\\\"!error\\\">\\n    <div class=\\\"ka-tools-left\\\">\\n      <template replaceable part=\\\"tools-left\\\">\\n        <button if.bind=\\\"actions.indexOf('filter') >= 0\\\" class=\\\"ka-table-button filters ${hasFilters?'active':''}\\\" click.delegate=\\\"show_filters()\\\"><i class=\\\"material-icons\\\">&#xE8B6;</i></button>\\n        <button if.bind=\\\"actions.indexOf('filter') >= 0 && hasFilters\\\" class=\\\"ka-table-button reset\\\" click.delegate=\\\"reset_filters()\\\"><i class=\\\"material-icons\\\">&#xE033;</i></button>\\n        <button if.bind=\\\"actions.indexOf('export') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"show_export()\\\"><i class=\\\"material-icons\\\">&#xE2C4;</i></button>\\n      </template>\\n    </div>\\n    <div class=\\\"ka-navigation\\\">\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('first')\\\"><i class=\\\"material-icons\\\">&#xE5DC;</i></button>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('prev')\\\"><i class=\\\"material-icons\\\">&#xE314;</i></button>\\n      <div class=\\\"ka-position\\\" click.delegate=\\\"show_options($event)\\\">\\n        <div show.bind=\\\"!isLoading && position\\\">${position} <span show.bind=\\\"!isLoading && total\\\">di ${total}</span></div>\\n      </div>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('next')\\\"><i class=\\\"material-icons\\\">&#xE315;</i></button>\\n      <button class=\\\"ka-table-button\\\" click.delegate=\\\"set_page('last')\\\"><i class=\\\"material-icons\\\">&#xE5DD;</i></button>\\n    </div>\\n    <div class=\\\"ka-tools-right\\\">\\n      <template replaceable part=\\\"tools-right\\\">\\n        <button if.bind=\\\"actions.indexOf('add') >= 0 && routes.add !== false\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">&#xE145;</i></button>\\n      </template>\\n    </div>\\n    <div class=\\\"ka-table-options hidden\\\" if.bind=\\\"config_options.pages.datasource.length > 0\\\">\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"config_options.limit\\\" value.bind=\\\"settings.limit\\\" change.call=\\\"set_limit(value)\\\"></ka-input>\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"config_options.pages\\\" value.bind=\\\"settings.page\\\" change.call=\\\"set_page(value)\\\"></ka-input>\\n    </div>\\n  </div>\\n\\n  <div if.bind=\\\"isLoading\\\" class=\\\"ka-table-progress\\\"><div class=\\\"indeterminate\\\"></div></div>\\n\\n  <div class=\\\"ka-wrapper\\\">\\n    <table>\\n      <thead if.bind=\\\"schemaLoaded\\\">\\n        <tr replaceable part=\\\"thead-tr\\\">\\n          <th repeat.for=\\\"column of columns_schema\\\">\\n            <span>${column.label}</span>\\n            <a if.bind=\\\"column.label && (!sortables || settings.sort_columns[column.field])\\\" href=\\\"\\\" class=\\\"ka-sort-button ${settings.sort[settings.sort_columns[column.field]].class}\\\" click.delegate=\\\"set_sort(settings.sort_columns[column.field])\\\"><i class=\\\"material-icons\\\">&#xE164;</i></a>\\n          </th>\\n          <th></th>\\n        </tr>\\n      </thead>\\n      <tbody>\\n        <tr if.bind=\\\"!isLoading && !records.length && !error\\\">\\n          <td colspan=\\\"${columns_schema.length+1}\\\">Nessun record trovato</td>\\n        </tr>\\n        <tr if.bind=\\\"!isLoading && error\\\">\\n          <td colspan=\\\"${columns_schema.length+1}\\\">${error}</td>\\n        </tr>\\n        <tr repeat.for=\\\"record of records\\\" part=\\\"tbody-tr\\\" dblclick.delegate=\\\"edit(record)\\\">\\n          <td repeat.for=\\\"column of columns_schema\\\" data-th=\\\"${column.label}\\\">${format(record, column.field)}</td>\\n          <td class=\\\"ka-tr-tools\\\">\\n            <div class=\\\"floater\\\">\\n              <template replaceable part=\\\"tr-tools\\\">\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('copy') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"copy(record)\\\" title=\\\"Copy\\\"><i class=\\\"material-icons\\\">add_circle_outline</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('deepcopy') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"copy(record, true)\\\" title=\\\"Deep copy\\\"><i class=\\\"material-icons\\\">add_circle</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('delete') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"delete(record)\\\" title=\\\"Delete\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                <button if.bind=\\\"routes.edit !== false && actions.indexOf('edit') >= 0\\\" class=\\\"ka-table-button\\\" click.delegate=\\\"edit(record)\\\" title=\\\"Open/Edit\\\"><i class=\\\"material-icons\\\">&#xE315;</i></button>\\n              </template>\\n            </div>\\n          </td>\\n        </tr>\\n      </tbody>\\n    </table>\\n  </div>\\n\\n\\n  <div class=\\\"ka-table-drawer filters hidden\\\">\\n    <h2>Filtra elenco</h2>\\n    <div style=\\\"padding:1rem\\\">\\n      <ka-flex-row if.bind=\\\"filters.length && settings.filters && !isLoading\\\" repeat.for=\\\"field of filters\\\" class=\\\"no-padding\\\">\\n        <ka-input if.bind=\\\"field.control=='text'&&field.datatype!='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.text\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='list'&&field.datatype!='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.json\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.datatype=='json'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.json\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='number'||field.control=='age'\\\" label.bind=\\\"field.label\\\" required=\\\"false\\\" config.bind=\\\"config_operators.number\\\" value.bind=\\\"settings.filters[field.field].operator\\\" default=\\\"~\\\" ka-flex=\\\"30\\\" class=\\\"no-clear\\\"></ka-input>\\n        \\n        <ka-input if.bind=\\\"field.control=='list'\\\" required=\\\"false\\\" config.bind=\\\"{control: 'text'}\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex class=\\\"no-label\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='text'||field.control=='number'||field.control=='age'||field.datatype=='json'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex class=\\\"no-label\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='combo'\\\" required=\\\"false\\\" client.bind=\\\"client\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value\\\" default=\\\"\\\" ka-flex></ka-input>\\n        <ka-input if.bind=\\\"field.control=='date'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value_from\\\" default=\\\"\\\" ka-flex=\\\"50\\\" label=\\\"${field.label} dal\\\"></ka-input>\\n        <ka-input if.bind=\\\"field.control=='date'\\\" required=\\\"false\\\" config.bind=\\\"field\\\" value.bind=\\\"settings.filters[field.field].value_to\\\" default=\\\"\\\" ka-flex label=\\\"${field.label} al\\\"></ka-input>\\n      </ka-flex-row>\\n    </div>\\n    <ka-flex-row>\\n      <button class=\\\"ka-button\\\" click.delegate=\\\"apply_filters()\\\" ka-flex=\\\"50\\\">Applica filtri</button>\\n      <button class=\\\"ka-button\\\" click.delegate=\\\"reset_filters()\\\" ka-flex=\\\"50\\\">Pulisci filtri</button>\\n    </ka-flex-row>\\n\\n  </div>\\n\\n  <div class=\\\"ka-table-drawer export hidden\\\">\\n    <h2>Esporta elenco</h2>\\n    <h3>Campi da esportare</h3>\\n    <div style=\\\"padding:0 0 0 1rem;max-height:250px;overflow:hidden;overflow-y:auto;box-shadow:inset 0 -5px 5px -5px #00000033\\\">\\n      <ka-input\\n        if.bind=\\\"export_schema.length && !isLoading\\\"\\n        repeat.for=\\\"field of export_schema\\\"\\n        ka-flex\\n        class=\\\"no-label\\\"\\n        description.bind=\\\"field.label\\\"\\n        config.bind=\\\"{ control: 'check', field: field.field }\\\"\\n        value.bind=\\\"settings.exports[field.field]\\\">\\n      </ka-input>\\n    </div>\\n    <p><small><a href=\\\"\\\" click.delegate=\\\"select_export()\\\">Seleziona tutti</a> / <a href=\\\"\\\" click.delegate=\\\"unselect_export()\\\">Deseleziona tutti</a></small></p>\\n    <h3>Pagine da esportare</h3>\\n    <div style=\\\"padding: 0 1rem\\\">\\n      <ka-input\\n        class=\\\"no-label\\\"\\n        config.bind=\\\"{control: 'combo', datasource: [{value: 'LST', text: 'Pagina corrente'}, {value: 'ALL', text: 'Tutte le pagine'}], datapreload: true, default: 'LST'}\\\"\\n        value.bind=\\\"exportPages\\\">\\n      </ka-input>\\n    </div>\\n    <ka-flex-row>\\n      <ka-button click.delegate=\\\"apply_export($event, exportPages)\\\" ka-flex=\\\"50\\\">Esporta</ka-button>\\n    </ka-flex-row>\\n  </div>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <tr if.bind=\\\"_schema\\\" class=\\\"ka-table-filters\\\">\\n    <th repeat.for=\\\"column of _schema\\\">\\n      <ka-control if.bind=\\\"filters[column.field]\\\" ka-enter.call=\\\"apply()\\\" schema.bind=\\\"column\\\" value.bind=\\\"filters[column.field].value\\\"></ka-control>\\n    </th>\\n    <th><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"apply()\\\">Applica</a> | <a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"reset()\\\">Azzera</a> filtri</th>\\n  </tr>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <nav>\\n    <a repeat.for=\\\"tab of tabs\\\"\\n      class=\\\"${tab.visible?'active':''}\\\"\\n      click.delegate=\\\"select(tab)\\\">${tab.label}</a>\\n  </nav>\\n\\n  <div ref=\\\"buttons\\\">\\n    <template replaceable part=\\\"buttons\\\"></template>\\n  </div>\\n\\n  <div ref=\\\"contents\\\">\\n    <slot></slot>\\n  </div>\\n\\n</template>\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"./static/images/favicon.png\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"./static/fontawesome/all.min.css\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar code = \"<!DOCTYPE html>\\n<html>\\n  <head>\\n    <meta charset=\\\"utf-8\\\">\\n    <title>Multidialogo&reg;</title>\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, minimum-scale=1, maximum-scale=1\\\">\\n    <link rel=\\\"icon\\\" type=\\\"image/png\\\" sizes=\\\"310x310\\\" href=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"/static/bootstrap/css/all.min.css\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"\" + ___HTML_LOADER_REPLACEMENT_1___ + \"\\\">\\n    <link defer rel=\\\"stylesheet\\\" href=\\\"https://fonts.googleapis.com/icon?family=Material+Icons\\\">\\n    <link defer href=\\\"https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto+Flex:opsz,wght@8..144,100..1000&family=Roboto+Slab:wght@100..900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\\\" rel=\\\"stylesheet\\\">\\n    <!-- Google Tag Manager -->\\n    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-PRX5B52N');</script>\\n    <!-- End Google Tag Manager -->\\n  </head>\\n  <body aurelia-app=\\\"index\\\" class=\\\"layoutV2\\\">\\n    <script>\\n      document.documentElement.setAttribute('style', 'width: 100%; height: 100%; background: #fff url(/static/multiloader.gif) 50% 50%/100px 100px no-repeat');\\n      document.getElementsByTagName(\\\"body\\\")[0].setAttribute('style','display:none');(function(a,b,c){b=document,c='addEventListener';b[c]?b[c]('DOMContentLoaded',a):window.attachEvent('onload',a)})(function(){setTimeout(function(){document.documentElement.removeAttribute('style');document.getElementsByTagName(\\\"body\\\")[0].removeAttribute('style');},2000);});\\n    </script>\\n  </body>\\n</html>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./intents.sass\\\"></require>\\n\\n  <template if.bind=\\\"intent\\\">\\n    <ux-dialog if.bind=\\\"intent.code === 'LOGIN'\\\" class=\\\"intents-dialog\\\">\\n      <ux-dialog-body>\\n        <compose class.bind=\\\"intent.code\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n      </ux-dialog-body>\\n    </ux-dialog>\\n  \\n    <ux-dialog if.bind=\\\"intent.code === 'CONFIRM-TRANSMISSION-DELAY'\\\">\\n      <ux-dialog-header><h2>Conferma invio</h2></ux-dialog-header>\\n      <ux-dialog-body class=\\\"p-0\\\">\\n        <compose class.bind=\\\"intent.code\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n      </ux-dialog-body>\\n    </ux-dialog>\\n\\n    <ux-dialog if.bind=\\\"intent.code === 'EMAIL-CONFIRMATION-REQUIRED'\\\">\\n      <ux-dialog-header><h2>Conferma registrazione</h2></ux-dialog-header>\\n      <ux-dialog-body>\\n        <p class=\\\"m-0\\\">\\n          <template if.bind=\\\"intent.subject.context === 'FIRST-ACCESS-LOGIN'\\\">\\n            <strong>Ci sei quasi! Abbiamo solo bisogno di confermare il tuo indirizzo email.</strong><br>\\n            Accedi alla tua casella <strong>${intent.subject.registrationEmailAddress}</strong> e clicca sul link di conferma.\\n          </template>\\n          <template if.bind=\\\"intent.subject.context === 'LOGIN-ATTEMPT'\\\">\\n            <strong>OOPS! Sembra che tu non abbia ancora confermato il tuo indirizzo email.</strong><br> \\n            Per accedere vai subito alla tua casella <strong>${intent.subject.registrationEmailAddress}</strong> e clicca sul link di conferma.<br>\\n            Ci rivediamo tra poco!\\n          </template>\\n        </p>\\n      </ux-dialog-body>\\n      <ux-dialog-footer>\\n        <ka-button click.trigger=\\\"controller.cancel()\\\">\\n          <a href=\\\"login\\\" style=\\\"display: inline-block; width: 100%; text-decoration: none; color: #fff;\\\">Chiudi</a>\\n        </ka-button>\\n      </ux-dialog-footer>\\n    </ux-dialog>\\n  </template>\\n\\n  <ux-dialog if.bind=\\\"intents\\\" class=\\\"intents-dialog\\\">\\n    <ux-dialog-header>\\n      <h2>Attenzione!</h2>\\n    </ux-dialog-header>\\n\\n    <ux-dialog-body>\\n      <p if.bind=\\\"response.detail\\\" class=\\\"m-0 mb-3 detail\\\"><strong>${response.detail}.</strong></p>\\n      <ul if.bind=\\\"intents.length\\\" class=\\\"m-0 p-0\\\">\\n        <li repeat.for=\\\"intent of intents\\\" class=\\\"intent\\\">\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-CERTIFIED-DOCUMENTS'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-LEGAL-FORM'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PROVIDE-IBAN'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'SDD-ENABLED-REQUIRED'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'PAY-ORDERS'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"intent.subject\\\"></compose>\\n          <compose class.bind=\\\"intent.code\\\" if.bind=\\\"intent.code === 'ACCEPT-CASHBACK-CONTRACT'\\\" view-model=\\\"${intent.vm}\\\" model.bind=\\\"{ subject: intent.subject, controller }\\\"></compose>\\n        </li>\\n      </ul>\\n    </ux-dialog-body>\\n\\n    <ux-dialog-footer>\\n      <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n      <ka-button if.bind=\\\"!includesCode('ACCEPT-CASHBACK-CONTRACT') && !includesCode('PAY-ORDERS')\\\" click.trigger=\\\"controller.ok()\\\">Conferma</ka-button>\\n    </ux-dialog-footer>\\n  </ux-dialog>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"m-0\\\">\\n    Per procedere con questa operazione è necessario sottoscrivere i nuovi contratti cashback!<br>\\n    <span class=\\\"navigate\\\" click.delegate=\\\"goToCashbackContracts()\\\">Clicca se vuoi essere reindirizzato alla sezione dedicata e prenderne visione.</span>\\n  </p>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <div>\\n    <p class=\\\"py-3\\\">Il tracciato verrà elaborato non prima del ${params.dueWorkingDate|dateFormat:'DD/MM/YYYY'}. <strong>Confermi l'invio del file?</strong>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"send()\\\">Continua</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n\\n  <div class=\\\"loginbox\\\">\\n    <p><i class=\\\"far fa-exclamation-circle\\\"></i>Hai inserito l'indirizzo email di un utente esistente, effettua l'accesso per riscattare l'offerta!</p>\\n    <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n    <div class=\\\"form\\\">\\n      <ka-input class=\\\"no-clear\\\" config.bind=\\\"{ label: 'Username', field: 'username', control: 'text', required: true }\\\" value.bind=\\\"username\\\"></ka-input>\\n      <ka-input class=\\\"no-clear\\\" ka-enter.call=\\\"login()\\\" config.bind=\\\"{ label: 'Password', field: 'password', control: 'password', required: true }\\\" value.bind=\\\"password\\\"></ka-input>\\n      <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"login($event)\\\">Login</ka-button></ka-flex-row>\\n    </div>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"m-0\\\">Non è possibile usufruire del cashback in presenza di ordini insoluti!</p>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <template if.bind=\\\"hasPendingDocuments && !hasMissingDocuments\\\">\\n    <p>I documenti sono in attesa di approvazione. Una volta approvati, l'autorizzazione stampa in proprio MAV verrà automaticamente attivata.</p>\\n  </template>\\n  <template if.bind=\\\"hasMissingDocuments\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>Documenti intestati a ${params.userDisplayName}</span>\\n    </p>\\n    <ul if.bind=\\\"documents && documents.length\\\" class=\\\"subject m-0 p-0\\\">\\n      <li repeat.for=\\\"document of documents\\\" class=\\\"m-0 p-3 document\\\">\\n        <p if.bind=\\\"!document.edit\\\" class=\\\"m-0 d-flex me-xl-5\\\">\\n          <i if.bind=\\\"!document.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"document.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>${document.label}<small if.bind=\\\"document.placeholder\\\" class=\\\"d-block\\\">${document.placeholder}</small></span>\\n        </p>\\n        <ka-control if.bind=\\\"document.edit\\\" name=\\\"file\\\" buttons=\\\"clear\\\" with.bind=\\\"document\\\"></ka-control>\\n        <div if.bind=\\\"!document.saved\\\" class=\\\"d-flex text-nowrap ms-5\\\">\\n          <p if.bind=\\\"!document.edit && document._errors.PENDING\\\" class=\\\"m-0\\\">In attesa di approvazione</p>\\n          <div if.bind=\\\"!document.edit && document._errors.MISSING\\\">\\n            <ka-button \\n              if.bind=\\\"document.templateFileName\\\" \\n              click.delegate=\\\"downloadStaticResource(document)\\\" \\n              class=\\\"flat inverted secondary with-icon m-0 ms-3\\\">\\n              <i class=\\\"fas fa-file-download\\\"></i>\\n              <span>Scarica modello</span>\\n            </ka-button>\\n            <ka-button \\n              click.delegate=\\\"edit(document)\\\" \\n              class=\\\"flat inverted primary with-icon ms-3\\\">\\n              <i class=\\\"fas fa-file-upload\\\"></i>\\n              <span>Carica documento</span>\\n            </ka-button>\\n          </div>\\n          <ka-button if.bind=\\\"document.edit\\\" click.delegate=\\\"document.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"document.edit\\\" click.delegate=\\\"save(document, $event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\" class=\\\"m-0\\\">Cricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>${params.billingProfileOwnerId && params.userId === billingProfileOwnerId ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n      <span>${params.billingProfileOwnerDisplayName && params.billingProfileOwnerDisplayName !== params.userDisplayName ? params.billingProfileOwnerDisplayName : 'me stesso'}</span><br>\\n      <span>Profilo di fatturazione: ${params.billingProfileLabel}</span>\\n      <span if.bind=\\\"params.purpose\\\">${params.purpose}.</span>\\n    </p>\\n    <ul class=\\\"subject m-0 p-0\\\">\\n      <li class=\\\"m-0 p-3\\\">\\n        <p if.bind=\\\"!params.edit\\\" class=\\\"m-0 d-flex\\\">\\n          <i if.bind=\\\"!params.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"params.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>Inserire un codice IBAN</span>\\n        </p>\\n        <ka-control if.bind=\\\"params.edit\\\" name=\\\"iban\\\" buttons=\\\"clear\\\"></ka-control>\\n        <div if.bind=\\\"!params.saved\\\" class=\\\"d-flex\\\">\\n          <ka-button if.bind=\\\"!params.edit\\\" click.delegate=\\\"params.edit = true\\\" class=\\\"flat primary m-0 ms-5\\\">Correggi</ka-button>        \\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"params.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"save($event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\" class=\\\"m-0\\\">Cricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <p class=\\\"intent-description m-0 mb-3\\\">\\n      <span>Contesto: anagrafica.</span><br>\\n      <span>${params.userId === api.user.id ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n      <span>${params.userDisplayName ? params.userDisplayName : 'me stesso'}.</span>\\n      <span if.bind=\\\"params.purpose\\\">${params.purpose}.</span>\\n    </p>\\n    <ul class=\\\"subject m-0 p-0\\\">\\n      <li class=\\\"m-0 p-3\\\">\\n        <p if.bind=\\\"!params.edit\\\" class=\\\"m-0 d-flex\\\">\\n          <i if.bind=\\\"!params.saved\\\" class=\\\"far fa-times not-saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <i if.bind=\\\"params.saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n          <span>Specificare la forma legale</span>\\n        </p>\\n        <ka-control if.bind=\\\"params.edit\\\" schema.bind=\\\"schema.companyLegalFormCode\\\" value.bind=\\\"data.companyLegalFormCode\\\" buttons=\\\"dropdown\\\"></ka-control>\\n        <div if.bind=\\\"!params.saved && api.hasRole(['MODIFY_USERS', 'MODIFY_ANY_USER'])\\\" class=\\\"d-flex\\\">\\n          <ka-button if.bind=\\\"!params.edit\\\" click.delegate=\\\"params.edit = true\\\" class=\\\"flat primary m-0 ms-5\\\">Correggi</ka-button>        \\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"params.edit = false\\\" class=\\\"flat secondary m-0 ms-5 mt-4\\\">Annulla</ka-button>\\n          <ka-button if.bind=\\\"params.edit\\\" click.delegate=\\\"save($event)\\\" class=\\\"flat primary m-0 ms-2 mt-4\\\">Salva</ka-button>\\n        </div>\\n      </li>\\n    </ul>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../intents.sass\\\"></require>\\n  <p class=\\\"intent-description m-0 mb-3\\\">\\n    <span>${params.billingProfileOwnerId && params.userId === billingProfileOwnerId ? 'Utente' : mdt.parsers.contextualize(api.user, 'Sottoutente')}:</span>\\n    <span>${params.billingProfileOwnerDisplayName && params.parentId !== params.userId ? params.billingProfileOwnerDisplayName : 'me stesso'}</span><br>\\n    <span>Profilo di fatturazione: ${params.billingProfileLabel}</span>\\n  </p>\\n  <ul class=\\\"subject m-0 p-0\\\">\\n    <li class=\\\"m-0 p-3\\\">\\n      <p class=\\\"m-0 d-flex\\\">\\n        <i if.bind=\\\"saved\\\" class=\\\"far fa-check saved me-3\\\" style=\\\"line-height: 1.55;\\\"></i>\\n        <span if.bind=\\\"saved\\\">Domiciliazione bancaria attivata con successo</span>\\n      </p>\\n      <ka-control if.bind=\\\"edit\\\" schema.bind=\\\"schema.sdd\\\" change.trigger=\\\"save()\\\"></ka-control>\\n    </li>\\n  </ul>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <aside>\\n    <div\\n      ref=\\\"burgerAside\\\"\\n      class=\\\"km-layout-burger\\\" \\n      click.delegate=\\\"toggle()\\\">\\n      <i class=\\\"material-icons\\\">menu</i>\\n    </div>\\n    <div \\n      class=\\\"km-layout-logo ${!config.brand ? 'empty' : ''}\\\" \\n      if.bind=\\\"config.brand\\\" \\n      style=\\\"background-image:url(${config.brand})\\\">\\n    </div>\\n\\n    <slot name=\\\"beforeNav\\\"></slot>\\n    <nav>\\n      <!-- First level -->\\n      <ul class=\\\"first-level\\\">\\n        <template repeat.for=\\\"item of _navigation.items\\\">\\n          <li\\n            id=\\\"${item.id}\\\"\\n            if.bind=\\\"!item.hidden\\\"\\n            class=\\\"${item.nav ? 'expandable' : 'static'} ${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${!item.nav && item.beta ? 'beta' : ''}\\\">\\n\\n            <div class=\\\"wrapper\\\">\\n              <span \\n                class=\\\"linkless\\\"\\n                if.bind=\\\"!item.href && !item.call\\\"\\n                click.delegate=\\\"toggleNavigation(item)\\\">\\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </span>\\n              <a \\n                href=\\\"${item.href}\\\"\\n                if.bind=\\\"item.href\\\" \\n                class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <i \\n                  if.bind=\\\"item.afterIcon && !item.nav && !item.badge\\\"\\n                  class=\\\"after-icon ${item.afterIcon}\\\">\\n                </i>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </a>\\n              <a \\n                href=\\\"\\\"\\n                if.bind=\\\"item.call\\\"\\n                click.delegate=\\\"item.call()\\\"\\n                class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                <i \\n                  if.bind=\\\"item.svg || item.beforeIcon\\\" \\n                  style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                  class=\\\"${item.beforeIcon ? 'before-icon '+item.beforeIcon : 'svg-icon'}\\\">\\n                </i>\\n                <span class=\\\"label\\\">${item.label}</span>\\n                <b if.bind=\\\"!item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                  <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                </b>\\n                <i \\n                  if.bind=\\\"item.afterIcon && !item.nav && !item.badge\\\"\\n                  class=\\\"after-icon ${item.afterIcon}\\\">\\n                </i>\\n                <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n              </a>\\n              <i \\n                class=\\\"fas fa-chevron-down\\\"\\n                click.delegate=\\\"toggleNavigation(item)\\\"\\n                if.bind=\\\"item.nav && !item.call && !item.href\\\">\\n              </i> \\n            </div>\\n\\n            <!-- Second level -->\\n            <ul \\n              if.bind=\\\"item.nav\\\" \\n              class=\\\"second-level\\\">\\n              <template repeat.for=\\\"item of item.nav\\\">\\n                <li \\n                  if.bind=\\\"!item.hidden\\\" \\n                  class=\\\"${item.nav ? 'expandable' : 'static'} ${item.collapsed === true ? 'collapsed' : item.collapsed === false ? 'expanded' : ''} ${item.highlighted ? 'highlighted' : ''} ${!item.nav && item.beta ? 'beta' : ''}\\\">\\n\\n                  <div class=\\\"wrapper\\\">\\n                    <span \\n                      class=\\\"linkless\\\"\\n                      if.bind=\\\"!item.href && !item.call\\\"\\n                      click.delegate=\\\"toggleNavigation(item)\\\">\\n                      <span class=\\\"label\\\">${item.label}</span>\\n                      <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                      <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                        <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                      </b>\\n                      <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                    </span>\\n                    <a \\n                      href=\\\"${item.href}\\\"\\n                      if.bind=\\\"item.href\\\" \\n                      class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                      <span class=\\\"label\\\">${item.label}</span>\\n                      <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                      <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                        <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                      </b>\\n                      <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                    </a>\\n                    <a \\n                      href=\\\"\\\"\\n                      if.bind=\\\"item.call\\\"\\n                      click.delegate=\\\"item.call()\\\"\\n                      class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                      <span class=\\\"label\\\">${item.label}</span>\\n                      <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                      <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                        <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                      </b>\\n                      <span if.bind=\\\"item.explanation && !item.badge && !item.nav\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                    </a>\\n                    <i \\n                      class=\\\"far fa-chevron-down\\\" \\n                      click.delegate=\\\"toggleNavigation(item)\\\"\\n                      if.bind=\\\"!item.call && !item.href && item.nav\\\"></i>\\n                  </div>\\n\\n                  <!-- Third level -->\\n                  <ul \\n                    if.bind=\\\"item.nav\\\" \\n                    class=\\\"third-level\\\">\\n                    <template repeat.for=\\\"item of item.nav\\\">\\n                      <li \\n                        if.bind=\\\"!item.hidden\\\"\\n                        class=\\\"static ${item.highlighted ? 'highlighted' : ''} ${item.beta ? 'beta' : ''}\\\">\\n                        <div class=\\\"wrapper\\\">\\n                          <span \\n                            if.bind=\\\"!item.href && !item.call\\\"\\n                            class=\\\"linkless\\\">\\n                            <span class=\\\"label\\\">${item.label}</span>\\n                            <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                            <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                              <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                            </b>\\n                            <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                          </span>\\n                          <a \\n                            href=\\\"${item.href}\\\"\\n                            if.bind=\\\"item.href\\\" \\n                            class=\\\"link-to-href ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                            <span class=\\\"label\\\">${item.label}</span>\\n                            <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                            <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                              <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                            </b>\\n                            <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                          </a>\\n                          <a \\n                            href=\\\"\\\"\\n                            if.bind=\\\"item.call\\\"\\n                            click.delegate=\\\"item.call()\\\"\\n                            class=\\\"link-with-call ${router.currentInstruction.config.href === item.href ? 'selected' : ''}\\\"> \\n                            <span class=\\\"label\\\">${item.label}</span>\\n                            <i if.bind=\\\"!item.badge && item.afterIcon\\\" class=\\\"after-icon ${item.afterIcon}\\\"></i>\\n                            <b if.bind=\\\"!item.icon && !item.nav && item.badge && item.badge.value\\\" class=\\\"${item.badgeIcon ? 'custom' : ''}\\\">${item.badge.value}\\n                              <i if.bind=\\\"item.badgeIcon\\\" class=\\\"${item.badgeIcon}\\\"></i>\\n                            </b>\\n                            <span if.bind=\\\"item.explanation && !item.badge\\\" class=\\\"explanation\\\">${item.explanation}</span>\\n                          </a>\\n                        </div>\\n                      </li>\\n                    </template>\\n                  </ul>\\n                </li>\\n              </template>\\n            </ul>\\n          </li>\\n        </template>\\n      </ul>\\n    </nav>\\n    <slot name=\\\"afterNav\\\"></slot>\\n  </aside>\\n  <header>\\n    <div \\n      ref=\\\"burgerHeader\\\"\\n      class=\\\"km-layout-burger\\\" \\n      click.delegate=\\\"toggle()\\\">\\n      <i class=\\\"material-icons\\\">menu</i>\\n    </div>\\n    <h1>${router.currentInstruction.config.parent}${router.currentInstruction.config.title}</h1>\\n    <div \\n      if.bind=\\\"config.isDevelopmentEnvironment\\\" \\n      class=\\\"km-layout-info-box\\\">\\n      <div class=\\\"wrapper\\\">\\n        <i class=\\\"${config.infoBox.icon}\\\"></i>\\n        <div innerHTML.bind=\\\"config.infoBox.message\\\"></div>\\n      </div>\\n    </div>\\n    <div class=\\\"km-layout-user\\\">\\n      <span\\n        class=\\\"profile-icon\\\"\\n        if.bind=\\\"!config.profile.picture\\\">\\n        <i class=\\\"fal ${config.user.account === 'operatore' ? 'fa-user-headset' : config.user.account === 'amministratore' ? 'fa-user-crown' : config.user.account === 'condominio' ? 'fa-building' : config.user.account === 'studio' ? 'fa-landmark' : 'fa-user'}\\\"></i>\\n      </span>\\n      <span \\n        else\\n        class=\\\"profile-picture\\\"  \\n        style=\\\"background-image:url('${config.profile.picture}')\\\">\\n      </span>\\n      <div class=\\\"user-profile\\\">\\n        <span \\n          class=\\\"displayName\\\" \\n          if.bind=\\\"config.user.display\\\">${config.user.display}\\n        </span>\\n        <template if.bind=\\\"!config.user.isImpersonated && config.user.username\\\">\\n          <strong class=\\\"user-name-title\\\">${config.user.account}</strong>\\n          <span class=\\\"user-name\\\">${config.user.username}</span>\\n        </template>\\n        <span \\n          class=\\\"impersonation\\\" \\n          if.bind=\\\"config.user.isImpersonated && config.user.username\\\">Sei collegato a questo profilo cliente\\n        </span>\\n      </div>\\n      <a if.bind=\\\"config.profile.href\\\" href=\\\"${config.profile.href}\\\">Profilo utente</a>\\n    </div>\\n    <div class=\\\"km-layout-toolbar\\\">\\n      <template repeat.for=\\\"item of _toolbar.items\\\">\\n        <template if.bind=\\\"!item.hidden\\\">\\n          <span \\n            if.bind=\\\"!item.href && !item.call\\\" \\n            class=\\\"button\\\" \\n            click.trigger=\\\"subtool($index, $event)\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span> \\n          </span>\\n          <a \\n            class=\\\"button\\\"\\n            if.bind=\\\"item.href\\\" \\n            href=\\\"${item.href}\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span>\\n          </a>\\n          <a \\n            href=\\\"\\\"\\n            class=\\\"button\\\" \\n            if.bind=\\\"item.call\\\" \\n            click.delegate=\\\"item.call()\\\">\\n            <b if.bind=\\\"item.badge && item.badge.value\\\">${item.badge.value}</b>\\n            <i if.bind=\\\"item.icon\\\" class=\\\"${item.icon}\\\"></i>\\n            <span class=\\\"label\\\">${item.label}</span>\\n          </a>\\n          <ul if.bind=\\\"!item.href && !item.call && item.nav\\\" data-subtool=\\\"${$index}\\\">\\n            <template repeat.for=\\\"item of item.nav\\\">\\n              <li if.bind=\\\"!item.hidden\\\">\\n                <a if.bind=\\\"item.href\\\" href=\\\"${item.href}\\\">\\n                  <i \\n                    if.bind=\\\"item.svg || item.icon\\\" \\n                    style=\\\"background-image:url(${`/static/images/`+item.svg})\\\"\\n                    class=\\\"${item.icon || 'svg-icon'}\\\">\\n                  </i>\\n                  <span class=\\\"label\\\">${item.label}</span>\\n                </a>\\n              </li>\\n            </template>\\n          </ul>\\n        </template>\\n      </template> \\n    </div>\\n  </header>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-accordion-button.sass\\\"></require>\\n  <div click.trigger=\\\"toggle()\\\">\\n    <span class=\\\"collapse_text\\\">${collapseText}</span>\\n    <span class=\\\"expand_text\\\">${expandText}</span>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-counter.sass\\\"></require>\\n  <div id=\\\"mdCounter\\\">\\n    <div id=\\\"mdCounterBody\\\">\\n      <h3 if.bind=\\\"label\\\">${label}</h3>\\n      <div style=\\\"text-align: center; line-height: 1\\\">\\n        <span if.bind=\\\"prefix\\\" class=\\\"prefix\\\">${prefix} </span>\\n        <span id=\\\"mdCounterElement\\\">${onEntryStart}</span>\\n        <span if.bind=\\\"suffix\\\" class=\\\"suffix\\\">${suffix}</span>\\n      </div>\\n    </div>\\n    <div id=\\\"mdCounterFooter\\\">\\n      <button \\n        class=\\\"closing\\\"\\n        click.delegate=\\\"close()\\\">Chiudi</button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    md-input-array {\\n      width: 100%;\\n    }\\n    md-input-array > ka-flex-row + ka-flex-row {\\n      margin-top: -1.5rem;\\n    }\\n  </style>\\n  <template if.bind=\\\"items\\\">\\n    <ka-flex-row repeat.for=\\\"item of items\\\" class=\\\"no-padding\\\">\\n      <ka-input\\n        ka-flex\\n        if.bind=\\\"name && schema && parent.controls\\\"\\n        resource-controls.bind=\\\"parent.controls\\\"\\n        resource-ref=\\\"${name}[${$index}]\\\"\\n        record.bind=\\\"parent.data.id\\\"\\n        config.bind=\\\"{control: 'text', cippa: 'lippa', field: schema.field || name}\\\"\\n        value.bind=\\\"item.value\\\"\\n        label.bind=\\\"($index === 0 ? label||schema.label : null)\\\"\\n        default.bind=\\\"default\\\"\\n        description.bind=\\\"description\\\"\\n        placeholder.bind=\\\"placeholder\\\"\\n        readonly.bind=\\\"readonly||schema.readonly||parent.readonly\\\"\\n        required.bind=\\\"required||schema.required\\\"\\n        ready.bind=\\\"ready\\\"\\n        validation.bind=\\\"validation\\\"\\n        change.call=\\\"update()\\\"\\n        class=\\\"no-buttons\\\">\\n      </ka-input>\\n      <ka-button if.bind=\\\"$index === 0\\\" class=\\\"icon flat\\\" click.delegate=\\\"add()\\\"><i class=\\\"material-icons\\\">add</i></ka-button>\\n      <ka-button if.bind=\\\"$index > 0\\\" class=\\\"icon flat inverted\\\" click.delegate=\\\"remove($index)\\\"><i class=\\\"material-icons\\\">delete_outline</i></ka-button>\\n    </ka-flex-row>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless view.bind=\\\"viewStrategy\\\"></compose>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-loader.sass\\\"></require>\\n  <div id=\\\"loader-wrapper\\\">\\n    <div class=\\\"spinner-loader\\\"></div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <nav>\\n    <template repeat.for=\\\"link of links\\\">\\n      <a href=\\\"\\\" class.bind=\\\"link.class\\\" click.delegate=\\\"navigate(link.view)\\\">${link.label}</a>\\n    </template>\\n    <div>${title}</div>\\n  </nav>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ka-table .ka-table-button.filters {\\n      background-color: #ed5a23;\\n      color: #ffffff !important;\\n      opacity: 0.7;\\n    }\\n    ka-table .ka-table-button.filters:hover {\\n      background-color: #ed5a23;\\n      color: #ffffff !important;\\n      opacity: 1;\\n    }\\n    ka-table .ka-table-button.reset {\\n     color: #ffffff !important;\\n     z-index: 2;\\n    }\\n  </style>\\n  <ka-table\\n    view-model.ref=\\\"tableUsers\\\"\\n    endpoint=\\\"users/me/users\\\"\\n    query=\\\"?include=user-profiles\\\"\\n    columns=\\\"id,displayName\\\"\\n    filtrables=\\\"id,displayName,statusCode\\\"\\n    actions=\\\"filter\\\">\\n   <template replace-part=\\\"thead-tr\\\">\\n      <tr>\\n        <th repeat.for=\\\"column of schema\\\">\\n          <span>${column.label}</span>\\n          <!--<a if.bind=\\\"column.label && (column.field==='displayName')\\\" href=\\\"\\\" class=\\\"ka-sort-button ${settings.sort[column.field].class}\\\" click.delegate=\\\"set_sort(column)\\\"><i class=\\\"material-icons\\\">&#xE164;</i></a>-->\\n        </th>\\n        <th></th>\\n      </tr>\\n      <ka-table-filters schema.bind=\\\"schema\\\" filters.bind=\\\"settings.filters\\\" apply.call=\\\"apply_filters()\\\" reset.call=\\\"reset_filters()\\\"></ka-table-filters>\\n    </template>\\n\\n    <template replace-part=\\\"tbody-tr\\\">\\n      <tr>\\n        <td class=\\\"limitwidth\\\">${record.id}</td>\\n        <td class=\\\"limitwidth\\\">${record.profile[0].displayName}</td>\\n        <td class=\\\"ka-tr-tools\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"select(record)\\\">Seleziona</ka-button>\\n        </td>\\n      </tr>\\n    </template>\\n  </ka-table>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    md-prefsel {\\n      display: block;\\n      margin: 1rem;\\n      padding: 0;\\n      border: 1px solid #ed5a2344;\\n      background-color: #ed5a2322;\\n    }\\n    md-prefsel > ka-flex-row {\\n      padding: 0;\\n      align-items: center;\\n    }\\n    md-prefsel p {\\n      margin: 0;\\n      padding: 0.5rem 1rem;\\n      font-size: 1.4rem;\\n      line-height: 1rem;\\n      white-space: normal;\\n    }\\n    md-prefsel p.options {\\n     border-right: 0;\\n    }\\n    md-prefsel p.options a {\\n      font-weight: bold;\\n      color: #ed5a23;\\n    }\\n    md-prefsel i.material-icons {\\n      width: 5rem;\\n      height: 5rem;\\n      font-size: 4rem;\\n      color: #ed5a23;\\n      line-height: 5rem;\\n      text-align: center;\\n    }\\n  </style>\\n  <ka-flex-row>\\n    <i class=\\\"material-icons\\\">warning</i>\\n    <div>\\n      <p if.bind=\\\"!data\\\"><strong>Stai ${isOverride === false ? 'visualizzando' : 'modificando'} le ${label} ${isOverride === false ? 'predefinite' : ''} del tuo account principale</strong></p>\\n      <p if.bind=\\\"data\\\"><strong>Stai ${isOverride === false ? 'visualizzando' : 'modificando'} le ${label} ${isOverride === false ? 'predefinite' : ''} del ${context} <em>${data.displayName}</em></strong></p>\\n      <p if.bind=\\\"!data\\\" class=\\\"options\\\"><a if.bind=\\\"isOverride === false\\\" href=\\\"\\\" click.delegate=\\\"toggleOverride({model:{}})\\\">Modifica ${label} predefinite</a><a if.bind=\\\"isOverride\\\" href=\\\"\\\" click.delegate=\\\"toggleOverride({model:{}})\\\">Ripristina ${label} predefinite</a> ${isOverride !== null ? 'oppure seleziona' : 'Seleziona'} ${label} <a href=\\\"\\\" click.delegate=\\\"open()\\\">altro ${context}</a></p>\\n      <p if.bind=\\\"data\\\" class=\\\"options\\\"><a if.bind=\\\"isOverride === false\\\" href=\\\"\\\" click.delegate=\\\"toggleOverride({model:{}})\\\">Modifica ${label} predefinite</a><a if.bind=\\\"isOverride\\\" href=\\\"\\\" click.delegate=\\\"toggleOverride({model:{}})\\\">Ripristina ${label} predefinite</a> ${isOverride !== null ? 'oppure seleziona' : 'Seleziona'} ${label}: <a href=\\\"\\\" click.delegate=\\\"reset()\\\">account principale</a> o <a href=\\\"\\\" click.delegate=\\\"open()\\\">altro ${context}</a></p>\\n    </div>\\n  </ka-flex-row>\\n\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <slot></slot>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-pagination.scss\\\"></require>\\n  <div class=\\\"d-flex flex-nowrap\\\">\\n    <button click.trigger=\\\"paginate('start')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">first_page</i></button>\\n    <button click.trigger=\\\"paginate('back')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">chevron_left</i></button>\\n    \\n    <!-- Counter -->\\n    <span click.delegate=\\\"showOptions($event)\\\" class=\\\"count\\\">\\n      ${table.offset + 1} - ${(table.limit + table.offset) < table.total ? (table.limit + table.offset) :  table.total} di ${table.total}\\n\\n      <!-- Options -->\\n      <div if.bind=\\\"optionsShown\\\" class=\\\"options-tab d-flex justify-content-start\\\">\\n        <ka-control schema.bind=\\\"schema.limit\\\" value.bind=\\\"limit | integerCast\\\" label=\\\"Record per pagina\\\" class=\\\"no-clear\\\"></ka-control>\\n        <ka-control schema.bind=\\\"schema.page\\\" value.bind=\\\"page | integerCast:'page'\\\" label=\\\"Salta alla pagina\\\" style=\\\"margin-left: 2rem;\\\" class=\\\"no-clear\\\"></ka-control>\\n      </div>\\n    </span>\\n    <div if.bind=\\\"optionsShown\\\" class=\\\"options-background\\\" click.delegate=\\\"hideOptions()\\\"></div>\\n\\n    <button click.trigger=\\\"paginate('forward')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">chevron_right</i></button>\\n    <button click.trigger=\\\"paginate('end')\\\" class=\\\"d-inline-flex justify-content-center align-items-center\\\"><i class=\\\"material-icons\\\">last_page</i></button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-progressbar.sass\\\"></require>\\n  <div class=\\\"indeterminate\\\"></div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-sort.scss\\\"></require>\\n  <slot></slot>\\n  <a if.bind=\\\"!order\\\" href=\\\"\\\" click.delegate=\\\"sort()\\\"><i class=\\\"fal fa-sort-amount-down-alt\\\"></i></a>\\n  <a if.bind=\\\"order === 'asc'\\\" href=\\\"\\\" class=\\\"asc\\\" click.delegate=\\\"sort()\\\"><i class=\\\"fal fa-sort-amount-down-alt\\\"></i></a>\\n  <a if.bind=\\\"order === 'desc'\\\" href=\\\"\\\" class=\\\"desc\\\" click.delegate=\\\"sort()\\\"><i class=\\\"fal fa-sort-amount-up\\\"></i></a>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-toolbar.scss\\\"></require>\\n  <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\n    <div class=\\\"col buttons-left\\\">\\n      <!-- Search -->\\n      <button\\n        if.bind=\\\"buttons.includes('search')\\\"\\n        click.delegate=\\\"openSearch()\\\"\\n        class=\\\"toolbar-button ${search.active ? 'search-active' : ''}\\\">\\n        <i class=\\\"material-icons\\\">search</i>\\n        <span if.bind=\\\"search.active\\\" click.delegate=\\\"reset($event)\\\" class=\\\"with-filter\\\"><i class=\\\"material-icons\\\">do_not_disturb</i></span>\\n      </button>\\n      <!-- Download -->\\n      <button\\n        if.bind=\\\"buttons.includes('download')\\\"\\n        click.delegate=\\\"download()\\\"\\n        ka-tooltip=\\\"Scarica elenco\\\"\\n        class=\\\"toolbar-button\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </div>\\n    <div class=\\\"col d-flex justify-content-center flex-grow flex-wrap\\\">\\n      <md-table-pagination table.bind=\\\"table\\\" limits.bind=\\\"paginationLimits\\\"></md-table-pagination>\\n    </div>\\n    <div class=\\\"col buttons-right d-flex justify-content-end\\\">\\n      <slot></slot>\\n    </div>\\n  </div>\\n  <md-table-progressbar if.bind=\\\"table.isLoading\\\"></md-table-progressbar>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./search.scss\\\"></require>\\n\\n  <!-- Title -->\\n  <h2 class=\\\"d-flex justify-content-between align-items-center\\\">\\n    <span>Ricerca ${params.title}</span>\\n    <i class=\\\"material-icons close\\\" click.delegate=\\\"close()\\\">close</i>\\n  </h2>\\n\\n  <!-- Search form -->\\n  <div class=\\\"row inputs\\\" style=\\\"margin: 0;\\\">\\n    <template repeat.for=\\\"input of inputs\\\" >\\n      <div if.bind=\\\"params.search.schema[input].query\\\" class=\\\"input ${(params.search.schema[input].control === 'date' && (params.search.schema[input].query.includes('-gte') || params.search.schema[input].query.includes('-lte'))) ? 'col-6' : 'col-12'}\\\">\\n        <ka-control schema.bind=\\\"params.search.schema[input]\\\" value.bind=\\\"params.search.data[input]\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </template>\\n  </div>\\n\\n  <!-- Search buttons -->\\n  <div class=\\\"buttons d-flex flex-row-reverse\\\">\\n    <button click.delegate=\\\"search()\\\" class=\\\"ka-button\\\">Ricerca</button>\\n    <button click.delegate=\\\"reset()\\\" class=\\\"ka-button inverted\\\">Reset</button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./md-table-wrapper.scss\\\"></require>\\n  <slot></slot>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./agreement.sass\\\"></require>\\n\\n  <div class=\\\"agreement\\\">\\n    <h2 if.bind=\\\"!agreement.back && agreement.view.label\\\">${agreement.view.label}</h2>\\n    <div if.bind=\\\"agreement.view.content\\\" innerhtml.bind=\\\"agreement.view.content\\\" class=\\\"content\\\"></div>\\n\\n    <!-- Clauses -->\\n    <div if.bind=\\\"agreement.back && agreement.view.clauses && agreement.view.clauses.length\\\" class=\\\"clauses\\\">\\n      <h2 style=\\\"margin:0 0 2rem;\\\">Clausole</h2>\\n      <div repeat.for=\\\"clause of agreement.view.clauses\\\" class=\\\"clause\\\">\\n        <ka-control schema.bind=\\\"{ control: 'check', description: clause.label, readonly: true }\\\" value.bind=\\\"clause.accepted\\\" readonly=\\\"true\\\" style=\\\"margin: 0; padding: 0;\\\"></ka-control>\\n        <p>${clause.content}</p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <compose containerless if.bind=\\\"config\\\" view-model.bind=\\\"config.view\\\" model.bind=\\\"config.model\\\"></compose>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control1\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control2\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control3\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control4\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control5\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"control6\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button> \\n        <!--\\n        click.delegate=\\\"search()\\\" chiama la funzione search() dentro a searchInterface poiché il ka-button sta all'interno di un <div with.bind=\\\"searchInterface\\\">\\n        click.delegate=\\\"$parent.search()\\\" invece chiama la funzione search() dentro al controller di questa view\\n        -->\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>UUID</th>\\n            <th>Display Name</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td>${item.uuid}</td>\\n            <td>${item.profile[0].displayName}</td>\\n            <td class=\\\"d-flex flex-column align-items-end\\\">\\n              <ka-button>Action 1</ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Titolo</h2>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n    .property { color: #404040; }\\n    .property + .property:before { content: ', '; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <p style=\\\"margin: 0 0 1rem;\\\">Per un corretto utilizzo del sistema viene richiesto di completare i seguenti dati:</p>\\n    <strong repeat.for=\\\"property of missingProperties\\\" class=\\\"property\\\">${property | missingProperties}</strong>\\n  </div>\\n  <div class=\\\"footer d-flex justify-content-end\\\">\\n    <ka-button click.delegate=\\\"controller.ok()\\\">Correggi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\" flexbox=\\\"halign-center valign-center\\\">\\n    <div class=\\\"loginbox\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n      </header>\\n      <div class=\\\"form\\\">\\n        <p if.bind=\\\"email && source\\\" class=\\\"p-3\\\">\\n          Hai già utilizzato l'indirizzo email <strong>${email}</strong> per registrarti!\\n        </p>\\n    \\n        <ka-control class=\\\"no-clear mb-4\\\" name=\\\"username\\\" ka-enter.call=\\\"login()\\\"></ka-control>\\n        <ka-control class=\\\"no-clear\\\" name=\\\"password\\\" ka-enter.trigger=\\\"login()\\\"></ka-control>\\n      </div>\\n      <footer class=\\\"row justify-content-between mt-4 pt-2\\\">\\n        <div class=\\\"col-auto reset\\\">\\n          <i class=\\\"fas fa-lock-alt\\\"></i>\\n          <a href=\\\"/password-recovery\\\">Password dimenticata?</a>  \\n        </div>\\n        <div class=\\\"col-auto\\\">\\n          <ka-button click.delegate=\\\"login($event)\\\">Login</ka-button>\\n        </div>\\n      </footer>\\n    </div>\\n    <div class=\\\"outbox\\\">\\n      <p class=\\\"mb-0\\\">Non hai un account <strong>MULTI</strong>DIALOGO<span style=\\\"font-size: 0.6rem; vertical-align: super;\\\">&#174;</span>?</p>\\n      <ka-button class=\\\"secondary\\\" href=\\\"/registrazione\\\">Registrati subito!</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template></template>\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\">\\n    <div class=\\\"loginbox\\\" style=\\\"position: relative;\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <a href=\\\"login\\\" style=\\\"position: absolute; top: 1rem; right: 1.5rem\\\">\\n          <i class=\\\"fal fa-times\\\" style=\\\"font-size: 2rem;\\\"></i>\\n        </a>\\n      </header>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"!params.token && !email\\\">\\n        <p><strong>Recupero password</strong><br>Inserisci <em>username</em>, <em>indirizzo email</em>, <em>codice fiscale</em> oppure <em>partita iva</em>.</p>\\n        <ka-input view-model.ref=\\\"uid\\\" class=\\\"no-clear\\\" ka-enter.call=\\\"start()\\\" config.bind=\\\"{ label: 'Identificativo', field: 'uniqueIdentifier', control: 'text', required: true }\\\" value.bind=\\\"uniqueIdentifier\\\"></ka-input>\\n        <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"start($event)\\\">Procedi</ka-button></ka-flex-row>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"!params.token && email\\\">\\n        <p>Abbiamo inviato un email all'indirizzo<br><strong>${email}</strong><br>con le istruzioni per il recupero della password.</p>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"params.token && !success\\\">\\n        <p>Inserisci la tua nuova password:</p>\\n        <ka-input class=\\\"no-clear\\\" view-model.ref=\\\"pass1\\\" ka-enter.call=\\\"end()\\\" config.bind=\\\"{ label: 'Nuova password', field: 'password1', control: 'password', required: true }\\\" value.bind=\\\"password1\\\"></ka-input>\\n        <ka-input class=\\\"no-clear no-show\\\" view-model.ref=\\\"pass2\\\" ka-enter.call=\\\"end()\\\" config.bind=\\\"{ label: 'Conferma nuova password', field: 'password2', control: 'password', required: true }\\\" value.bind=\\\"password2\\\"></ka-input>\\n        <p class=\\\"errorMessage\\\" if.bind=\\\"error\\\">${error}</p>\\n        <ka-flex-row class=\\\"no-padding\\\"><ka-button click.delegate=\\\"end($event)\\\">Procedi</ka-button></ka-flex-row>\\n      </div>\\n\\n      <div class=\\\"form\\\" if.bind=\\\"params.token && success\\\">\\n        <p>La tua nuova password è stata reimpostata correttamente!</p>\\n        <p><a href=\\\"login\\\">Torna alla schermata di Login</a></p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../static/images/brand.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"../../accesso/login.sass\\\"></require>\\n  <div class=\\\"wrapper\\\">\\n    <div class=\\\"loginbox\\\" style=\\\"position: relative;\\\">\\n      <header>\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n      </header>\\n\\n      <div class=\\\"form\\\">\\n        <p>Per richiedere la cancellazione del tuo account contatta la nostra assistenza all'indirizzo <a href=\\\"mailto:assistenza@multidialogo.it\\\">assistenza@multidialogo.it</a></p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <p if.bind=\\\"pendingInit\\\">Caricamento in corso...</p>\\n  <template if.bind=\\\"!pendingInit\\\">\\n    <div class=\\\"body p-3\\\">\\n      <ka-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeReseller()\\\" class=\\\"mb-3\\\"></ka-control>\\n      <ka-control name=\\\"resellerCode\\\" buttons=\\\"dropdown\\\" class=\\\"mb-3\\\" if.bind=\\\"reseller\\\"></ka-control>\\n      <ka-control name=\\\"rewardedServiceCode\\\" buttons=\\\"dropdown\\\" if.bind=\\\"reseller\\\"></ka-control>\\n    </div>\\n  </template>\\n  <div class=\\\"footer d-flex justify-content-end p-2\\\" style=\\\"border-top: 1px solid #e5e5e5; text-align: right;\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./sponsor-agreement.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n    <ka-control name=\\\"agreementText\\\" class=\\\"mb-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\" >\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button disabled.bind=\\\"pendingSave\\\" click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./landing-pages.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div with.bind=\\\"searchInterface\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"referralCode\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"listCode\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"searchStatus\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div with.bind=\\\"searchInterface\\\" class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">    \\n    <!-- Table -->\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Data creazione</th>\\n            <th>Accordo Sponsor</th>\\n            <th>Stato</th>\\n            <th>Descrizione</th>\\n            <th>Listino temporaneo</th>\\n            <th>Durata gg. list. temporaneo</th>\\n            <th>Listino definitivo</th>\\n            <th>Segnalatori</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>\\n                <small class=\\\"text-color\\\">${record.referralCode}</small>\\n              </td>\\n              <td>\\n                <small class=\\\"text-color\\\">${record.createdAt|dateFormat}</small>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control \\n                  schema.bind=\\\"searchInterface.schema.sponsorUuid\\\" \\n                  value.bind=\\\"record.sponsorUuid\\\" \\n                  client.bind=\\\"api\\\" \\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n                <small \\n                  if.bind=\\\"record.sponsorUuid\\\" \\n                  click.delegate=\\\"openSponsorDialog(record)\\\" \\n                  class=\\\"sponsor-dialog\\\">\\n                  Imposta testo accordo\\n                </small>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.status\\\"\\n                  value.bind=\\\"record.status\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['description']\\\"\\n                  schema.bind=\\\"searchInterface.schema.description\\\"\\n                  value.bind=\\\"record.description\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['temporaryPriceListCode']\\\"\\n                  schema.bind=\\\"searchInterface.schema.temporaryPriceListCode\\\"\\n                  value.bind=\\\"record.temporaryPriceListCode\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ps-0\\\">\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['temporaryPriceListCodeDurationInDays']\\\"\\n                  schema.bind=\\\"searchInterface.schema.temporaryPriceListCodeDurationInDays\\\"\\n                  value.bind=\\\"record.temporaryPriceListCodeDurationInDays\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td>\\n                <ka-control\\n                  view-model.ref=\\\"record.controls['definitivePriceListCode']\\\"\\n                  schema.bind=\\\"searchInterface.schema.definitivePriceListCode\\\"\\n                  value.bind=\\\"record.definitivePriceListCode\\\"\\n                  readonly.bind=\\\"!editEnabled\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"edit(record)\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"reseller-tags\\\">\\n                <div if.bind=\\\"record.resellerTags\\\" class=\\\"d-flex flex-wrap text-start\\\">\\n                  <div repeat.for=\\\"tag of record.resellerTags\\\" class=\\\"tag secondary\\\">\\n                    <p>${tag.userDisplayName}<br>\\n                      <span>${tag.resellerCode} - ${tag.rewardedServiceName}</span>\\n                    </p>\\n                    <i class=\\\"fal fa-times\\\" click.delegate=\\\"deleteResellerTag(tag)\\\"></i>\\n                  </div>\\n                </div>              \\n              </td>\\n              <td class=\\\"text-end\\\">\\n                <ka-button class=\\\"icon inverted secondary flat\\\" click.delegate=\\\"addResellerTag(record)\\\">\\n                  <i class=\\\"fal fa-plus\\\"></i>\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti profili di fatturazione</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Ricerca</h2>\\n  <div class=\\\"row gx-3 px-3 pb-3\\\">\\n    <div class=\\\"col-4\\\">\\n      <ka-control name=\\\"abiCode\\\"></ka-control>\\n    </div>\\n    <div class=\\\"col-4\\\">\\n      <ka-control name=\\\"cabCode\\\"></ka-control>\\n    </div>\\n  </div>\\n\\n  <h2>Inserimento dati</h2>\\n  <div class=\\\"d-flex justify-content-between px-3\\\">\\n    <div class=\\\"w-50 pe-3\\\" style=\\\"border-right: 1px solid #e0e0e0;\\\">\\n      <ka-control name=\\\"instituteName\\\" buttons=\\\"clear\\\"></ka-control>\\n      <div class=\\\"pt-3\\\">\\n        <ka-control name=\\\"officeName\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n    <div class=\\\"row g-3 w-50\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"countryCode\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('countryCode')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl1\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl1')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl2\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl2')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"admLvl3\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.trigger=\\\"initGeo('admLvl3')\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-8\\\">\\n        <ka-control name=\\\"streetAddress\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-4\\\">\\n        <ka-control name=\\\"zipCode\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n\\n  <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n    <ka-button click.trigger=\\\"reset()\\\" class=\\\"inverted mx-0\\\">Reset</ka-button>\\n    <ka-button click.trigger=\\\"save()\\\" disabled.bind=\\\"pendingSave\\\">Salva e prosegui</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .notes > md-input, .notes > md-input > textarea  { height: calc(100% - 3rem); }\\n  </style>\\n\\n  <h2>Dati Anagrafici</h2>\\n  <md-table-progressbar if.bind=\\\"pending\\\"></md-table-progressbar>\\n\\n  <md-resource\\n    if.bind=\\\"!pending\\\"\\n    class=\\\"rubrica-dati\\\"\\n    view-model.ref=\\\"contact.resource\\\"\\n    with.bind=\\\"contact.resource\\\"\\n    endpoint.bind=\\\"contact.endpoint\\\"\\n    schema.bind=\\\"contact.schema\\\"\\n    data.bind=\\\"contact.data\\\">\\n\\n    <!-- Form -->\\n    <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\n\\n      <!-- Dati utente -->\\n      <div class=\\\"col-6\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- Group -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"contactGroups\\\" client.bind=\\\"api\\\"></md-input>\\n          </div>\\n\\n          <!-- Company name -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"companyName\\\"></md-input>\\n          </div>\\n\\n          <!-- Nickname -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"nickname\\\"></md-input>\\n          </div>\\n\\n          <!-- JobTitle -->\\n          <div class=\\\"col-3\\\">\\n            <md-input name=\\\"jobTitle\\\"></md-input>\\n          </div>\\n\\n          <!-- First Name -->\\n          <div class=\\\"col\\\">\\n            <md-input name=\\\"firstname\\\"></md-input>\\n          </div>\\n\\n          <!-- Last name -->\\n          <div class=\\\"col\\\">\\n            <md-input name=\\\"lastname\\\"></md-input>\\n          </div>\\n\\n          <!-- Fiscal code -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"fiscalCode\\\"></md-input>\\n          </div>\\n\\n          <!-- VAT code -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"vatCode\\\"></md-input>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Dati locazione -->\\n      <div class=\\\"col-6\\\" style=\\\"box-shadow: -1px 0 1px -1px #ed5a23;\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- Countrycode -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"countryCode\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" ready.call=\\\"setGeo('countryCode', true)\\\" change.call=\\\"setGeo('countryCode')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl1Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl1Uuid.enabled\\\" readonly.bind=\\\"!contact.data.countryCode\\\" name=\\\"admLvl1Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" ready.call=\\\"setGeo('admLvl1Uuid', true)\\\" change.call=\\\"setGeo('admLvl1Uuid')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl2Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl2Uuid.enabled\\\" readonly.bind=\\\"!contact.data.admLvl1Uuid\\\" name=\\\"admLvl2Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" readonly.bind=\\\"!contact.data.admLvl1Uuid\\\" ready.call=\\\"setGeo('admLvl2Uuid', true)\\\" change.call=\\\"setGeo('admLvl2Uuid')\\\"></md-input>\\n          </div>\\n  \\n          <!-- admLvl3Uuid -->\\n          <div class=\\\"col-6\\\">\\n            <md-input if.bind=\\\"contact.schema.admLvl3Uuid.enabled\\\" readonly.bind=\\\"!contact.data.admLvl2Uuid\\\" name=\\\"admLvl3Uuid\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\" readonly.bind=\\\"!contact.data.admLvl2Uuid\\\"></md-input>\\n          </div>\\n\\n          <!-- streetAddress -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"streetAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- addressee -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"addressee\\\"></md-input>\\n          </div>\\n\\n          <!-- Locality -->\\n          <div class=\\\"col-9\\\">\\n            <md-input name=\\\"locality\\\"></md-input>\\n          </div>\\n\\n          <!-- ZipCode -->\\n          <div class=\\\"col-3\\\">\\n            <md-input name=\\\"zipCode\\\"></md-input>\\n          </div>\\n\\n          <!-- Email -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"emailAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- Pec -->\\n          <div class=\\\"col-6\\\">\\n            <md-input name=\\\"certifiedEmailAddress\\\"></md-input>\\n          </div>\\n\\n          <!-- homePhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"homePhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"homePhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- workPhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"workPhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"workPhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- mobilePhoneNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"mobilePhoneNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"mobilePhoneNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n\\n          <!-- faxNumber -->\\n          <div class=\\\"col-6\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\" style=\\\"max-width:50px;padding-right:0\\\"><md-input class=\\\"no-buttons show-label-overflow\\\" name=\\\"faxNumberInternationalPrefix\\\"></md-input></div>\\n              <div class=\\\"col\\\" style=\\\"padding-left:5px\\\"><md-input class=\\\"no-buttons no-label\\\" name=\\\"faxNumber\\\"></md-input></div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <!-- Dati aggiuntivi -->\\n    <h2>Dati aggiuntivi</h2>\\n    <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\n\\n      <!-- Notes -->\\n      <div class=\\\"col-6 notes\\\">\\n        <md-input name=\\\"notes\\\"></md-input>\\n      </div>\\n\\n      <div class=\\\"col-6\\\">\\n        <div class=\\\"row\\\">\\n\\n          <!-- webSite -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"webSiteUrl\\\"></md-input>\\n          </div>\\n\\n          <!-- uniqueCode -->\\n          <div class=\\\"col-12\\\">\\n            <md-input name=\\\"uniqueCode\\\"></md-input>\\n          </div>\\n\\n          <!-- newsletterOptIn -->\\n          <div class=\\\"col-4\\\">\\n            <md-input name=\\\"newsletterOptIn\\\"></md-input>\\n          </div>\\n\\n          <!-- newsletterOptInDate -->\\n          <div class=\\\"col-8\\\">\\n            <md-input name=\\\"newsletterOptInDate\\\"></md-input>\\n          </div>\\n        </div>\\n      </div>\\n\\n       <!-- Buttons -->\\n      <div class=\\\"buttons col-12\\\" style=\\\"display: flex; justify-content: flex-end;\\\">\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\" style=\\\"margin-right: 0;\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"contact.save($event)\\\" style=\\\"margin-right: 0;\\\">Salva</ka-button>\\n      </div>\\n    </div>\\n  </md-resource>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n    .checkbox + .checkbox { margin-top: 1.5rem; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <strong>Confermi di voler eliminare il gruppo selezionato?</strong>\\n    <ka-input config.bind=\\\"{control: 'check', label: '', description: 'Elimina i contatti appartenenti solo a questo gruppo'}\\\" value.bind=\\\"deleteContacts\\\"></ka-input>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok({ deleteContacts: deleteContacts })\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body {\\n      padding: 2rem;\\n    }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    Confermi di voler eliminare <span if.bind=\\\"!multipleRecords\\\">il contatto selezionato</span><span if.bind=\\\"multipleRecords\\\">i contatti selezionati</span>?\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Groups -->\\n  <template if.bind=\\\"!params.id\\\">\\n    <!-- Title -->\\n    <h2>\\n      <span>Elenco ${mdt.parsers.contextualize(api.user, 'gruppi')}</span>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo gruppo</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"contatti()\\\"><i class=\\\"material-icons\\\">contact_phone</i> Gestione contatti</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"groupsTableInterface.data || groupsTableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"groupsTableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like contacts_table\\\">\\n          <thead if.bind=\\\"groupsTableInterface.data.length\\\">\\n            <tr>\\n              <th>Nome</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"groupsTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of groupsTableInterface.data\\\">\\n              <td>${record.name}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"elimina(record)\\\" ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'gruppi')}`\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"modifica(record)\\\" ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'gruppi')}`\\\"><i class=\\\"material-icons\\\">edit</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!groupsTableInterface.data.length\\\">Non sono presenti gruppi</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- Edit Group -->\\n  <template if.bind=\\\"params.id\\\">\\n    <!-- Title -->\\n    <h2 if.bind=\\\"params.id !== 'new'\\\">Modifica Gruppo</h2>\\n    <h2 if.bind=\\\"params.id === 'new'\\\">Crea Gruppo</h2>\\n\\n    <md-resource\\n      view-model.ref=\\\"group.resource\\\"\\n      with.bind=\\\"group.resource\\\"\\n      endpoint.bind=\\\"group.endpoint\\\"\\n      schema.bind=\\\"group.schema\\\"\\n      data.bind=\\\"group.data\\\">\\n\\n      <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\n        <md-input class=\\\"col group-name\\\" name=\\\"name\\\" style=\\\"margin-left: 1rem;\\\"></md-input>\\n\\n        <!-- Buttons -->\\n        <div class=\\\"col\\\" style=\\\"display: flex; justify-content: flex-end;\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\" style=\\\"margin-right: 0;\\\">Annulla</ka-button>\\n          <ka-button click.delegate=\\\"group.save($event)\\\" style=\\\"margin-right: 0;\\\">Salva</ka-button>\\n        </div>\\n      </div>\\n    </md-resource>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./rubrica-importazione.scss\\\"></require>\\n  <template if.bind=\\\"!bind && loading\\\">\\n    <h2>Importazione contatti</h2>\\n    <p>Caricamento in corso...</p>\\n  </template>\\n  <div if.bind=\\\"!records && !loading\\\">\\n    <h2>Importazione contatti <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button></h2>\\n\\n    <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">1</div>\\n          <p class=\\\"step-title\\\">Scarica il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Scarica il seguente modello excel per importare i tuoi contatti.</p>\\n          </div>\\n          <a class=\\\"ka-button\\\" href=\\\"https://rest.multidialogo.it/res/modello_importazione_contatti.csv\\\" target=\\\"_blank\\\">Scarica</a> <!-- Todo aggiornare href con modello importazione.. -->\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">2</div>\\n          <p class=\\\"step-title\\\">Compila il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.</p>\\n          </div>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 50-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">3</div>\\n          <p class=\\\"step-title\\\">Carica il file</p>\\n          <div ka-flex-col class=\\\"step-description\\\">\\n            <ka-control ka-flex schema.bind=\\\"{ label: 'Carica foglio di calcolo (excel, csv, ...)', control: 'file', required: true }\\\" value.bind=\\\"file\\\" placeholder=\\\"Seleziona o trascina qui il file\\\"></ka-control>\\n          </div>\\n          <ka-button click.delegate=\\\"carica($event)\\\">Carica</ka-button>\\n        </div>\\n      </div>\\n    </ka-flex-row>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./rubrica.scss\\\"></require>\\n  <template if.bind=\\\"rubricaSearchInterface.initialized\\\"></template>\\n    <h2>Ricerca Contatti</h2>\\n    \\n    <!-- Form -->\\n    <div class=\\\"row\\\" style=\\\"margin: 0; margin-right: 1rem;\\\">\\n      <div class=\\\"col-sm-12 col-md-4 col-xl-4 ricerca_libera\\\">\\n        <ka-input \\n          ka-enter.call=\\\"ricerca()\\\" \\n          config.bind=\\\"rubricaSearchInterface.schema.textSearch\\\" \\n          value.bind=\\\"rubricaSearchInterface.data.textSearch\\\" \\n          md-tooltip=\\\"<ul><li>Inserire <em>adr:indirizzo</em> per fare una ricerca per indirizzo, es: adr:garibaldi</li><li>Inserire direttamente l'email per cercare per email, es: mario.rossi@multidialogo.it</li></ul>\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col nazione\\\">\\n        <ka-input \\n          config.bind=\\\"rubricaSearchInterface.schema.countryCode\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.countryCode\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl1\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl1\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl1\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.countryCode\\\" \\n          change.call=\\\"initGeo('admLvl1')\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl2\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl2\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl2\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.admLvl1\\\" \\n          change.call=\\\"initGeo('admLvl2')\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\" style=\\\"padding-right: 0;\\\">\\n        <ka-input\\n          view-model.ref=\\\"searchControlAdmLvl3\\\"\\n          config.bind=\\\"rubricaSearchInterface.schema.admLvl3\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.admLvl3\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\" \\n          readonly.bind=\\\"!rubricaSearchInterface.data.admLvl2\\\" \\n          change.call=\\\"initGeo('admLvl3')\\\">\\n        </ka-input>\\n      </div>\\n    </div>\\n    <div class=\\\"row\\\" style=\\\"margin: 0; margin-right: 1rem;\\\">\\n      <div class=\\\"col-4 gruppo\\\">\\n        <ka-input \\n          config.bind=\\\"rubricaSearchInterface.schema.group\\\"\\n          value.bind=\\\"rubricaSearchInterface.data.group\\\"\\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open\\\">\\n        </ka-input>\\n      </div>\\n      <div class=\\\"col\\\" style=\\\"display: flex; padding-right: 0\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\" style=\\\"margin: 0; margin-top: 14px; margin-left: auto;\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\" style=\\\"margin: 0; margin-top: 14px; margin-left: 1rem;\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n\\n    <!-- Title -->\\n    <h2>\\n      <span>Elenco contatti</span>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"importa()\\\"><i class=\\\"material-icons\\\">download</i> Importa</ka-button>\\n      <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"gruppi()\\\"><i class=\\\"material-icons\\\">groups</i> Gruppi</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"rubricaTableInterface.data || rubricaTableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"rubricaTableInterface\\\" search.bind=\\\"rubricaSearchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like contacts_table\\\">\\n          <thead if.bind=\\\"rubricaTableInterface.data.length\\\">\\n            <tr click.delegate=\\\"toggleAllContacts(rubricaTableInterface.data)\\\" style=\\\"cursor: pointer;\\\">\\n              <th><input type=\\\"checkbox\\\" checked.bind=\\\"rubricaTableInterface.data.length === selected.length\\\" style=\\\"pointer-events: none;\\\"></th>\\n              <th>Denominazione</th>\\n              <th>Gruppi</th>\\n              <th>Email</th>\\n              <th>Numeri telefonici</th>\\n              <th>Indirizzo postale</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"rubricaTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of rubricaTableInterface.data\\\" click.delegate=\\\"selectContact(record)\\\" style=\\\"cursor: pointer;\\\">\\n              <td>\\n                <input type=\\\"checkbox\\\" model.bind=\\\"record\\\" checked.bind=\\\"selected\\\" style=\\\"cursor: pointer; pointer-events: none;\\\">\\n              </td>\\n\\n              <!-- Display name -->\\n              <td>\\n                <strong if.bind=\\\"record.jobTitle && (record.lastname || record.firstname)\\\" style=\\\"display: inline;\\\">${record.jobTitle}</strong>\\n                <strong if.bind=\\\"record.lastname\\\" style=\\\"display: inline;\\\">${record.lastname}</strong>\\n                <strong if.bind=\\\"record.firstname\\\" style=\\\"display: inline;\\\">${record.firstname}</strong>\\n                <span if.bind=\\\"record.companyName\\\">${record.companyName}</span>\\n                <small if.bind=\\\"record.notes && record.notes.length\\\">${record.notes.slice(0, 32)}${record.notes.length > 32 ? '...' : ''}</small>\\n              </td>\\n\\n              <!-- Groups -->\\n              <td>\\n                <template repeat.for=\\\"group of record.contactGroups\\\"><span if.bind=\\\"contactGroups && contactGroups[group]\\\">${contactGroups[group].name}</span></template>\\n              </td>\\n\\n              <!-- Email/Pec -->\\n              <td>\\n                <span if.bind=\\\"record.emailAddress\\\"><strong>Email: </strong><small>${record.emailAddress}</small></span>\\n                <span if.bind=\\\"record.certifiedEmailAddress\\\"><strong>Pec: </strong><small>${record.certifiedEmailAddress}</small></span>\\n              </td>\\n\\n              <!-- Telephone -->\\n              <td>\\n                <span if.bind=\\\"record.homePhoneNumber\\\"><strong>Casa: </strong><small>${record.homePhoneNumber}</small></span>\\n                <span if.bind=\\\"record.workPhoneNumber\\\"><strong>Lavoro: </strong> <small>${record.workPhoneNumber}</small></span>\\n                <span if.bind=\\\"record.mobilePhoneNumber\\\"><strong>Cellulare: </strong><small>${record.mobilePhoneNumber}</small></span>\\n              </td>\\n\\n              <!-- Address -->\\n              <td>\\n                <small>\\n                  <span if.bind=\\\"record.streetAddress\\\">${record.streetAddress}</span>\\n                  <br if.bind=\\\"record.streetAddress && (record.zipCode || record.admLvl3Uuid || record.admLvl2Uuid || record.countryCode)\\\">\\n                  <span if.bind=\\\"record.zipCode\\\">${record.zipCode}</span><span if.bind=\\\"record.zipCode && (record.admLvl3 || record.admLvl2)\\\"> -</span>\\n                  <span if.bind=\\\"record.admLvl3Uuid\\\">${record.admLvl3} </span>\\n                  <span if.bind=\\\"record.admLvl2Uuid\\\"><span if.bind=\\\"record.admLvl3Uuid\\\">(</span>${record.admLvl2}<span if.bind=\\\"record.admLvl3Uuid\\\">)</span></span>\\n                  <span if.bind=\\\"record.countryCode !== 'IT'\\\"><span if.bind=\\\"record.zipCode || record.admLvl3 || record.admLvl2\\\"> - </span>${record.countryCode}</span>\\n                </small>\\n              </td>\\n\\n              <!-- Buttons -->\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"elimina($event, record)\\\" ka-tooltip=\\\"Elimina contatto\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"modifica($event, record)\\\" ka-tooltip=\\\"Modifica dati contatto\\\"><i class=\\\"material-icons\\\">edit</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"rubricaTableInterface.data.length\\\" colspan=\\\"7\\\">\\n                <ka-button class=\\\"inverted flat d-inline-block\\\" click.delegate=\\\"deleteContacts()\\\" disabled.bind=\\\"!selected.length\\\" style=\\\"margin-left:0;\\\"><i class=\\\"material-icons\\\">delete_forever</i> Elimina selezionati</ka-button>\\n                <ka-button class=\\\"inverted flat d-inline-block\\\" click.delegate=\\\"esporta()\\\" disabled.bind=\\\"!selected.length\\\" style=\\\"margin-left:0;\\\"><i class=\\\"material-icons\\\">download</i> Esporta selezionati per invio da interfaccia tradizionale</ka-button>\\n              </td>\\n              <td if.bind=\\\"!rubricaTableInterface.data.length\\\">Non sono presenti contatti in rubrica</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./migrate-subuser.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"m-0\\\">Confermi di voler <strong>migrare</strong> l'utente selezionato?</p>\\n    <ka-control name=\\\"migrationRecipient\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-3\\\"></ka-control>\\n    <ka-control name=\\\"migrationReason\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.trigger=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button disabled.bind=\\\"pendingSave\\\" click.trigger=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-add-reseller.sass\\\"></require>\\n  <p if.bind=\\\"pending\\\">Caricamento in corso...</p>\\n  <template if.bind=\\\"!pending\\\">\\n    <div class=\\\"body p-3\\\">\\n      <ka-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeReseller()\\\" class=\\\"mb-3\\\"></ka-control>\\n      <ka-control name=\\\"resellerCode\\\" buttons=\\\"dropdown\\\" class=\\\"mb-3\\\" readonly.bind=\\\"!resource.data.uuid\\\"></ka-control>\\n      <ka-control name=\\\"serviceGroupCode\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!resource.data.uuid\\\"></ka-control>\\n    </div>\\n  </template>\\n  <div class=\\\"footer d-flex justify-content-end\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-delete-billing-profile.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    Confermi di voler eliminare il profilo selezionato?\\n    <div if.bind=\\\"params.forceEnabled\\\">\\n      <ka-input config.bind=\\\"{ control: 'check' }\\\" value.bind=\\\"force\\\" label=\\\"Forza cancellazione\\\"></ka-input>\\n    </div>\\n    <!-- <p class=\\\"m-0\\\">E' necessario cancellare le seguenti richieste mav per procedere:</p>\\n    <ul class=\\\"mt-3\\\">\\n      <li>\\n        <span>Richiesta del fiduciario Mamoka S.r.l</span>\\n      </li>\\n      <li>\\n        <span>Richiesta del fiduciario NicolaKArtell 3</span>\\n      </li>\\n    </ul> -->\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok(force)\\\">Procedi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./profilo-document-upload.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pending\\\" class=\\\"m-0 mt-3\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"!pending\\\">\\n      <p class=\\\"mx-0 mt-0\\\">\\n        <strong>${type.label}</strong>\\n        <small if.bind=\\\"document\\\"><br>Caricato il: ${document.uploadedAt|dateFormat}</small>\\n      </p>\\n      <ka-control name=\\\"file\\\" buttons=\\\"clear\\\"></ka-control>\\n      <ka-control if.bind=\\\"type.placeholderType && ibanCodes\\\" name=\\\"placeholder\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-3\\\"></ka-control>\\n      <ka-control if.bind=\\\"type.placeholderType && !ibanCodes\\\" name=\\\"placeholder\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event)\\\" disabled.bind=\\\"buttonPending\\\">Carica</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body { padding: 2rem; }\\n    .footer { display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right; }\\n    .body > p { margin-left: 0; margin-right: 0; }\\n    .body > small { \\n      font-size: 1.2rem;\\n      line-height: 1.5rem;\\n      color: rgba(237, 90, 35, 0.7);\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <small><i class=\\\"fas fa-exclamation-triangle\\\" style=\\\"margin-right: .5rem;\\\"></i>Attenzione</small>\\n    <p style=\\\"margin-top: .5rem; margin-bottom: .5rem;\\\">L'utente verrà archiviato definitivamente e non sarà più possibile riattivarlo. I vecchi ordini continueranno ad essere visibili per l'utente master.</p>\\n    <p if.bind=\\\"resource.data.reason === 'MIGRATION'\\\" style=\\\"margin-top: 0;\\\">Verrà creato un nuovo utente con gli stessi dati di fatturazione. Tutti gli ordini non fatturati e tutte le flat service attive verranno migrate verso questo nuovo utente.</p>\\n    <ka-control name=\\\"reason\\\"></ka-control>\\n    <ka-input name=\\\"newParentUserUuid\\\" if.bind=\\\"resource.data.reason === 'MIGRATION'\\\" class=\\\"no-add no-open\\\"  style=\\\"margin: 3rem 0 .5rem\\\"></ka-input>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <p>L'utente selezionato è già presente in MultiDialogo.<br><strong>Confermi di voler aggiornare i dati di questo utente?</strong></p>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"controller.ok()\\\">Aggiorna</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./utenti.sass\\\"></require>\\n  <md-nav-utenti user-id.bind=\\\"params.id\\\"></md-nav-utenti>\\n  <!-- USERS LIST VIEW -->\\n  <template if.bind=\\\"!params.id && !params.view\\\">\\n    <compose containerless view-model=\\\"${views.elenco.vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n  <!-- DOCUMENTS/BILLING VIEWS -->\\n  <template if.bind=\\\"!params.id && params.view\\\">\\n    <compose containerless view-model=\\\"${views[params.view].vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n  <!-- USER PROFILE VIEWS -->\\n  <template if.bind=\\\"params.id && params.view\\\">\\n    <compose containerless view-model=\\\"${views[params.view].vm}\\\" model.bind=\\\"params\\\"></compose>\\n  </template>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"!pendingInit && !pendingLoad\\\">\\n    <h2>Dati anagrafici</h2>\\n    <div class=\\\"row m-0 mb-4\\\">\\n      \\n      <!-- User data (left side) -->\\n      <div class=\\\"col-12 pb-4 col-md-6 pb-md-0 user-data\\\" style=\\\"padding: 0 0.75rem; box-shadow: 1px 0 0 0 #e0e0e0\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div if.bind=\\\"isOperator\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"group\\\" \\n              buttons=\\\"dropdown,clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.countryCode\\\" \\n              client.bind=\\\"api\\\" \\n              change.trigger=\\\"setGeo('countryCode')\\\" \\n              buttons=\\\"dropdown\\\"\\n              class=\\\"d-block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-8 pb-4\\\">\\n            <ka-control\\n              name=\\\"profile.companyLegalFormCode\\\"\\n              change.trigger=\\\"changeLegalForm()\\\"\\n              buttons=\\\"dropdown\\\"\\n              class=\\\"d-block\\\">\\n            </ka-control>\\n          </div>\\n          <div if.bind=\\\"(params.id === 'new' && api.user.profile.businessType !== 'BUILDING-ADMINISTRATOR') || (params.id !== 'new' && resource.schema.profile.businessType.datasource.length > 1)\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control\\n              name=\\\"profile.businessType\\\"\\n              buttons=\\\"dropdown\\\"\\n              class=\\\"d-block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.holderName.companyName\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-6 col-xl-2 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.courtesyTitle\\\" \\n              buttons=\\\"dropdown,clear\\\"\\n              class=\\\"d-block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-6 col-xl-5 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.holderName.firstname\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-5 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.holderName.lastname\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.fiscalCode\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <ka-control \\n              name=\\\"profile.vatCode\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Location data (right side) -->\\n      <div class=\\\"col-12 col-md-6 px-1 location-data\\\">\\n        <div class=\\\"row m-0\\\" style=\\\"padding: 0 0.75rem;\\\">\\n          <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.admLvl1Uuid\\\"\\n              change.trigger=\\\"setGeo('admLvl1Uuid')\\\" \\n              readonly.bind=\\\"params.id === 'new' && !profile.location.countryCode\\\"\\n              client.bind=\\\"api\\\" \\n              buttons=\\\"dropdown\\\"\\n              style=\\\"display: block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.admLvl2Uuid\\\" \\n              change.trigger=\\\"setGeo('admLvl2Uuid')\\\"\\n              readonly.bind=\\\"params.id === 'new' && !profile.location.admLvl1Uuid\\\"\\n              client.bind=\\\"api\\\" \\n              buttons=\\\"dropdown\\\"\\n              style=\\\"display: block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-md-6 col-xl-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.admLvl3Uuid\\\"\\n              readonly.bind=\\\"params.id === 'new' && !profile.location.admLvl2Uuid\\\" \\n              client.bind=\\\"api\\\" \\n              buttons=\\\"dropdown\\\"\\n              style=\\\"display: block\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-md-6 col-xl-8 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.streetAddress\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-4 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.zipCode\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div> \\n          <div class=\\\"col-8 col-xl-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.location.locality\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.email\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control \\n              name=\\\"profile.pec\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-4 pb-4 pb-xl-0\\\">\\n            <ka-control \\n              name=\\\"profile.phoneNumber\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-4 pb-4 pb-xl-0\\\">\\n            <ka-control \\n              name=\\\"profile.mobilePhoneNumber\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n          <div class=\\\"col-12 col-xl-4\\\">\\n            <ka-control \\n              name=\\\"profile.faxNumber\\\" \\n              buttons=\\\"clear\\\">\\n            </ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <template if.bind=\\\"params.id !== 'new' || (params.id === 'new' && (resource.data.profile.businessType && resource.data.profile.businessType !== 'BUILDING') || (api.user.profile.businessType !== 'BUILDING-ADMINISTRATOR'))\\\">\\n      <h2>Dati di accesso <ka-button if.bind=\\\"ENVIRONMENT.APP_DEBUG === 'true' && params.id === 'me'\\\" class=\\\"inverted\\\" click.delegate=\\\"copyServiceToken()\\\">Copia service token</ka-button></h2>\\n      <div class=\\\"row m-0 mb-4 login-data\\\" style=\\\"padding: 0 0.75rem;\\\">\\n        <div class=\\\"col-12 pb-4 col-md-6 pd-md-0\\\">\\n          <ka-control name=\\\"profile.username\\\" readonly.bind=\\\"resource.data.profile.businessType === 'BUILDING'\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6\\\">\\n          <ka-control name=\\\"password\\\" autocomplete=\\\"new-password\\\"></ka-control>\\n        </div>\\n      </div>\\n    </template>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button class=\\\"inverted mx-0 mt-0 me-2 ms-4\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button>\\n      <ka-button if.bind=\\\"api.hasRole(['MODIFY_USERS', 'MODIFY_ANY_USER'])\\\" class=\\\"mt-0 me-4\\\" click.delegate=\\\"save($event)\\\">Salva modifiche</ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <h2>Impostazioni Cashback</h2>\\n    <div class=\\\"row mx-4\\\">\\n      <div class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control\\n          name=\\\"percentageOnServices\\\" \\n          readonly.bind=\\\"!writeEnabled || !api.hasRole('MODIFY_ANY_USER_CASHBACK_PERCENTAGE_ON_SERVICES')\\\"\\n          buttons=\\\"clear\\\">\\n        </ka-control>\\n      </div>\\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button \\n        click.delegate=\\\"submitAction($event)\\\" \\n        disabled.bind=\\\"!writeEnabled\\\" \\n        class=\\\"my-0 me-4\\\">Salva modifiche\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./compensi.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n  \\n  <!-- Search interface -->\\n  <template if.bind=\\\"resource.summarySearchInterface && resource.detailsSearchInterface && resource.usersSearchInterface\\\">\\n    <div class=\\\"row my-3 mx-1\\\">\\n      <!-- Date filters -->\\n      <template if.bind=\\\"utentiDatiCompensiTabs.current.name === 'riepilogo-utenti'\\\">\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control\\n            schema.bind=\\\"resource.search.schema.createdAtStart\\\"\\n            value.bind=\\\"resource.usersSummarySearchInterface.data.createdAtStart\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </ka-control>\\n        </div>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control \\n            schema.bind=\\\"resource.search.schema.createdAtEnd\\\"\\n            value.bind=\\\"resource.usersSummarySearchInterface.data.createdAtEnd\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </ka-control>\\n        </div>\\n      </template>\\n      <template else>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control\\n            schema.bind=\\\"resource.search.schema.createdAtStart\\\"\\n            value.bind=\\\"resource.summarySearchInterface.data.createdAtStart\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"utentiDatiCompensiTabs.current.name === 'utenti-associati'\\\"\\n            class=\\\"${utentiDatiCompensiTabs.current.name === 'utenti-associati' ? 'hidden-content' : ''}\\\">\\n          </ka-control>\\n        </div>\\n        <div class=\\\"col-xs-12 col-sm-6 col-md-2 col-md\\\">\\n          <ka-control \\n            schema.bind=\\\"resource.search.schema.createdAtEnd\\\"\\n            value.bind=\\\"resource.summarySearchInterface.data.createdAtEnd\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"utentiDatiCompensiTabs.current.name === 'utenti-associati'\\\"\\n            class=\\\"${utentiDatiCompensiTabs.current.name === 'utenti-associati' ? 'hidden-content' : ''}\\\">\\n          </ka-control>\\n        </div>\\n      </template>\\n      <!-- Other filters -->\\n      <div class=\\\"col-xs-12 col-sm-6 col-md-3\\\">\\n        <ka-control\\n          schema.bind=\\\"resource.search.schema.associatedUser\\\"\\n          value.bind=\\\"resource.summarySearchInterface.data.associatedUser\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"clear\\\">\\n        </ka-control>\\n      </div>\\n      <div \\n        class=\\\"col-xs-12 col-sm-6 col-md-3\\\" \\n        if.bind=\\\"resource.search.schema.serviceGroup.datasource.length\\\">\\n        <ka-control\\n          schema.bind=\\\"resource.search.schema.serviceGroup\\\"\\n          value.bind=\\\"resource.summarySearchInterface.data.serviceGroup\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </ka-control>\\n      </div>\\n      <div class=\\\"col d-flex justify-content-end\\\">\\n        <ka-button click.delegate=\\\"resource.search.apply()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <ka-tabs view-model.ref=\\\"utentiDatiCompensiTabs\\\" id=\\\"main\\\">\\n    <!-- Riepilogo compensi -->\\n    <ka-tab id=\\\"riepilogo-compensi\\\" label=\\\"Riepilogo compensi\\\">\\n      <template if.bind=\\\"resource.detailsTableInterface.initialized\\\">\\n        <md-counter\\n          suffix=\\\"€\\\" \\n          timeout=\\\"2000\\\"\\n          duration=\\\"3000\\\" \\n          label=\\\"Totale compensi da pagare\\\" \\n          end=\\\"${resource.summaryTableInterface.data.totalAmount.amountToBePaid}\\\" \\n          if.bind=\\\"resource.summaryTableInterface.data.totalAmount.amountToBePaid > 0\\\">\\n        </md-counter>\\n\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th></th>\\n                <th>Confermato</th>\\n                <th>Non confermato</th>\\n                <th>Totale generale</th>\\n                <th>Pagato</th>\\n                <th>Da pagare</th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"group of resource.summaryTableInterface.data.serviceGroups\\\">\\n                <tr>\\n                  <th>${group.name}</th>\\n                  <td>${group.amountConfirmed} €</td>\\n                  <td>${group.amountPendingConfirmation} €</td>\\n                  <td>${group.amountTotal} €</td>\\n                  <td>${group.amountPaid} €</td>\\n                  <td>${group.amountToBePaid} €</td>\\n                </tr>\\n                <tr class=\\\"service\\\" repeat.for=\\\"service of group.services\\\">\\n                  <td>${service.code}</td>\\n                  <td>${service.amountConfirmed} €</td>\\n                  <td>${service.amountPendingConfirmation} €</td>\\n                  <td>${service.amountTotal} €</td>\\n                  <td>${service.amountPaid} €</td>\\n                  <td>${service.amountToBePaid} €</td>\\n                </tr>\\n              </template>\\n              <tr class=\\\"total\\\">\\n                <th>Compensi totali</th>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountConfirmed} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountPendingConfirmation} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountTotal} €</td>\\n                <td>${resource.summaryTableInterface.data.totalAmount.amountPaid} €</td>\\n                <td><span innerhtml.bind=\\\"counter['toBePaid'+$index]\\\">${resource.counter('toBePaid'+$index, 0, resource.summaryTableInterface.data.totalAmount.amountToBePaid, 1000)}</span> €</td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"6\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportSummary()\\\" style=\\\"margin: 0;\\\">\\n                    <i class=\\\"material-icons\\\" style=\\\"margin: 0.5rem;\\\">download</i>Download excel compensi\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Riepilogo mensile -->\\n    <ka-tab id=\\\"riepilogo-mensile\\\" label=\\\"Riepilogo mensile\\\">\\n      <template if.bind=\\\"resource.detailsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.detailsTableInterface\\\" search.bind=\\\"resource.detailsSearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th>Periodo</th>\\n                <th>Tipologia</th>\\n                <th>Servizio</th>\\n                <th>Confermato</th>\\n                <th>Non confermato</th>\\n                <th>Totale generale</th>\\n                <th>Pagato</th>\\n                <th>Da pagare</th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"detail of resource.detailsTableInterface.data\\\">\\n                <tr>\\n                  <td>${detail.month}/${detail.year}</td>\\n                  <td>${detail.serviceGroupName}</td>\\n                  <td>${detail.serviceCode}</td>\\n                  <td>${detail.amountConfirmed} €</td>\\n                  <td>${detail.amountPendingConfirmation} €</td>\\n                  <td>${detail.amountTotal} €</td>\\n                  <td>${detail.amountPaid} €</td>\\n                  <td>${detail.amountToBePaid} €</span></td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportDetail()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel riepilogo mensile</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Riepilogo utenti -->\\n    <ka-tab id=\\\"riepilogo-utenti\\\" label=\\\"Riepilogo utenti\\\">\\n      <template if.bind=\\\"resource.usersSummaryTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.usersSummaryTableInterface\\\" search.bind=\\\"resource.usersSummarySearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th><md-table-sort table.bind=\\\"resource.usersSummaryTableInterface\\\" attribute=\\\"display-name\\\">Utente</md-table-sort></th>\\n                <th>Contatti</th>\\n                <th>Codici provvigionali</th>\\n                <th><span class=\\\"tooltip\\\" ka-tooltip=\\\"Sono i servizi provvigionali attualmente assegnati all'utente. Non sono strettamente connessi ai compensi maturati.\\\">Servizi associati</span></th>\\n                <th>Gestionale</th>\\n                <th>Confermato</th>\\n                <th><md-table-sort table.bind=\\\"resource.usersSummaryTableInterface\\\" attribute=\\\"total\\\">Totale generale</md-table-sort></th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"resource of resource.usersSummaryTableInterface.data\\\">\\n                <tr class=\\\"${resource.userSummary.associatedGroups.length || resource.userSummary.apiClient.hasResellerAssociation ? '' : 'not-associated'}\\\">\\n                  <!-- DisplayName -->\\n                  <td if.bind=\\\"resource.userSummary.displayName && resource.userSummary.displayName !== ''\\\"><strong class=\\\"limitwidth\\\">${resource.userSummary.displayName}</strong></td>\\n                  <td if.bind=\\\"!resource.userSummary.displayName || resource.userSummary.displayName === ''\\\"><strong class=\\\"limitwidth\\\">Utente non più presente</strong></td>\\n                  <!-- Contatti -->\\n                  <td>\\n                    <template if.bind=\\\"resource.userSummary.associatedGroups.length || resource.userSummary.apiClient.hasResellerAssociation\\\">\\n                      <small if.bind=\\\"resource.userSummary.email\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Email: </strong>${resource.userSummary.email}</small>\\n                      <small if.bind=\\\"resource.userSummary.phoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Telefono: </strong>${resource.userSummary.phoneNumber}</small>\\n                      <small if.bind=\\\"resource.userSummary.mobilePhoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Cellulare: </strong>${resource.userSummary.mobilePhoneNumber}</small>\\n                    </template>\\n                  </td>\\n                  <!-- Codici provvigionali -->\\n                  <td>\\n                    <span if.bind=\\\"resource.commissionsSummary.resellerCodes.length\\\" repeat.for=\\\"service of resource.commissionsSummary.resellerCodes\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service}</span>\\n                  </td>\\n                  <!-- Associated services -->\\n                  <td>\\n                    <span if.bind=\\\"resource.userSummary.associatedGroups && resource.userSummary.associatedGroups.length\\\" repeat.for=\\\"service of resource.userSummary.associatedGroups\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service.name}</span>\\n                  </td>\\n                  <!-- Gestionale -->\\n                  <td style=\\\"white-space: nowrap;\\\">${resource.userSummary.apiClient.name}</td>\\n                  <!-- Confermato -->\\n                  <td>${resource.commissionsSummary.amountConfirmed}€</td>\\n                  <!-- Totale generale -->\\n                  <td>${resource.commissionsSummary.amountTotal}€</td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportUsersSummary()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel riepilogo utenti</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n\\n    <!-- Utenti Associati -->\\n    <ka-tab id=\\\"utenti-associati\\\" label=\\\"Utenti associati\\\">\\n      <template if.bind=\\\"resource.usersTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"resource.usersTableInterface\\\" search.bind=\\\"resource.usersSearchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead>\\n              <tr>\\n                <th><md-table-sort table.bind=\\\"resource.usersTableInterface\\\" attribute=\\\"display-name\\\">Utente</md-table-sort></th>\\n                <th></th>\\n                <th>Contatti</th>\\n                <th>Servizi associati</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody>\\n              <template repeat.for=\\\"user of resource.usersTableInterface.data\\\">\\n                <tr>\\n                  <!-- DisplayName -->\\n                  <td class=\\\"limitwidth-30\\\"><strong>${user.displayName}</strong><small style=\\\"display: block;\\\">ID: ${user.userId}</small></td>\\n                  <td class=\\\"p-0\\\">\\n                    <ka-button\\n                      disabled.bind=\\\"api.isImpersonated\\\"\\n                      click.delegate=\\\"resource.impersonate(user)\\\"\\n                      ka-tooltip=\\\"value.bind: api.isImpersonated ? 'Impersonificazione già in corso' : 'Impersona utente'\\\"\\n                      class=\\\"ka-table-button primary\\\">\\n                      <i class=\\\"material-icons\\\">switch_account</i>\\n                    </ka-button>\\n                  </td>\\n                  <!-- Contatti -->\\n                  <td>\\n                    <small if.bind=\\\"user.email\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Email: </strong>${user.email}</small>\\n                    <small if.bind=\\\"user.phoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Telefono: </strong>${user.phoneNumber}</small>\\n                    <small if.bind=\\\"user.mobilePhoneNumber\\\" class=\\\"limitwidth\\\" style=\\\"display: block;\\\"><strong style=\\\"color: #404040;\\\">Cellulare: </strong>${user.mobilePhoneNumber}</small>\\n                  </td>\\n                  <!-- Services -->\\n                  <td>\\n                    <span if.bind=\\\"user.associatedGroups && user.associatedGroups.length\\\" repeat.for=\\\"service of user.associatedGroups\\\" class=\\\"user-service\\\" style=\\\"white-space: nowrap;\\\">${service.name}</span>\\n                  </td>\\n                  <!-- Tag -->\\n                  <td class=\\\"text-end\\\">\\n                    <div class=\\\"user-tag\\\">\\n                      <ka-control schema.bind=\\\"{ control: 'text' }\\\" value.bind=\\\"user.tag.new\\\" readonly.bind=\\\"!user.userTagEnabled\\\" class=\\\"${!api.hasRole(['ASSIGN_ANY_USER_RESELLER_TAG', 'ASSIGN_USER_RESELLER_TAG']) ? 'tag-disabled' : ''} no-buttons\\\" style=\\\"display:inline-block;margin:0;width:150px;\\\"></ka-control>\\n                      <template if.bind=\\\"(api.hasRole('ASSIGN_ANY_USER_RESELLER_TAG') || api.hasRole('ASSIGN_USER_RESELLER_TAG'))\\\">\\n                        <ka-button click.delegate=\\\"user.userTagEnabled=!user.userTagEnabled\\\" ka-tooltip=\\\"Modifica/crea tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"user.userTagEnabled\\\"><i class=\\\"material-icons\\\">edit</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.cancelTag(user)\\\" ka-tooltip=\\\"Torna indietro\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">close</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.setTag(user, 'save')\\\" ka-tooltip=\\\"Salva tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">task_alt</i></ka-button>\\n                        <ka-button click.delegate=\\\"resource.setTag(user, 'delete')\\\" ka-tooltip=\\\"Elimina tag\\\" class=\\\"ka-table-button primary\\\" disabled.bind=\\\"!user.userTagEnabled\\\"><i class=\\\"material-icons\\\">delete</i></ka-button>\\n                      </template>\\n                    </div>\\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td colspan=\\\"8\\\">\\n                  <ka-button class=\\\"inverted flat\\\" click.delegate=\\\"resource.exportUsers()\\\" style=\\\"margin:0;\\\"><i class=\\\"material-icons\\\" style=\\\"margin-right: 0.5rem;\\\">download</i>Download excel utenti associati</ka-button>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./documenti.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2><span static-tooltip=\\\"value.bind: staticTooltipMavDocuments\\\" style=\\\"align-items: center\\\">Ricerca documenti</span></h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6\\\">\\n        <md-control name=\\\"context\\\" change.call=\\\"$parent.search()\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6\\\">\\n        <md-input if.bind=\\\"searchInterface.data.context === 'SUBUSER'\\\" name=\\\"subuser\\\" client.bind=\\\"api\\\" change.call=\\\"$parent.search()\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface && !isLoading && contextUser.id\\\">\\n    <h2 if.bind=\\\"!params.id\\\" class=\\\"d-flex justify-content-between align-items-center lh-1\\\" style=\\\"min-height: 5rem;\\\">\\n      <span if.bind=\\\"!contextUser.profile.displayName\\\">Elenco dei miei documenti</span>\\n      <span if.bind=\\\"contextUser.profile.displayName\\\">Elenco dei documenti di ${contextUser.profile.displayName}</span>\\n      <small class=\\\"alert mx-4\\\"><i class=\\\"far fa-exclamation-circle\\\"></i> Accertarsi di caricare solo documenti in corso di validità!</small>\\n    </h2>\\n    <h2 else>Elenco documenti</h2>\\n\\n    <md-table-wrapper class=\\\"position-relative\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Documento</th>\\n            <th>Etichetta</th>\\n            <th>Stato di approvazione</th>\\n            <th>Motivazione</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr id=\\\"${record.code}\\\" class=\\\"document-type-row open\\\">\\n              <td click.delegate=\\\"toggleType(record)\\\" class=\\\"align-middle toggle-content\\\" colspan=\\\"3\\\"><i class=\\\"far fa-chevron-down me-3\\\"></i>${record.label} <small if.bind=\\\"record.uploadLimit\\\"> - limite file caricabili: ${record.uploadLimit}</small></td>\\n              <td style=\\\"text-align: right; white-space: nowrap;\\\" colspan=\\\"2\\\">\\n                <ka-button\\n                  if.bind=\\\"record.code === 'MAV-VECTOR-CONTRACT' && record.templateFileName\\\"\\n                  click.delegate=\\\"downloadStaticResource(record)\\\"\\n                  class=\\\"flat inverted secondary with-icon ms-3\\\">\\n                  <i class=\\\"fal fa-file-download\\\"></i>\\n                  <span>Scarica modello</span>\\n                </ka-button>\\n                <ka-button \\n                  if.bind=\\\"api.hasRole('CREATE_USER_CERTIFIABLE_DOCUMENT_BUCKETS')\\\" \\n                  click.delegate=\\\"upload(record)\\\" \\n                  disabled.bind=\\\"record.uploadLimit && record.uploadLimit <= record.notRefusedDocumentsCount\\\" \\n                  ka-tooltip.bind=\\\"record.uploadLimit && record.uploadLimit <= record.notRefusedDocumentsCount ? 'Raggiunto il limite di file caricabili per questa tipologia di documento' : 'Aggiungi documento'\\\" \\n                  class=\\\"flat inverted with-icon ms-3\\\">\\n                  <i class=\\\"fal fa-file-upload\\\"></i>\\n                  <span>Aggiungi documento</span>\\n                </ka-button>\\n              </td>\\n            </tr>\\n            <template if.bind=\\\"record.documentsBucket.length\\\">\\n              <tr repeat.for=\\\"document of record.documentsBucket\\\" data-type=\\\"${record.code}\\\" class=\\\"document-row visible\\\">\\n                <td class=\\\"document ${ document.refusedAt ? 'refused' : document.approvedAt ? 'approved' : document.uploadedAt ? 'uploaded' : '' } align-middle text-nowrap\\\">\\n                  <i class=\\\"fal ${ document.refusedAt ? 'fa-file-times' : document.approvedAt ? 'fa-file-check' : document.uploadedAt ? 'fa-file-alt' : 'fa-file-exclamation' } align-text-bottom me-3\\\" ka-tooltip=\\\"value.bind: document.refusedAt ? 'Rifiutato' : document.approvedAt ? 'Approvato' : document.uploadedAt ? 'Caricato. In attesa di approvazione' : 'Documento non caricato'\\\"></i>\\n                  <span if.bind=\\\"document.uploadedAt\\\">Caricato il ${document.uploadedAt | dateFormat}</span>\\n                </td>\\n                <td class=\\\"align-middle text-nowrap\\\">\\n                  <small if.bind=\\\"record.placeholderType\\\">${record.placeholderType}: ${document.placeholder}</small>\\n                </td>\\n                <td class=\\\"align-middle text-nowrap\\\">\\n                  <span>${document.approvedAt ? 'Approvato il '+document.approvedAt : document.refusedAt ? 'Rifiutato il '+document.refusedAt : !document.uploadedAt ? '' : 'In attesa di approvazione'}</span>\\n                </td>\\n                <td class=\\\"align-middle\\\">\\n                  <small if.bind=\\\"document.statusReason\\\" ka-tooltip.bind=\\\"document.statusReason\\\" class=\\\"limitwidth-30\\\">${document.statusReason}</small>\\n                </td>\\n                <td class=\\\"ka-tr-tools align-middle\\\">\\n                  <!-- Approval -->\\n                  <button if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CERTIFIABLE_BUCKET_DOCUMENT')\\\" click.delegate=\\\"approval(record, document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Approva o Rifiuta documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-file-certificate\\\"></i>\\n                  </button>\\n                  <!-- Upload -->\\n                  <button click.delegate=\\\"upload(record, document)\\\" ka-tooltip=\\\"value.bind: document.uploadedAt ? 'Sostituisci documento' : 'Carica documento'\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-file-upload\\\"></i>\\n                  </button>\\n                  <!-- Delete -->\\n                  <button click.delegate=\\\"delete(record, document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Elimina documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-trash-alt\\\"></i>\\n                  </button>\\n                  <!-- Download -->\\n                  <button click.delegate=\\\"download(document)\\\" disabled.bind=\\\"!document.uploadedAt\\\" ka-tooltip=\\\"Scarica documento\\\" class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-arrow-to-bottom\\\"></i>\\n                  </button>\\n                </td>\\n              </tr>  \\n            </template>\\n            <tr else data-type=\\\"${record.code}\\\" class=\\\"document-row visible\\\">\\n              <td class=\\\"document align-middle text-nowrap\\\" colspan=\\\"5\\\"><i class=\\\"fal fa-file-alt align-text-bottom me-3\\\"></i>Nessun documento caricato</td>\\n            </tr>\\n          </template>      \\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Al momento non è richiesto di caricare alcun documento</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./elenco.scss\\\"></require>\\n  <template if.bind=\\\"usersSearchInterface.initialized\\\">\\n    <h2>Ricerca ${mdt.parsers.contextualize(api.user, 'utenti')}</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"usersSearchInterface\\\">\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <md-control\\n          name=\\\"textSearch\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          submit.call=\\\"$parent.ricerca()\\\"\\n          md-tooltip=\\\"<ul><li>Inserire almeno 3 caratteri per velocizzare la ricerca</li><li>Inserire id separati da virgola per ricercare per id, es: 123,42,13</li><li>Inserire <em>adr:indirizzo</em> per fare una ricerca per indirizzo, es: adr:garibaldi</li><li>Inserire direttamente l'email per cercare per email, es: mario.rossi@multidialogo.it</li><li>Inserire direttamente il codice fiscale per cercare per codice fiscale, es: DNELVS03E10L219R</li><li>Inserire direttamente la paritita iva per cercare per partita iva, es: 47284790863</li></ul>\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"countryCode\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          change.call=\\\"$parent.initGeo('countryCode')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl1\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.countryCode\\\"\\n          change.call=\\\"$parent.initGeo('admLvl1')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl2\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.admLvl1\\\"\\n          change.call=\\\"$parent.initGeo('admLvl2')\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control\\n          name=\\\"admLvl3\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\"\\n          readonly.bind=\\\"!data.admLvl2\\\"\\n          change.call=\\\"$parent.initGeo('admLvl3')\\\">\\n        </md-control>\\n      </div>\\n\\n      <template if.bind=\\\"isAdvancedUser\\\">\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"group\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"businessType\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"priceList\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"client\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-lg-4\\\">\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col\\\">\\n              <md-control \\n                name=\\\"registeredAtStart\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n            <div class=\\\"col\\\">\\n              <md-control \\n                name=\\\"registeredAtEnd\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"parent\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            client.bind=\\\"api\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-2\\\">\\n          <md-control \\n            name=\\\"reseller\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            client.bind=\\\"api\\\">\\n          </md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control \\n          name=\\\"status\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          client.bind=\\\"api\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control \\n          name=\\\"sepaDirectDebit\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.ricerca()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"usersTableInterface.data || usersTableInterface.isLoading\\\">\\n      <!-- Titolo -->\\n      <h2>\\n        <span>Elenco ${mdt.parsers.contextualize(api.user, 'utenti')}</span>\\n        <ka-button if.bind=\\\"api.hasRole('CREATE_BASIC_USERS') && !api.hasRole('CREATE_ANY_USER_SUBUSER')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"nuovo()\\\"><i class=\\\"material-icons\\\">add</i> Nuovo</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('CREATE_BASIC_USERS') && !api.hasRole('CREATE_ANY_USER_SUBUSER')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"importa()\\\"><i class=\\\"material-icons\\\">download</i> Importa</ka-button>\\n      </h2>\\n\\n      <md-table-toolbar table.bind=\\\"usersTableInterface\\\" search.bind=\\\"usersTableInterface\\\">\\n        <!-- CSV download -->\\n        <button click.delegate=\\\"csvDownload()\\\" ka-tooltip=\\\"Scarica selezione in formato csv\\\" class=\\\"toolbar-button\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like users_table\\\">\\n          <thead if.bind=\\\"usersTableInterface.data.length\\\">\\n            <tr>\\n              <th>ID</th>\\n              <th>Registrazione</th>\\n              <th>Denominazione</th>\\n              <th if.bind=\\\"isAdvancedUser\\\">Proprietario</th>\\n              <th>Indirizzo</th>\\n              <th>CF/IVA</th>\\n              <th if.bind=\\\"isAdvancedUser\\\">Software</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"usersTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of usersTableInterface.data\\\">\\n              <!-- Id -->\\n              <td width=\\\"50\\\"><span class=\\\"id-${record.statusCode === 'ACTIVE'?'enabled':'disabled'}\\\">${record.id}</span></td>\\n\\n              <!-- Date -->\\n              <td>\\n                <small style=\\\"white-space: nowrap;\\\">${record.createdAt | dateFormat}</small>\\n                <div if.bind=\\\"(record.migratedTo || record.migratedFrom) && api.hasRole(['CREATE_ANY_USER_SUBUSER'])\\\" class=\\\"migration\\\">\\n                  <span class=\\\"tag primary my-2\\\">Utente migrato</span><br>\\n                  <small if.bind=\\\"record.migratedTo\\\" style=\\\"white-space: nowrap\\\">\\n                    <a click.trigger=\\\"findMigrationProfile(record.migratedTo)\\\">Profilo nuovo utente</a><br>\\n                  </small>\\n                  <small if.bind=\\\"record.migratedFrom\\\" style=\\\"white-space: nowrap\\\">\\n                    <a click.trigger=\\\"findMigrationProfile(record.migratedFrom)\\\">Profilo utente di provenienza</a>\\n                  </small>\\n                </div>\\n              </td>\\n\\n              <!-- Profile -->\\n              <td class=\\\"limitwidth\\\">\\n                <div class=\\\"row no-gutters\\\">\\n                  <div>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Impiegato di sistema\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-EMPLOYEE'\\\">badge</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Amministratore di condominio\\\" if.bind=\\\"record.profile[0].businessType === 'BUILDING-ADMINISTRATOR'\\\">apartment</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Inutile\\\" if.bind=\\\"record.profile[0].businessType === 'DISPOSABLE'\\\">repeat_one</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Reseller\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-BUSINESS-SCOUT'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Partner di sistema\\\" if.bind=\\\"record.profile[0].businessType === 'SYSTEM-PARTNER'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Altro\\\" if.bind=\\\"record.profile[0].businessType === 'OTHER'\\\">switch_account</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Automotive\\\" if.bind=\\\"record.profile[0].businessType === 'AUTOMOTIVE'\\\">directions_car</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Da classificare\\\" if.bind=\\\"record.profile[0].businessType === 'SKIPPED'\\\">more</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Condominio\\\" if.bind=\\\"record.profile[0].businessType === 'BUILDING'\\\">business</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Punto vendita\\\" if.bind=\\\"record.profile[0].businessType === 'COMPUTER-SHOP'\\\">laptop_chromebook</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Tour operator\\\" if.bind=\\\"record.profile[0].businessType === 'TOUR-OPERATOR'\\\">travel_explore</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Impresa assicurativa\\\" if.bind=\\\"record.profile[0].businessType === 'INSURANCE-COMPANY'\\\">work</i>\\n                    <i class=\\\"material-icons businessType\\\" ka-tooltip=\\\"Sconosciuto\\\" if.bind=\\\"record.profile[0].businessType === 'UNKNOWN'\\\">no_accounts</i>\\n                  </div>\\n                  <div class=\\\"col limitwidth\\\">\\n                    <strong>${record.profile[0].displayName}</strong>\\n                    <small style=\\\"display:block;overflow:hidden;text-overflow:ellipsis\\\">\\n                      <span if.bind=\\\"record.profile[0].courtesyTitle\\\">${record.profile[0].courtesyTitle}</span>\\n                      <span if.bind=\\\"record.profile[0].holderName.lastname\\\">${record.profile[0].holderName.lastname}</span>\\n                      <span if.bind=\\\"record.profile[0].holderName.firstname\\\">${record.profile[0].holderName.firstname}</span>\\n                      <span if.bind=\\\"record.profile[0].email\\\" style=\\\"display: block;\\\">${record.profile[0].email}</span>\\n                    </small>\\n                  </div>\\n                </div>\\n              </td>\\n\\n              <!-- Display name -->\\n              <td if.bind=\\\"isAdvancedUser\\\">\\n                <div if.bind=\\\"record.parentId\\\"><a href=\\\"anagrafiche/utenti/${record.parentId}/anagrafica\\\">${record.profile[0].parent.displayName}</a><br><small>ID ${record.parentId}</small></div>\\n                <div if.bind=\\\"record.sponsors\\\" innerhtml.bind=\\\"record.sponsors|sponsorsFormat\\\" class=\\\"sponsors\\\"></div>\\n              </td>\\n\\n              <!-- Address -->\\n              <td>\\n                <small>\\n                  <span if.bind=\\\"record.profile[0].location.streetAddress\\\">${record.profile[0].location.streetAddress}</span>\\n                  <br if.bind=\\\"record.profile[0].location.streetAddress\\\">\\n                  <span if.bind=\\\"record.profile[0].location.zipCode\\\">${record.profile[0].location.zipCode} - </span>\\n                  <span if.bind=\\\"record.profile[0].location.admLvl3\\\">${record.profile[0].location.admLvl3} </span>\\n                  <span if.bind=\\\"record.profile[0].location.admLvl2\\\">(${record.profile[0].location.admLvl2})</span>\\n                  <span if.bind=\\\"record.profile[0].location.countryCode !== 'IT'\\\"> - ${record.profile[0].location.countryCode}</span>\\n                </small>\\n              </td>\\n              <td>${record.profile[0].fiscalCode}<br if.bind=\\\"record.profile[0].fiscalCode\\\">${record.profile[0].vatCode}</td>\\n              <td if.bind=\\\"isAdvancedUser\\\">${record.profile[0].apiClientName}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button\\n                  if.bind=\\\"record.statusCode === 'ACTIVE' && isImpersonateUser\\\"\\n                  click.delegate=\\\"impersonifica(record)\\\"\\n                  disabled.bind=\\\"api.isImpersonated\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip=\\\"value.bind: api.isImpersonated ? 'Impersonificazione già in corso' : 'Impersona utente'\\\">\\n                  <i class=\\\"material-icons\\\">switch_account</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'NOT-ACTIVE' && api.hasRole('ARCHIVE_ANY_USER')\\\"\\n                  click.delegate=\\\"archiviazione(record.id)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Archivia ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">no_accounts</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'NOT-ACTIVE'\\\"\\n                  click.delegate=\\\"attivazione(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Attiva ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">person_add</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode === 'ACTIVE'\\\"\\n                  click.delegate=\\\"attivazione(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Disattiva ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">person_remove</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"api.hasRole(['CREATE_ANY_USER_SUBUSER']) && record.statusCode === 'ARCHIVED' && record.parentId\\\"\\n                  click.delegate=\\\"migrate(record)\\\"\\n                  disabled.bind=\\\"migratePending || record.migratedTo\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Migra ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">people</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"api.hasRole(['LIST_ANY_USER_FLAT_SERVICE_SUBSCRIPTION', 'LIST_ACTIVABLE_FLAT_SERVICES'])\\\"\\n                  click.delegate=\\\"abbonamenti(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip=\\\"Apri servizi in abbonamento\\\">\\n                  <i class=\\\"material-icons\\\">shopping_cart</i>\\n                </button>\\n                <button\\n                  if.bind=\\\"record.statusCode !== 'ARCHIVED'\\\"\\n                  click.delegate=\\\"modifica(record)\\\"\\n                  class=\\\"ka-table-button primary\\\"\\n                  ka-tooltip.bind=\\\"`Modifica dati ${mdt.parsers.contextualize(api.user, 'utente')}`\\\">\\n                  <i class=\\\"material-icons\\\">edit</i>\\n                </button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!usersTableInterface.isLoading && !usersTableInterface.data.length\\\">Nessun utente trovato</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <md-resource\\n    if.bind=\\\"resource.data\\\"\\n    view-model.ref=\\\"resource.resource\\\"\\n    with.bind=\\\"resource.resource\\\"\\n    schema.bind=\\\"resource.schema\\\"\\n    data.bind=\\\"resource.data\\\">\\n    <h2 class=\\\"mb-0\\\">\\n      Profilo di fatturazione\\n      <ka-button \\n        click.trigger=\\\"populate()\\\" \\n        class=\\\"inverted\\\">${billingProfileUuid ? 'Compila i dati mancanti con quelli anagrafici' : 'Compila con i dati anagrafici'}\\n      </ka-button>\\n    </h2>\\n    <template if.bind=\\\"!pendingInit\\\">\\n      <div class=\\\"row m-0 mt-3 mb-3 px-1\\\">\\n        <div class=\\\"col-6 m-0\\\">\\n          <md-control\\n            if.bind=\\\"legalForms && legalFormTypes\\\"\\n            name=\\\"legalFormCode\\\" \\n            buttons=\\\"dropdown\\\" \\n            change.call=\\\"changeLegalForm()\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 m-0\\\" show.bind=\\\"resource.data.legalFormCode\\\">\\n          <md-control \\n            name=\\\"label\\\" \\n            buttons=\\\"clear\\\">\\n          </md-control>\\n        </div>\\n        <p if.bind=\\\"taxPercentage >= 0\\\" class=\\\"m-0 mb-3 mt-2\\\">Per la forma giuridica selezionata verrà applicata una ritenuta d'acconto pari a ${taxPercentage}%</p>\\n      </div>\\n      <div show.bind=\\\"resource.data.legalFormCode\\\">\\n        <h2 class=\\\"mb-0\\\">Dati di fatturazione</h2>\\n        <div if.bind=\\\"changeLegalFormPending === false\\\" class=\\\"row m-0 px-1\\\">\\n          <!-- Left -->\\n          <div class=\\\"col-6 pe-3\\\" style=\\\"box-shadow: inset -1px 0 0 #e0e0e0;\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"legalFormSelected.companyNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"name\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" if.bind=\\\"legalFormSelected.personNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"firstName\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" if.bind=\\\"legalFormSelected.personNameNeeded === 'YES'\\\">\\n                <md-control \\n                  name=\\\"lastName\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"isVisibleForTheSelectedLegalForm('fiscalCodeNeeded')\\\">\\n                <md-control \\n                  name=\\\"fiscalCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\" if.bind=\\\"isVisibleForTheSelectedLegalForm('vatCodeNeeded')\\\">\\n                <md-control \\n                  name=\\\"vatCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\">\\n                <md-control \\n                  name=\\\"officeCode\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\" show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\">\\n                <md-control \\n                  name=\\\"ipaCode\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"payments.banking.iban\\\" \\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <p if.bind=\\\"billingProfileIban\\\" class=\\\"m-0\\\">\\n                <small>Istituto ${bankAccountInfo.instituteName || 'di credito sconosciuto'}</small>\\n                <small if.bind=\\\"bankAccountInfo.instituteName\\\"> - Filiale ${bankAccountInfo.officeName || 'sconosciuta'}</small>\\n              </p>\\n            </div>\\n            <h3 class=\\\"p-0 mt-4\\\">Metodi di pagamento associati</h3>\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col\\\">\\n                <md-control \\n                  name=\\\"payments.banking.sepaDirectDebitEnabled\\\" \\n                  change.call=\\\"checkSDD()\\\" \\n                  style=\\\"min-width: 220px;\\\">\\n                </md-control>\\n              </div>\\n              <div show.bind=\\\"checkSDDPassed\\\" class=\\\"col\\\">\\n                <md-control name=\\\"payments.banking.lastFourIbanDigits\\\"></md-control>\\n              </div>\\n              <div show.bind=\\\"['IT-PUBLIC-INSTITUTION'].includes(resource.data.legalFormCode)\\\" class=\\\"col\\\">\\n                <md-control name=\\\"payments.splitPaymentsEnabled\\\"></md-control>\\n              </div>\\n            </div>\\n          </div>\\n          <!-- Right -->\\n          <div class=\\\"col-6 ps-3 locazione\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input \\n                  name=\\\"location.countryCode\\\" \\n                  alias=\\\"location\\\" \\n                  ready.call=\\\"setGeo('countryCode', true)\\\" \\n                  change.call=\\\"setGeo('countryCode')\\\"\\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl1Uuid.enabled\\\" class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input  \\n                  name=\\\"location.admLvl1Uuid\\\" \\n                  ready.call=\\\"setGeo('admLvl1Uuid', true)\\\" \\n                  change.call=\\\"setGeo('admLvl1Uuid')\\\"\\n                  readonly.bind=\\\"!resource.data.location.countryCode\\\" \\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl2Uuid.enabled\\\"  class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input \\n                  name=\\\"location.admLvl2Uuid\\\" \\n                  ready.call=\\\"setGeo('admLvl2Uuid', true)\\\" \\n                  change.call=\\\"setGeo('admLvl2Uuid')\\\"\\n                  readonly.bind=\\\"!resource.data.location.admLvl1Uuid\\\" \\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div if.bind=\\\"resource.schema.location.admLvl3Uuid.enabled\\\" class=\\\"col-6\\\" style=\\\"margin-top: 2.5rem\\\">\\n                <md-input  \\n                  name=\\\"location.admLvl3Uuid\\\" \\n                  readonly.bind=\\\"!resource.data.location.admLvl2Uuid\\\"\\n                  client.bind=\\\"api\\\" \\n                  class=\\\"no-add no-open m-0\\\">\\n                </md-input>\\n              </div>\\n              <div class=\\\"col-9 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.streetAddress\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div> \\n              <div class=\\\"col-3 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.zipCode\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"location.locality\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-12 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.emailAddress\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.phoneNumber\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n              <div class=\\\"col-6 mt-3\\\">\\n                <md-control \\n                  name=\\\"contact.faxNumber\\\"\\n                  buttons=\\\"clear\\\">\\n                </md-control>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button class=\\\"inverted me-0\\\" click.delegate=\\\"$parent.cancel()\\\">Annulla</ka-button>\\n        <ka-button disabled.bind=\\\"pendingPopulateMissingData\\\" click.delegate=\\\"$parent.save($event)\\\">Salva</ka-button>\\n      </div>\\n\\n      <!-- Authorizations section -->\\n      <template if.bind=\\\"billingProfileUuid\\\">\\n        <h2 class=\\\"mb-0\\\">Autorizzazioni</h2>\\n        <div class=\\\"p-3\\\">\\n          <h3 class=\\\"auth-mav-title d-flex align-items-center p-0 m-0 my-3\\\"><span static-tooltip=\\\"value.bind: staticTooltipMavDocuments\\\" style=\\\"align-items: center\\\">Autorizzazioni stampa MAV</span></h3>\\n          <template if.bind=\\\"mavRequests.length\\\">\\n            <div repeat.for=\\\"request of mavRequests\\\" class=\\\"ps-2\\\">\\n              <p class=\\\"mx-0 mt-0 mav-request-status ${request.status}\\\" style=\\\"line-height: 3rem\\\">${mavRequest.displayText(request)}</p>\\n              <ka-button\\n                if.bind=\\\"api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION') && request.status === 'DELETED' || request.status === 'REFUSED'\\\"\\n                click.delegate=\\\"mavCreateAuthorizationRequest($event, userId, billingProfileUuid)\\\"\\n                class=\\\"inverted flat with-icon m-0\\\">\\n                <i class=\\\"far fa-plus\\\"></i>\\n                <span>Crea richiesta</span>\\n              </ka-button>\\n              <ka-button \\n                if.bind=\\\"isMAVRequestDeletable(request.status)\\\"\\n                click.delegate=\\\"dialogDeleteMAVRequest($event, request)\\\"\\n                class=\\\"flat secondary inverted with-icon m-0\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n                <span>Dismetti richiesta</span>\\n              </ka-button>\\n            </div>\\n          </template>\\n          <template if.bind=\\\"!mavRequests.length\\\">\\n            <p class=\\\"mx-0 mt-0\\\">Nessuna richiesta in corso</p>\\n            <ka-button\\n              if.bind=\\\"api.hasRole('CREATE_MAV_ORDER_SELF_PRINTING_AUTHORIZATION')\\\"\\n              click.delegate=\\\"mavCreateAuthorizationRequest($event, userId, billingProfileUuid)\\\"\\n              class=\\\"inverted flat with-icon m-0\\\">\\n              <i class=\\\"far fa-plus\\\"></i>\\n              <span>Crea richiesta</span>\\n            </ka-button>\\n          </template>\\n        </div>\\n      </template>   \\n    </template>\\n  </md-resource>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fatturazione.sass\\\"></require>\\n\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n  <template if.bind=\\\"!editor.model\\\">\\n\\n    <!-- SDI -->\\n    <template if.bind=\\\"params.id && searchContext.user.parentId\\\">\\n      <h2>Fatturazione elettronica</h2>\\n      <div class=\\\"d-flex align-items-center\\\">\\n        <ka-control name=\\\"sdi.code\\\" readonly.bind=\\\"!sdiEnabled\\\" class=\\\"px-4 mb-4\\\" buttons=\\\"clear\\\"></ka-control>\\n        <ka-button if.bind=\\\"!sdiEnabled\\\" click.delegate=\\\"sdiEnabled = !sdiEnabled\\\" class=\\\"inverted m-0 me-4 flex-grow-1 flex-shrink-0\\\">Modifica codice Sdi</ka-button>\\n        <div if.bind=\\\"sdiEnabled\\\" class=\\\"d-flex align-items-center flex-grow-1 flex-shrink-0\\\">\\n          <ka-button click.delegate=\\\"sdiEnabled = !sdiEnabled\\\" class=\\\"inverted m-0\\\">Annulla</ka-button>\\n          <ka-button click.delegate=\\\"saveCustomSdi($event)\\\" class=\\\"m-0 ms-3 me-4\\\">Salva modifiche</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n     <!-- SEARCH INTERFACE -->\\n    <template if.bind=\\\"privileges.isAdmin && searchInterface.initialized\\\">\\n      <h2>Ricerca profili di fatturazione</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <template if.bind=\\\"privileges.isOperator\\\">\\n          <div class=\\\"col-12 col-md-6 col-lg-${searchContext.hasUser ? 3 : 6}\\\">\\n            <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\" change.call=\\\"searchContextUserChange()\\\"></md-control>\\n          </div>\\n          <div if.bind=\\\"searchContext.hasUser\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n            <md-control\\n              if.bind=\\\"!searchContext.user.parentId && schema.context.datasource\\\"\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n            <md-control\\n              if.bind=\\\"searchContext.user.parentId && schema.context.datasource\\\"\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n          </div>\\n        </template>\\n        <template if.bind=\\\"!privileges.isOperator\\\">\\n          <div class=\\\"col-12 col-md-6 col-lg-${!searchContext.isRequestedUser ? 3 : 6}\\\">\\n            <md-control\\n              name=\\\"context\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"searchContextChange()\\\">\\n            </md-control>\\n          </div>\\n          <div if.bind=\\\"searchContext.isChildUsers\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n            <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"  change.call=\\\"searchContextUserChange()\\\"></md-control>\\n          </div>\\n        </template>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"fiscal_code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"iban\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"sdd\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"mav_authorization_status\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"searchContext.isChildUsers && (privileges.isOperator || !searchContext.hasUser)\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"user_active\\\" change.call=\\\"searchActiveUsersChange()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"resetSearch()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n    <!-- TABLE INTERFACE -->\\n    <template if.bind=\\\"tableInterface\\\">\\n      <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n        <span>Elenco profili di fatturazione</span>\\n        <div if.bind=\\\"!params.id && !privileges.isOperator\\\" class=\\\"d-flex align-items-center ms-auto\\\">\\n          <p class=\\\"m-0\\\">\\n            <span if.bind=\\\"selectedBillingProfiles.list.length\\\">\\n              <strong class=\\\"primary-text\\\">${selectedBillingProfiles.list.length}</strong> profil${selectedBillingProfiles.list.length === 1 ? 'o' : 'i'} selezionat${selectedBillingProfiles.list.length === 1 ? 'o' : 'i'} su ${tableInterface.total} totali\\n            </span>\\n            <small if.bind=\\\"!selectedBillingProfiles.list || !selectedBillingProfiles.list.length\\\" class=\\\"alert\\\">\\n              <i class=\\\"far fa-exclamation-circle\\\" ka-tooltip=\\\"La selezione massiva prenderà in considerazione solo i record attualmente visualizzati.\\\"></i>\\n              Seleziona almeno un profilo per effettuare operazioni massive!\\n            </small>\\n          </p>\\n          <ka-button\\n            click.delegate=\\\"selectedBillingProfiles.activeSdd($event)\\\"\\n            disabled.bind=\\\"!selectedBillingProfiles.list.length\\\"\\n            class=\\\"inverted flat\\\">\\n            <i class=\\\"material-icons\\\">sync</i> Attiva SDD\\n          </ka-button>\\n        </div>\\n        <ka-button\\n          if.bind=\\\"params.id\\\"\\n          class=\\\"inverted flat ms-0 with-icon\\\"\\n          click.delegate=\\\"createProfile()\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Crea profilo di fatturazione</span>\\n        </ka-button>\\n      </h2>\\n\\n      <!-- Table -->\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th if.bind=\\\"!params.id && !privileges.isOperator\\\" click.delegate=\\\"selectedBillingProfiles.selectAll()\\\" style=\\\"cursor: pointer;\\\">\\n                <input type=\\\"checkbox\\\" checked.bind=\\\"selectedBillingProfiles.allSelected\\\" style=\\\"pointer-events: none;\\\">\\n              </th>\\n              <th>Profilo di fatturazione</th>\\n              <th>CF/P.IVA</th>\\n              <th>IBAN</th>\\n              <th>SDD</th>\\n              <th>\\n                <span static-tooltip=\\\"value.bind: staticTooltipMavAuthorization\\\">Autorizzazioni</span>\\n              </th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"profile of tableInterface.data\\\">\\n              <tr class=\\\"${profile.errors || profile.controls['payments.banking.iban'].validator.errors.length ? 'row-error' : ''}\\\">\\n                <td if.bind=\\\"!params.id && !privileges.isOperator\\\" click.delegate=\\\"selectedBillingProfiles.select(profile)\\\" style=\\\"cursor: pointer;\\\">\\n                  <input type=\\\"checkbox\\\" model.bind=\\\"profile\\\" checked.bind=\\\"selectedBillingProfiles.list\\\" disabled.bind=\\\"profile.payments.banking.sepaDirectDebitEnabled\\\" style=\\\"pointer-events: none;\\\">\\n                </td>\\n                <td>\\n                  <strong>${profile.ownerDisplayName}</strong><br>\\n                  <span if.bind=\\\"legalForms[profile.legalFormCode]\\\"><small>Forma legale: </small>${legalForms[profile.legalFormCode]}</span>\\n                  <span class=\\\"d-block\\\"><small>Etichetta: </small>${profile.label}</span>\\n                  <small if.bind=\\\"profile.default\\\" class=\\\"primary-text\\\">\\n                    ${params ? 'Profilo predefinito' : 'Profilo'}\\n                    <span>${profileContextInfo}</span>\\n                  </small>\\n                  <small if.bind=\\\"!profile.default\\\">\\n                    <a href=\\\"#\\\" click.delegate=\\\"setAsDefault(profile)\\\" class=\\\"primary-text\\\">Imposta come predefinito\\n                      <span>${profileContextInfo}</span>\\n                    </a>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span if.bind=\\\"profile.fiscalCode\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><small>CF:</small> ${profile.fiscalCode}</span>\\n                  <span if.bind=\\\"profile.vatCode\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><small>IVA:</small> ${profile.vatCode}</span>\\n                </td>\\n                <td class=\\\"iban\\\">\\n                  <div class=\\\"d-flex align-items-center\\\">\\n                    <ka-control\\n                      value.bind=\\\"profile.payments.banking.newIban\\\"\\n                      view-model.ref=\\\"profile.controls['payments.banking.iban']\\\"\\n                      schema.bind=\\\"{ control: 'text', placeholder: 'Inserire codice IBAN' }\\\" \\n                      readonly.bind=\\\"!!params.id || !!profile.payments.banking.oldIban || privileges.isOperator\\\">\\n                    </ka-control>\\n                    <ka-button\\n                      style=\\\"background: transparent;\\\"\\n                      if.bind=\\\"!params.id && !privileges.isOperator\\\"\\n                      click.delegate=\\\"saveBillingProfileIban(profile)\\\"\\n                      disabled.bind=\\\"profile.payments.banking.oldIban\\\"\\n                      class=\\\"my-0 mx-0 check-iban-btn secondary inverted flat ${!!params.id || !!profile.payments.banking.oldIban || privileges.isOperator ? 'readonly' : ''}\\\">\\n                      <i class=\\\"far fa-check\\\"></i>\\n                    </ka-button>\\n                  </div>\\n\\n                </td>\\n                <td class=\\\"sdd\\\">\\n                  <span class=\\\"${profile.errors ? 'activation-errors' : profile.payments.banking.sepaDirectDebitEnabled ? 'enabled' : ''}\\\">${profile.errors ? 'Attivazione non riuscita' : profile.payments.banking.sepaDirectDebitEnabled ? 'Attivato' : 'Non attivato'}</span>\\n                  <div if.bind=\\\"!profile.payments.banking.iban && api.hasRole(['MODIFY_USER_BILLING_PROFILE', 'MODIFY_ANY_USER_BILLING_PROFILE'])\\\" class=\\\"iban\\\">\\n                  </div>\\n                  <small if.bind=\\\"profile.errors\\\" innerhtml.bind=\\\"profile.errors\\\" style=\\\"max-width: 25rem\\\"></small>\\n                </td>\\n                <td class=\\\"authorization\\\">\\n                  <div>Autorizzazione stampa MAV</div>\\n                  <small \\n                    class=\\\"${profile.payments.banking.mavSelfPrintingAuthorizationStatus} d-block\\\"\\n                    ka-tooltip=\\\"value.bind: profile.payments.banking.mavSelfPrintingAuthorizationRefusalReason  ? 'Motivo del rifiuto: '+profile.payments.banking.mavSelfPrintingAuthorizationRefusalReason : ''\\\">\\n                    ${mavRequest.displayText(profile)}\\n                  </smalL>\\n                  <template if.bind=\\\"profile.payments.banking.iban\\\">\\n                    <small\\n                      class=\\\"create-mav-request\\\"\\n                      click.delegate=\\\"mavCreateAuthorizationRequest(profile.ownerLegacyId, profile.uuid)\\\"\\n                      if.bind=\\\"(profile.payments.banking.iban && !profile.payments.banking.mavSelfPrintingAuthorizationStatus) || (profile.payments.banking.mavSelfPrintingAuthorizationStatus === 'REFUSED')\\\">Crea una nuova richiesta\\n                    </small>\\n                    <small\\n                      class=\\\"delete-mav-request\\\"\\n                      if.bind=\\\"isMAVRequestDeletable(profile)\\\"\\n                      click.delegate=\\\"dialogDeleteMavRequest(profile)\\\">Dismetti richiesta\\n                    </small>\\n                  </template>\\n                  <small\\n                    else\\n                    class=\\\"iban-required\\\" \\n                    ka-tooltip=\\\"È necessario specificare un codice IBAN per poter creare una richiesta di autorizzazione stampa MAV\\\">\\n                    Inserire IBAN per creare una richiesta\\n                  </small>\\n                </td>\\n                <td class=\\\"ka-tr-tools align-middle\\\">\\n                  <button\\n                    click.delegate=\\\"edit(profile)\\\"\\n                    ka-tooltip=\\\"Modifica profilo di fatturazione\\\"\\n                    class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-edit\\\"></i>\\n                  </button>\\n                  <button\\n                    click.delegate=\\\"delete(profile)\\\"\\n                    ka-tooltip=\\\"Elimina profilo di fatturazione\\\"\\n                    class=\\\"ka-table-button primary\\\">\\n                    <i class=\\\"fal fa-trash-alt\\\"></i>\\n                  </button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti profili di fatturazione</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- EDITOR -->\\n  <compose if.bind=\\\"editor.model\\\" view-model.bind=\\\"editor.view\\\" model.bind=\\\"editor.model\\\" containerless></compose>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./importazione.scss\\\"></require>\\n  <template if.bind=\\\"!bind && loading\\\">\\n    <h2>Importazione utenti</h2>\\n    <p>Caricamento in corso...</p>\\n  </template>\\n  <div if.bind=\\\"!records && !loading\\\">\\n    <h2>Importazione utenti <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button></h2>\\n\\n    <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">1</div>\\n          <p class=\\\"step-title\\\">Scarica il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Scarica il seguente modello excel per importare i tuoi utenti ed eventualmente i loro profili di fatturazione.</p>\\n          </div>\\n          <a class=\\\"ka-button\\\" href=\\\"https://rest.multidialogo.it/res/modello_importazione_condomini.csv\\\" target=\\\"_blank\\\">Scarica</a>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 25-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">2</div>\\n          <p class=\\\"step-title\\\">Compila il file</p>\\n          <div class=\\\"step-description\\\">\\n            <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.</p>\\n          </div>\\n        </div>\\n      </div>\\n  \\n      <div ka-flex class=\\\"step-separator\\\"></div>\\n  \\n      <div ka-flex=\\\"100-xs 50-sm\\\">\\n        <div class=\\\"step-box\\\">\\n          <div class=\\\"step-number\\\">3</div>\\n          <p class=\\\"step-title\\\">Carica il file</p>\\n          <div ka-flex-col class=\\\"step-description\\\">\\n            <ka-control ka-flex schema.bind=\\\"{ label: 'Carica foglio di calcolo (excel, csv, ...)', control: 'file', required: true }\\\" value.bind=\\\"file\\\" placeholder=\\\"Seleziona o trascina qui il file\\\"></ka-control>\\n            <ka-input style=\\\"margin:0;\\\" config.bind=\\\"{ label: 'Completa dati di fatturazione con i dati anagrafici dell\\\\'intestatario', control: 'check'}\\\" value.bind=\\\"autocomplete\\\"></ka-input>\\n          </div>\\n          <ka-button click.delegate=\\\"carica($event)\\\">Carica</ka-button>\\n        </div>\\n      </div>\\n    </ka-flex-row>\\n  </div>\\n  <template if.bind=\\\"records && !loading\\\">\\n    <h2 class=\\\"table_title\\\">Elenco righe da importare\\n      <ka-button click.delegate=\\\"importa()\\\" disabled.bind=\\\"importStatus.pending\\\">Importa selezionati</ka-button>\\n      <ka-button class=\\\"inverted\\\" click.delegate=\\\"annulla()\\\">Annulla</ka-button>\\n    </h2>\\n\\n    <!-- Table -->\\n    <div class=\\\"table_container\\\">\\n      <table ref=\\\"importTable\\\" class=\\\"ka-table-like\\\">\\n        <colgroup>\\n          <col span=\\\"12\\\" class=\\\"profile\\\">\\n          <col span=\\\"13\\\" class=\\\"billing\\\">\\n        </colgroup>\\n        <thead>\\n  \\n          <!-- Top thead -->\\n          <tr class=\\\"top\\\">\\n\\n            <!-- Profile -->\\n            <th class=\\\"profile\\\" colspan=\\\"12\\\">Dati Anagrafici\\n              <p>Righe: \\n                <span>${records.length}</span>\\n              </p> \\n              <p>Selezionati: \\n                <span>${importStatus.profile.countSelected}</span>\\n              </p> \\n              <p if.bind=\\\"importStatus.profile.countProcessing\\\">Processi in corso: \\n                <span>${importStatus.profile.countProcessing}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.profile.countImported\\\">Importati: \\n                <span>${importStatus.profile.countImported}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.profile.countErrors\\\">Errori: \\n                <span>${importStatus.profile.countErrors}</span>\\n              </p>\\n            </th>\\n\\n            <!-- Billing -->\\n            <th class=\\\"billing\\\" colspan=\\\"13\\\">Dati Fatturazione\\n              <p>Righe: \\n                <span>${records.length}</span>\\n              </p> \\n              <p>Selezionati: \\n                <span>${importStatus.billing.countSelected}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countProcessing\\\">Processi in corso: \\n                <span>${importStatus.billing.countProcessing}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countImported\\\">Importati: \\n                <span>${importStatus.billing.countImported}</span>\\n              </p>\\n              <p if.bind=\\\"importStatus.billing.countErrors\\\">Errori: \\n                <span>${importStatus.billing.countErrors}</span>\\n              </p>\\n            </th>\\n          </tr>\\n  \\n          <!-- Bottom thead -->\\n          <tr>\\n  \\n            <!-- Columns profile -->\\n            <th><input type=\\\"checkbox\\\" checked.bind=\\\"selectAllProfile\\\" change.delegate=\\\"toggleAllProfile(selectAllProfile)\\\" disabled.bind=\\\"importStatus.pending\\\"></th>\\n            <th>${schema.userData.profile.businessType.label}</th>\\n            <th>${schema.userData.profile.displayName.label}</th>\\n            <th>${schema.userData.profile.holderName.companyName.label}</th>\\n            <th>${schema.userData.profile.fiscalCode.label}</th>\\n            <th>${schema.userData.profile.location.streetAddress.label}</th>\\n            <th>${schema.userData.profile.location.locality.label}</th>\\n            <th>${schema.userData.profile.location.zipCode.label}</th>\\n            <th>${schema.userData.profile.location.admLvl3.label}</th>\\n            <th>${schema.userData.profile.location.admLvl2.label}</th>\\n            <th>${schema.userData.profile.location.admLvl1.label}</th>\\n            <th>${schema.userData.profile.location.countryCode.label}</th>\\n  \\n            <!-- Columns billing -->\\n            <th><input type=\\\"checkbox\\\" checked.bind=\\\"selectAllBilling\\\" change.delegate=\\\"toggleAllBilling(selectAllBilling)\\\" disabled.bind=\\\"!selectAllProfile || importStatus.pending\\\"></th>\\n            <th>${schema.billingProfileData.type.label}</th>\\n            <th>${schema.billingProfileData.name.label}</th>\\n            <th>${schema.billingProfileData.fiscalCode.label}</th>\\n            <th>${schema.billingProfileData.location.streetAddress.label}</th>\\n            <th>${schema.billingProfileData.location.locality.label}</th>\\n            <th>${schema.billingProfileData.location.zipCode.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl3.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl2.label}</th>\\n            <th>${schema.billingProfileData.location.admLvl1.label}</th>\\n            <th>${schema.billingProfileData.location.countryCode.label}</th>\\n            <th>${schema.billingProfileData.payments.banking.iban.label}</th>\\n            <th>Domiciliazione bancaria</th>\\n          </tr>\\n        </thead>\\n\\n        <!-- Tbody -->\\n        <tbody>\\n          <tr repeat.for=\\\"row of records\\\" class=\\\"${row.profile._status}${row.profile._status && row.billing._status ? '-':''}${row.billing._status}\\\">\\n  \\n            <!-- Columns profile -->\\n            <td class=\\\"checkbox\\\">\\n              <input show.bind=\\\"row.profile._status !== 'duplicated' || row.profile._overwrite || !row.matchedUserUuid\\\" type=\\\"checkbox\\\" checked.bind=\\\"row.profile._selected\\\" change.delegate=\\\"selectProfile(row)\\\" disabled.bind=\\\"row.profile._disabled\\\">\\n              <i if.bind=\\\"row.profile._status === 'duplicated' && !row.profile._overwrite && row.matchedUserUuid\\\" class=\\\"material-icons warning\\\" ka-tooltip=\\\"Utente già presente. Clicca per maggiori dettagli!\\\" click.delegate=\\\"dialogDuplicate(row, 'profile')\\\">warning</i>\\n            </td>\\n\\n            <td class=\\\"profile ${schema.userData.profile.businessType.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.businessType']\\\" schema.bind=\\\"schema.userData.profile.businessType\\\" value.bind=\\\"row.userData.profile.businessType\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.displayName.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.displayName']\\\" schema.bind=\\\"schema.userData.profile.displayName\\\" value.bind=\\\"row.userData.profile.displayName\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.holderName.companyName.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.holderName.companyName']\\\" schema.bind=\\\"schema.userData.profile.holderName.companyName\\\" value.bind=\\\"row.userData.profile.holderName.companyName\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.fiscalCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.fiscalCode']\\\" schema.bind=\\\"schema.userData.profile.fiscalCode\\\" value.bind=\\\"row.userData.profile.fiscalCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.streetAddress.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.streetAddress']\\\" schema.bind=\\\"schema.userData.profile.location.streetAddress\\\" value.bind=\\\"row.userData.profile.location.streetAddress\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.locality.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.locality']\\\" schema.bind=\\\"schema.userData.profile.location.locality\\\" value.bind=\\\"row.userData.profile.location.locality\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.zipCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.zipCode']\\\" schema.bind=\\\"schema.userData.profile.location.zipCode\\\" value.bind=\\\"row.userData.profile.location.zipCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl3.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl3']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl3\\\" value.bind=\\\"row.userData.profile.location.admLvl3\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl2.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl2']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl2\\\" value.bind=\\\"row.userData.profile.location.admLvl2\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.admLvl1.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.admLvl1']\\\" schema.bind=\\\"schema.userData.profile.location.admLvl1\\\" value.bind=\\\"row.userData.profile.location.admLvl1\\\"></ka-control>\\n            </td>\\n            <td class=\\\"profile ${schema.userData.profile.location.countryCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.profile.controls['profile.location.countryCode']\\\" schema.bind=\\\"schema.userData.profile.location.countryCode\\\" value.bind=\\\"row.userData.profile.location.countryCode\\\"></ka-control>\\n            </td>\\n  \\n            <!-- Columns billing -->\\n            <td class=\\\"checkbox\\\">\\n              <input show.bind=\\\"row.billing._status !== 'duplicated' || row.billing._overwrite || !row.matchedBillingProfileUuid\\\" type=\\\"checkbox\\\" checked.bind=\\\"row.billing._selected\\\" change.delegate=\\\"selectBilling(row)\\\" disabled.bind=\\\"row.billing._disabled\\\">\\n              <i if.bind=\\\"row.billing._status === 'duplicated' && !row.billing._overwrite && row.matchedBillingProfileUuid\\\" class=\\\"material-icons warning\\\" ka-tooltip=\\\"Profilo già presente. Clicca per maggiori dettagli!\\\" click.delegate=\\\"dialogDuplicate(row, 'billing')\\\">warning</i>\\n            </td>\\n            \\n            <td class=\\\"billing ${schema.billingProfileData.type.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['type']\\\" schema.bind=\\\"schema.billingProfileData.type\\\" value.bind=\\\"row.billingProfileData.type\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.name.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['name']\\\" schema.bind=\\\"schema.billingProfileData.name\\\" value.bind=\\\"row.billingProfileData.name\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.fiscalCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['fiscalCode']\\\" schema.bind=\\\"schema.billingProfileData.fiscalCode\\\" value.bind=\\\"row.billingProfileData.fiscalCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.streetAddress.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.streetAddress']\\\" schema.bind=\\\"schema.billingProfileData.location.streetAddress\\\" value.bind=\\\"row.billingProfileData.location.streetAddress\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.locality.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.locality']\\\" schema.bind=\\\"schema.billingProfileData.location.locality\\\" value.bind=\\\"row.billingProfileData.location.locality\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.zipCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.zipCode']\\\" schema.bind=\\\"schema.billingProfileData.location.zipCode\\\" value.bind=\\\"row.billingProfileData.location.zipCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl3.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl3']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl3\\\" value.bind=\\\"row.billingProfileData.location.admLvl3\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl2.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl2']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl2\\\" value.bind=\\\"row.billingProfileData.location.admLvl2\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.admLvl1.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.admLvl1']\\\" schema.bind=\\\"schema.billingProfileData.location.admLvl1\\\" value.bind=\\\"row.billingProfileData.location.admLvl1\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.location.countryCode.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['location.countryCode']\\\" schema.bind=\\\"schema.billingProfileData.location.countryCode\\\" value.bind=\\\"row.billingProfileData.location.countryCode\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.payments.banking.iban.colClassName} ${row.profile._selected ? 'selected' : ''}\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['payments.banking.iban']\\\" schema.bind=\\\"schema.billingProfileData.payments.banking.iban\\\" value.bind=\\\"row.billingProfileData.payments.banking.iban\\\"></ka-control>\\n            </td>\\n            <td class=\\\"billing ${schema.billingProfileData.payments.banking.sepaDirectDebitEnabled.colClassName} ${row.profile._selected ? 'selected' : ''}\\\" style=\\\"padding-left:1rem\\\">\\n              <ka-control view-model.ref=\\\"row.billing.controls['payments.banking.sepaDirectDebitEnabled']\\\" schema.bind=\\\"schema.billingProfileData.payments.banking.sepaDirectDebitEnabled\\\" label=\\\"Abilita\\\" value.bind=\\\"row.billingProfileData.payments.banking.sepaDirectDebitEnabled\\\"></ka-control>\\n            </td>\\n\\n          </tr>\\n        </tbody>\\n      </table>\\n      <ka-button click.delegate=\\\"add()\\\">Aggiungi riga</ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./impostazioni.sass\\\"></require>\\n  <template if.bind=\\\"isInitPending === false\\\">\\n    <h2>Impostazioni avanzate</h2>\\n    <template if.bind=\\\"!isOperator && advancedPreferences\\\">\\n      <p class=\\\"assistance mx-4 mb-3\\\" if.bind=\\\"advancedPreferences.multifatture.enableBetaFeatures || advancedPreferences.grantLoginWithSupportTicket\\\">\\n        Questo account è stato attivato ai ruoli di: \\n        <strong if.bind=\\\"advancedPreferences.grantLoginWithSupportTicket\\\">Assistente</strong>\\n        <strong if.bind=\\\"advancedPreferences.multifatture.enableBetaFeatures\\\">BETA tester</strong>\\n      </p>\\n    </template>\\n    <div class=\\\"row mx-4\\\">\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"grantLoginWithSupportTicket\\\"></ka-control>\\n      </div>\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"multifatture.enableBetaFeatures\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-4\\\">\\n        <ka-control name=\\\"multifatture.accountingClientSoftwareUuid\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>       \\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button \\n        class=\\\"my-0 me-4\\\"\\n        click.delegate=\\\"save($event)\\\" \\n        disabled.bind=\\\"!api.hasRole('MODIFY_USER_ADVANCED_PREFERENCES')\\\">Salva modifiche\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <h2>Pagamenti</h2>\\n    <div class=\\\"row m-0 mb-4\\\">\\n      \\n      <!-- Gestione credito (left side) -->\\n      <div class=\\\"col-6 user-data\\\" style=\\\"padding: 0 0.75rem; box-shadow: 1px 0 0 0 #e0e0e0\\\">\\n        <div class=\\\"row m-0\\\">\\n          <h3 class=\\\"col-12\\\">Gestione credito</h3>\\n          <div if.bind=\\\"!writeEnabled && resources.data.debtGuarantorDisplayName\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"debtGuarantorDisplayName\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div if.bind=\\\"writeEnabled\\\" class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"debtGuarantorUuid\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <ka-control schema.bind=\\\"resource.schema.masterUserCreditSharing\\\" value.bind=\\\"masterUserCreditSharingCheck\\\" readonly.bind=\\\"!writeEnabled\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Fatturazione elettronica (right side) -->\\n      <div class=\\\"col-6 px-1 location-data\\\">\\n        <div class=\\\"row m-0\\\" style=\\\"padding: 0 0.75rem;\\\">\\n          <h3 class=\\\"col-12\\\">Fatturazione elettronica</h3>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"sdi.code\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12 pb-4\\\">\\n            <ka-control name=\\\"sdi.genericSubuserCode\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <ka-control name=\\\"registerBillsAsManagementMovement\\\" readonly.bind=\\\"!writeEnabled\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <!-- Buttons -->\\n    <div class=\\\"buttons d-flex justify-content-end\\\">\\n      <ka-button class=\\\"my-0 me-4\\\" click.delegate=\\\"save($event)\\\">Salva modifiche</ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./segnalatori.sass\\\"></require>\\n  <!-- Here was a ka-progress! (if.bind=\\\"isLoading || isInitializing\\\") -->\\n\\n  <template if.bind=\\\"!isInitializing\\\">\\n    <template if.bind=\\\"tableInterface\\\">\\n      <h2>\\n        Segnalatori\\n        <ka-button if.bind=\\\"writeEnabled\\\" class=\\\"inverted flat\\\" click.delegate=\\\"addReseller()\\\"><i class=\\\"far fa-plus\\\" style=\\\"vertical-align: unset;\\\"></i>Associa nuovo segnalatore</ka-button>\\n        <ka-button if.bind=\\\"downloadHistoryEnabled && !noAssociations\\\" class=\\\"inverted flat secondary\\\" click.delegate=\\\"downloadHistory()\\\"><i class=\\\"far fa-arrow-to-bottom\\\" style=\\\"vertical-align: unset;\\\"></i>Download storico</ka-button>\\n      </h2>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice</th>\\n              <th>Nome</th>\\n              <th>Cognome</th>\\n              <th>Servizi</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"reseller of tableInterface.data\\\">\\n              <td><strong>${reseller.resellerCode}</strong></td>\\n              <td>${reseller.firstname}</td>\\n              <td>${reseller.lastname}</td>\\n              <td>\\n                <div if.bind=\\\"!isLoading\\\" class=\\\"service-groups d-flex flex-wrap align-items-center\\\">\\n                  <div if.bind=\\\"writeEnabled\\\" class=\\\"add d-flex justify-content-center align-items-center m-1 ms-0 mt-0\\\">\\n                    <i class=\\\"fal fa-plus\\\"></i>\\n                    <select value.bind=\\\"reseller.group\\\" change.delegate=\\\"addServiceGroup(reseller)\\\">\\n                      <option model.bind=\\\"null\\\">Seleziona un servizio da associare:</option>\\n                      <option repeat.for=\\\"group of serviceGroups\\\" model.bind=\\\"group\\\">${group.name}</option>\\n                    </select>\\n                  </div>\\n                  <template if.bind=\\\"serviceGroups\\\">\\n                    <span repeat.for=\\\"group of reseller.serviceGroups\\\" class=\\\"group d-flex align-items-center px-3 me-1 mb-1\\\">\\n                      <span>${group.name}</span>\\n                      <a if.bind=\\\"writeEnabled\\\" href=\\\"\\\" click.delegate=\\\"deleteServiceGroup(reseller, group)\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n                    </span>\\n                  </template>\\n                </div>\\n              </td>\\n              <td if.bind=\\\"writeEnabled\\\" class=\\\"d-flex justify-content-end\\\">\\n                <ka-button click.delegate=\\\"deleteReseller(reseller)\\\" ka-tooltip=\\\"Elimina\\\" class=\\\"flat primary\\\" style=\\\"width: 3.5rem\\\"><i class=\\\"fal fa-trash-alt\\\"></i></ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <require from=\\\"../../static/app.sass\\\"></require>\\n\\n  <!-- NEW menu -->\\n  <km-layout \\n    config.bind=\\\"layoutConfiguration\\\"\\n    if.bind=\\\"api.isAuthenticated && router.currentInstruction.config.settings.authRequired && router.currentInstruction.config.settings.hasLayout\\\">\\n    <div slot=\\\"beforeNav\\\">\\n      <div\\n        class=\\\"menu-level\\\"\\n        if.bind=\\\"isOperator\\\">Menu operatore per la gestione di MultiDialogo\\n      </div>\\n    </div>\\n    <div slot=\\\"afterNav\\\" class=\\\"aside-box\\\">\\n      <ka-button \\n        class=\\\"secondary\\\"\\n        click.delegate=\\\"gotoLegacy()\\\" \\n        style=\\\"max-width: calc(100% - 2rem); width: 100%\\\">Utilizza interfaccia tradizionale \\n      </ka-button>\\n    </div>\\n  </km-layout>\\n\\n  <router-view class=\\\"${(router.currentInstruction.config.className || router.currentInstruction.config.name).replace('/','-')}\\\"></router-view>\\n\\n  <template if.bind=\\\"serverStatusResponse && serverStatusResponse.statusCode !== 200\\\" >\\n    <div id=\\\"serverStatus\\\">${serverStatusResponse.statusCode === 503 ? serverStatusResponse.response.detail : 'Non riusciamo a contattare i server di Multidialogo, tentativo di connessione in corso...'}</div>\\n  </template>\\n  <template if.bind=\\\"isAppUpdated\\\">\\n    <div id=\\\"appUpdate\\\">\\n      <span><strong>Attenzione! </strong>Stai visualizzando una versione non aggiornata dell'applicazione.</span>\\n      <ka-button \\n        onclick=\\\"window.location.reload()\\\"\\n        class=\\\"flat secondary with-icon ms-3\\\" \\n        ka-tooltip=\\\"Ricarica la pagina e aggiorna l'applicazione\\\">\\n        <i class=\\\"far fa-sync\\\"></i>\\n        <span>Aggiorna</span>\\n      </ka-button>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ux-dialog.senderui-dialog {\\n      padding: 5px;\\n      width: 90vw;\\n      max-width: 1024px;\\n      height: 90vh;\\n      max-height: 768px;\\n    }\\n    ux-dialog.senderui-dialog ux-dialog-body {\\n      padding: 0;\\n      width: calc(90vw - 10px);\\n      max-width: 1014px;\\n      height: calc(90vh - 10px);\\n      max-height: 758px;\\n    }\\n    ux-dialog.senderui-dialog a.close {\\n      display: block;\\n      position: absolute;\\n      top: 2rem;\\n      right: 2rem;\\n      border-radius: 50%;\\n      width: 2rem;\\n      height: 2rem;\\n      text-align: center;\\n      text-decoration: none;\\n      color: #ffffff;\\n      transition: all 0.3s;\\n    }\\n    ux-dialog.senderui-dialog a.close i {\\n      line-height: 2rem;\\n    }\\n    ux-dialog.senderui-dialog a.close:hover {\\n      text-shadow: 0 0 5px #00000033;\\n      transform: scale(1.1);\\n    }\\n  </style>\\n  <ux-dialog class=\\\"senderui-dialog\\\">\\n    <ux-dialog-body if.bind=\\\"model.iframe\\\">\\n      <a href=\\\"\\\" class=\\\"close\\\" click.delegate=\\\"close()\\\"><i class=\\\"material-icons\\\">highlight_off</i></a>\\n      <iframe src.bind=\\\"model.iframe\\\" name=\\\"senderui\\\"style=\\\"width: 100%; height: 100%; border: 0;\\\"></iframe>\\n    </ux-dialog-body>\\n  </ux-dialog>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./not-found.sass\\\"></require>\\n  <div class=\\\"d-flex flex-column align-items-center justify-content-center\\\">\\n    <h1>Manutenzione in corso!</h1>\\n    <h2 if.bind=\\\"reason\\\">${reason}</h2>\\n    <h2 else>La piattaforma è attualmente in manutenzione e non è disponibile per l'utilizzo</h2>\\n    <p>Grazie per la vostra comprensione</p>\\n    <a class=\\\"ka-button\\\" href=\\\"/dashboard\\\">Torna alla home</a>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./not-found.sass\\\"></require>\\n  <div class=\\\"d-flex flex-column align-items-center justify-content-center\\\">\\n    <h1>Qualcosa è andato storto!</h1>\\n    <h2>La pagina richiesta non esiste</h2>\\n    <a class=\\\"ka-button\\\" href=\\\"/dashboard\\\">Torna alla home</a>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./backoffice.scss\\\"></require>\\n\\n  <template if.bind=\\\"!agreement.view\\\">\\n    <h2>\\n      <span if.bind=\\\"!params.id\\\">Elenco agreements</span>\\n      <span else>${params.id === 'new' ? 'Crea nuovo' : 'Modifica'} agreement</span>\\n      <ka-button \\n        if.bind=\\\"!params.id\\\" \\n        class=\\\"inverted flat with-icon\\\" \\n        click.delegate=\\\"new()\\\">\\n        <i class=\\\"far fa-file-plus\\\"></i>\\n        <span>Crea nuovo agreement</span>\\n      </ka-button>\\n      <template else>\\n        <ka-button \\n          if.bind=\\\"!isActive\\\" \\n          click.delegate=\\\"save($event)\\\" \\n          disabled.bind=\\\"isActive\\\" \\n          class=\\\"flat inverted with-icon ms-0\\\">\\n          <i class=\\\"far fa-file-check\\\"></i> \\n          <span>Salva agreement</span>\\n        </ka-button>\\n        <ka-button \\n          click.delegate=\\\"cancel()\\\" \\n          class=\\\"flat inverted secondary with-icon\\\">\\n          <i class=\\\"far fa-undo\\\"></i>\\n          <span>Torna indietro</span>\\n        </ka-button>\\n      </template>\\n    </h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"!params.id\\\">\\n      <template if.bind=\\\"agreementsSearchInterface.initialized && (agreementsTableInterface.data || agreementsTableInterface.isLoading)\\\">\\n        <md-table-toolbar table.bind=\\\"agreementsTableInterface\\\" search.bind=\\\"agreementsSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"agreementsTableInterface.data.length\\\">\\n              <tr>\\n                <th></th>\\n                <th>Titolo</th>\\n                <th>Data di inizio</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"agreementsTableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of agreementsTableInterface.data\\\" class=\\\"${record.status === 'ACTIVE' ? 'attivo' : 'inattivo'}\\\">\\n                <td class=\\\"agreement-status\\\">\\n                  <i class=\\\"fal fa-check-circle\\\" click.delegate=\\\"activation(record)\\\" ka-tooltip=\\\"value.bind: record.status === 'ACTIVE' ? 'Attivo' : 'Inattivo. Clicca per attivare'\\\"></i>\\n                </td>\\n                <td class=\\\"limitwidth\\\">${record.label}</td>\\n                <td>${record.startAt | dateFormat}</td>\\n                <td class=\\\"d-flex justify-content-end\\\">\\n                  <ka-button \\n                    click.delegate=\\\"view(record)\\\" \\n                    ka-tooltip=\\\"Visiona\\\" \\n                    class=\\\"flat inverted secondary\\\">\\n                    Visualizza\\n                  </ka-button>\\n                  <ka-button \\n                    click.delegate=\\\"edit(record)\\\" \\n                    disabled.bind=\\\"record.status === 'ACTIVE'\\\" \\n                    ka-tooltip=\\\"Modifica\\\" \\n                    class=\\\"flat inverted icon\\\">\\n                    <i class=\\\"far fa-edit\\\"></i>\\n                  </ka-button>\\n                  <ka-button \\n                    click.delegate=\\\"activation(record, $event)\\\" \\n                    disabled.bind=\\\"record.status === 'ACTIVE'\\\" \\n                    ka-tooltip=\\\"Attiva\\\" \\n                    class=\\\"flat inverted icon\\\">\\n                    <i class=\\\"far fa-file-check\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td if.bind=\\\"!agreementsTableInterface.data.length\\\">Non sono presenti agreements</td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  \\n    <!-- Edit -->\\n    <template if.bind=\\\"params.id\\\">\\n      <md-resource view-model.ref=\\\"agreements.resource\\\" with.bind=\\\"agreements.resource\\\" schema.bind=\\\"agreements.schema\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 col-lg-8\\\">\\n            <md-control name=\\\"label\\\" buttons=\\\"clear\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-3 col-lg-2\\\">\\n            <md-control name=\\\"startAt\\\" buttons=\\\"clear,dropdown\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-3 col-lg-2\\\">\\n            <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-12 my-3\\\">\\n            <md-control name=\\\"content\\\" readonly.bind=\\\"isActive\\\"></md-control>\\n          </div>\\n        </div>\\n      </md-resource>\\n  \\n      <!-- Clauses -->\\n      <h2 class=\\\"m-0\\\">\\n        Clausole\\n        <ka-button \\n          if.bind=\\\"params.id !== 'new' && !isActive\\\" \\n          click.delegate=\\\"addClause()\\\" \\n          class=\\\"inverted flat with-icon\\\" \\n          disable.bind=\\\"params.id ==='new'\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Aggiungi clausola</span>\\n        </ka-button>\\n      </h2>\\n      <p if.bind=\\\"params.id ==='new'\\\">Sarà possibile aggiungere clausole solo dopo il primo salvataggio del record.</p>\\n      <p if.bind=\\\"params.id !=='new' && !clauses.data.length\\\">Non sono ancora presenti clausole.</p>\\n      <template if.bind=\\\"params.id !=='new' && clauses.data.length\\\">\\n        <template repeat.for=\\\"clause of clauses.data\\\">\\n          <md-resource view-model.ref=\\\"clause.resource\\\" with.bind=\\\"clause.resource\\\" data.bind=\\\"clause.data\\\" schema.bind=\\\"clauses.schema\\\">\\n            <div class=\\\"row my-3 mx-0\\\">\\n              <div class=\\\"col py-0 px-3 flex-grow-1\\\">\\n                <md-control name=\\\"label\\\" readonly.bind=\\\"!clause.data || !!clause.data.id\\\"></md-control>\\n              </div>\\n              <div class=\\\"col d-flex align-items-center py-0 px-3 flex-grow-0\\\" style=\\\"min-width: 16.5rem\\\">\\n                <ka-button if.bind=\\\"clause.data && !isActive\\\" click.delegate=\\\"deleteClause($event, clause.data.id, $index)\\\" class=\\\"flat secondary m-0\\\"><i class=\\\"fal fa-trash-alt me-3\\\" style=\\\"vertical-align: unset;\\\"></i>Elimina clausola</ka-button>\\n              </div>\\n            </div>\\n            <div class=\\\"row m-0 mt-3\\\">\\n              <div class=\\\"col-12 py-0 px-3\\\">\\n                <md-control name=\\\"content\\\" readonly.bind=\\\"!clause.data || !!clause.data.id\\\"></md-control>\\n              </div>\\n            </div>\\n          </md-resource>\\n        </template>\\n      </template>\\n    </template>\\n  </template>\\n\\n  <!-- View -->\\n  <template if.bind=\\\"agreement.view\\\">\\n    <h2 if.bind=\\\"agreement.back\\\">\\n      ${agreement.view.label}\\n      <ka-button click.delegate=\\\"cancel()\\\" class=\\\"flat inverted\\\"><i class=\\\"far fa-undo me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Torna indietro</ka-button>\\n    </h2>\\n    <div style=\\\"height: 100%; overflow-y: auto\\\">\\n      <compose containerless view-model=\\\"${agreement.route}\\\" model.bind=\\\"{ agreement }\\\"></compose>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"\\n<template>\\n  <require from=\\\"./backoffice.scss\\\"></require>\\n  <template if.bind=\\\"!params.id\\\">\\n    <h2>Elenco alias sms</h2>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"aliasSearchInterface.initialized && (aliasTableInterface.data || aliasSearchInterface.isLoading)\\\">\\n      <md-table-toolbar table.bind=\\\"aliasTableInterface\\\" search.bind=\\\"aliasSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"aliasTableInterface.data.length\\\">\\n            <tr>\\n              <th><md-table-sort table.bind=\\\"aliasTableInterface\\\" attribute=\\\"requestedAt\\\">Data richiesta</md-table-sort></th>\\n              <th>Azienda</th>\\n              <th>Stato di attivazione</th>\\n              <th>Mittente SMS</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"aliasTableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of aliasTableInterface.data\\\">\\n              <td>${record.requestedAt | dateFormat}</td>\\n              <td>${record.companyName}</td>\\n              <td\\n                css=\\\"${['COMPLETED', 'REGISTERED'].includes(record.status) ? 'color: #1ab91a' : ['ERRORR', 'REFUSED'].includes(record.status) ? 'color: #f91a1a' : ''}\\\">\\n                ${record.status === 'PENDING' ? 'In attesa di registrazione' : record.status === 'REGISTERED' ? 'Richiesta registrata' : record.status === 'COMPLETED' ? 'Attivo' : record.status === 'ERROR' ? 'Errore' : record.status === 'REFUSED' ? 'Richiesta rifiutata' : ''}\\n              </td>\\n              <td>${record.displayName}</td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button\\n                  click.delegate=\\\"edit(record)\\\"\\n                  ka-tooltip=\\\"Conferma invio\\\"\\n                  class=\\\"ka-table-button arrow\\\">\\n                  <i class=\\\"material-icons\\\">keyboard_arrow_rights</i>\\n                </button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!aliasTableInterface.data.length\\\">Non sono presenti alias sms</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n  <!-- Modifica -->\\n  <template if.bind=\\\"params.id\\\">\\n    <h2>Dettaglio alias sms</h2>\\n    <md-resource view-model.ref=\\\"resource\\\">\\n      <div class=\\\"row modify-alias\\\">\\n        <div class=\\\"col-6\\\">\\n          <ka-control name=\\\"companyName\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-6\\\">\\n          <ka-control name=\\\"status\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"vatCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"fiscalCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"streetAddress\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-3 col-md-6\\\">\\n          <ka-control name=\\\"zipCode\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-3 col-md-6\\\">\\n          <ka-control name=\\\"country\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"email\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-lg-6 col-md-12\\\">\\n          <ka-control name=\\\"phoneNumber\\\" readonly=\\\"true\\\"></ka-control>\\n        </div>\\n      </div>\\n      <div class=\\\"form-buttons d-flex flex-row-reverse\\\">\\n        <!-- <ka-button click.delegate=\\\"save()\\\">Salva</ka-button> -->\\n        <ka-button click.delegate=\\\"cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n      </div>\\n    </md-resource>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <p if.bind=\\\"preview && !result\\\">Con questa archiviazione verrebbero spostate <strong>${preview.willAffect}</strong> code</p>\\n  <p if.bind=\\\"result\\\">Con questa archiviazione sono state spostate <strong>${result.affected}</strong> code</p>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"!result\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!result\\\" click.delegate=\\\"archivia($event)\\\">Archivia</ka-button>\\n    <ka-button if.bind=\\\"result\\\"  click.trigger=\\\"controller.ok()\\\">OK</button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    table.ka-table-like { border: 1px solid #e0e0e0; background-color: #fff; }\\n  </style>\\n  <table class=\\\"ka-table-like\\\" show.bind=\\\"archives.length\\\">\\n    <tr>\\n      <th>Percorso</th>\\n      <th>Code</th>\\n      <th></th>\\n    </tr>\\n    <template repeat.for=\\\"record of archives\\\">\\n      <tr>\\n        <td>${record.realPath}</td>\\n        <td>${record.total}</td>\\n        <td class=\\\"ka-tr-tools\\\">\\n          <ka-button click.delegate=\\\"archivia(record)\\\">Archivia</ka-button>\\n        </td>\\n      </tr>\\n    </template>\\n  </table>\\n  <p show.bind=\\\"!archives.length\\\">Non ci sono elementi da archiviare!</p>\\n\\n  <h3>Filtra elenco code</h3>\\n  <ka-flex-row>\\n    <ka-input ka-flex label=\\\"Dal mese\\\" config.bind=\\\"{control:'combo', datasource: datasources.months, datapreload: true}\\\" value.bind=\\\"data.monthFrom\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"anno\\\" config.bind=\\\"{control:'combo', datasource: datasources.years, datapreload: true}\\\" value.bind=\\\"data.yearFrom\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"Al mese\\\" config.bind=\\\"{control:'combo', datasource: datasources.months, datapreload: true}\\\" value.bind=\\\"data.monthTo\\\"></ka-input>\\n    <ka-input ka-flex label=\\\"anno\\\" config.bind=\\\"{control:'combo', datasource: datasources.years, datapreload: true}\\\" value.bind=\\\"data.yearTo\\\"></ka-input>\\n    <ka-button click.delegate=\\\"load()\\\">Aggiorna</ka-button>\\n  </ka-flex-row>\\n  \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./editor-wall-advice.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n    <p if.bind=\\\"pendingGetWallAdvice\\\" class=\\\"m-0\\\">Caricamento in corso...</p>\\n    <div if.bind=\\\"!pendingGetWallAdvice\\\" class=\\\"row\\\">\\n      <div class=\\\"col\\\">\\n        <ka-control name=\\\"tag\\\" buttons=\\\"close\\\" class=\\\"pb-3\\\">${wallAdvice.tag}</ka-control>\\n        <ka-control name=\\\"title\\\" buttons=\\\"close\\\" class=\\\"pb-3\\\">${wallAdvice.title}</ka-control>\\n        <ka-control name=\\\"targetCodes\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\">${wallAdvice.targetCodes}</ka-control>\\n      </div>\\n      <div class=\\\"col\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col p-0\\\">\\n            <ka-control change.trigger=\\\"normalizeStartAtDateTime()\\\" name=\\\"startAt\\\" buttons=\\\"close,dropdown\\\" class=\\\"pb-3 pe-2\\\">${wallAdvice.startAt}</ka-control>\\n          </div>\\n          <div class=\\\"col p-0\\\">\\n            <ka-control change.trigger=\\\"normalizeEndAtDateTime()\\\" name=\\\"endAt\\\" buttons=\\\"close,dropdown\\\" class=\\\"pb-3 ps-2\\\">${wallAdvice.endAt}</ka-control>\\n          </div>\\n        </div>\\n        <ka-control name=\\\"type\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\">${wallAdvice.type}</ka-control>\\n        <ka-control name=\\\"public\\\" buttons=\\\"dropdown\\\">${wallAdvice.public}</ka-control>\\n      </div>\\n      <ka-control name=\\\"htmlContent\\\" buttons=\\\"close\\\">${wallAdvice.htmlContent}</ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button\\n      if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" \\n      class=\\\"inverted secondary with-icon\\\" \\n      style=\\\"margin-right: auto\\\" \\n      click.trigger=\\\"wallAdvicePreview(record)\\\" \\n      class=\\\"me-0\\\">\\n      <i class=\\\"far fa-eye\\\"></i>\\n      <span>Anteprima</span>\\n    </ka-button>\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"inverted\\\"if.bind=\\\"wallAdvice && api.hasRole('MODIFY_WALL_ADVICES')\\\" click.delegate=\\\"editWallAdvice($event)\\\">Salva modifiche</ka-button>\\n    <ka-button if.bind=\\\"!wallAdvice && api.hasRole('CREATE_WALL_ADVICES')\\\" class=\\\"inverted\\\" click.delegate=\\\"createWallAdvice($event)\\\">Aggiungi avviso</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./wall-advice-preview.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <h3>${wallAdvice.title}</h3>\\n    <div innerHtml.bind=\\\"wallAdvice.htmlContent\\\"></div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi anteprima</ka-button>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./wall-advice.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingGetWallAdvice !== false && !htmlTemplate\\\">Caricamento in corso......</p>\\n    <div if.bind=\\\"htmlTemplate\\\">\\n      <h3>${wallAdvice.title}</h3>\\n      <div innerHtml.bind=\\\"htmlTemplate\\\"></div>\\n    </div>\\n    <p if.bind=\\\"pendingGetWallAdvice === false && !htmlTemplate\\\">Non è possibile visualizzare l'avviso</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button if.bind=\\\"params.wallAdvice\\\" class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Chiudi</ka-button>\\n    <template if.bind=\\\"params.adviceToShow\\\">\\n      <ka-button if.bind=\\\"wallAdvice.type === 'REMINDER'\\\" class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\" class=\\\"me-0\\\">Ricordamelo al prossimo accesso</ka-button>\\n      <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_WALL_ADVICES')\\\" class=\\\"inverted secondary\\\" click.trigger=\\\"acknowledgedAdvice()\\\" class=\\\"me-0\\\">${wallAdvice.type === 'REMINDER' ? 'Non visualizzare più' : 'Chiudi'}</ka-button>\\n    </template>\\n  </div>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../wall-advices.sass\\\"></require>\\n\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca avvisi attivi</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"title\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"tag\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control\\n            name=\\\"startAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control\\n            name=\\\"endAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col-6 col-md-3\\\">\\n        <md-control name=\\\"public\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco avvisi attivi</span>\\n      <ka-button\\n        class=\\\"inverted flat with-icon\\\"\\n        click.delegate=\\\"openEditorWallAdvice()\\\"\\n        if.bind=\\\"api.hasRole('CREATE_WALL_ADVICES')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Aggiungi avviso</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Tag</th>\\n            <th>Titolo</th>\\n            <th>Autore</th>\\n            <th>Date</th>\\n            <th>Tipologia</th>\\n            <th>Visibilità</th>\\n            <th>Pagine target</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span>${record.tag}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"limitwidth\\\">${record.title}</span>\\n            </td>\\n            <td>${record.authorDisplayName}</td>\\n            <td class=\\\"dates\\\">\\n              <small><strong>Creato il:</strong> ${record.createdAt|dateFormat}</small>\\n              <small><strong>Programmato dal:</strong> ${record.startAt|dateFormat}</small>\\n              <small><strong>Programmato fino al:</strong> ${record.endAt|dateFormat}</small>\\n            </td>\\n            <td>\\n              <span>${record.type === \\\"SIMPLE\\\" ? \\\"Semplice\\\" : \\\"Reminder\\\"}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"tag ${record.public === 'YES' ? 'success' : ''}\\\">${record.public === \\\"YES\\\" ? \\\"Pubblico\\\" : \\\"Privato\\\"}</span>\\n            </td>\\n            <td>\\n              <span>${record.targetCodes}</span>\\n            </td>\\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                class=\\\"flat inverted m-0 ms-1\\\"\\n                if.bind=\\\"api.hasRole('CREATE_WALL_ADVICES')\\\"\\n                click.delegate=\\\"openEditorWallAdvice(record)\\\">\\n                Modifica\\n              </ka-button>\\n              <ka-button\\n                click.delegate=\\\"tools.dialogWallAdvice(record)\\\"\\n                class=\\\"flat inverted icon secondary m-0 ms-1\\\">\\n                <i class=\\\"far fa-eye\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti avvisi</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../wall-advices.sass\\\"></require>\\n\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca avvisi non attivi</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"title\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <md-control name=\\\"tag\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control \\n            name=\\\"startAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control \\n            name=\\\"endAt\\\" \\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button if.bind=\\\"api.hasRole('LIST_WALL_ADVICES')\\\" click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco avvisi non attivi</span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Tag</th>\\n            <th>Titolo</th>\\n            <th>Autore</th>\\n            <th>Date</th>\\n            <th>Tipologia</th>\\n            <th>Pagine target</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span>${record.tag}</span>\\n            </td>\\n            <td>\\n              <span class=\\\"limitwidth\\\">${record.title}</span>\\n            </td>\\n            <td>${record.authorDisplayName}</td>\\n            <td class=\\\"dates\\\">\\n              <small><strong>Creato il:</strong> ${record.createdAt|dateFormat}</small>\\n              <small><strong>Programmato dal:</strong> ${record.startAt|dateFormat}</small>\\n              <small><strong>Programmato fino al:</strong> ${record.endAt|dateFormat}</small>\\n            </td>\\n            <td>\\n              <span>${record.type === \\\"SIMPLE\\\" ? \\\"Semplice\\\" : \\\"Reminder\\\"}</span>\\n            </td>\\n            <td>\\n              <span>${record.targetCodes}</span>\\n            </td>\\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                click.delegate=\\\"tools.dialogEditorWallAdvice(record)\\\"\\n                class=\\\"flat inverted m-0 ms-1\\\">\\n                Modifica\\n              </ka-button>\\n              <ka-button\\n                click.delegate=\\\"tools.dialogWallAdvice(record)\\\"\\n                class=\\\"flat inverted icon secondary m-0 ms-1\\\">\\n                <i class=\\\"far fa-eye\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"api.hasRole('DELETE_WALL_ADVICES')\\\"\\n                class=\\\"flat inverted icon secondary m-0 ms-1\\\"\\n                click.delegate=\\\"dialogConfirmExpiredAdviceDeletion($event, record.id)\\\">\\n                <i class=\\\"fas fa-trash-alt\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti avvisi</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs>\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tab, privileges, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-blacklisted-tax-codes.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"isErrorInit === true\\\" class=\\\"dialog-loader m-0 p-3\\\">Errore in fase di caricamento</p>\\n    <p if.bind=\\\"!isErrorInit && isPendingInit !== false\\\" class=\\\"dialog-loader m-0 p-3\\\">Caricamento in corso</p>\\n    <template if.bind=\\\"!isErrorInit && isPendingInit === false\\\">\\n      <h2 class=\\\"table-title\\\">Elenco</h2>\\n      <template if.bind=\\\"tableInterface.data\\\">\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Data inserimento</th>\\n              <th>Partita IVA o codice fiscale</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td class=\\\"date\\\">${record.created | dateFormat:'DD/MM/YYYY'}</td>\\n              <td class=\\\"tax-code\\\">${record.taxCode}</td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Non sono presenti movimenti</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </template>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <h2>Elenco bounces</h2>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"bouncesSearchInterface.initialized && (bouncesTableInterface.data || bouncesTableInterface.isLoading)\\\">\\n    <md-table-toolbar table.bind=\\\"bouncesTableInterface\\\" search.bind=\\\"bouncesSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"bouncesTableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"receivedAt\\\">Data ricezione</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"email\\\">Email</md-table-sort></th>\\n            <th>Classe</th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"type\\\">Tipo</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"subType\\\">Sotto tipo</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"bouncesTableInterface\\\" attribute=\\\"reason\\\">Ragione</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"bouncesTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of bouncesTableInterface.data\\\">\\n            <td>${record.receivedAt | dateFormat}</td>\\n            <td>${record.email}</td>\\n            <td>${record.class}</td>\\n            <td>${record.type}</td>\\n            <td>${record.subType}</td>\\n            <td>${record.reason}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!bouncesTableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./documenti-approval.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"mx-0 mt-0\\\">\\n      <strong>${type.label || document.documentTypeLabel}.</strong><br>\\n      <small if.bind=\\\"document.ownerDisplayName\\\">Utente: ${document.ownerDisplayName}.<br></small>\\n      <small if.bind=\\\"!document.approvedAt && !document.refusedAt\\\">documento caricato il ${document.uploadedAt | dateFormat}.</small>\\n      <small if.bind=\\\"document.approvedAt\\\">documento approvato il ${document.approvedAt | dateFormat}.</small>\\n      <small if.bind=\\\"document.refusedAt\\\">documento rifiutato il ${document.refusedAt | dateFormat}.</small>\\n    </p>\\n    <ka-control \\n      schema.bind=\\\"schema.status\\\" \\n      value.bind=\\\"data.status\\\" \\n      buttons=\\\"clear\\\" \\n      class=\\\"${data.status === 'REFUSED' ? 'pb-3' : ''}\\\">\\n    </ka-control>\\n    <ka-control \\n      if.bind=\\\"data.status === 'REFUSED'\\\" \\n      schema.bind=\\\"schema.statusReason\\\" \\n      value.bind=\\\"data.statusReason\\\" \\n      buttons=\\\"clear\\\"\\n      class=\\\"mb-3\\\">\\n    </ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event, data)\\\" disabled.bind=\\\"!data.status || (data.status === 'REFUSED' && !data.statusReason)\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca documenti caricati</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"uuid\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"_search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco documenti caricati</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th></th>\\n            <th>Tipologia documento</th>\\n            <th>Utente</th>\\n            <th>Data di caricamento</th>\\n            <th>Stato di approvazione</th>\\n            <th>Operatore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"document ${ item.refusedAt ? 'refused' : item.approvedAt ? 'approved' : '' } align-middle\\\" style=\\\"width: 0;\\\">\\n              <i class=\\\"fal ${ item.refusedAt ? 'fa-file-times' : item.approvedAt ? 'fa-file-check' : 'fa-file-alt' } align-text-bottom\\\" ka-tooltip=\\\"value.bind: item.refusedAt ? 'Rifiutato' : item.approvedAt ? 'Approvato' : 'In attesa di approvazione'\\\"></i>\\n            </td>\\n            <td class=\\\"align-middle text-nowrap\\\">\\n              <span>${item.documentTypeLabel}</span>\\n              <small if.bind=\\\"item.placeholder\\\" class=\\\"d-block\\\">Etichetta - ${item.placeholderType} ${item.placeholder}</small>\\n            </td>\\n            <td class=\\\"align-middle\\\">${item.ownerDisplayName}</td>\\n            <td class=\\\"align-middle text-nowrap\\\">Caricato il ${item.uploadedAt | dateFormat}</td>\\n            <td class=\\\"align-middle text-nowrap\\\">\\n              <span if.bind=\\\"item.approvedAt\\\" ka-tooltip.bind=\\\"item.statusReason\\\">Approvato il ${item.approvedAt|dateFormat}</span>\\n              <span if.bind=\\\"item.refusedAt\\\" ka-tooltip.bind=\\\"item.statusReason\\\">Rifiutato il ${item.refusedAt|dateFormat}</span>\\n              <span if.bind=\\\"!item.approvedAt && !item.refusedAt\\\">In attesa di approvazione</span>\\n              <small if.bind=\\\"item.statusReason\\\" class=\\\"limitwidth-30\\\">${item.statusReason}</small>\\n            </td>\\n            <td class=\\\"align-middle\\\">\\n              <span if.bind=\\\"item.approvalOperatorDisplayName || item.refusalOperatorDisplayName\\\" ka-tooltip.bind=\\\"item.approvedByUuid ? `Uuid operatore: ${item.approvedByUuid}` : item.refusedByUuid ? `Uuid operatore: ${item.refusedByUuid}` : ''\\\">${item.approvalOperatorDisplayName || item.refusalOperatorDisplayName}</span>\\n            </td>\\n            <td class=\\\"ka-tr-tools align-middle\\\">\\n              <!-- Approval -->\\n              <button if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CERTIFIABLE_BUCKET_DOCUMENT')\\\" click.delegate=\\\"approval(item)\\\" ka-tooltip=\\\"Approva o Rifiuta documento\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"fal fa-file-certificate\\\"></i>\\n              </button>\\n              <!-- Download -->\\n              <button click.delegate=\\\"download(item)\\\" ka-tooltip=\\\"Scarica documento\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"fal fa-arrow-to-bottom\\\"></i>\\n              </button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"strategyIn\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"typeIn\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"excludeFromRetry\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"createdAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"createdAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"lastAttemptStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"lastAttemptEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-4\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"deliveredAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"deliveredAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n\\n    <!-- Table -->\\n    <template if.bind=\\\"tableInterface.data || tableInterface.isLoading\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like users_table\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data creazione</md-table-sort></th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"deliveredAt\\\">Data elaborazione mtrax</md-table-sort></th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"type\\\">Tipologia</md-table-sort></th>\\n              <th>Motivo</th>\\n              <th>Modalità</th>\\n              <th>Retry</th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"attempts\\\">Tentativi</md-table-sort></th>\\n              <th>Ultimo tentativo</th>\\n              <th>Non consegnato</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td>\\n                ${record.createdAt|dateFormat}\\n                <span><br>ID: ${record.id}</span>\\n              </td>\\n              <td>${record.deliveredAt|dateFormat}</td>\\n              <td>${record.type}</td>\\n              <td>${record.payload.data.attributes.reason}</td>\\n              <td>${record.strategy}</td>\\n              <td class=\\\"limitwidth-20\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.excludeFromRetry\\\"\\n                  value.bind=\\\"record.excludeFromRetry\\\"\\n                  value.bind=\\\"record.status\\\"\\n                  buttons=\\\"clear,dropdown\\\"\\n                  change.delegate=\\\"setExcludeFromRetry(record)\\\"\\n                  class=\\\"limitwidth-20\\\">\\n                </ka-control>\\n              </td>\\n              <td>${record.attemptsCount}</td>\\n              <td>\\n                <strong>Data:</strong> ${record.lastFailedAttemptAt|daysFormat}\\n                <span if.bind=\\\"record.lastFailedAttemptReason\\\"><br>Motivo errore: ${record.lastFailedAttemptReason}</span>\\n              </td>\\n              <td class=\\\"limitwidth-20\\\">\\n                <ka-control\\n                  schema.bind=\\\"searchInterface.schema.notDelivered\\\"x\\n                  change.delegate=\\\"setNotDelivered(record)\\\"\\n                  class=\\\"limitwidth-20\\\">\\n                </ka-control>\\n              </td>\\n              <td class=\\\"ka-tr-tools\\\">\\n                <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"deleteRecord(record)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete</i></button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">No data</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche-dettaglio.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"meta\\\">\\n      <span style=\\\"white-space: nowrap;\\\"><strong>Codice</strong> <span class=\\\"code\\\">${notification.code}</span></span>\\n      <span style=\\\"white-space: nowrap;\\\"><strong>Chiave</strong> <span class=\\\"key\\\">${notification.uniqueKey}</span></span>\\n      <span if.bind=\\\"notification.doNotSendBefore\\\" style=\\\"white-space: nowrap;\\\"><strong>Programmata per il</strong> ${notification.doNotSendBefore | dateFormat}</span>\\n      <span else style=\\\"white-space: nowrap;\\\"><strong>Programmata per il</strong> ${notification.sendBefore | dateFormat}</span>\\n    </p>\\n    <h2>Report per canale</h2>\\n    <ka-tabs if.bind=\\\"notification.channels\\\">\\n      <!-- Email -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('email')\\\" label=\\\"Canale Email\\\">\\n        <div class=\\\"row\\\" repeat.for=\\\"notificationEmail of notification.emails\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${notificationEmail.recipientEmailAddress}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notificationEmail.emailDispatchedAt && !notificationEmail.emailDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notificationEmail.emailDispatchedAt\\\">Inviata il ${notificationEmail.emailDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notificationEmail.emailDispatchErrorAt\\\">Errore il ${notificationEmail.emailDispatchErrorAt | dateFormat}<br><small>${notificationEmail.emailDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notificationEmail.emailDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p if.bind=\\\"!notificationEmail.emailDeliveredAt && !notificationEmail.emailBouncedAt\\\">In attesa di essere consegnata</p>\\n            <p if.bind=\\\"notificationEmail.emailDeliveredAt\\\">Consegnata il ${notificationEmail.emailDeliveredAt | dateFormat}</p>\\n            <p if.bind=\\\"notificationEmail.emailBouncedAt\\\">Errore il ${notificationEmail.emailBouncedAt | dateFormat}<br><small>${notificationEmail.emailBounceReason}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin-top: 0;\\\">Oggetto</h3>\\n        <p>${notification.emailSubject}</p>\\n        <iframe id=\\\"emailFrame\\\" src=\\\"about:blank\\\"></iframe>\\n      </ka-tab>\\n      <!-- Sms -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('sms')\\\" label=\\\"Canale SMS\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${notification.recipientMobileNumber}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notification.smsDispatchedAt && !notification.smsDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notification.smsDispatchedAt\\\">Inviata il ${notification.smsDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.smsDispatchErrorAt\\\">Errore il ${notification.smsDispatchErrorAt | dateFormat}<br><small>${notification.smsDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notification.smsDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p if.bind=\\\"!notification.smsDeliveredAt && !notification.smsBouncedAt\\\">In attesa di essere consegnata</p>\\n            <p if.bind=\\\"notification.smsDeliveredAt\\\">Consegnata il ${notification.smsDeliveredAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.smsBouncedAt\\\">Errore il ${notification.smsBouncedAt | dateFormat}<br><small>${notification.smsBounceReason}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin: 0;\\\">Messaggio</h3>\\n        <p>${notification.smsBody}</p>\\n      </ka-tab>\\n\\n      <!-- Ui -->\\n      <ka-tab if.bind=\\\"notification.channels.includes('ui')\\\" label=\\\"Canale Notifica UI\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Destinatario</h3>\\n            <p>${userDisplayName}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Creazione</h3>\\n            <p>Creata il ${notification.createdAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\">\\n            <h3>Invio</h3>\\n            <p if.bind=\\\"!notification.uiDispatchedAt && !notification.uiDispatchErrorAt\\\">In attesa di essere inviata</p>\\n            <p if.bind=\\\"notification.uiDispatchedAt && !notification.uiDispatchErrorAt\\\">Inviata il ${notification.uiDispatchedAt | dateFormat}</p>\\n            <p if.bind=\\\"notification.uiDispatchErrorAt\\\">Errore il ${notification.uiDispatchErrorAt | dateFormat}<br><small>${notification.uiDispatchErrorMessage}</small></p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" if.bind=\\\"!notification.uiDispatchErrorAt\\\">\\n            <h3>Consegna</h3>\\n            <p>Consegnata il ${notification.uiDispatchedAt | dateFormat}</p>\\n          </div>\\n          <div class=\\\"col-6 col-lg\\\" else>\\n            <h3>Consegna</h3>\\n            <p>La notifica non può essere consegnata</p>\\n          </div>\\n        </div>\\n        <h3 style=\\\"margin-top: 0;\\\">Messaggio</h3>\\n        <p><strong>${notification.uiSubject}</strong></p>\\n        <div class=\\\"unformat\\\" innerhtml.bind=\\\"notification.uiHtmlBody\\\"></div>\\n      </ka-tab>\\n    </ka-tabs>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca notifice</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-xxl\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-xxl\\\">\\n        <md-input name=\\\"code\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleEmail\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusEmail\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleEmail\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleSms\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusSms\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleSms\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md search-channel\\\">\\n        <div class=\\\"row flex-nowrap\\\">\\n          <div class=\\\"col flex-grow-0\\\">\\n            <md-control name=\\\"scheduleUiNotice\\\" change.call=\\\"selectedChannel()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"statusUI\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!data.scheduleUiNotice\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE -->\\n  <template if.bind=\\\"tableInterface.data\\\" class=\\\"notifications\\\">\\n    <h2>Elenco notifiche <span if.bind=\\\"selectedUser\\\">di ${selectedUser.profile.displayName}</span></h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like notifications\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Data creazione</th>\\n            <th>Canale</th>\\n            <th>Programmata per</th>\\n            <th>Programmata entro</th>\\n            <th>Stato</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <!-- Code -->\\n            <td><span class=\\\"code\\\" click.delegate=\\\"tools.copyText(item.code)\\\" ka-tooltip=\\\"Copia codice\\\">${item.code}</span></td>\\n            <!-- Created at -->\\n            <td>${item.createdAt | dateFormat}</td>\\n            <!-- Canale -->\\n            <td class=\\\"channels\\\">\\n              <div>\\n                <i class=\\\"fal fa-at ${item.scheduleEmail === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica email\\\"></i>\\n                <i class=\\\"fal fa-sms ${item.scheduleSms === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica SMS\\\"></i>\\n                <i class=\\\"fal fa-bell-exclamation ${item.scheduleUiNotice === 'YES' ? 'active' : ''}\\\" ka-tooltip=\\\"Notifica UI\\\"></i>\\n              </div>\\n            </td>\\n            <!-- doNotSendBefore -->\\n            <td>\\n              <span if.bind=\\\"item.doNotSendBefore\\\">${item.doNotSendBefore | dateFormat}</span>\\n              <span else>Appena possibile</span>\\n            </td>\\n            <!-- sendBefore -->\\n            <td>${item.sendBefore | dateFormat}</td>\\n            <!-- Sending -->\\n            <td>\\n              <ul class=\\\"send\\\">\\n                <!-- Email -->\\n                <li if.bind=\\\"item.scheduleEmail === 'YES'\\\" class=\\\"email\\\">\\n                  <div if.bind=\\\"item.recipientEmailAddress\\\" class=\\\"emailAdress\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email</span>\\n                    <ul class=\\\"timeline email-sms ${!item.emailDispatchedAt && !item.emailDispatchErrorAt ? 'pending' : item.emailDispatchedAt && !item.emailDeliveredAt && !item.emailBouncedAt ? 'transit' : item.emailDispatchErrorAt ? 'error' : item.emailBouncedAt ? 'bounced' : item.emailDeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                  <div if.bind=\\\"item.recipientEmailAddress2\\\" class=\\\"emailAdress\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email 2</span>\\n                    <ul class=\\\"timeline email-sms ${!item.email2DispatchedAt && !item.email2DispatchErrorAt ? 'pending' : item.email2DispatchedAt && !item.email2DeliveredAt && !item.email2BouncedAt ? 'transit' : item.email2DispatchErrorAt ? 'error' : item.email2BouncedAt ? 'bounced' : item.email2DeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                  <div if.bind=\\\"item.recipientEmailAddress3\\\" class=\\\"emailAdress\\\" ka-tooltip=\\\"${item.recipientEmailAddress}\\\">\\n                    <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientEmailAddress\\\">Email 3</span>\\n                    <ul class=\\\"timeline email-sms ${!item.email3DispatchedAt && !item.email3DispatchErrorAt ? 'pending' : item.email3DispatchedAt && !item.email3DeliveredAt && !item.email3BouncedAt ? 'transit' : item.email3DispatchErrorAt ? 'error' : item.email3BouncedAt ? 'bounced' : item.email3DeliveredAt ? 'delivered' : ''}\\\">\\n                      <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'email', item);\\\"></li>\\n                    </ul>\\n                  </div>\\n                </li>\\n\\n                <!-- Sms -->\\n                <li if.bind=\\\"item.scheduleSms === 'YES'\\\" class=\\\"sms\\\">\\n                  <span class=\\\"send-channel\\\" ka-tooltip.bind=\\\"item.recipientMobileNumber\\\">SMS</span>\\n                  <ul class=\\\"timeline email-sms ${!item.smsDispatchedAt && !item.smsDispatchErrorAt ? 'pending' : item.smsDispatchedAt && !item.smsDeliveredAt && !item.smsBouncedAt ? 'transit' : item.smsDispatchErrorAt ? 'error' : item.smsBouncedAt ? 'bounced' : item.smsDeliveredAt ? 'delivered' : ''}\\\">\\n                    <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'sms', item);\\\"></li>\\n                  </ul>\\n                </li>\\n\\n                <!-- Ui -->\\n                <li if.bind=\\\"item.scheduleUiNotice === 'YES'\\\" class=\\\"ui\\\">\\n                  <span class=\\\"send-channel\\\">Notifica UI</span>\\n                  <ul class=\\\"timeline ui ${!item.uiDispatchedAt && !item.uiDispatchErrorAt ? 'pending' : item.uiDispatchErrorAt ? 'error' : item.uiDispatchedAt ? 'delivered' : ''}\\\">\\n                    <li repeat.for=\\\"li of 3\\\" ka-tooltip=\\\"value.bind: statusTooltip($index+1, 'ui', item);\\\"></li>\\n                  </ul>\\n                </li>\\n              </ul>\\n            </td>\\n            <!-- Button -->\\n            <td class=\\\"d-flex justify-content-sm-end my-2 my-sm-0\\\"><ka-button class=\\\"flat\\\" click.delegate=\\\"detail(item)\\\">Dettaglio</ka-button></td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body py-4\\\">\\n    <p class=\\\"mt-0\\\">Seleziona l'utente a cui assegnare l'offerta oppure inserisci l'indirizzo email per assegnare l'offerta ad un nuovo utente</p>\\n    <div class=\\\"row px-3\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control readonly.bind=\\\"resource.data.email\\\" name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control readonly.bind=\\\"resource.data.user\\\" name=\\\"email\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button class=\\\"inverted m-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./offerte-editor.sass\\\"></require>\\n\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-12 col-md-4\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4 pt-3 pt-md-0\\\">\\n        <ka-control name=\\\"promotionCode\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-4 pt-2 pt-md-0\\\">\\n        <ka-control name=\\\"public\\\"></ka-control>\\n      </div>\\n\\n      <div if.bind=\\\"params\\\" class=\\\"col-12 order-1 mt-2\\\">\\n        <h2 style=\\\"margin: 0 -2rem\\\">Dati modificabili</h2>\\n      </div>\\n      <div class=\\\"col-12 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"title\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"description\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6 col-md-4\\\">\\n        <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6 order-1 ' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"endAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"targetUserType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4\\\">\\n        <ka-control name=\\\"contextBusinessType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"deadlineType\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"deadlineTypeChange()\\\"></ka-control>\\n      </div>\\n      <div class=\\\"${params ? 'col-6' : 'col-6'} col-md-4 ${params ? 'order-1' : ''}\\\">\\n        <ka-control name=\\\"deadlineAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted m-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./offerte.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"promotionCode\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-3\\\">\\n        <md-control name=\\\"targetUserType\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"startAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"startAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"endAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"endAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <md-control name=\\\"deadlineType\\\" change.call=\\\"deadlineTypeChange()\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div  if.bind=\\\"data.deadlineType\\\" class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"deadlineAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"deadlineAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-2\\\">\\n        <md-control name=\\\"public\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n\\n      <div class=\\\"col-12 col-xl d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco offerte \\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_PROMOTION_OFFERS')\\\"\\n        class=\\\"inverted flat\\\" \\n        click.delegate=\\\"createOffer()\\\">\\n        <i class=\\\"far fa-plus me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Crea nuova offerta\\n      </ka-button>\\n      </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Codice promozione</th>\\n            <th>Titolo/Descrizione</th>\\n            <th>Data creazione</th>\\n            <th>Periodo di validità</th>\\n            <th>Applicabile a</th>\\n            <th>Scadenza</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td>\\n              <span if.bind=\\\"offer.public === 'NO'\\\" class=\\\"text-primary\\\">Offerta privata<br></span>\\n              <span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.code}</span>\\n            </td>\\n            <td><span if.bind=\\\"offer.promotionCode\\\" class=\\\"${offer.promotionCode ? 'promo-code' : ''}\\\">${offer.promotionCode ? offer.promotionCode : 'Nessuna promozione'}</span></td>\\n            <td style=\\\"max-width: 250px\\\">\\n              ${offer.title}\\n              <small class=\\\"limitwidth-20\\\" ka-tooltip.bind=\\\"offer.description\\\">${offer.description}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap d-block\\\">${offer.createdAt|dateFormat}</span>\\n              <small>${offer.authorDisplayName}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap d-block\\\"><small>Dal:</small> ${offer.startAt|dateFormat}</span>\\n              <span class=\\\"text-nowrap d-block\\\"><small>Al:</small> ${offer.endAt|dateFormat}</span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"offer.targetUserType\\\">${offer.targetUserType === 'PARENT' ? 'Utenti' : 'Sottoutenti'}</span><br>\\n              <small if.bind=\\\"offer.contextBusinessType\\\">${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Amministratore' : 'Altro'}</small>\\n            </td>\\n            <td>\\n              <span class=\\\"text-nowrap\\\">${offer.deadlineAt|dateFormat}</span>\\n              <small if.bind=\\\"offer.deadlineType === 'USER-CREATION'\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Per iscrizione utente</small>\\n              <small if.bind=\\\"offer.deadlineType === 'FLAT-SERVICE-SUBSCRIPTION'\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Per sottoscrizione servizio</small>\\n            </td>\\n            <td class=\\\"text-end\\\">\\n              <template if.bind=\\\"offer.endAt > currentDate\\\">\\n                <ka-button click.delegate=\\\"editOffer($event, offer)\\\" class=\\\"flat\\\">Modifica</ka-button>\\n                <span if.bind=\\\"offer.startAt < currentDate\\\">\\n                  <br><ka-button click.delegate=\\\"assignOffer($event, offer)\\\" class=\\\"flat inverted secondary mt-2\\\">Assegna</ka-button>\\n                </span>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-xl-2\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"requestedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"requestedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4\\\">\\n        <md-control name=\\\"email\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Offerte prenotate</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Data prenotazione</th>\\n            <th>Email</th>\\n            <th>Autore</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td><span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.redeemCode}</span></td>\\n            <td class=\\\"text-nowrap\\\">${offer.requestedAt|dateFormat}</td>\\n            <td>${offer.requestEmail}</td>\\n            <td>${offer.authorDisplayName}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <!-- SEARCH INTERFACE -->\\n   <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca offerte</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-xl-2\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"requestedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"requestedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-6 col-xl-4 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\"><md-control name=\\\"redeemedAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n        <div class=\\\"ps-2 w-100\\\"><md-control name=\\\"redeemedAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control></div>\\n      </div>\\n      <div class=\\\"col-12 col-xl-2\\\">\\n        <md-control name=\\\"userId\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-xl-4\\\">\\n        <md-control name=\\\"userUuid\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-xl-4\\\">\\n        <md-control name=\\\"email\\\" buttons=\\\"clear,dropdown\\\" submit.call=\\\"search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Offerte riscattate</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice offerta</th>\\n            <th>Data prenotazione</th>\\n            <th>Data riscatto</th>\\n            <th>ID/UUID utente</th>\\n            <th>Nome</th>\\n            <th>Email</th>\\n            <th>Autore</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"offer of tableInterface.data\\\">\\n            <td><span click.delegate=\\\"offerLink(offer)\\\" ka-tooltip=\\\"Copia link offerta\\\" class=\\\"copy-text with-icon\\\">${offer.redeemCode}</span></td>\\n            <td class=\\\"text-nowrap\\\">${offer.requestedAt|dateFormat}</td>\\n            <td class=\\\"text-nowrap\\\">${offer.redeemedAt|dateFormat}</td>\\n            <td>\\n              <span>${offer.userId}</span><br>\\n              <small>${offer.userUuid}</small>\\n            </td>\\n            <td class=\\\"limitwidth-20\\\">${offer.userDisplayName}</td>\\n            <td class=\\\"limitwidth-20\\\">${offer.requestEmail}</td>\\n            <td>${offer.authorDisplayName}</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tools, tab }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./contract-detail.sass\\\"></require>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p if.bind=\\\"!htmlTemplate && pendingGetCashbackContract !== false\\\">Caricamento in corso...</p>\\n    <p if.bind=\\\"htmlTemplate\\\" class=\\\"content\\\" innerhtml.bind=\\\"htmlTemplate\\\"></p>\\n    <p if.bind=\\\"!htmlTemplate && pendingGetCashbackContract === false\\\">Non è possibile visualizzare il contratto</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./contract-rescission.sass\\\"></require>\\n  <div class=\\\"body p-3\\\"> \\n    <p class=\\\"mx-0 mt-0\\\">\\n      <strong>Chiude definitivamente una sottoscrizione ad un contratto cashback.</strong>\\n    </p>\\n    <ka-control name=\\\"userUuid\\\" class=\\\"mb-3\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.trigger=\\\"changeUserUuid()\\\">\\n    </ka-control>\\n    <ka-control name=\\\"contractType\\\" buttons=\\\"dropdown\\\"> </ka-control>\\n    <small class=\\\"reason-alert mt-2 mb-2\\\"><strong>Attenzione!</strong> Il recesso avverrà su entrambe le tipologie di contratto indipendentemente dalla tipologia selezionata. La tipologia di contratto selezionata sarà ad esclusivo uso interno.</small>\\n    <span class=\\\"contract-versions\\\" if.bind=\\\"userId\\\" repeat.for=\\\"version of latestVersions\\\">\\n      <small class=\\\"flat-service\\\" if.bind=\\\"version['FLAT-SERVICE']\\\">${version['FLAT-SERVICE']}</small>\\n      <small class=\\\"multinvio-volumes\\\" if.bind=\\\"version['MULTINVIO-VOLUMES']\\\">${version['MULTINVIO-VOLUMES']}</small>\\n    </span>\\n    <ka-control class=\\\"mt-3 mb-3\\\" name=\\\"defaultMessage\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"changeDefaultMessage()\\\">\\n    </ka-control>\\n    <ka-control name=\\\"reason\\\"> </ka-control>\\n    <small class=\\\"reason-alert mt-1\\\"><strong>Attenzione!</strong> Il messaggio sarà visibile al cliente.</small>\\n    <p class=\\\"mx-0\\\">\\n      Il recesso di un contratto è un'operazione straordinaria e non va\\n      utilizzata in maniera inadeguata. L'utente verrà bloccato su quel\\n      contratto e non potrà attivarne altri. Il nominativo dell'esecutore sarà\\n      registrato e conservato per eventuali verifiche.\\n    </p>\\n    <ka-control class=\\\"mb-3\\\" name=\\\"isConfirmed\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n      <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n      <ka-button \\n        class=\\\"ms-0\\\" \\n        disabled.bind=\\\"!resource.data.userUuid || userId === undefined || !resource.data.reason || !resource.data.isConfirmed\\\" \\n        click.delegate=\\\"rescindContract($event)\\\">Recedi contratto\\n      </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./create-contract.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n    <p class=\\\"m-0 p-0 mb-3\\\">Stai creando una nuova versione del <strong>contratto cashback per ${params.type === 'MULTINVIO-VOLUMES' ? 'spedizioni MultInvio' : 'sottoscrizioni servizi'}.</strong></p>\\n    <ka-control name=\\\"htmlTemplate\\\" class=\\\"pb-3\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"pendingCreateCashbackContracts || !resource.data.htmlTemplate\\\"\\n      click.delegate=\\\"createCashbackContracts($event)\\\">Crea contratto\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"tableInterface.initialized\\\">\\n    <h2>\\n      <span>Lista contratti cashback per spedizioni MultInvio</span>\\n      <ka-button\\n        class=\\\"inverted flat\\\"\\n        click.delegate=\\\"openDialogCreateContract()\\\"\\n        if.bind=\\\"api.hasRole('CREATE_CASHBACK_CONTRACTS')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuovo contratto</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Versione</th>\\n            <th>Data di creazione</th>\\n            <th>Autore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.version}</td>\\n              <td>${record.createdAt|dateFormat}</td>\\n              <td>${record.authorDisplayName}</td>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button\\n                  class=\\\"flat inverted secondary m-0\\\"\\n                  click.delegate=\\\"tools.openDialogContractDetail(record)\\\">Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"4\\\">\\n              <span>Non sono presenti contratti</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"tableInterface.initialized\\\">\\n    <h2>\\n      <span>Lista contratti cashback per sottoscrizioni servizi</span>\\n      <ka-button\\n        class=\\\"inverted flat\\\"\\n        click.delegate=\\\"openDialogCreateContract()\\\"\\n        if.bind=\\\"api.hasRole('CREATE_CASHBACK_CONTRACTS')\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuovo contratto</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Versione</th>\\n            <th>Data di creazione</th>\\n            <th>Autore</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.version}</td>\\n              <td>${record.createdAt|dateFormat}</td>\\n              <td>${record.authorDisplayName}</td>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button\\n                  class=\\\"flat inverted secondary m-0\\\"\\n                  click.delegate=\\\"tools.openDialogContractDetail(record)\\\">Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"4\\\">\\n              <span>Non sono presenti contratti</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca sottoscrizioni</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>\\n      <span>Elenco sottoscrizioni</span>\\n      <ka-button class=\\\"inverted with-icon ms-0\\\"\\n        disabled.bind=\\\"!api.hasRole('CREATE_ANY_USER_CASHBACK_CONTRACT_ACCEPTANCE_RESCISSION')\\\"\\n        if.bind=\\\"true\\\"\\n        ka-tooltip=\\\"Gestisci recesso contratti cashback\\\"\\n        click.delegate=\\\"dialogCashbackContractRescission()\\\">\\n        <i class=\\\"far fa-file-times\\\"></i>\\n        <span>Recedi contratti</span>\\n      </ka-button>\\n    </h2>\\n\\n\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Utente</th>\\n            <th>Versione</th>\\n            <th>Data sottoscrizione</th>\\n            <th>Tipologia</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>${record.userDisplayName}<br>\\n              <small>\\n                <span\\n                  class=\\\"copy-text with-icon\\\"\\n                  click.delegate=\\\"tools.copyText(record.userUuid, 'UUID')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia: ' + record.userUuid\\\">\\n                  UUID\\n                </span>\\n              </small>\\n            </td>\\n            <td>${record.contractVersion}</td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              <span style=\\\"white-space: nowrap\\\">${record.contractType === 'FLAT-SERVICE' ? 'Servizi' : 'MultInvio'}</span><br>\\n              <small if.bind=\\\"record.cashbackPercentage\\\">Cashback: ${record.cashbackPercentage}%</small>\\n            </td>\\n\\n            <!-- Buttons -->\\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                class=\\\"flat inverted secondary m-0\\\">Visualizza\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti sottoscrizioni</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./user-archive.sass\\\"></require>\\n  <div class=\\\"subscriptions row p-0 mx-2\\\">\\n    <div if.bind=\\\"tableInterfaceServiceContractSubscriptions.initialized\\\" class=\\\"subscription col p-0 mt-3 mx-2\\\">\\n      <h2 class=\\\"w-100 m-0\\\">Elenco sottoscrizioni contratti cashback per attivazione servizi</h2>\\n      <table class=\\\"ka-table-like\\\">\\n        <tbody if.bind=\\\"tableInterfaceServiceContractSubscriptions.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterfaceServiceContractSubscriptions.data\\\">\\n            <tr>\\n              <td>Versione: <strong>${record.contractVersion}</strong></td>\\n              <td>Sottoscrizione: <strong>${record.createdAt|dateFormat:'DD/MM/YYYY'}</strong></td>\\n              <td>\\n                <ka-button\\n                  click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                  class=\\\"flat inverted secondary m-0\\\">\\n                  Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterfaceServiceContractSubscriptions.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"3\\\">\\n              <span>Non sono presenti approvazioni</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </div>\\n\\n    <div if.bind=\\\"tableInterfaceMultinvioContractSubscriptions.initialized\\\" class=\\\"subscription col p-0 mt-3 mx-2\\\">\\n      <h2 class=\\\"w-100 m-0\\\">Elenco sottoscrizioni contratti cashback per spedizioni MultInvio</h2>\\n      <table class=\\\"ka-table-like\\\">\\n        <tbody if.bind=\\\"tableInterfaceMultinvioContractSubscriptions.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterfaceMultinvioContractSubscriptions.data\\\">\\n            <tr>\\n              <td>Versione: <strong>${record.contractVersion}</strong></td>\\n              <td>Sottoscrizione: <strong>${record.createdAt|dateFormat:'DD/MM/YYYY'}</strong></td>\\n              <td>\\n                <ka-button\\n                  click.delegate=\\\"tools.openDialogContractDetail(record, `users/${record.userId}/cashback-contracts/${record.contractUuid}/acceptances/${record.id}`)\\\"\\n                  class=\\\"flat inverted secondary m-0\\\">\\n                  Visualizza\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterfaceMultinvioContractSubscriptions.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"3\\\">\\n              <span>Non sono presenti approvazioni</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./user-subscriptions.sass\\\"></require>\\n\\n  <div class=\\\"contracts row p-0 mx-2 me-4 me-md-2\\\">\\n    <div class=\\\"contract col-12 col-md p-0 mt-3 mx-2\\\">\\n      <h3>Cashback per attivazioni servizi in abbonamento</h3>\\n      <p class=\\\"my-0 mb-1\\\">La sottoscrizione del contratto abilita all'attivazione di servizi in abbonamento che prevedono cashback.</p>\\n\\n      <p if.bind=\\\"flatServiceContract.lastContractGracePeriodEndsOn\\\" class=\\\"grace-period-warning my-0\\\">\\n        <strong>Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.</strong>\\n        <!-- <strong>Necessario sottoscrivere per continuare ad usufruire del cashback. La mancata sottoscrizione entro il ${flatServiceContract.lastContractGracePeriodEndsOn|dateFormat:'DD/MM/YYYY'} comporterà il recesso di entrambi i contratti</strong> -->\\n      </p>\\n\\n      <p if.bind=\\\"!flatServiceContract.lastContractGracePeriodEndsOn\\\" class=\\\"subscription my-0\\\">\\n        <strong if.bind=\\\"!pendingFlatServiceContract && !flatServiceContract\\\" class=\\\"nothing-to-subscript\\\">Nessun contratto visualizzabile.</strong>\\n        <strong if.bind=\\\"flatServiceContract.acceptedAt\\\" class=\\\"subscripted\\\">Contratto sottoscritto il ${flatServiceContract.acceptedAt|dateFormat:'DD/MM/YYYY'}.</strong>\\n        <strong if.bind=\\\"flatServiceContract && !flatServiceContract.acceptedAt\\\" class=\\\"to-be-subscripted\\\">Leggere con attenzione prima di sottoscrivere.</strong>\\n      </p>\\n\\n      <div class=\\\"content p-3 ms-3 my-3\\\">\\n        <div if.bind=\\\"pendingFlatServiceContract\\\" class=\\\"spinner-loader\\\"></div>\\n        <div if.bind=\\\"!pendingFlatServiceContract && flatServiceContract\\\" innerhtml.bind=\\\"flatServiceContract.userRenderableHtml\\\"></div>\\n      </div>\\n\\n      <div if.bind=\\\"!flatServiceContract.acceptedAt && flatServiceContract.acceptanceDeniedUntilDate\\\" class=\\\"cashback-restriction\\\">\\n        <p><strong>Attenzione!</strong> Per via del recente recesso di un precedente contratto cashback sottoscritto, la sottoscrizione di questo nuovo contratto non sarà abilitata fino al ${flatServiceContract.acceptanceDeniedUntilDate|dateFormat:'DD/MM/YYYY'}.</p>\\n      </div>\\n\\n      <template if.bind=\\\"!pendingFlatServiceContract && flatServiceContract\\\">\\n        <template if.bind=\\\"!flatServiceContract.acceptanceDeniedUntilDate\\\">\\n          <h3 class=\\\"mt-0\\\">Clausole di accettazione</h3>\\n          <div class=\\\"clauses ms-3\\\">\\n            <ka-control readonly.bind=\\\"flatServiceContract.acceptedAt\\\" value.bind=\\\"clauses[flatServiceContract.type].data.clause1\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\\\"\\n              schema.bind=\\\"clauses[flatServiceContract.type].schema.clause1\\\">\\n            </ka-control>\\n            <ka-control class=\\\"mt-1\\\" readonly.bind=\\\"flatServiceContract.acceptedAt\\\"\\n              value.bind=\\\"clauses[flatServiceContract.type].data.clause2\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback\\\"\\n              schema.bind=\\\"clauses[flatServiceContract.type].schema.clause2\\\">\\n            </ka-control>\\n            <ul>\\n              <li><strong>8</strong> Obblighi del Cliente,</li>\\n              <li><strong>10</strong> Modifiche ed integrazioni,</li>\\n              <li><strong>11</strong> Legge applicabile e foro esclusivo.</li>\\n            </ul>\\n          </div>\\n        </template>\\n        <div class=\\\"d-flex align-items-center justify-content-between mt-3\\\">\\n          <p if.bind=\\\"flatServiceContract\\\" class=\\\"my-0 tag\\\">\\n            <small>Versione <strong>${flatServiceContract.version}</strong> del contratto creata il <strong>${flatServiceContract.createdAt|dateFormat:'DD/MM/YYYY'}</strong></small>\\n          </p>\\n          <div class=\\\"d-flex flex-nowrap\\\">\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"downloadPdfContract($event, flatServiceContract.type)\\\"\\n              disabled.bind=\\\"!flatServiceContract || pendingSubscriptionFlatServiceContract\\\">\\n              <i class=\\\"far fa-file-download\\\"></i>\\n              <span>Scarica PDF</span>\\n            </ka-button>\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"tools.openDialogContractDetail(flatServiceContract)\\\"\\n              disabled.bind=\\\"!flatServiceContract || pendingSubscriptionFlatServiceContract\\\">\\n              <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n              <span>Visualizza</span>\\n            </ka-button>\\n            <!-- <ka-button\\n              class=\\\"flat\\\"\\n              click.delegate=\\\"subscribeContract($event, flatServiceContract)\\\"\\n              disabled.bind=\\\"!api.hasRole('CREATE_USER_CASHBACK_CONTRACT_ACCEPTANCES') || !flatServiceContract || flatServiceContract.acceptedAt || pendingSubscriptionFlatServiceContract || !clauses[flatServiceContract.type].data.clause1 || !clauses[flatServiceContract.type].data.clause2\\\">\\n              Sottoscrivi\\n            </ka-button> -->\\n            <ka-button\\n              class=\\\"flat\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n              disabled.bind=\\\"true\\\">\\n              Sottoscrivi\\n            </ka-button>\\n          </div>\\n        </div>\\n      </template>\\n    </div>\\n\\n    <div class=\\\"contract col-12 col-md p-0 mt-md-3 mx-2\\\">\\n      <h3>Cashback per spedizioni MultInvio</h3>\\n      <p class=\\\"my-0 mb-1\\\">Sottoscrivendo questo contratto otterrai il rispettivo cashback su ogni spedizione MultiPosta, Multicerta e Multisms.</p>\\n\\n      <p if.bind=\\\"multinvioContract.lastContractGracePeriodEndsOn\\\" class=\\\"grace-period-warning my-0\\\">\\n        <strong>Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.</strong>\\n        <!-- <strong>Necessario sottoscrivere per continuare ad usufruire del cashback. La mancata sottoscrizione entro il ${multinvioContract.lastContractGracePeriodEndsOn|dateFormat:'DD/MM/YYYY'} comporterà il recesso di entrambi i contratti</strong> -->\\n      </p>\\n\\n      <p if.bind=\\\"!multinvioContract.lastContractGracePeriodEndsOn\\\" class=\\\"subscription my-0\\\">\\n        <strong if.bind=\\\"!pendingMultinvioContract && !multinvioContract\\\" class=\\\"nothing-to-subscript\\\">Nessun contratto visualizzabile.</strong>\\n        <strong if.bind=\\\"multinvioContract.acceptedAt\\\" class=\\\"subscripted\\\">Contratto sottoscritto il ${multinvioContract.acceptedAt|dateFormat:'DD/MM/YYYY'}.</strong>\\n        <strong if.bind=\\\"multinvioContract && !multinvioContract.acceptedAt\\\" class=\\\"to-be-subscripted\\\">Leggere con attenzione prima di sottoscrivere.</strong>\\n      </p>\\n\\n      <div class=\\\"content p-3 ms-3 my-3\\\">\\n        <div if.bind=\\\"pendingMultinvioContract\\\" class=\\\"spinner-loader\\\"></div>\\n        <div if.bind=\\\"!pendingMultinvioContract && multinvioContract\\\" innerhtml.bind=\\\"multinvioContract.userRenderableHtml\\\"></div>\\n      </div>\\n\\n      <div if.bind=\\\"multinvioContract.acceptanceDeniedUntilDate && !multinvioContract.acceptedAt\\\" class=\\\"cashback-restriction\\\">\\n        <p><strong>Attenzione!</strong> Per via del recente recesso di un precedente contratto cashback sottoscritto, la sottoscrizione di questo nuovo contratto non sarà abilitata fino al ${multinvioContract.acceptanceDeniedUntilDate|dateFormat:'DD/MM/YYYY'}.</p>\\n      </div>\\n\\n      <template if.bind=\\\"!pendingMultinvioContract && multinvioContract\\\">\\n        <template if.bind=\\\"!multinvioContract.acceptanceDeniedUntilDate\\\">\\n          <h3 class=\\\"mt-0\\\">Clausole di accettazione</h3>\\n          <div class=\\\"clauses ms-3\\\">\\n            <ka-control readonly.bind=\\\"multinvioContract.acceptedAt\\\" value.bind=\\\"clauses[multinvioContract.type].data.clause1\\\"\\n            ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n            schema.bind=\\\"clauses[multinvioContract.type].schema.clause1\\\">\\n            </ka-control>\\n            <ka-control class=\\\"mt-1\\\" readonly.bind=\\\"multinvioContract.acceptedAt\\\"\\n              value.bind=\\\"clauses[multinvioContract.type].data.clause2\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"              \\n              schema.bind=\\\"clauses[multinvioContract.type].schema.clause2\\\">\\n            </ka-control>\\n            <ul>\\n              <li><strong>8</strong> Obblighi del Cliente,</li>\\n              <li><strong>10</strong> Modifiche ed integrazioni,</li>\\n              <li><strong>11</strong> Legge applicabile e foro esclusivo.</li>\\n            </ul>\\n          </div>\\n        </template>\\n        <div class=\\\"d-flex align-items-center justify-content-between mt-3\\\">\\n          <p if.bind=\\\"multinvioContract\\\" class=\\\"my-0 tag\\\">\\n            <small>Versione <strong>${multinvioContract.version}</strong> del contratto creata il <strong>${multinvioContract.createdAt|dateFormat:'DD/MM/YYYY'}</strong></small>\\n          </p>\\n          <div class=\\\"d-flex flex-nowrap\\\">\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"downloadPdfContract($event, multinvioContract.type)\\\"\\n              disabled.bind=\\\"!multinvioContract || pendingSubscriptionMultinvioContract\\\">\\n              <i class=\\\"far fa-file-download\\\"></i>\\n              <span>Scarica PDF</span>\\n            </ka-button>\\n            <ka-button\\n              class=\\\"secondary flat inverted with-icon me-0\\\"\\n              click.delegate=\\\"tools.openDialogContractDetail(multinvioContract)\\\"\\n              disabled.bind=\\\"!multinvioContract || pendingSubscriptionMultinvioContract\\\">\\n              <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n              <span>Visualizza</span>\\n            </ka-button>\\n            <!-- <ka-button\\n              class=\\\"flat\\\"\\n              click.delegate=\\\"subscribeContract($event, multinvioContract)\\\"\\n              disabled.bind=\\\"!api.hasRole('CREATE_USER_CASHBACK_CONTRACT_ACCEPTANCES') || !multinvioContract || multinvioContract.acceptedAt || pendingSubscriptionMultinvioContract || !clauses[multinvioContract.type].data.clause1 || !clauses[multinvioContract.type].data.clause2\\\">\\n              Sottoscrivi\\n            </ka-button> -->\\n            <ka-button\\n              class=\\\"flat\\\"\\n              ka-tooltip=\\\"Dal 01/12/2025 non è più possibile sottoscrivere contratti cashback in quanto verrà sostituito dal 01/01/2026 dal programma Multicoin.\\\"\\n              disabled.bind=\\\"true\\\">\\n              Sottoscrivi\\n            </ka-button>\\n          </div>\\n        </div>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credit-transfer.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <ka-control name=\\\"amount\\\" buttons=\\\"clear\\\" class=\\\"pb-2\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.amount\\\"\\n      click.delegate=\\\"saveTransferCreditMovements($event)\\\">Trasferisci\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./edit-request.sass\\\"></require>\\n  <p class=\\\"m-0 p-4\\\" class=\\\"body p-4\\\">Sei sicuro di voler ${status === 'REFUSED' ? 'rifiutare' : 'confermare'} questa richiesta?</p>\\n  <div if.bind=\\\"status === 'REFUSED'\\\" class=\\\"body px-4 pb-4\\\">\\n    <ka-control name=\\\"statusReason\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"status === 'REFUSED' && !resource.data.statusReason\\\"\\n      click.delegate=\\\"saveEditRequest($event)\\\">${status === 'REFUSED' ? 'Rifiuta' : 'Conferma'}\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./insert-movement.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <ka-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control name=\\\"direction\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control name=\\\"reason\\\" class=\\\"pb-3\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control name=\\\"amount\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.user\\\"\\n      click.delegate=\\\"saveInsertCreditMovement($event)\\\">salva\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./withdrawal-request.sass\\\"></require>\\n  <div class=\\\"body p-4\\\">\\n    <div class=\\\"instructions mb-4\\\">\\n      <strong>Attenzione! Attendere la nostra accettazione prima della trasmissione all'Agenzia delle Entrate.</strong>\\n      <p class=\\\"m-0 my-3\\\">Per richiedere il pagamento di tutte o parte delle autoricariche maturate è necessario compilare i campi sottostanti e cliccare sul pulsante Richiedi. Non deve essere applicata nè ritenuta d'acconto, nè cassa previdenziale ed indicare come descrizione esclusivamente: CORRISPETTIVO CASHBACK.</p>\\n      <p class=\\\"m-0 mb-4 download\\\" click.delegate=\\\"downloadStaticResource('documento-fiscale-cashback.pdf')\\\">Scarica il nostro Documento fiscale cashback.</p>\\n      <strong>Indicare solo l'imponibile + IVA e intestare a:</strong>\\n      <p class=\\\"m-0 mt-3\\\">Multidialogo s.r.l. a socio unico. Via Emilia Ovest 129/2, 43126 Parma (PR). P.Iva 02149430346. Codice intermediario (SDI) : USAL8PV.</p>\\n    </div>\\n    <div class=\\\"form d-flex pb-2\\\">\\n      <ka-control name=\\\"amount\\\" class=\\\"pe-2\\\"></ka-control>\\n      <ka-control name=\\\"temporaryInvoiceFileUploadUuid\\\" class=\\\"ps-2\\\" buttons=\\\"clear\\\"></ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\"\\n      disabled.bind=\\\"!resource.data.temporaryInvoiceFileUploadUuid\\\"\\n      click.delegate=\\\"saveWithdrawalRequest($event)\\\">Richiedi\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./movements.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca movimenti cashback</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-md-3 col-12\\\">\\n        <md-control\\n          name=\\\"sourceUser\\\"\\n          client.bind=\\\"api\\\"\\n          buttons=\\\"dropdown,clear\\\"\\n          if.bind=\\\"privileges.isOperator\\\">\\n        </md-control>\\n      </div>\\n      <div else class=\\\"col-12 col-md-6\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-8 p-0 pe-2\\\">\\n            <md-control\\n              name=\\\"sourceUuids\\\"\\n              client.bind=\\\"api\\\"\\n              buttons=\\\"clear,dropdown\\\"\\n              class=\\\"no-add no-open dropdown\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-4 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"sourceUser\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 ${privileges.isOperator ? 'col-md-5' : 'col-md-6'}\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-4 p-0 pe-2\\\">\\n            <md-control \\n              name=\\\"direction\\\"\\n              buttons=\\\"dropdown\\\"\\n              change.call=\\\"changeDirection()\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-8 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"sourceType\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 ${privileges.isOperator ? 'col-md-4' : 'col-md-6 col-xl-4'}\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col-6 p-0 pe-2\\\">\\n            <md-control \\n              name=\\\"createdAtGte\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n          <div class=\\\"col-6 p-0 ps-2\\\">\\n            <md-control \\n              name=\\\"createdAtLte\\\" \\n              buttons=\\\"clear,dropdown\\\">\\n            </md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <div class=\\\"movements-list\\\" if.bind=\\\"tableInterface.data\\\">\\n    <h2 class=\\\"d-flex flex-nowrap\\\">\\n      <span class=\\\"me-auto text-nowrap\\\">Elenco movimenti cashback</span>\\n      <ka-button\\n        class=\\\"inverted with-icon\\\"\\n        if.bind=\\\"privileges.isOperator\\\"\\n        click.delegate=\\\"dialogInsertMovement()\\\">\\n        <i class=\\\"fad fa-exchange\\\"></i>\\n        <span>Inserisci movimento</span>\\n      </ka-button>\\n      <template else>\\n        <ka-button\\n          class=\\\"inverted with-icon me-0\\\"\\n          click.delegate=\\\"getCashbackTransferEligibilityCheck($event, 'TRANSFER-CREDIT')\\\"\\n          if.bind=\\\"api.hasRole('CREATE_USER_CASHBACK_CREDIT_TRANSFERS')\\\"\\n          ka-tooltip=\\\"value.bind: lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt ? 'Non puoi trasferire il tuo cashback maturato se non hai sottoscritto tutti i contratti cashback' : 'Trasferisci il tuo saldo cashback maturato'\\\"\\n          disabled.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n          <i class=\\\"far fa-exchange\\\"></i>\\n          <span>Trasferisci</span>\\n        </ka-button>\\n        <ka-button\\n          class=\\\"inverted with-icon\\\"\\n          if.bind=\\\"api.hasRole('CREATE_USER_CASHBACK_WITHDRAWAL_REQUESTS')\\\"\\n          click.delegate=\\\"getCashbackTransferEligibilityCheck($event, 'TRANSFER-WITHDRAWAL')\\\"\\n          ka-tooltip=\\\"value.bind: lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt ? 'Non puoi prelevare il tuo cashback maturato se non hai sottoscritto tutti i contratti cashback' : 'Preleva il tuo saldo cashback maturato'\\\"\\n          disabled.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n          <i class=\\\"far fa-arrow-from-left\\\"></i>\\n          <span>Preleva</span>\\n        </ka-button>\\n      </template>\\n    </h2>\\n    <p \\n      class=\\\"grace-period-warning\\\" \\n      if.bind=\\\"lastAcceptedFlatServiceContract.gracePeriodEndAt || lastAcceptedMultinvioVolumesContract.gracePeriodEndAt\\\">\\n      <strong>Attenzione!</strong> Sottoscrivi i nuovi contratti cashback se non vuoi rischiare di perdere il cashback maturato.\\n      <a click.delegate=\\\"router.navigateToRoute('cashback/contracts')\\\">Procedi</a>\\n    </p>\\n    <h2 if.bind=\\\"metaResponse\\\">\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Totale entrate:</strong> ${metaResponse.totalInAmount} €</span>\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Totale uscite:</strong> ${metaResponse.totalOutAmount} €</span>\\n      <span class=\\\"me-2 text-nowrap\\\"><strong>Saldo:</strong> ${metaResponse.totalDiffAmount} €</span>\\n      <span \\n        class=\\\"ms-auto text-nowrap ${isTransactionDisabledAfterDate(transactionDisabledDate) ? 'balance' : ''}\\\" \\n        ka-tooltip=\\\"value.bind: isTransactionDisabledAfterDate(transactionDisabledDate) ? inhibitionCashbackMessage : '' \\\">\\n        <strong class=\\\"text-primary\\\">Saldo fatturabile: </strong>${isTransactionDisabledAfterDate(transactionDisabledDate) ? 'Non disponibile' : `${metaResponse.billableAmount}` + ' €'}</span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Origine</th>\\n            <th>Tipologia</th>\\n            <th>Importo</th>\\n            <th>Causale</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <small class=\\\"text-color\\\">${record.createdAt|dateFormat}</small>\\n            </td>\\n            <td>\\n              <span>${record.sourceUserDisplayName}</span><br>\\n              <small if.bind=\\\"record.sourceQueueMultiSendCode\\\">Spedizione: ${record.sourceQueueMultiSendCode}</small>\\n              <small if.bind=\\\"record.sourceFlatServiceSubscriptionOrderId\\\">Ordine: ${record.sourceFlatServiceSubscriptionOrderId}</small>\\n            </td>\\n            <td>\\n              <span>${sourceTypeSchema[record.direction].text}</span><br>\\n              <small>${sourceTypeSchema[record.direction].values[record.sourceType]}</small>\\n            </td>\\n            <td>\\n              <span>${record.amount} €</span>\\n            </td> \\n            <td>\\n              <small>${record.reason}</small>\\n            </td>     \\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                if.bind=\\\"record.sourceFlatServiceSubscriptionUuid || record.sourceQueueUuid\\\"\\n                click.delegate=\\\"movementDetail(record)\\\"\\n                class=\\\"flat inverted primary m-0\\\">\\n                Dettaglio\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"api.hasRole('DOWNLOAD_USER_CASHBACK_WITHDRAWAL_REQUEST_INVOICE_FILES') && record.withdrawalRequestInvoiceDownloadable === 'YES' \\\"\\n                click.delegate=\\\"tools.downloadDocument($event, record.sourceUserId, record.withdrawalRequestUuid)\\\"\\n                class=\\\"flat secondary inverted m-0\\\"\\n                style=\\\"width: 7.68rem !important; max-width: none\\\">\\n                Fattura\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti movimenti cashback</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST') && searchInterface.initialized\\\">\\n    <h2>Ricerca richieste di prelievo</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-xl-3\\\">\\n        <md-control \\n          name=\\\"user\\\" \\n          client.bind=\\\"api\\\" \\n          buttons=\\\"dropdown,clear\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco richieste di prelievo</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">Utente</th>\\n            <th>Importo</th>\\n            <th>Stato</th>\\n            <th>Note</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td><small class=\\\"text-color\\\">${record.createdAt|dateFormat:'DD/MM/YYYY'}</small></td>\\n            <td if.bind=\\\"api.hasRole('LIST_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">${record.userDisplayName}</td>\\n            <td>${record.amount} €</td>\\n            <td>\\n              ${status[record.status]}<br>\\n              <small>${record.statusReason}</small>\\n            </td>\\n            <td><small class=\\\"text-color\\\">${record.notes}</small></td>  \\n            <td style=\\\"text-align: right; white-space: nowrap\\\">\\n              <ka-button\\n                class=\\\"inverted flat secondary icon m-0 ms-1\\\"\\n                click.delegate=\\\"dialogDeleteRequest($event, record)\\\"\\n                ka-tooltip=\\\"Elimina richiesta\\\"\\n                if.bind=\\\"!privileges.isOperator && api.hasRole('DELETE_USER_CASHBACK_WITHDRAWAL_REQUESTS') && record.status === 'PENDING'\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat secondary m-0\\\"\\n                click.delegate=\\\"tools.downloadDocument($event, record.userId, record.id)\\\"\\n                if.bind=\\\"api.hasRole('DOWNLOAD_USER_CASHBACK_WITHDRAWAL_REQUEST_INVOICE_FILES') && record.invoiceFileUploadUuid\\\">\\n                Fattura\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat primary icon m-0 ms-1\\\"\\n                disabled.bind=\\\"record.status !== 'PENDING'\\\"\\n                ka-tooltip=\\\"Conferma richiesta\\\"\\n                click.delegate=\\\"dialogEditRequest($event, record, 'CONFIRMED')\\\"\\n                if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">\\n                <i class=\\\"far fa-check\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted flat primary icon m-0 ms-1\\\"\\n                disabled.bind=\\\"record.status !== 'PENDING'\\\"\\n                ka-tooltip=\\\"Rifiuta richiesta\\\"\\n                click.delegate=\\\"dialogEditRequest($event, record, 'REFUSED')\\\"\\n                if.bind=\\\"api.hasRole('MODIFY_ANY_USER_CASHBACK_WITHDRAWAL_REQUEST')\\\">\\n                <i class=\\\"far fa-times\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti richieste di prelievo</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ $parent, params, tab, privileges, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./order-detail.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"!order\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"order\\\">\\n      <h3>Informazioni sull' ordine</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Data di creazione</th>\\n            <th>Numero ordine</th>\\n            <th>Intestatario</th>\\n            <th>Codice SDI</th>\\n            <th>Metodo di pagamento</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>${order.createdAt|dateFormat}</td>\\n            <td \\n              class=\\\"order-number\\\" \\n              click.delegate=\\\"copyText(order.id, 'numero ordine')\\\">\\n              <span ka-tooltip=\\\"Copia numero ordine\\\">${order.id}</span>\\n            </td>\\n            <td>${order.userDisplayName}</td>\\n            <td>${order.sdiCode || 'Non disponibile'}</td>\\n            <td class=\\\"order-description\\\">\\n              ${paymentMethods.get(order.paymentMethod)}\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th>IVA</th>\\n            <th>Prezzo parziale</th>\\n          </tr>\\n        </thead>\\n        <tbody class=\\\"scrollable-body\\\">\\n          <template repeat.for=\\\"item of order.orderDetails\\\">\\n            <tr>\\n              <td><small>${item.description}</small></td>\\n              <td>${item.vatAmount}</td>\\n              <td>${item.detailGrossAmount}&euro;</td>\\n            </tr>\\n          </template>\\n        </tbody>\\n      </table>\\n      <h3>Dettagli sul pagamento</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Imponibile</th>\\n            <th>IVA</th>\\n            <th>Ritenuta</th>\\n            <th>Totale da pagare</th>\\n            <th>Stato</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>${order.taxableAmount}&euro;</td>\\n            <td>${order.vatAmount}&euro; (${order.percentageVatAmount})</td>\\n            <td>${order.withholdingTaxAmount}&euro;</td>\\n            <td>${order.grossAmount}&euro;</td>\\n            <td>\\n              <span class=\\\"tag mt-2 ${orderStatuses[order.status].class}\\\">${orderStatuses[order.status].text}</span>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"inverted with-icon\\\" \\n      ka-tooltip=\\\"Scarica fattura\\\"\\n      click.delegate=\\\"downloadOrderInvoice(order)\\\" \\n      disabled.bind=\\\"!order.invoiceNumber\\\">\\n      <i class=\\\"far fa-file-download\\\"></i>\\n      <span>Scarica fattura</span>\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./payment-instructions.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div>\\n      <p>${order.status === 'A' ? 'Grazie per aver confermato l\\\\'acquisto.' : 'Puoi saldare l\\\\'insoluto solo tramite bonifico bancario'}<br>Per completare la procedura è necessario effettuare il versamento di ${instruction.totalGrossAmount}&euro; sul C/C intestato a: </p>\\n    </div>\\n    <ul>\\n      <li><strong>${instruction.payeeDisplayName}</strong></li>\\n      <li><strong>IBAN: </strong>${instruction.payeeIbanCode}</li>\\n      <li><strong>CAUSALE: </strong>${instruction.reason}</li>\\n      <li><strong>IMPORTO: </strong>${instruction.totalGrossAmount}&euro;</li>\\n      <li if.bind=\\\"order.status === 'I'\\\"><strong>ORDINI INSOLUTI: </strong>${instruction.unsolvedOrders}</li>\\n    </ul>\\n    <div class=\\\"tips\\\">\\n      <p if.bind=\\\"order.status === 'A'\\\">Il tuo ordine sarà confermato non appena riceveremo il bonifico. L'operazione potrebbe richiedere qualche giorno.</p>\\n      <p if.bind=\\\"instruction.customerCareEmail && order.status === 'A'\\\">Per accelerare i tempi di ricarica, inviare al seguente indirizzo email <strong><a href=\\\"mailto:${instruction.customerCareEmail}\\\">${instruction.customerCareEmail}</a></strong> la distinta di pagamento.</p>\\n      <p if.bind=\\\"order.status === 'I'\\\">La tua fattura sarà saldata ed il tuo deposito cauzionale sarà riaccreditato non appena riceveremo il bonifico. Dal momento in cui effettuerete il bonifico potranno trascorrere alcuni giorni prima che la fattura risulti saldata.<br>\\n        <strong class=\\\"important\\\"> prestare la massima attenzione alla causale del bonifico riportando esattamente quella indicata in questa comunicazione.</strong>\\n      </p>\\n    </div>\\n    <p if.bind=\\\"!instruction\\\">Non è possibile visualizzare l'avviso</p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" class=\\\"me-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./settle-invoice.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingInit !== false\\\" class=\\\"dialog-loader m-0\\\"><span>Caricamento in corso</span></p>\\n    <template if.bind=\\\"pendingInit === false\\\">\\n      <p if.bind=\\\"error.load.found || error.confirm.found\\\" class=\\\"m-0 banner-message error\\\"><span>${error.load.msg || error.confirm.msg}</span></p>\\n      <template else>\\n        <div if.bind=\\\"settle.seen === 0\\\" innerhtml.bind=\\\"settle.html\\\"></div>\\n        <p else class=\\\"m-0 banner-message success\\\"><span>Presa visione effettuata!</span></p>\\n      </template>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      class=\\\"inverted secondary\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\" \\n      if.bind=\\\"settle.seen === 0\\\" \\n      click.delegate=\\\"confirmInvoice($event)\\\">Ho preso visione\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./invoices-list.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <h2>Ricerca fatture</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"doctype\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"date_from\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"date_to\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"number\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"payment_status\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"source\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"supplier_id\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-3\\\">\\n        <md-control name=\\\"name\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-2\\\">\\n        <md-control name=\\\"fiscal_code\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n\\n    <h2 class=\\\"d-flex justify-content-between\\\">\\n      <span>Elenco fatture</span>\\n    </h2>\\n    <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\">\\n        <button disabled.bind=\\\"tableInterface.data.length === 0\\\" click.delegate=\\\"mfFileDownload.exportFiles(parseDateQuery(), event)\\\" ka-tooltip=\\\"Esporta fatture\\\" class=\\\"toolbar-button\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar> <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Tipo</th>\\n              <th>Fornitore</th>\\n              <th>Data</th>\\n              <th>Numero</th>\\n              <th>Condominio</th>\\n              <th>Codici importazione</th>\\n              <th>Utenze</th>\\n              <th>Stato pagamento</th>\\n              <th>Totale</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"record of tableInterface.data\\\">\\n              <tr>\\n                <td>\\n                  ${record.doctype_label}<br>\\n                  <small>ID ${record.invoice_id}</small>\\n                </td>\\n                <td>\\n                  ${record.supplier.name}<br>\\n                  <small if.bind=\\\"record.supplier.vat_code\\\">IVA ${record.supplier.vat_code}</small>\\n                  <small else>CF ${record.supplier.fiscal_code}</small>\\n                </td>\\n                <td>${record.document_date|dateFormat:'DD/MM/YYYY'}</td>\\n                <td>${record.number}</td>\\n                <td>\\n                  <strong>${record.name}</strong><br>\\n                  <small>${record.fiscal_code}</small>\\n                </td>\\n                <td>\\n                  <div repeat.for=\\\"codice of record.codici_importazione\\\">${codice}</div>\\n                </td>\\n                <td>\\n                  <div repeat.for=\\\"utenza of record.commodity\\\">${utenza}</div>\\n                </td>\\n                <td>\\n                  <span class=\\\"tag mt-2 ${record.payment_status_class}\\\"> ${record.payment_status_label}</span>\\n                  <small if.bind=\\\"record.settle\\\" class=\\\"d-block instruction mt-2\\\" click.delegate=\\\"dialogSettleInvoice(record)\\\">${record.settle}</small>\\n                </td>\\n                <td>${record.total_amount}€</td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button \\n                    class=\\\"flat inverted m-0 ms-1\\\" \\n                    show.bind=\\\"record.report\\\" \\n                    click.delegate=\\\"mfFileDownload.fileDownload('files',record,'report')\\\"\\n                    ka-tooltip=\\\"Scarica distinta\\\">\\n                    <i class=\\\"fal fa-receipt p-0\\\"></i>\\n                  </ka-button>\\n                  <ka-button \\n                    class=\\\"flat secondary inverted m-0 ms-1\\\" \\n                    show.bind=\\\"record.invoice_filename\\\"\\n                    click.delegate=\\\"mfFileDownload.fileDownload('files',record,'document')\\\"\\n                    ka-tooltip=\\\"Scarica fattura\\\">\\n                    <i class=\\\"fal fa-file-download\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./orders.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca ordini</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div class=\\\"col-12 col-md-3 order-${isOperator ? '2' : '1'}\\\">\\n      <md-control \\n        name=\\\"context\\\" \\n        buttons=\\\"dropdown,clear\\\"\\n        readonly.bind=\\\"isOperator && !data.owner\\\"\\n        change.call=\\\"contextChanged()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-${isOperator ? '1' : '2'}\\\">\\n      <md-control \\n        name=\\\"owner\\\" \\n        buttons=\\\"dropdown,clear\\\"\\n        readonly.bind=\\\"!isOperator && data.context !== 'SUBUSERS'\\\"\\n        client.bind=\\\"api\\\"\\n        change.call=\\\"ownerChanged()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"orderNumber\\\" \\n        buttons=\\\"clear\\\"\\n        md-tooltip=\\\"Inserire i numeri d'ordine separati da virgola es: 563,972\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"paymentStatus\\\" \\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 order-3\\\">\\n      <md-control \\n        name=\\\"paymentMethod\\\" \\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-4 d-flex order-3\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control \\n          name=\\\"createdAtGte\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100 order-3\\\">\\n        <md-control \\n          name=\\\"createdAtLte\\\" \\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n  <!-- Table interface -->\\n  <h2 class=\\\"d-flex justify-content-between\\\">\\n    <span>Elenco ordini</span>\\n    <span class=\\\"ms-auto text-nowrap\\\" style=\\\"margin-right: 2rem;\\\" if.bind=\\\"totalGrossAmount\\\">\\n      <strong>Totale + iva: </strong>\\n      <span style=\\\"color: black;\\\">${totalGrossAmount}&euro;</span>\\n    </span>\\n  </h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Data di creazione</th>\\n            <th>Numero ordine</th>\\n            <th>Intestatario</th>\\n            <th>Pagamento</th>\\n            <th>Totale da pagare</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"order of tableInterface.data\\\">\\n            <tr>\\n              <td>${order.createdAt|dateFormat}</td>\\n              <td>\\n                <div class=\\\"order-number\\\" click.delegate=\\\"copyText(order.id, 'numero ordine')\\\">\\n                  <span ka-tooltip=\\\"Copia numero ordine\\\">${order.id}</span>\\n                </div>\\n              </td>\\n              <td>${order.userDisplayName}</td>\\n              <td>\\n                ${paymentMethods.get(order.paymentMethod)}\\n                <!-- <small class=\\\"invoice\\\" if.bind=\\\"order.invoiceNumber\\\">\\n                  <span class=\\\"text-color\\\">Fattura: </span>\\n                  <span>${order.invoiceNumber}</span>\\n                </small> -->\\n              </td>\\n              <td>${order.grossAmount}€<br>\\n                <span class=\\\"tag mt-2 ${orderStatuses[order.status].class} with-icon\\\"> ${orderStatuses[order.status].text}</span>\\n                <small if.bind=\\\"(order.status === 'A' && order.paymentMethod === 'BANK-TRANSFER') || order.status === 'I'\\\" class=\\\"d-block instruction mt-2\\\" click.delegate=\\\"dialogPaymentInstructions(order)\\\">Salda con bonifico</small>\\n              <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                <ka-button \\n                  class=\\\"flat inverted m-0\\\"\\n                  click.delegate=\\\"dialogOrderDetail(order)\\\"\\n                  ka-tooltip=\\\"Apri dettaglio ordine\\\">Dettaglio\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Nessun ordine presente</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n   <h2>Benvenuto in MultiDialogo</h2>\\n   <template if.bind=\\\"sendEnabled\\\">\\n      <h3>Spedizioni</h3>\\n      <p>Per creare una nuova spedizione, <a href=\\\"\\\" click.delegate=\\\"navigation.openSenderui()\\\">clicca qui</a>!</p>\\n   </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./activation.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <div class=\\\"cards-wrapper\\\">\\n    <div class=\\\"information-band\\\">\\n      <div class=\\\"title me-3\\\">\\n        <h2>Attivazione</h2>\\n        <p>Per ricevere assistenza sull’attivazione della Fidelity Card scrivi a <a href=\\\"mailto:fidelity@multidialogo.it\\\">fidelity@multidialogo.it</a></p>\\n      </div>\\n      <div class=\\\"messages\\\">\\n        <p if.bind=\\\"userPromotions.length\\\" class=\\\"banner-message alert m-0\\\">\\n          <span>\\n            <template repeat.for=\\\"promotion of userPromotions\\\">${$index === 0 ? 'A' : 'a'}ttiva la\\n              <strong class=\\\"card-title\\\">Fidelity Card ${promotion.card.title}</strong>\\n              con la tua <strong class=\\\"promotion-title\\\">promo ${promotion.promotionDescription}</strong>${userPromotions.length > 1 && ($index+1) !== userPromotions.length ? ' o' : ''}\\n            </template>\\n          </span>\\n        </p>\\n      </div>\\n    </div>\\n    <div class=\\\"cards-${fidelityCards.length}\\\">\\n      <template repeat.for=\\\"card of fidelityCards\\\">\\n        <compose containerless view-model=\\\"${templateCard}\\\" model.bind=\\\"{ parent: $parent, card }\\\"></compose>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card-activation.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"[undefined,true].includes(isPendingInit)\\\" class=\\\"dialog-loader m-4\\\">\\n      <span>Caricamento in corso</span>\\n    </p>\\n    <p if.bind=\\\"isPendingInit === false && !disclosure\\\" class=\\\"banner-message error m-4\\\">\\n      <span>Errore in fase di caricamento</span>\\n    </p>\\n    <template if.bind=\\\"isPendingInit === false && disclosure\\\">\\n      <p class=\\\"banner-message highlight m-4 mb-0\\\">\\n        <span><strong>Leggi con attenzione l'informativa</strong> e clicca su <strong>Accetta</strong> per attivare la <strong>Fidelity Card ${card.title}</strong></span>\\n      </p>\\n      <div class=\\\"disclosure\\\" innerhtml.bind=\\\"disclosure.contentHtml\\\"></div>\\n      <div class=\\\"acknowledgement\\\">\\n        <h4>Dichiarazione obbligatoria di presa visione</h4>\\n        <ka-control name=\\\"acknowledgement\\\" change.trigger=\\\"changeAcknowledgement()\\\"></ka-control>\\n      </div>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <md-table-progressbar if.bind=\\\"isAcknowledgementPending\\\"></md-table-progressbar>\\n    <ka-button \\n      class=\\\"flat inverted secondary me-0\\\"\\n      click.delegate=\\\"controller.cancel()\\\"\\n      disabled.bind=\\\"isPendingActivation === true\\\">Chiudi\\n    </ka-button>\\n    <ka-button\\n      click.delegate=\\\"acceptDisclosure($event)\\\"\\n      disabled.bind=\\\"!disclosure || !isActivable || isAcknowledgementPending\\\">Accetta\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card-renewal-management.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <h3 class=\\\"p-0 m-0\\\">${card.autoRenewEnabled === 'YES' ? 'Disattivazione' : 'Attivazione'} del rinnovo automatico.</h3>\\n    <template if.bind=\\\"card.autoRenewEnabled === 'YES'\\\">\\n      <p>La tua Fidelity Card resterà attiva fino al <strong>${card.expireAt|dateFormat:'DD/MM/YY'}.</strong></p>\\n      <p>Disattivando il rinnovo automatico della tua Fidelity Card sarà disattivato anche il rinnovo automatico di ogni servizio in abbonamento attivo che dia la possibilità di maturare punti Multicoin.</p>\\n      <p>Potrai verificare le scadenze dei tuoi servizi attivi dalla sezione <a href=\\\"/servizi/abbonamenti?ka-tab-main=attivi\\\">servizi attivi</a>.</p>\\n      <p>Puoi riattivare il rinnovo automatico in qualsiasi momento prima della scadenza.</p>\\n    </template>\\n    <template else>\\n      <p>\\n        Perfetto! Attivando il rinnovo automatico continuerai a collezionare i tuoi punti Multicoin.\\n      </p>\\n    </template>\\n    <p>Sei sicuro di voler <strong>${card.autoRenewEnabled === 'YES' ? 'disattivare' : 'attivare'}</strong> il rinnovo automatico della <strong>Fidelity Card ${card.title}?</strong></p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      click.delegate=\\\"controller.cancel()\\\"\\n      class=\\\"secondary flat inverted me-0\\\">Chiudi\\n    </ka-button>\\n    <ka-button\\n      class=\\\"flat\\\"\\n      click.delegate=\\\"confirm($event)\\\"\\n      disabled.bind=\\\"!resource.data.features && !api.hasRole('MODIFY_USER_FIDELITY_CARD_AUTO_RENEW')\\\">Conferma\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./card.sass\\\"></require>\\n  <require from=\\\"../activation.sass\\\"></require>\\n\\n  <div class=\\\"card\\\">\\n    <div class=\\\"card-header\\\">\\n      <div class=\\\"card-title-wrapper\\\">\\n        <div class=\\\"card-title\\\">\\n          <h3>fidelity card <span class=\\\"highlighted\\\">${card.title}</span></h3>\\n          <h4>${card.subtitle}</h4>\\n        </div>\\n      </div>\\n      <div \\n        if.bind=\\\"card.statusLabel\\\" \\n        class=\\\"new-tag ${ card.statusClass }\\\" \\n        ka-tooltip=\\\"value.bind: card.statusDescription\\\">${card.statusLabel}\\n      </div>\\n    </div>\\n    \\n    <div class=\\\"card-body\\\">\\n      <p class=\\\"card-description-html\\\" innerHtml.bind=\\\"card.descriptionHtml\\\"></p>\\n      <div class=\\\"card-content\\\">\\n        <compose containerless view-model=\\\"${ templateFidelityCard }\\\" model.bind=\\\"{ card }\\\"></compose>\\n        <div class=\\\"card-section\\\">\\n          <ul class=\\\"card-benefits\\\">\\n            <template repeat.for=\\\"item of card.marketingHints\\\">\\n              <li class=\\\"${item.type}\\\" innerhtml.bind=\\\"item.html\\\"></li>\\n            </template>\\n          </ul>\\n          <div class=\\\"card-actions\\\">\\n            <p class=\\\"activation-info me-3\\\">\\n              <span\\n                class=\\\"new-tag card-activable-${card.activable}\\\"\\n                ka-tooltip=\\\"value.bind: card.statusDescription\\\"\\n                if.bind=\\\"!card.statusLabel\\\">${card.activable === 'YES' ? 'Attivabile' : 'Non attivabile'}\\n              </span>\\n              <span\\n                class=\\\"new-tag\\\"\\n                ka-tooltip=\\\"value.bind: card.statusDescription\\\"\\n                if.bind=\\\"card.status === 'GRACE-PERIOD'\\\">Rinnovabile fino al ${card.gracePeriodEndAt|dateFormat:'DD/MM/YY'}\\n              </span>\\n              <span\\n                class=\\\"new-tag\\\"\\n                if.bind=\\\"card.status === 'ACTIVE'\\\"\\n                ka-tooltip=\\\"La Fidelity Card scadrà il ${card.expireAt|dateFormat:'DD/MM/YY'}\\\">Scade il ${card.expireAt|dateFormat:'DD/MM/YY'}\\n              </span>\\n              <span\\n                class=\\\"new-tag self-renewal ${card.autoRenewEnabled === 'YES' ? 'success' : 'error'}\\\"\\n                if.bind=\\\"card.status === 'ACTIVE' && card.autoRenewEnabled\\\"\\n                ka-tooltip=\\\"value.bind: setSelfRenewTooltip(card)\\\">Rinnovo\\n              </span>\\n            </p>\\n            <div class=\\\"buttons\\\">\\n              <ka-button\\n                class=\\\"secondary m-0\\\"\\n                if.bind=\\\"card.status === 'ACTIVE'\\\"\\n                click.delegate=\\\"dialogCardManagement($event, card)\\\"\\n                disabled.bind=\\\"card.autoRenewable === 'NO' || !api.hasRole('MODIFY_USER_FIDELITY_CARD_AUTO_RENEW')\\\">Gestisci rinnovo\\n              </ka-button>\\n              <ka-button\\n                class=\\\"m-0\\\"\\n                if.bind=\\\"!['ACTIVE','GRACE-PERIOD'].includes(card.status)\\\"\\n                ka-tooltip=\\\"value.bind: setActivationButtonMessage(card, 'tooltip')\\\"\\n                disabled.bind=\\\"!api.hasRole('CREATE_USER_FIDELITY_CARD_ACTIVATION') || card.activable === 'NO'\\\"\\n                click.delegate=\\\"dialogCardActivation($event, card)\\\">${setActivationButtonMessage(card)}\\n              </ka-button>\\n              <ka-button\\n                class=\\\"m-0\\\"\\n                if.bind=\\\"card.status === 'GRACE-PERIOD'\\\"\\n                ka-tooltip=\\\"value.bind: setActivationButtonMessage(card, 'tooltip')\\\"\\n                disabled.bind=\\\"!api.hasRole('CREATE_USER_FIDELITY_CARD_ACTIVATION')\\\"\\n                click.delegate=\\\"fidelityCardRenew($event, card)\\\">${setActivationButtonMessage(card)}\\n              </ka-button>\\n              <ka-button \\n                class=\\\"flat inverted secondary icon m-0 ms-2\\\"\\n                click.delegate=\\\"disclosureDownload($event, card)\\\"\\n                ka-tooltip=\\\"value.bind: 'Scarica l\\\\'informativa della Fidelity Card '+card.title\\\">\\n                <i class=\\\"far fa-file-download\\\"></i>\\n              </ka-button>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./fidelity-card.sass\\\"></require>\\n\\n  <div class=\\\"fidelity-card ${card.code}\\\">\\n    <div class=\\\"fidelity-card-header\\\">\\n      <h5>${card.title}</h5>\\n      <p>${card.subtitle}</p>\\n    </div>\\n    <div class=\\\"fidelity-card-footer\\\">\\n      <div class=\\\"fidelity-card-price\\\">\\n        <h6>Prezzo</h6>\\n        <p>\\n          <span class=\\\"price\\\">${card.price}€/</span>${card.price === 0 ? 'Gratis' : 'Anno'}\\n          <span if.bind=\\\"card.referencePrice\\\" class=\\\"reference-price\\\">Invece di <span class=\\\"price\\\">${card.referencePrice}€</span></span>\\n        </p>\\n      </div>\\n      <svg version=\\\"1.1\\\" viewBox=\\\"0 0 369.01 352.19\\\">\\n        <circle cx=\\\"145.95\\\" cy=\\\"146.85\\\" r=\\\"45.65\\\"/>\\n        <path d=\\\"M145.95,289.33C67.39,289.33,3.47,225.42,3.47,146.85S67.39,4.36,145.95,4.36s142.48,63.92,142.48,142.48-63.92,142.48-142.48,142.48ZM145.95,53.36c-51.55,0-93.48,41.94-93.48,93.48s41.94,93.48,93.48,93.48,93.48-41.94,93.48-93.48-41.94-93.48-93.48-93.48Z\\\"/>\\n        <g>\\n          <path d=\\\"M146.14,146.64l73.86,202.93,138.81-165.44-212.66-37.49ZM270.93,216.13l-34.69,41.34-18.46-50.72,53.15,9.37Z\\\"/>\\n        </g> \\n      </svg>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./help-services-agreement.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"service\\\" buttons=\\\"dropdown\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"secondary inverted flat\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button disabled.bind=\\\"!resource.data.service\\\" class=\\\"inverted flat ms-0\\\" click.delegate=\\\"openServiceAgreement()\\\">Condizioni servizio\\n      ${resource.data.service}</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./help.sass\\\"></require>\\n  <div class=\\\"row\\\">\\n    <!-- Agreements -->    \\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-handshake\\\"></i>\\n        <p>\\n          <strong> Quali sono le condizioni dei nostri servizi?</strong><br>\\n          Visualizza termini e condizioni contrattuali.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"dialogHelpServicesAgreement()\\\" \\n            class=\\\"inverted flat with-icon m-0 mb-2\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n          <p>\\n            <small class=\\\"disclaimer\\\">\\n              <a href=\\\"https://termsofservice.multidialogo.it/multidialogo/disclaimer\\\" target=\\\"_blank\\\">Disclaimer copyright</a>\\n            </small>\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Privacy policy -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-shield\\\"></i>\\n        <p>\\n          <strong>Quali sono le nostre politiche sulla privacy?</strong><br>\\n          Visualizza la nostra informativa privacy.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.privacy)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Service level agreement -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-check\\\"></i>\\n        <p>\\n          <strong>Quali sono le specifiche di qualità dei servizi?</strong><br>\\n          Visualizza la nostra Service Level Agreement (SLA).\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.sla)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-eye\\\"></i>\\n            <span>Visualizza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Knowledge -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-books\\\"></i>\\n        <p>\\n          <strong>Hai un problema che non sai come risolvere?</strong><br>\\n          Consulta il nostro portale online di assistenza e risolvi rapidamente.\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.knowledge)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-book\\\"></i>\\n            <span>Portale di assistenza</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Help mail -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-mailbox\\\"></i>\\n        <p>\\n          <strong>Vuoi fare una segnalazione alla nostra assistenza?</strong><br>\\n          Contattaci via email: <span>assistenza@multidialogo.it</span>\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button \\n            target=\\\"_blank\\\"\\n            click.delegate=\\\"openExternalLink(urls.mailTo)\\\" \\n            class=\\\"inverted flat with-icon m-0\\\">\\n            <i class=\\\"far fa-envelope\\\"></i>\\n            <span>Contattaci</span>\\n          </ka-button>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Help code -->\\n    <div class=\\\"col-12 col-sm-6 col-xl-4\\\">\\n      <div class=\\\"step-box\\\">\\n        <i class=\\\"fad fa-user-headset\\\"></i>\\n        <p>\\n          <strong>Vuoi richiedere un codice assistenza?</strong><br>\\n          <template if.bind=\\\"!supportTickets.data\\\">\\n            <span>Genera un codice per ricevere supporto.</span>\\n          </template>\\n          <template if.bind=\\\"supportTickets.data\\\">\\n            <span class=\\\"code\\\">Codice assistenza:<strong class=\\\"primary-text\\\"> ${supportTickets.data.id}</strong> (scade il ${supportTickets.data.expireAt | dateFormat}).<br>\\n              <small>Comunica questo codice al tuo assistente entro la scadenza per ricevere il supporto.</small>\\n            </span>\\n          </template>\\n        </p>\\n        <div class=\\\"footer\\\">\\n          <ka-button\\n            click.delegate=\\\"supportTickets.request()\\\" \\n            class=\\\"inverted flat with-icon m-0 mb-2\\\">\\n            <i class=\\\"fal fa-receipt\\\"></i>\\n            <span>Genera codice assistenza</span>\\n          </ka-button>\\n          <p>\\n            <small class=\\\"software\\\">\\n              <a href=\\\"https://anydesk.com/it/downloads\\\" target=\\\"_blank\\\">Scarica software per collegamento remoto</a>\\n            </small>\\n          </p>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <!-- About us -->\\n  <div class=\\\"col-12\\\">\\n    <div class=\\\"d-flex flex-row justify-content-center mx-auto\\\">\\n      <p>\\n        <strong>MultiDialogo Srl</strong>\\n        <small class=\\\"address ms-2\\\" ka-tooltip=\\\"Visualizza la nostra posizione su Google Maps\\\">\\n          <a href=\\\"http://www.google.it/maps/place/Multidialogo/@44.8112768,10.278883,17z/data=!3m1!4b1!4m5!3m4!1s0x47806b28eb1d5161:0xc53f0f09bd064a4e!8m2!3d44.8112768!4d10.2810717\\\" target=\\\"_blank\\\">\\n            <span>Indirizzo: via Emilia Ovest, 129/2. 43126 Parma</span>\\n          </a>\\n        </small>\\n        <small class=\\\"iva ms-1\\\">\\n          P.IVA: 02149430346\\n        </small> \\n        <small class=\\\"telephone ms-1\\\">\\n          Tel: +39 0521247791\\n        </small>\\n        <small class=\\\"email ms-1\\\">\\n          Email: assistenza@multidialogo.it\\n        </small>\\n      </p>\\n    </div>\\n  </div> \\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../_agreement/agreement.sass\\\"></require>\\n\\n  <p if.bind=\\\"!agreement.view\\\">Grazie per aver accettato le nostre condizioni di servizo.</p>\\n  <ka-button if.bind=\\\"redirect\\\" href=\\\"${redirect}\\\">Procedi</ka-button>\\n\\n  <!-- Agreement -->\\n  <div if.bind=\\\"agreement.view\\\" style=\\\"height: 100%; overflow-y: auto\\\">\\n    <h2 if.bind=\\\"agreement.back\\\">\\n      ${agreement.view.label}\\n      <ka-button click.delegate=\\\"cancel()\\\" class=\\\"flat inverted\\\"><i class=\\\"far fa-undo me-2\\\" style=\\\"vertical-align: unset;\\\"></i>Torna indietro</ka-button>\\n    </h2>\\n    <compose containerless view-model=\\\"${agreement.route}\\\" model.bind=\\\"{ agreement }\\\"></compose>\\n\\n    <!-- Clauses -->\\n    <div if.bind=\\\"!agreement.back && agreement.view.clauses && agreement.view.clauses.length\\\" class=\\\"clauses\\\">\\n      <h2 class=\\\"m-0 mb-3\\\">Clausole</h2>\\n      <div repeat.for=\\\"clause of agreement.view.clauses\\\" class=\\\"clause\\\">\\n        <ka-control schema.bind=\\\"{ control: 'check', description: clause.label, readonly: params && params.id === 'last' ? true : false }\\\" value.bind=\\\"clause.accepted\\\" change.trigger=\\\"areAllClausesAccepted()\\\" class=\\\"p-0 m-0\\\"></ka-control>\\n        <p>${clause.content}</p>\\n      </div>\\n    </div>\\n\\n    <div if.bind=\\\"!params.id\\\" class=\\\"d-flex justify-content-center mt-2\\\">\\n      <ka-button click.delegate=\\\"accept($event)\\\" disabled.bind=\\\"!allClausesAccepted\\\">Accetta</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./email.sass\\\"></require>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2 class=\\\"preferences\\\">\\n        <p class=\\\"m-0 text-primary\\\" style=\\\"font-size: 1.6rem\\\">Preferenze Email/Pec</p>\\n        <div\\n          if.bind=\\\"multinvioDigitalSelfUsages\\\" \\n          class=\\\"multinvio-digital-self-usages ${isMultinvioDigitalSelfUsagesEnded ? 'finished' : ''}\\\">\\n          <p ka-tooltip=\\\"Il tuo abbonamento gratuito Spedizioni Digitali limita gli invii di Email e PEC per lo Studio\\\">\\n            <span class=\\\"title\\\">Invii per lo studio<span> Esauriti</span>:</span>\\n            <span class=\\\"content\\\"><span class=\\\"me-2\\\">utilizzati</span>${multinvioDigitalSelfUsages.usage}<span class=\\\"mx-2\\\">su</span>${multinvioDigitalSelfUsages.limit}<span class=\\\"ms-2\\\">disponibili.</span></span>\\n          </p>\\n        </div>\\n      </h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n\\n      <md-resource \\n        view-model.ref=\\\"preferences.resource\\\" \\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\" \\n        schema.bind=\\\"preferences.schema\\\" \\n        data.bind=\\\"preferences.data\\\">\\n\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Posta elettronica</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"displayName\\\" md-tooltip=\\\"Il nome che viene visualizzato dal destinatario come mittente email\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"displayAddress\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <h3 class=\\\"tooltip d-inline-block\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding.notCertified\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-button if.bind=\\\"preferences.isOverride && !pec.selected\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n          </div>\\n          <div ka-flex>\\n            <h3>Posta elettronica certificata</h3>\\n            <template if.bind=\\\"!pec.selected\\\">\\n              <table class=\\\"ka-table-like pec\\\" if.bind=\\\"preferences.data.certifiedAddresses.length\\\">\\n                <tbody>\\n                  <tr repeat.for=\\\"item of preferences.data.certifiedAddresses\\\">\\n                    <td>${item.label}</td>\\n                    <td>${item.address}</td>\\n                    <td class=\\\"ka-tr-tools\\\">\\n                      <button \\n                        disabled.bind=\\\"preferences.hasInheritedPEC\\\"\\n                        show.bind=\\\"preferences.isOverride\\\" \\n                        class=\\\"ka-table-button primary\\\" \\n                        ka-tooltip=\\\"Elimina\\\"\\n                        click.delegate=\\\"pec.delete(item)\\\">\\n                        <i class=\\\"material-icons\\\">delete</i>\\n                      </button>\\n                      <button \\n                        disabled.bind=\\\"preferences.hasInheritedPEC\\\"\\n                        show.bind=\\\"preferences.isOverride\\\" \\n                        class=\\\"ka-table-button primary\\\" \\n                        ka-tooltip=\\\"Modifica\\\"\\n                        click.delegate=\\\"pec.edit(item)\\\">\\n                        <i class=\\\"material-icons\\\">edit</i>\\n                      </button>\\n                    </td>\\n                  </tr>\\n                </tbody>\\n              </table>\\n              <ka-button class=\\\"inverted\\\" \\n                show.bind=\\\"!preferences.data.certifiedAddresses.length || preferences.hasInheritedPEC\\\"\\n                if.bind=\\\"preferences.isOverride\\\" \\n                click.delegate=\\\"pec.add()\\\">\\n                Aggiungi PEC\\n              </ka-button><br>\\n              <h3 class=\\\"tooltip d-inline-block\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n              <ka-flex-row>\\n                <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding.certified\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              </ka-flex-row>\\n            </template>\\n            <md-resource \\n              if.bind=\\\"preferences.isOverride && pec.selected\\\" \\n              view-model.ref=\\\"pec.resource\\\" \\n              with.bind=\\\"pec.resource\\\" \\n              endpoint.bind=\\\"pec.endpoint\\\" \\n              schema.bind=\\\"pec.schema\\\" \\n              data.bind=\\\"pec.data\\\">\\n              <ka-flex-col>\\n                <md-input name=\\\"label\\\"></md-input>\\n                <md-input name=\\\"address\\\"></md-input>\\n                <ka-flex-row>\\n                  <md-input ka-flex name=\\\"username\\\"></md-input>\\n                  <md-input if.bind=\\\"pec.data.uuid\\\" ka-flex name=\\\"password\\\" autocomplete=\\\"new-password\\\" placeholder=\\\"********\\\"></md-input>\\n                  <md-input if.bind=\\\"!pec.data.uuid\\\" ka-flex name=\\\"password\\\" autocomplete=\\\"new-password\\\"></md-input>\\n                </ka-flex-row>\\n                <ka-flex-row>\\n                  <md-input ka-flex name=\\\"smtpServer\\\"></md-input>\\n                  <md-input ka-flex name=\\\"smtpPort\\\"></md-input>\\n                </ka-flex-row>\\n              </ka-flex-col>\\n              <ka-button class=\\\"\\\" click.delegate=\\\"pec.save($event)\\\">Salva modifiche</ka-button>\\n              <ka-button class=\\\"inverted\\\" click.delegate=\\\"pec.reload()\\\">Annulla</ka-button>\\n            </md-resource>\\n          </div>\\n        </ka-flex-row>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Impostazioni</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"cover\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex class=\\\"col-border-left\\\">\\n            <h3>Dati mittente Fax</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"name\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <ka-flex-row>\\n              <md-input ka-flex=\\\"30\\\" name=\\\"prefix\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"number\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n\\n\\n\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    .redbox { border: 1px solid #ed5a2366; padding: 1rem; background: #ed5a2322; }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    ka-input.compact { margin: 0; }\\n    ka-flex-col > p { margin-left: 0; margin-right: 0; }\\n    ka-flex-row.list + ka-flex-row.list { border-top: 1px solid #e0e0e0; padding-top: 1rem; }\\n    ka-flex-row > ka-input + ka-button + ka-button, ka-flex-row > ka-input + ka-button + ka-button + ka-button { margin-top: 1.5rem; margin-left: 0; }\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"pagamenti\\\" label=\\\"Pagamenti\\\">\\n      <h2>Pagamenti</h2>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n      <ka-flex-row class=\\\"no-padding\\\">\\n\\n        <div ka-flex>\\n          <h3>Gestione credito</h3>\\n          <ka-flex-col>\\n            <md-input name=\\\"debtGuarantorDisplayName\\\" show.bind=\\\"!preferences.writeEnabled && preferences.data.debtGuarantorDisplayName\\\" readonly=\\\"true\\\"></md-input>\\n            <md-input class=\\\"no-add\\\" name=\\\"debtGuarantorUuid\\\" client.bind=\\\"api.client\\\" if.bind=\\\"preferences.writeEnabled\\\"></md-input>\\n            <md-input\\n              show.bind=\\\"false\\\"\\n              name=\\\"enableCreditPartialUsage\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              md-tooltip=\\\"L'eventuale credito residuo presente ${mdt.parsers.contextualize(api.user, 'sull\\\\'account')} per il quale si sta spedendo, sarà conteggiato per calcolare il corretto importo da pagare. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n            <md-input\\n              show.bind=\\\"false\\\"\\n              name=\\\"enableToPayQueueDutiesForSubuserAtCheckout\\\"\\n              label=\\\"Utilizzare il credito del mio ${mdt.parsers.contextualize(api.user, 'account')} per il pagamento delle spedizioni dei miei ${mdt.parsers.contextualize(api.user, 'utenti')}\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              md-tooltip=\\\"Potrai decidere di utilizzare totalmente o parzialmente il credito servizio o affrancatura ${mdt.parsers.contextualize(api.user, 'dell\\\\'account')}, per pagare una spedizione che appartiene ad un tuo ${mdt.parsers.contextualize(api.user, 'utente')}. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n            <md-input\\n              name=\\\"masterUserCreditSharing\\\"\\n              label=\\\"Sblocco automatico delle spedizioni dei miei ${mdt.parsers.contextualize(api.user, 'utenti')} con il credito del mio ${mdt.parsers.contextualize(api.user, 'account')}\\\"\\n              readonly.bind=\\\"!preferences.writeEnabled\\\"\\n              value.bind=\\\"preferences.checks.masterUserCreditSharing\\\"\\n              md-tooltip=\\\"Tutte le spedizioni appartenenti ai propri ${mdt.parsers.contextualize(api.user, 'utenti')} verranno pagate automaticamente, con il credito ${mdt.parsers.contextualize(api.user, 'dell\\\\'account')}, solo se sufficiente a coprire la spesa. Richiedere l'abilitazione o la disabilitazione di tale opzione all'assistenza di MultiDialogo.\\\">\\n            </md-input>\\n          </ka-flex-col>\\n          <h3>Fatturazione elettronica</h3>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"sdi.code\\\" label=\\\"Codice univoco SdI per il mio ${mdt.parsers.contextualize(api.user, 'account')}\\\"></md-input>\\n            <md-input ka-flex name=\\\"sdi.genericSubuserCode\\\" label=\\\"Codice univoco SdI per i miei ${mdt.parsers.contextualize(api.user, 'utenti')}\\\"></md-input>\\n            <md-input class=\\\"compact\\\" name=\\\"registerBillsAsManagementMovement\\\"></md-input>\\n          </ka-flex-row>\\n          <ka-button click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n        </div>\\n\\n        <div ka-flex class=\\\"col-border-left\\\">\\n\\n          <h3>Pagamenti con carta di credito</h3>\\n          <div if.bind=\\\"mobileNumbers.optedIn.length\\\">\\n            <p class=\\\"greenbox\\\">Pagamento con carta di credito abilitato.</p>\\n            <p></p>\\n          </div>\\n          <div else>\\n            <p class=\\\"redbox\\\">Pagamento con carta di credito non abilitato.</p>\\n          </div>\\n          <div if.bind=\\\"!mobileNumbers.optedIn.length\\\">\\n            <p>Per richiedere l'abilitazione dei pagamenti con carta di credito, devi avere almeno un numero di cellulare abilitato per confermarne il personale ed esclusivo utilizzo nei nostri sistemi: <a href=\\\"impostazioni/generali?ka-tab-t=cellulari\\\">registra cellulare qui!</a></p>\\n          </div>\\n\\n        </div>\\n      </ka-flex-row>\\n    </ka-tab>\\n    <ka-tab id=\\\"cellulari\\\" label=\\\"Cellulari certificati\\\">\\n      <h2>Numeri di cellulare certificati</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"null\\\"></md-prefsel>\\n      \\n      <md-resource\\n        style=\\\"display: block; max-width: 700px\\\"\\n        view-model.ref=\\\"mobileNumbers.resource\\\"\\n        with.bind=\\\"mobileNumbers.resource\\\"\\n        endpoint.bind=\\\"mobileNumbers.endpoint\\\"\\n        schema.bind=\\\"mobileNumbers.schema\\\"\\n        data.bind=\\\"mobileNumbers.data\\\">\\n\\n        <div if.bind=\\\"!mobileNumbers.optedIn.length && !mobileNumbers.optedOut.length\\\">\\n          <p>Per richiedere l'abilitazione inserisci il numero di cellulare. Riceverai un SMS contenente un codice alfanumerico di sicurezza da inserire nell'apposito campo per confermare l'abilitazione.</p>\\n        </div>\\n        <div if.bind=\\\"mobileNumbers.optedOut.length\\\">\\n          <p>I seguenti numeri di telefono sono in attesa di verifica tramite codice ricevuto via SMS:</p>\\n          <ka-flex-row class=\\\"list\\\" repeat.for=\\\"record of mobileNumbers.optedOut\\\">\\n            <ka-input style=\\\"width: 120px\\\" config.bind=\\\"{control: 'text', label: 'Numero di cellulare', readonly: true}\\\" value.bind=\\\"record.number\\\"></ka-input>\\n            <ka-input ka-flex config.bind=\\\"{control: 'text', label: 'Codice ricevuto tramite SMS'}\\\" value.bind=\\\"record.confirmationCode\\\"></ka-input>\\n            <ka-button click.delegate=\\\"mobileNumbers.confirm($event, record)\\\">Verifica</ka-button>\\n            <ka-button class=\\\"inverted\\\" click.delegate=\\\"mobileNumbers.resend($event, record)\\\">Rinvia codice SMS</ka-button>\\n            <ka-button click.delegate=\\\"mobileNumbers.delete($event, record)\\\">Elimina</ka-button>\\n          </ka-flex-row>\\n        </div>\\n        <div if.bind=\\\"mobileNumbers.optedIn.length\\\">\\n          <p>I seguenti numeri di telefono risultano verificati:</p>\\n          <ka-flex-row class=\\\"list\\\" repeat.for=\\\"record of mobileNumbers.optedIn\\\">\\n            <ka-input style=\\\"width: 120px\\\" config.bind=\\\"{control: 'text', label: 'Numero di cellulare', readonly: true}\\\" value.bind=\\\"record.number\\\"></ka-input>\\n            <ka-button class=\\\"inverted\\\" click.delegate=\\\"mobileNumbers.revoke($event, record)\\\">Revoca abilitazione</ka-button>\\n          </ka-flex-row>\\n        </div>\\n        <p>Inserisci un nuovo numero di cellulare:</p>\\n        <ka-flex-row>\\n          <md-input style=\\\"width: 50px\\\" class=\\\"no-clear\\\" name=\\\"internationalPrefix\\\"></md-input>\\n          <md-input ka-flex name=\\\"number\\\"></md-input>\\n          <ka-button click.delegate=\\\"mobileNumbers.request($event)\\\">Richiedo abilitazione</ka-button>\\n        </ka-flex-row>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .card {\\n      position: relative;\\n      display: inline-block;\\n      width: 20%;\\n      height: auto;\\n    }\\n    .card:before {\\n      content: \\\" \\\";\\n      position: absolute;\\n      left: 50%;\\n      top: 50%;\\n      bottom: 5px;\\n      width: 1px;\\n      background-color: #c0c0c0;\\n    }\\n\\n    .card i {\\n      display: block;\\n      position: absolute;\\n      top: 50%;\\n      left: 50%;\\n      border-radius: 50%;\\n      width: 10vw;\\n      height: 10vw;\\n      font-size: 5vw;\\n      line-height: 10vw;\\n      text-align: center;\\n      color: #fff;\\n      background-color: #e9e9e9;\\n      transform: translate(-50%, -50%);\\n      text-shadow: 0 0 3vw #c0c0c0, 0 0 1px #000;\\n      box-shadow: inset 0 0 0 1px #c0c0c0;\\n      transition: all 0.3s;\\n    }\\n    .card h3 {\\n      position: absolute;\\n      bottom: 0;\\n      left: 50%;\\n      margin: 0;\\n      border-radius: 10px;\\n      padding: 10px;\\n      font-size: 14px;\\n      font-weight: bold;\\n      text-align: center;\\n      text-transform: uppercase;\\n      background-color: #fff;\\n      white-space: nowrap;\\n      box-shadow: inset 0 0 0 1px #c0c0c0;\\n      transform: translateX(-50%);\\n    }\\n    .card a {\\n      position: relative;\\n      display: block;\\n      padding-top: 100%;\\n      width: 100%;\\n      z-index: 2;\\n    }\\n\\n    .card:hover i {\\n      color: #ed5a23;\\n      background-color: #fff;\\n      text-shadow: none;\\n      transform: translate(-50%, -50%) scale(1.1);\\n    }\\n  </style>\\n  <div repeat.for=\\\"module of modules\\\" class=\\\"card\\\">\\n    <i class=\\\"${module.icon || 'fal fa-shield-check'}\\\"></i>\\n    <h3>${module.label}</h3>\\n    <a href=\\\"${module.href}\\\"></a>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    table tbody td small { line-height: 1rem; }\\n    #loghi ka-table th .ka-sort-button { display: none; }\\n    ka-table .ka-wrapper > table tbody tr small.rollover {\\n      opacity: 0;\\n      transition: opacity 0.5s;\\n    }\\n    ka-table .ka-wrapper > table tbody tr:hover small.rollover {\\n      opacity: 1;\\n    }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n    #preferenze .ka-input-checkbox-description > i { vertical-align: text-bottom; } /* Sovrascrive allineamento md-tooltip icon */\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Impostazioni</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"envelope.packagePresentation\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"preferences.checks.recipientList\\\" label=\\\"Aggiungi foglio elenco destinatari\\\" readonly.bind=\\\"!preferences.isOverride\\\" md-tooltip=\\\"Verrà aggiunto all’interno del pacco il foglio per far firmare l’avvenuta consegna ai destinatari\\\"></ka-input>\\n              <md-input show.bind=\\\"preferences.checks.recipientList\\\" name=\\\"envelope.recipientList.subject\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <h3 class=\\\"tooltip d-inline-block\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex class=\\\"col-border-left\\\">\\n            <h3>Dati destinatario</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"firstname\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"lastname\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"companyName\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"addressee\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-col>\\n              <md-input name=\\\"streetAddress\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"zipCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl3\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl2\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-col>\\n          <md-input name=\\\"multicertaInvitation\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n        </ka-flex-col>\\n        <p>Imposta l’affrancatura di default del canale alternativo in base al tipo di Multicerta inviata:</p>\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>MultiCerta Legal&reg;</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"postage.legalType\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"deadline.legalDuration\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"deadline.legalAcknowledgement\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n          <div ka-flex class=\\\"col-border-left\\\">\\n            <h3>MultiCerta Classic&reg;</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"postage.type\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"deadline.duration\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"deadline.acknowledgement\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <h3 ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia <i class=\\\"fas fa-question-circle\\\"></i></h3>\\n        <ka-flex-row>\\n          <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n\\n\\n\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n  </style>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n\\n  <ka-tabs id=\\\"t\\\">\\n    <!-- Notifiche email -->\\n    <ka-tab id=\\\"email\\\" label=\\\"Notifiche email\\\">\\n      <h2> Notifiche via Email </h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"uiPreferences.isOverride\\\" toggle-override.bind=\\\"uiPreferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"uiPreferences.resource\\\"\\n        endpoint.bind=\\\"uiPreferences.endpoint\\\"\\n        schema.bind=\\\"uiPreferences.schema\\\"\\n        data.bind=\\\"uiPreferences.data\\\">\\n      </md-resource>\\n      <div with.bind=\\\"uiPreferences.resource\\\">\\n        <ka-flex-col style=\\\"max-width: 600px;\\\">\\n          <md-control readonly.bind=\\\"!uiPreferences.isOverride\\\" name=\\\"email\\\"></md-control>\\n        </ka-flex-col>\\n        <ka-button if.bind=\\\"uiPreferences.isOverride\\\" click.delegate=\\\"uiPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </div>\\n    </ka-tab>\\n\\n    <!-- Notifiche avvisi -->\\n    <ka-tab id=\\\"avvisi\\\" label=\\\"Notifiche avvisi\\\">\\n      <h2>Notifiche avvisi</h2>\\n      <md-resource\\n        view-model.ref=\\\"emailPreferences.resource\\\"\\n        with.bind=\\\"emailPreferences.resource\\\"\\n        endpoint.bind=\\\"emailPreferences.endpoint\\\"\\n        schema.bind=\\\"emailPreferences.schema\\\"\\n        data.bind=\\\"emailPreferences.data\\\">\\n        <ka-flex-col>\\n          <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"emailPreferences.checks.dailyDigest\\\" description=\\\"Ricevi avviso giornaliero delle spedizioni bloccate a causa di insufficienza credito\\\"></ka-input>\\n        </ka-flex-col>\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"credit.enabled\\\" description=\\\"Ricevi avviso giornaliero su credito residuo (imposta una soglia minima per l’avviso)\\\"></md-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.credit.enabled\\\">\\n          <ka-flex-row style=\\\"padding-left: 31px; max-width: 400px; margin-top: 1rem;\\\">\\n            <md-input ka-flex name=\\\"credit.serviceThreshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n            <md-input ka-flex name=\\\"credit.postageThreshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n          </ka-flex-row>\\n        </template>\\n        <!--\\n        <ka-flex-col>\\n          <ka-input class=\\\"compact\\\" config.bind=\\\"{control: 'check'}\\\" value.bind=\\\"emailPreferences.data.space.enabled\\\" description=\\\"Ricevi avviso su spazio MultiInvio residuo\\\"></ka-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.space.enabled\\\">\\n          <ka-flex-col style=\\\"padding-left: 31px\\\">\\n            <ka-input config.bind=\\\"{control: 'number'}\\\" value.bind=\\\"emailPreferences.data.space.threshold\\\" label=\\\"Soglia minima %\\\" description=\\\"Percentuale spazio residuo al di sotto del quale attivare l'avviso\\\"></ka-input>\\n            <ka-input config.bind=\\\"{control: 'text'}\\\" value.bind=\\\"emailPreferences.data.space.notificationEmail\\\" label=\\\"Email per notifica\\\"></ka-input>\\n          </ka-flex-col>\\n        </template>\\n        -->\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"directDebit.sdd.enabled\\\" description=\\\"Ricevi avviso giornaliero sul credito residuo del deposito cauzionale (imposta una soglia minima per l’avviso)\\\"></md-input>\\n        </ka-flex-col>\\n        <template if.bind=\\\"emailPreferences.data.directDebit.sdd.enabled\\\">\\n          <ka-flex-col style=\\\"padding-left: 31px; max-width: 400px; margin-top: 1rem;\\\">\\n            <md-input name=\\\"directDebit.sdd.threshold\\\" description=\\\"0 = avviso disabilitato\\\"></md-input>\\n          </ka-flex-col>\\n        </template>\\n\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"bouncedEmailsDigest.enabled\\\" description=\\\"Ricevi riassunto delle email non consegnate\\\"></md-input>\\n        </ka-flex-col>\\n\\n        <ka-button click.delegate=\\\"emailPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Notifiche app -->\\n    <ka-tab id=\\\"app\\\" label=\\\"Notifiche App\\\">\\n      <h2>Notifiche Push per App Multidialogo</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"pushPreferences.isOverride\\\" toggle-override.bind=\\\"pushPreferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"pushPreferences.resource\\\"\\n        with.bind=\\\"pushPreferences.resource\\\"\\n        endpoint.bind=\\\"pushPreferences.endpoint\\\"\\n        schema.bind=\\\"pushPreferences.schema\\\"\\n        data.bind=\\\"pushPreferences.data\\\">\\n        <ka-flex-col>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.blocked\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code bloccate\\\"></md-input>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.refused\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code rifiutate\\\"></md-input>\\n          <md-input class=\\\"compact\\\" name=\\\"appPush.delivered\\\" readonly.bind=\\\"!pushPreferences.isOverride\\\" description=\\\"Ricevi notifica per le code consegnate\\\"></md-input>\\n        </ka-flex-col>\\n        <ka-button if.bind=\\\"pushPreferences.isOverride\\\" click.delegate=\\\"pushPreferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Privacy acceptance clauses -->\\n    <ka-tab id=\\\"comm\\\" label=\\\"Notifiche Commerciali\\\">\\n      <template if.bind=\\\"privacyConsent.data\\\">\\n        <h2>Notifiche per comunicazioni commerciali</h2>\\n        <fieldset class=\\\"d-flex flex-column justify-content-between px-3 mb-4\\\">\\n          <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per finalità di marketing.</span>\\n  \\n          <div class=\\\"d-md-flex\\\">\\n            <div class=\\\"input-radio\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"NO\\\"\\n              checked.bind=\\\"privacyConsent.data.firstPartyEnabled\\\"\\n              name=\\\"firstPartyEnabled\\\"\\n              id=\\\"firstPartyEnabled_no\\\">\\n              <label for=\\\"firstPartyEnabled_no\\\">Nego il consenso.</label>\\n            </div>\\n            <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"YES\\\"\\n              checked.bind=\\\"privacyConsent.data.firstPartyEnabled\\\"\\n              name=\\\"firstPartyEnabled\\\"\\n              id=\\\"firstPartyEnabled_yes\\\">\\n              <label for=\\\"firstPartyEnabled_yes\\\">Do il consenso.</label>\\n            </div>\\n          </div>\\n        </fieldset>\\n  \\n        <fieldset class=\\\"d-flex flex-column justify-content-between mb-4 px-3\\\">\\n          <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per attività di marketing su prodotti e servizi di società partner o per ricerche di mercato e indagini statistiche.</span>\\n          <div class=\\\"d-md-flex\\\">\\n            <div class=\\\"input-radio\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"NO\\\"\\n              checked.bind=\\\"privacyConsent.data.thirdPartyEnabled\\\"\\n              name=\\\"thirdPartyEnabled\\\"\\n              id=\\\"thirdPartyEnabled_no\\\">\\n              <label for=\\\"thirdPartyEnabled_no\\\">Nego il consenso.</label>\\n            </div>\\n            <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n              <input \\n              required\\n              type=\\\"radio\\\"\\n              value=\\\"YES\\\"\\n              checked.bind=\\\"privacyConsent.data.thirdPartyEnabled\\\"\\n              name=\\\"thirdPartyEnabled\\\"\\n              id=\\\"thirdPartyEnabled_yes\\\">\\n              <label for=\\\"thirdPartyEnabled_yes\\\">Do il consenso.</label>\\n            </div>\\n          </div>\\n        </fieldset>\\n\\n        <ka-button\\n          if.bind=\\\"api.hasRole('MODIFY_USER_PREFERENCES_SENDER_NOTIFICATIONS')\\\"\\n          click.delegate=\\\"privacyConsent.save($event)\\\"\\n          class=\\\"mt-0\\\">Salva modifiche\\n        </ka-button>\\n      </template>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./posta-dialog-confirm.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <md-prefsel view-model.ref=\\\"prefSelector\\\" value.bind=\\\"prefsel\\\" label=\\\"autorizzazioni\\\" _datatext=\\\"{displayName} - Bollettini: 0\\\"></md-prefsel>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok(prefSelector.data)\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .greenbox { border: 1px solid #00800066; padding: 1rem; background: #00800022; }\\n    table tbody td small { line-height: 1rem; }\\n    #loghi ka-table th .ka-sort-button { display: none; }\\n    ka-table .ka-wrapper > table tbody tr small.rollover {\\n      opacity: 0;\\n      transition: opacity 0.5s;\\n    }\\n    ka-table .ka-wrapper > table tbody tr:hover small.rollover {\\n      opacity: 1;\\n    }\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n    md-input.compact, ka-input.compact { margin: 0; }\\n    #preferenze .ka-input-checkbox-description > i { vertical-align: text-bottom; } /* Sovrascrive allineamento md-tooltip icon */\\n  </style>\\n  <ka-tabs id=\\\"t\\\">\\n    <!-- Preferenze -->\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row class=\\\"no-padding\\\">\\n          <div ka-flex>\\n            <h3>Promemoria e notifica</h3>\\n            <ka-flex-col>\\n              <md-input class=\\\"compact\\\" name=\\\"postage.expectReceipt\\\" readonly.bind=\\\"!preferences.isOverride\\\" md-tooltip=\\\"La scansione sarà a disposizione nel dettaglio delle spedizioni postali, nella sezione “destinatari” accanto al codice invio\\\"></md-input>\\n              <span style=\\\"color: #ED5A23; font-size: 1.1rem; margin: 1rem 0;\\\">\\n                <span>Avvertenze: La cartolina digitale non potrà essere messa a disposizione in caso di smarrimento della stessa o in caso di ritorno al mittente per compiuta giacenza. In questi casi la copia della cartolina sarà fornita, su richiesta, direttamente da Poste Italiane.</span>\\n                <span class=\\\"d-block mb-4\\\">Si precisa che, per le Raccomandate estere, le tempistiche potrebbero protrarsi fino a 45 gg per la ricezione delle cartoline di ritorno oppure potrebbero verificarsi situazioni fuori dal nostro controllo che ne impediscano la consegna.</span>\\n              <md-input class=\\\"compact\\\" name=\\\"postage.topicOnReturnReceipt\\\" md-tooltip=\\\"Il promemoria indicato in fase di invio spedizione verrà riportato su tutte le cartoline di ritorno\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <h3>Vettore preferenziale</h3>\\n            <ka-flex-row>\\n              <ka-input ka-flex if.bind=\\\"preferences.datasources.vectors.length\\\" config.bind=\\\"{control: 'combo', datasource: preferences.datasources.vectors, datavalue: 'code', datatext: 'name', datapreload: true}\\\" readonly.bind=\\\"!preferences.isOverride\\\" label=\\\"Posta prioritaria\\\" value.bind=\\\"preferences.data.vectors.prioritaria\\\" change.call=\\\"preferences.processPostages()\\\"></ka-input>\\n              <ka-input ka-flex if.bind=\\\"preferences.datasources.vectors.length\\\" config.bind=\\\"{control: 'combo', datasource: preferences.datasources.vectors, datavalue: 'code', datatext: 'name', datapreload: true}\\\" readonly.bind=\\\"!preferences.isOverride\\\" label=\\\"Posta raccomandata\\\" value.bind=\\\"preferences.data.vectors.raccomandata\\\" change.call=\\\"preferences.processPostages()\\\"></ka-input>\\n            </ka-flex-row>\\n            <p show.bind=\\\"preferences.isOverride\\\" if.bind=\\\"false\\\" style=\\\"margin-top: -1rem;font-size: 1.2rem;color:#606060;\\\">E' possibile selezionare il vettore Nexive solo dopo averlo <a href=\\\"/impostazioni/posta?ka-tab-t=nexive\\\">abilitato qui.</a></p>\\n            <h3>Stampa e affrancatura</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"print.sheetFormat\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.weight\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"print.frontBack\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.colorMode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input ka-flex name=\\\"print.staple\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <ka-flex-row>\\n              <md-input ka-flex name=\\\"postage.code\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n            <h3 class=\\\"d-inline-block tooltip\\\" ka-tooltip=\\\"Se attivata, questa opzione inoltrerà un messaggio in copia di cortesia tramite il canale e-mail\\\">Messaggio di cortesia</h3>\\n            <ka-flex-row>\\n              <md-input ka-flex class=\\\"compact\\\" name=\\\"emailForwarding\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-row>\\n          </div>\\n          <div ka-flex style=\\\"box-shadow: -1px 0 0 0 #e0e0e0\\\">\\n            <h3>Dati mittente</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"displayName\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"streetAddress\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"zipCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl3\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"admLvl2\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <md-input name=\\\"countryCode\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Bollettini -->\\n    <ka-tab id=\\\"bollettini\\\" label=\\\"Bollettini\\\">\\n      <h2>Gestione autorizzazioni stampa in proprio bollettini postali</h2>\\n      <md-prefsel show.bind=\\\"!postalOrders.prefsel\\\" view-model.ref=\\\"prefSelector\\\" value.bind=\\\"prefsel\\\" label=\\\"autorizzazioni\\\" _datatext=\\\"{displayName} - Bollettini: 0\\\"></md-prefsel>\\n      <div show.bind=\\\"!postalOrders.isToggle\\\">\\n        <p>L'autorizzazione consentirà di inviare autonomamente dal gestionale i bollettini 451 e 896. La richiesta di approvazione potrà protrarsi fino a 2 settimane di attesa, i tempi che servono a Poste Italiane per omologare la richiesta.</p>\\n        <template if.bind=\\\"postalOrders.tableInterface\\\">\\n            <table class=\\\"ka-table-like\\\">\\n              <thead if.bind=\\\"postalOrders.tableInterface.data.length\\\">\\n                <tr>\\n                  <th>Data inserimento</th>\\n                  <th>Intestatario conto corrente</th>\\n                  <th>Numero conto corrente</th>\\n                  <th>Stato</th>\\n                  <th></th>\\n                </tr>\\n              </thead>\\n              <tbody if.bind=\\\"postalOrders.tableInterface.data.length\\\">\\n                <tr repeat.for=\\\"item of postalOrders.tableInterface.data\\\">\\n                  <td>${item.createdAt | dateFormat}<small class=\\\"rollover\\\" if.bind=\\\"item.uuid\\\"><br>${item.uuid}</small></td>\\n                  <td>${item.postalAccountHolder}</td>\\n                  <td>${item.postalAccount}</td>\\n                  <td>${item.statusCode | comboFormat:postalOrders.schema.statusCode}</td>\\n                  <td class=\\\"ka-tr-tools\\\">\\n                    <button class=\\\"ka-table-button primary\\\" if.bind=\\\"item.statusCode === 'PENDING' || item.statusCode === 'PENDING_REVISION' || item.statusCode === 'REFUSED'\\\" click.delegate=\\\"postalOrders.delete(item)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                  </td>\\n                </tr>\\n              </tbody>\\n            </table>\\n        </template>\\n        <ka-button click.delegate=\\\"postalOrders.toggle()\\\">Richiedi nuova autorizzazione</ka-button>\\n      </div>\\n      \\n      <div if.bind=\\\"postalOrders.isToggle && !postalOrders.prefsel\\\" >\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"postalOrders.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"postalOrders.confirm()\\\">Conferma</ka-button>\\n      </div>\\n      <md-resource\\n        show.bind=\\\"postalOrders.isToggle && postalOrders.prefsel\\\"\\n        view-model.ref=\\\"postalOrders.resource\\\"\\n        with.bind=\\\"postalOrders.resource\\\"\\n        endpoint.bind=\\\"postalOrders.endpoint\\\"\\n        schema.bind=\\\"postalOrders.schema\\\"\\n        data.bind=\\\"postalOrders.data\\\">\\n        <h3>Richiedi nuova autorizzazione</h3>\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"postalAccountHolder\\\"></md-input>\\n          <md-input ka-flex name=\\\"postalAccount\\\" placeholder=\\\"Inserire le 12 cifre del numero di conto corrente\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"postalOrders.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"postalOrders.send($event)\\\">Invia</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Loghi -->\\n    <ka-tab id=\\\"loghi\\\" label=\\\"Loghi busta\\\">\\n      <h2>Gestione loghi per stampa su busta</h2>\\n      <div show.bind=\\\"!watermarks.isToggle\\\">\\n        <template if.bind=\\\"watermarks.tableInterface\\\">\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"watermarks.tableInterface.data.length\\\">\\n              <tr>\\n                <th>Data inserimento</th>\\n                <th>Titolo</th>\\n                <th>Stato</th>\\n                <th>Colori</th>\\n                <th>Predefinito</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"watermarks.tableInterface.data.length\\\">\\n              <tr \\n                repeat.for=\\\"item of watermarks.tableInterface.data\\\"\\n                css=\\\"${envelopeLogoUuid === item.uuid ? 'background: rgba(25, 165, 242, 0.05)' : '' }\\\">\\n                <td>${item.createdAt | dateFormat}<small class=\\\"rollover\\\" if.bind=\\\"item.uuid\\\"><br>${item.uuid}</small></td>\\n                <td>${item.label}</td>\\n                <td>\\n                  ${item.statusCode | comboFormat:watermarks.schema.statusCode}\\n                  <small if.bind=\\\"item.statusCode === 'PENDING'\\\"><br><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'PENDING_APPROVAL')\\\">Invia per approvazione</a></small>\\n                  <small if.bind=\\\"item.statusCode === 'PENDING_CONFIRMATION'\\\"><br><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'APPROVED')\\\">Conferma</a> | <a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setStatus(item, 'REFUSED')\\\">Rifiuta</a></small>\\n                </td>\\n                <td>${item.colorMode}</td>\\n                <td if.bind=\\\"item.default\\\">Predefinito</td>\\n                <td if.bind=\\\"!item.default\\\"><span if.bind=\\\"item.statusCode === 'APPROVED'\\\"><a href=\\\"#\\\" class=\\\"primary-text\\\" click.delegate=\\\"watermarks.setDefault(item)\\\">Imposta predefinito</a></span></td>\\n                <td>\\n                  <!--<img if.bind=\\\"item.previews && item.previews[0]\\\" src=\\\"${watermarks.previews[item.uuid]}\\\" style=\\\"float: left; width: auto; height: 80px;\\\" alt=\\\"Anteprima\\\">-->\\n                </td>\\n                <td>\\n                  <small repeat.for=\\\"preview of item.previews\\\"><a href=\\\"${watermarks.uriBuild(preview.webPath)}\\\" click.delegate=\\\"watermarks.getImage(preview.webPath)\\\" target=\\\"_blank\\\" class=\\\"primary-text\\\">Anteprima ${preview.width}x${preview.height}</a><br></small>\\n                </td>\\n                <td class=\\\"ka-tr-tools\\\">\\n                  <button class=\\\"ka-table-button primary\\\" if.bind=\\\"item.statusCode === 'PENDING' || item.statusCode === 'REFUSED' || item.statusCode === 'APPROVED'\\\" click.delegate=\\\"watermarks.delete(item)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"material-icons\\\">delete_outline</i></button>\\n                  <button class=\\\"ka-table-button primary\\\" click.delegate=\\\"watermarks.download(item)\\\" ka-tooltip=\\\"Scarica file\\\"><i class=\\\"material-icons\\\">save_alt</i></button>\\n                </td>\\n              </tr>\\n            </tbody>\\n          </table>\\n        </template>\\n        <ka-button click.delegate=\\\"watermarks.toggle()\\\">Carica nuovo logo</ka-button>\\n      </div>\\n\\n      <md-resource\\n        show.bind=\\\"watermarks.isToggle\\\"\\n        view-model.ref=\\\"watermarks.resource\\\"\\n        with.bind=\\\"watermarks.resource\\\"\\n        endpoint.bind=\\\"watermarks.endpoint\\\"\\n        schema.bind=\\\"watermarks.schema\\\"\\n        data.bind=\\\"watermarks.data\\\">\\n        <h3>Carica nuovo logo</h3>\\n        <ka-flex-row>\\n          <md-input ka-flex name=\\\"label\\\" md-tooltip=\\\"Dai un nome al tuo logo\\\"></md-input>\\n          <md-input ka-flex class=\\\"no-buttons\\\" placeholder=\\\"Seleziona file\\\" name=\\\"fileData\\\" description=\\\"*.jpg o *.png in alta risoluzione (300dpi)\\\"></md-input>\\n        </ka-flex-row>\\n        <ka-flex-row>\\n          <ka-flex-col>\\n            <md-input name=\\\"text\\\" md-tooltip=\\\"Se nel logo non sono già presenti tutte le informazioni, puoi aggiungerle qui (indirizzo, email, telefono ecc.)\\\" description=\\\"Eventuale testo con i recapiti del mittente, da aggiungere al logo\\\"></md-input>\\n          </ka-flex-col>\\n          <ka-flex-col>\\n            <md-input name=\\\"colorMode\\\"></md-input>\\n          </ka-flex-col>\\n        </ka-flex-row>\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"watermarks.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"watermarks.send($event)\\\">Invia</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Copertina -->\\n    <ka-tab if.bind=\\\"api.hasRole(['LIST_USER_PREFERENCES_SENDER_LETTER_COVERS','LIST_ANY_USER_PREFERENCES_SENDER_LETTER_COVER'])\\\" id=\\\"copertine\\\" label=\\\"Copertine\\\">\\n      <compose containerless view-model=\\\"${vmCover}\\\" model.bind=\\\"{ context: 'settings' }\\\"></compose>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .col-border-left { box-shadow: -1px 0 1px -1px #ed5a23; }\\n  </style>\\n  <require from=\\\"./sms.sass\\\"></require>\\n  <ka-tabs id=\\\"t\\\">\\n\\n    <!-- Preferences -->\\n    <ka-tab id=\\\"preferenze\\\" label=\\\"Preferenze\\\">\\n      <h2>Preferenze</h2>\\n      <md-prefsel value.bind=\\\"prefsel\\\" is-override.bind=\\\"preferences.isOverride\\\" toggle-override.bind=\\\"preferences.override\\\"></md-prefsel>\\n      <md-resource\\n        if.bind=\\\"prefsel\\\"\\n        view-model.ref=\\\"preferences.resource\\\"\\n        with.bind=\\\"preferences.resource\\\"\\n        endpoint.bind=\\\"preferences.endpoint\\\"\\n        schema.bind=\\\"preferences.schema\\\"\\n        data.bind=\\\"preferences.data\\\">\\n        <ka-flex-row if.bind=\\\"preferences.data\\\" class=\\\"no-padding\\\">\\n          <div ka-flex style=\\\"max-width: 600px;\\\">\\n            <h3>Dati mittente</h3>\\n            <ka-flex-col>\\n              <md-input name=\\\"display\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n            </ka-flex-col>\\n            <ka-flex-col>\\n              <md-input class=\\\"no-buttons\\\" client.bind=\\\"api\\\" name=\\\"numberUuid\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <p show.bind=\\\"preferences.isOverride\\\" style=\\\"margin: -0.5rem 0 1rem 0; font-size: 1rem\\\"><a href=\\\"impostazioni/generali?ka-tab-t=cellulari\\\">Aggiungi nuovo numero certificato</a></p>\\n            </ka-flex-col>\\n            <ka-flex-col>\\n              <md-input class=\\\"no-buttons\\\" client.bind=\\\"api\\\" name=\\\"aliasUuid\\\" readonly.bind=\\\"!preferences.isOverride\\\"></md-input>\\n              <p show.bind=\\\"preferences.isOverride\\\" style=\\\"margin: -0.5rem 0 1rem 0; font-size: 1rem\\\"><a href=\\\"impostazioni/sms?ka-tab-t=alias\\\">Aggiungi nuovo alias</a></p>\\n            </ka-flex-col>\\n          </div>\\n        </ka-flex-row>\\n        <ka-button if.bind=\\\"preferences.isOverride\\\" click.delegate=\\\"preferences.save($event)\\\">Salva modifiche</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n\\n    <!-- Alias sms -->\\n    <ka-tab id=\\\"alias\\\" label=\\\"Alias\\\">\\n      <h2>\\n        <span static-tooltip=\\\"value.bind: staticTooltipSms\\\">\\n          Gestione Alias SMS\\n        </span>\\n      </h2>\\n\\n      <!-- Table alias sms -->\\n      <div show.bind=\\\"!smsAliases.isToggle\\\">\\n        <md-prefsel view-model.ref=\\\"prefSelector\\\" value.bind=\\\"prefsel\\\"></md-prefsel>\\n        <p>L'Alias del mittente serve per mostrare il nome del mittente del messaggio senza che venga visualizzato il numero di telefono.</p>\\n        <template if.bind=\\\"smsAliases.tableInterface\\\">\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"smsAliases.tableInterface.data.length\\\">\\n              <tr>\\n                <th>Data richiesta</th>\\n                <th>Azienda</th>\\n                <th>Stato attivazione</th>\\n                <th>Mittente SMS</th>\\n                <th></th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"smsAliases.tableInterface.data.length\\\">\\n              <tr repeat.for=\\\"item of smsAliases.tableInterface.data\\\">\\n                <td>${item.requestedAt | dateFormat}</td>\\n                <td>${item.companyName}</td>\\n                <td>${item.status | comboFormat:smsAliases.schema.status}<small if.bind=\\\"item.status === 'ERROR'\\\"><br>Contattare l'assistenza</small></td>\\n                <td>${item.displayName}</td>\\n                <td class=\\\"ka-tr-tools\\\">\\n                  <ka-button if.bind=\\\"item.status === 'REFUSED'\\\" class=\\\"flat\\\" click.delegate=\\\"smsAliases.delete(item)\\\" disabled.bind=\\\"false\\\" style=\\\"margin-left:0;\\\"><i class=\\\"material-icons\\\">delete_forever</i></ka-button>\\n                </td>\\n              </tr>\\n            </tbody>\\n          </table>\\n        </template>\\n        <ka-button click.delegate=\\\"smsAliases.toggle()\\\">Richiedi nuovo alias</ka-button>\\n      </div>\\n\\n      <!-- Form alias request -->\\n      <md-resource\\n        view-model.ref=\\\"smsAliases.resource\\\"\\n        with.bind=\\\"smsAliases.resource\\\"\\n        endpoint.bind=\\\"smsAliases.endpoint\\\"\\n        schema.bind=\\\"smsAliases.schema\\\"\\n        data.bind=\\\"smsAliases.data\\\"\\n        show.bind=\\\"smsAliases.isToggle\\\">\\n        <h3>Richiedi nuovo alias</h3>\\n        <ka-flex-col>\\n          <md-input name=\\\"displayName\\\"></md-input>\\n          <md-input name=\\\"companyName\\\"></md-input>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"vatCode\\\"></md-input>\\n            <md-input ka-flex name=\\\"fiscalCode\\\"></md-input>\\n          </ka-flex-row>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"streetAddress\\\"></md-input>\\n            <md-input ka-flex name=\\\"zipCode\\\"></md-input>\\n            <md-input ka-flex name=\\\"admLvl3\\\"></md-input>\\n            <md-input ka-flex name=\\\"admLvl2\\\"></md-input>\\n            <md-input ka-flex name=\\\"country\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open\\\"></md-input>\\n          </ka-flex-row>\\n          <ka-flex-row>\\n            <md-input ka-flex name=\\\"email\\\" md-tooltip=\\\"Una volta che l'AGICOM avrà effettuato la registrazione, sarete avvisati tramite e-mail e sarà necessario impostare l'ALIAS come mittente del messaggio.\\\"></md-input>\\n            <md-input ka-flex name=\\\"pec\\\"></md-input>\\n            <md-input ka-flex name=\\\"phoneNumber\\\"></md-input>\\n          </ka-flex-row>\\n        </ka-flex-col>\\n        <ka-button class=\\\"inverted\\\" click.delegate=\\\"smsAliases.toggle()\\\">Annulla</ka-button>\\n        <ka-button click.delegate=\\\"smsAliases.send($event)\\\">Invia</ka-button>\\n      </md-resource>\\n    </ka-tab>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template></template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand-horizontal.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./offerta.sass\\\"></require>\\n  <div class=\\\"d-flex justify-content-center align-items-center h-100 ${offerExpired ? 'expired' : ''}\\\" style=\\\"position: relative; z-index: 10\\\">\\n    <div if.bind=\\\"!offerExpired\\\" class=\\\"offer-box\\\">   \\n      <!-- Header -->\\n      <div class=\\\"offer-header\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <p class=\\\"m-0 p-0 text-center\\\">\\n          Software per l'amministrazione condominiale<br>\\n          <small class=\\\"d-inline-block mt-3\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"www.multidialogo.it\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n        </p>\\n        <a href=\\\"dashboard\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <!-- Content -->\\n      <div class=\\\"row m-0\\\">\\n        <!-- Offer content - left side -->\\n        <div class=\\\"col-12 col-md-6 left-side\\\">\\n          <h1 class=\\\"m-0 mb-4\\\">${offer.title}</h1>\\n          <div class=\\\"ribbon ps-4 mb-5 text-nowrap\\\">Offerta di MultiDialogo</div>\\n          <p class=\\\"m-0 mb-4\\\">${offer.description}</p>\\n          <h3 class=\\\"mx-0 px-0\\\">\\n            <i class=\\\"far fa-stopwatch me-2\\\"></i>Offerta valida fino al ${offer.endAt|dateFormat: 'DD/MM/YYYY'}!\\n          </h3>\\n          <small if.bind=\\\"offer.deadlineType\\\" class=\\\"d-block\\\">\\n            <template if.bind=\\\"offer.deadlineType === 'FLAT-SERVICE-SUBSCRIPTION'\\\">\\n              <span if.bind=\\\"!api.isAuthenticated\\\">\\n                Attiva l'offerta e sottoscrivi i servizi entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n              <span if.bind=\\\"api.isAuthenticated\\\">\\n                Servizi sottoscrivibili entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n            </template>\\n            <template if.bind=\\\"offer.deadlineType === 'USER-CREATION'\\\">\\n              <span if.bind=\\\"offer.targetUserType === 'USER'\\\">\\n                Per attivare questa offerta è necessario registrarsi entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}\\n              </span>\\n              <span if.bind=\\\"offer.targetUserType === 'SUBUSER'\\\">\\n                Estendibile a tutti i ${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Condomini' : 'Sottoutenti'} attivati entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n              </span>\\n            </template>\\n          </small>\\n        </div>\\n\\n        <!-- Offer content - right side -->\\n        <div class=\\\"col-12 col-md-6 p-0 right-side\\\">\\n          <h2 class=\\\"m-0 p-0 p-4 white-bg\\\">Servizi disponibili alla sottoscrizione</h2>\\n          <div class=\\\"wrapper-services\\\">\\n            <template repeat.for=\\\"flat of offer.flatServices\\\">\\n              <div class=\\\"flat-service\\\">\\n                <h3 class=\\\"m-0 mb-4 p-0\\\">${flat.attributes.title}</h3>\\n                <div class=\\\"m-0 mb-4 p-0 description\\\" innerhtml.bind=\\\"flat.attributes.description\\\"></div>\\n                <div class=\\\"row m-0\\\">\\n                  <div class=\\\"col-auto p-0 pe-4 activability\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Validità</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">\\n                      Dal ${flat.attributes.startAt|dateFormat:'DD/MM/YYYY'}\\n                    </p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 duration\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Durata</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${flat.attributes.duration} giorni</p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 price\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Prezzo</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${flat.attributes.price > 0 ? flat.attributes.price+' + IVA €' : 'Gratis'}</p>\\n                  </div>\\n                  <div class=\\\"col-auto p-0 pe-4 billing\\\">\\n                    <h4 class=\\\"m-0 mb-2 text-nowrap\\\">Fatturazione</h4>\\n                    <p class=\\\"m-0 text-nowrap\\\">${$index % 2 === 0 ? 'Al Condominio' : 'Allo Studio'}</p>\\n                  </div>\\n                </div>\\n              </div>\\n            </template>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Offer footer -->\\n      <div class=\\\"offer-footer\\\">\\n        <!-- User has an account and already activated this offer -->\\n        <p if.bind=\\\"offerStatus === 'AUTH-USER-ACTIVATED'\\\" class=\\\"m-0 authenticated-activated\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Buone notizie! La tua offerta è già stata riscattata* il ${authUserRedeemDate}.\\n          <small>* I servizi sono già attivabili al prezzo di offerta.</small>\\n        </p>\\n        <div if.bind=\\\"offerStatus !== 'AUTH-USER-ACTIVATED' && offerStatus !== 'SUBUSER-WITHOUT-PERMISSIONS' && offerStatus !== 'AUTH-USER-ACTIVATED-NOW'\\\" class=\\\"form row m-0\\\">\\n          <template if.bind=\\\"!api.isAuthenticated\\\">\\n            <div class=\\\"col-12 p-0 mb-4\\\">\\n              <p class=\\\"m-0 alert\\\">\\n                <strong class=\\\"mb-2\\\">Se possiedi già un account MultiDialogo <a class=\\\"to-login\\\" href=\\\"login?reroute=${reroute}\\\">clicca qui<i class=\\\"far fa-hand-point-left ms-2\\\"></i></a></strong>\\n                <small>Se invece non sei ancora registrato inserisci la tua email e attiva l'offerta!</small>\\n              </p>\\n            </div>\\n            <div class=\\\"col-12 col-sm-6 p-0\\\"><ka-control name=\\\"email\\\"></ka-control></div> \\n          </template>\\n          <div class=\\\"col-12 col-md-${api.isAuthenticated ? '12' : '6'} p-0 d-flex justify-content-end align-items-end\\\">\\n            <!-- Not yet available offer -->\\n            <ka-button if.bind=\\\"currentDate < offer.startAt\\\" class=\\\"m-0 activation-button\\\">Offerta attivabile dal ${offer.startAt|dateFormat}</ka-button>\\n            <!-- Already available offer -->\\n            <ka-button if.bind=\\\"currentDate >= offer.startAt\\\" class=\\\"m-0 activation-button activable\\\" click.trigger=\\\"activateOffer()\\\">Attiva l'offerta!</ka-button>\\n          </div>\\n        </div>\\n        <!-- user authenticated activates offer -->\\n        <p if.bind=\\\"offerStatus === 'AUTH-USER-ACTIVATED-NOW'\\\" class=\\\"m-0 activated-at\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Offerta riscattata* correttamente il ${currentDate|dateFormat:'DD/MM/YYYY'}!\\n          <span style=\\\"display:block;margin-left:3rem\\\">Conferma l'attivazione del servizio nella tua area \\\"Servizi attivabili\\\".</span>\\n          <small>* I servizi sono già attivabili al prezzo di offerta.</small>\\n        </p>\\n        <!-- user not authenticated activates offer -->\\n        <p if.bind=\\\"offerStatus === 'GUEST-USER-ACTIVATED'\\\" class=\\\"m-0 activated-at\\\">\\n          <i class=\\\"far fa-badge-check me-3\\\"></i>Offerta prenotata* correttamente! Per attivarla è necessario registrarsi a MultiDialogo entro il ${offer.deadlineAt|dateFormat:'DD/MM/YYYY'}.\\n          <span style=\\\"display:block;margin-left:3rem\\\"><a href=\\\"/registrazione\\\" target=\\\"_blank\\\" style=\\\"color:inherit\\\"><strong>Registrati qui</strong></a> e conferma l'attivazione nella tua area \\\"Servizi attivabili\\\".</span>\\n          <small>* L'offerta sarà utilizzabile dopo essersi iscritti alla piattaforma.</small>\\n        </p>\\n        <!-- email saved in local storage -->\\n        <p if.bind=\\\"offerStatus === 'EMAIL-ALREADY-STORED'\\\" class=\\\"m-0 email-already-stored\\\">\\n          <i class=\\\"far fa-exclamation-circle me-3\\\"></i>Buone notizie! La tua offerta è già stata prenotata* utilizzando l'indirizzo email ${localStorageOffer.email}.\\n          <small>* L'offerta sarà utilizzabile dopo essersi iscritti alla piattaforma.</small>\\n        </p>\\n        <!-- user has not the required permissions -->\\n        <p if.bind=\\\"offerStatus === 'SUBUSER-WITHOUT-PERMISSIONS'\\\" class=\\\"m-0 authenticated-no-permissions\\\">\\n          <i class=\\\"far fa-exclamation-circle me-3\\\"></i>Autenticarsi con account principale per attivare l'offerta. Azione non permessa ai ${offer.contextBusinessType === 'BUILDING-ADMINISTRATOR' ? 'Condomini' : 'Sottoutenti'}.\\n        </p>\\n      </div>\\n    </div>\\n\\n    <div if.bind=\\\"offerExpired\\\" class=\\\"offer-box\\\">\\n      <!-- Header -->\\n      <div class=\\\"offer-header\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <p class=\\\"m-0 p-0 text-center\\\">\\n          Software per l'amministrazione condominiale<br>\\n          <small class=\\\"d-inline-block mt-3\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"www.multidialogo.it\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n        </p>\\n        <a href=\\\"dashboard\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <div class=\\\"p-3\\\">\\n        <h2 class=\\\"pt-3\\\">L'offerta Promo '${params.code}' è scaduta!</h2>\\n        <p>Scrivi ad <a href=\\\"mailto:\\\">assistenza@multidialogo.it</a> per richiedere informazioni sulle offerte disponibili.</p>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/images/brand-horizontal.png\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"<template>\\n  <require from=\\\"./registrazione.sass\\\"></require>\\n\\n  <div\\n    if.bind=\\\"!pendingAttached\\\"\\n    class=\\\"wrapper\\\">\\n    <div class=\\\"box\\\">   \\n      <!-- Header -->\\n      <div class=\\\"header p-4\\\">\\n        <img src=\\\"\" + ___HTML_LOADER_REPLACEMENT_0___ + \"\\\">\\n        <a if.bind=\\\"!params.prospectUuid\\\" href=\\\"login\\\"><i class=\\\"fal fa-times\\\"></i></a>\\n      </div>\\n\\n      <!-- Content form -->\\n      <div class=\\\"row m-0 p-4\\\">\\n        <h2 class=\\\"col-12 m-0 p-0 pb-4\\\">Crea il tuo account MultiDialogo!</h2>\\n\\n        <!-- First step -->\\n        <section class=\\\"step-section col-12 d-flex p-0 pb-4 mb-3\\\">\\n          <div class=\\\"row w-100 m-0\\\">\\n            <!-- Left side -->\\n            <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3 mb-md-0\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 p-0\\\">\\n                  <ka-control \\n                    name=\\\"profile.email\\\"\\n                    change.trigger=\\\"changeEmail()\\\">\\n                  </ka-control>  \\n                </div>        \\n              </div>\\n            </div>\\n          \\n            <!-- Right side -->\\n            <div class=\\\"col-12 col-md-6 p-0 ps-md-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3 mb-md-0\\\">\\n                  <ka-control \\n                    name=\\\"password\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2\\\">\\n                  <ka-control \\n                    name=\\\"passwordConfirm\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>      \\n              </div>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <!-- Second step -->\\n        <section class=\\\"step-section col-12 p-0 d-flex\\\">\\n          <div class=\\\"row w-100 m-0\\\">\\n            <!-- Left side -->\\n            <div class=\\\"col-12 col-md-6 p-0 pe-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 p-0 mb-3 d-flex align-items-end\\\">\\n                  <ka-control\\n                    readonly.bind=\\\"!editableUsername\\\"\\n                    name=\\\"profile.username\\\"\\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                  <ka-button\\n                    click.delegate=\\\"changeUsername()\\\"\\n                    disabled.bind=\\\"editableUsername || !resource.data.profile.username\\\"\\n                    class=\\\"m-0 ms-3 flat inverted\\\">Modifica\\n                  </ka-button>\\n                </div>\\n                <div class=\\\"col-12 col-md-4 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.countryCode\\\"\\n                    client.bind=\\\"api\\\"\\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('countryCode')\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-8 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    if.bind=\\\"legalFormTypes && legalForms\\\" \\n                    name=\\\"profile.companyLegalFormCode\\\"\\n                    change.trigger=\\\"changeLegalForm()\\\"\\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.businessType\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    if.bind=\\\"clients\\\"\\n                    name=\\\"clientUuid\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\"> \\n                  <ka-control \\n                    name=\\\"profile.holderName.companyName\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.holderName.firstname\\\"\\n                    buttons=\\\"clear\\\">\\n                  </ka-control>  \\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.holderName.lastname\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>  \\n                </div>                 \\n              </div>\\n            </div>\\n            \\n            <!-- Right side -->\\n            <div class=\\\"col-12 col-md-6 p-0 ps-2\\\">\\n              <div class=\\\"row m-0\\\">\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl1Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('admLvl1Uuid')\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl2Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    change.trigger=\\\"setGeo('admLvl2Uuid')\\\"\\n                    readonly.bind=\\\"!profile.location.admLvl1Uuid\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-8 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.admLvl3Uuid\\\"\\n                    client.bind=\\\"api\\\" \\n                    buttons=\\\"dropdown\\\"\\n                    readonly.bind=\\\"!profile.location.admLvl2Uuid\\\"\\n                    style=\\\"display: block\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-4 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.zipCode\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.location.streetAddress\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"ccol-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.fiscalCode\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control \\n                    name=\\\"profile.vatCode\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control\\n                    required.bind=\\\"phoneNumberRequired\\\"\\n                    name=\\\"profile.phoneNumber\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 col-md-6 p-0 ps-md-2 mb-3\\\">\\n                  <ka-control\\n                    required.bind=\\\"mobilePhoneNumberRequired\\\"\\n                    name=\\\"profile.mobilePhoneNumber\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div class=\\\"col-12 p-0 mb-3\\\">\\n                  <ka-control\\n                    name=\\\"profile.pec\\\" \\n                    buttons=\\\"clear\\\">\\n                  </ka-control>\\n                </div>\\n                <div if.bind=\\\"prospectUuid\\\" class=\\\"col-12 col-md-6 p-0 pe-md-2 mb-3\\\">\\n                  <ka-control\\n                    value.bind=\\\"priceList.data.temporary\\\" \\n                    schema.bind=\\\"priceList.schema.temporary\\\">\\n                  </ka-control>\\n                </div> \\n                <div class=\\\"col p-0 ps-md-2 mb-3\\\">\\n                  <ka-control\\n                    value.bind=\\\"priceList.data.definitive\\\" \\n                    schema.bind=\\\"priceList.schema.definitive\\\">\\n                  </ka-control>\\n                </div>     \\n              </div>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <!-- Privacy acceptance clauses -->\\n        <section if.bind=\\\"!prospectUuid\\\" class=\\\"col-12 p-0 step-section privacy\\\">\\n          <div class=\\\"row m-0 mb-4\\\">\\n            <p>Leggi la nostra informativa sulla <a target=\\\"_blank\\\" href=\\\"https://termsofservice.multidialogo.it/multidialogo/privacy-policy\\\" class=\\\"text-primary\\\">privacy</a> e scegli i consensi che desideri rilasciare a Netbuilder.</p>\\n\\n            <div class=\\\"col-12 col-md-6 p-0\\\">\\n              <fieldset class=\\\"d-flex flex-column justify-content-between px-4 pt-4 p-md-4\\\">\\n                <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per finalità di marketing.</span>\\n      \\n                <div class=\\\"d-md-flex\\\">\\n                  <div class=\\\"input-radio\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"NO\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.commercialContact\\\"\\n                    name=\\\"commercialContact\\\"\\n                    id=\\\"commercialContact_no\\\">\\n                    <label for=\\\"commercialContact_no\\\">Nego il consenso.</label>\\n                  </div>\\n                  <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"YES\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.commercialContact\\\"\\n                    name=\\\"commercialContact\\\"\\n                    id=\\\"commercialContact_yes\\\">\\n                    <label for=\\\"commercialContact_yes\\\">Do il consenso.</label>\\n                  </div>\\n                </div>\\n              </fieldset>\\n            </div>\\n\\n            <div class=\\\"col-12 col-md-6 p-0\\\">\\n              <fieldset class=\\\"d-flex flex-column justify-content-between px-4 pt-4 pb-4 p-md-4\\\">\\n                <span class=\\\"legend\\\">Autorizzo al trattamento dei dati di contatto per attività di marketing su prodotti e servizi di società partner o per ricerche di mercato e indagini statistiche.</span>\\n      \\n                <div class=\\\"d-md-flex\\\">\\n                  <div class=\\\"input-radio\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"NO\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.thirdPartyDisclosure\\\"\\n                    name=\\\"thirdPartyDisclosure\\\"\\n                    id=\\\"thirdPartyDisclosure_no\\\">\\n                    <label for=\\\"thirdPartyDisclosure_no\\\">Nego il consenso.</label>\\n                  </div>\\n                  <div class=\\\"input-radio mt-2 mt-md-0 ms-md-3\\\">\\n                    <input \\n                    required\\n                    type=\\\"radio\\\"\\n                    value=\\\"YES\\\"\\n                    checked.bind=\\\"resource.data.privacyConsent.thirdPartyDisclosure\\\"\\n                    name=\\\"thirdPartyDisclosure\\\"\\n                    id=\\\"thirdPartyDisclosure_yes\\\">\\n                    <label for=\\\"thirdPartyDisclosure_yes\\\">Do il consenso.</label>\\n                  </div>\\n                </div>\\n              </fieldset>\\n            </div>\\n          </div>\\n        </section>\\n\\n        <ka-button \\n          style=\\\"width: fit-content; margin-left: auto;\\\"\\n          click.delegate=\\\"registration($event)\\\"\\n          class=\\\"me-0 mb-0 mt-3\\\">Crea account\\n        </ka-button>\\n      </div>\\n    </div>\\n    <p class=\\\"footer m-0 p-0 my-4 text-center\\\">\\n      Software per l'amministrazione condominiale<br>\\n      <small class=\\\"d-inline-block\\\"><span class=\\\"pe-1\\\">©</span>copyright 2023<a href=\\\"https://www.multidialogo.it/multidialogo\\\" target=\\\"_blank\\\" class=\\\"ps-2\\\">www.multidialogo.it</a></small>\\n    </p>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./invite.scss\\\"></require>\\n  <h2>Invita via email a scaricare l'app MultiCerta</h2>\\n  <ka-flex-row class=\\\"no-padding\\\" style=\\\"margin: -0.5rem 0.5rem 0.5rem;\\\">\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">1</div>\\n        <p class=\\\"step-title\\\">Scarica il file</p>\\n        <div class=\\\"step-description\\\">\\n          <p>Scarica il seguente modello excel per invitare tramite email i tuoi condomini all'utilizzo di MultiCerta.</p>\\n        </div>\\n        <a class=\\\"ka-button\\\" href=\\\"/static/downloads/modello-invito-multicerta.xls\\\" target=\\\"_blank\\\">Scarica</a>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">2</div>\\n        <p class=\\\"step-title\\\">Compila il file</p>\\n        <div class=\\\"step-description\\\">\\n          <p>Nella prima riga del file assicurarsi sia presente l'intestazione con i nomi dei campi.<br>Il campo <em>email</em> è obbligatorio.</p>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">3</div>\\n        <p class=\\\"step-title\\\">Carica il file</p>\\n        <div ka-flex-col class=\\\"step-description\\\">\\n          <ka-input class=\\\"no-buttons\\\" config.bind=\\\"{control: 'file'}\\\" label=\\\"File da caricare\\\" placeholder=\\\"Seleziona o trascina qui il file\\\" description=\\\"Dimensione massima 1MB\\\" value.bind=\\\"data.file\\\"></ka-input>\\n        </div>\\n      </div>\\n    </div>\\n\\n    <div ka-flex class=\\\"step-separator\\\"></div>\\n\\n    <div ka-flex=\\\"100-xs 50-sm 25-lg\\\">\\n      <div class=\\\"step-box\\\">\\n        <div class=\\\"step-number\\\">4</div>\\n        <p class=\\\"step-title\\\">Invia</p>\\n        <div ka-flex-col class=\\\"step-description\\\">\\n          <ka-input config.bind=\\\"{control: 'text'}\\\" label=\\\"Denominazione studio\\\" placeholder=\\\"Es: Studio Mario Rossi\\\" value.bind=\\\"data.mittente\\\"></ka-input>\\n          <ka-button click.delegate=\\\"send($event)\\\" style=\\\"margin-bottom:1rem\\\">Invia</ka-button>\\n          <ka-input config.bind=\\\"{control: 'text'}\\\" label=\\\"Invia una prova a:\\\" value.bind=\\\"data.email\\\"></ka-input>\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"test($event)\\\">Invia prova</ka-button>\\n        </div>\\n      </div>\\n\\n    </div>\\n  </ka-flex-row>\\n\\n  <h2>Elenco Inviti</h2>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"multicertaInviteSearchInterface.initialized && multicertaInviteTableInterface\\\">\\n    <md-table-toolbar table.bind=\\\"multicertaInviteTableInterface\\\" search.bind=\\\"multicertaInviteSearchInterface\\\" buttons=\\\"search\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"multicertaInviteTableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"email\\\">Email</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"createdAt\\\">Invio</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"expireAt\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"multicertaInviteTableInterface\\\" attribute=\\\"subscribedAt\\\">Sottoscrizione</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"multicertaInviteTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of multicertaInviteTableInterface.data\\\">\\n            <td><strong class=\\\"limitwidth\\\" ka-tooltip.bind=\\\"record.email\\\" style=\\\"cursor: pointer;\\\">${record.email}</strong></td>\\n            <td>${record.createdAt | dateFormat}</td>\\n            <td>${record.expireAt | dateFormat}</td>\\n            <td><span if.bind=\\\"record.subscribedAt\\\">${record.subscribedAt | dateFormat}</span><span else>N.D.</span></td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!multicertaInviteTableInterface.data.length\\\">Nessun invito è stato inviato</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./points-transaction-history.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInit\\\"></md-loader>\\n  <template if.bind=\\\"isPendingInit === false\\\">\\n    <md-counter \\n      suffix=\\\"pt\\\" \\n      timeout=\\\"2000\\\"\\n      duration=\\\"3000\\\" \\n      label=\\\"Totale maturati\\\"\\n      end=\\\"${multicoinPoints.totalAmount.amount}\\\"\\n      decimals=\\\"${multicoinPoints.totalAmount.amount >= 50 ? 0 : 1}\\\"\\n      if.bind=\\\"multicoinPoints.totalAmount.amount > 0 && isMdCounterVisible\\\">\\n    </md-counter>\\n\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca dei movimenti\\n        <!-- <md-accordion-button \\n          state=\\\"collapsed\\\"\\n          expand-text=\\\"Mostra ricerca avanzata\\\" \\n          collapse-text=\\\"Nascondi ricerca avanzata\\\" \\n          target=\\\"advancedSearchInterfaceFormSent\\\">\\n        </md-accordion-button> -->\\n      </h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <div class=\\\"row m-0\\\">\\n            <div class=\\\"col-6 p-0 pe-2\\\">\\n              <md-control \\n                name=\\\"createdAtGte\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n            <div class=\\\"col-6 p-0 ps-2\\\">\\n              <md-control \\n                name=\\\"createdAtLte\\\" \\n                buttons=\\\"clear,dropdown\\\">\\n              </md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div if.bind=\\\"isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control\\n          client.bind=\\\"api\\\" \\n          name=\\\"sourceUserId\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          change.call=\\\"changeSourceUserId()\\\">\\n        </md-control>\\n      </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"context\\\"\\n            buttons=\\\"dropdown\\\"\\n            change.call=\\\"changeContext()\\\"\\n            readonly.bind=\\\"isOperator && !selectedUser\\\">\\n          </md-control>\\n        </div>\\n        <div if.bind=\\\"!isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            client.bind=\\\"api\\\" \\n            name=\\\"sourceUserUuid\\\" \\n            buttons=\\\"clear,dropdown\\\"\\n            change.call=\\\"changeSourceUserUuid()\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"sourceType\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"status\\\"\\n            buttons=\\\"clear,dropdown\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n\\n    <div class=\\\"activations-list\\\">\\n      <h2 class=\\\"table-title\\\">\\n        <p class=\\\"m-0 text-primary\\\" style=\\\"font-size: 1.6rem\\\">\\n          <span static-tooltip=\\\"value.bind: staticTooltipMulticoin\\\">\\n            Elenco dei movimenti\\n          </span>\\n        </p>\\n        <div class=\\\"multicoin-points-container\\\">\\n          <div\\n            if.bind=\\\"multicoinPoints\\\" \\n            class=\\\"multicoin-points ${multicoinPoints.totalAmount.class}\\\">\\n            <span \\n              class=\\\"new-tag\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalAmount.description\\\">\\n              <span>${multicoinPoints.totalAmount.text}:</span>\\n              <span>${multicoinPoints.totalAmount.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            if.bind=\\\"multicoinPoints\\\" \\n            class=\\\"multicoin-points\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalPending.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalPending.description\\\">\\n              <span>${multicoinPoints.totalPending.text}:</span>\\n              <span>${multicoinPoints.totalPending.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            class=\\\"multicoin-points\\\"\\n            if.bind=\\\"multicoinPoints\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalTransferred.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalTransferred.description\\\">\\n              <span>${multicoinPoints.totalTransferred.text}:</span>\\n              <span>${multicoinPoints.totalTransferred.amount}</span>\\n            </span>\\n          </div>\\n          <div \\n            class=\\\"multicoin-points\\\"\\n            if.bind=\\\"multicoinPoints\\\">\\n            <span \\n              class=\\\"new-tag ${multicoinPoints.totalBlocked.class}\\\"\\n              ka-tooltip=\\\"value.bind: multicoinPoints.totalBlocked.description\\\">\\n              <span>${multicoinPoints.totalBlocked.text}:</span>\\n              <span>${multicoinPoints.totalBlocked.amount}</span>\\n            </span>\\n          </div>\\n        </div>\\n      </h2>\\n      <div\\n        class=\\\"table-band\\\" \\n        if.bind=\\\"!isOperator\\\">\\n        <p class=\\\"m-3 banner-message white\\\">\\n          <span if.bind=\\\"userCurrentFidelityCard\\\" class=\\\"${userCurrentFidelityCard.code}\\\">\\n            <strong>Fidelity Card ${userCurrentFidelityCard.title}</strong>\\n            attiva dal ${userCurrentFidelityCard.activatedAt|dateFormat:'DD/MM/YY'}\\n            <template if.bind=\\\"userCurrentFidelityCard.autoRenewable === 'NO' || userCurrentFidelityCard.autoRenewEnabled === 'NO'\\\">\\n              al <strong>${userCurrentFidelityCard.expireAt}</strong>\\n            </template>\\n          </span>\\n          <span else static-tooltip=\\\"value.bind: staticTooltipFidelityCard\\\">\\n            Non hai una Fidelity Card attiva.\\n          </span>\\n        </p>\\n        <div class=\\\"table-buttons\\\">\\n          <ka-button \\n            disabled.bind=\\\"true\\\" \\n            class=\\\"inverted mx-0\\\"\\n            ka-tooltip=\\\"Prossimamente disponibile\\\">Regolamento\\n          </ka-button>\\n          <ka-button \\n            disabled.bind=\\\"true\\\" \\n            class=\\\"secondary inverted\\\"\\n            ka-tooltip=\\\"Prossimamente disponibile\\\">Accedi a Multicoin\\n          </ka-button>\\n        </div>\\n      </div>\\n      <template if.bind=\\\"tableInterface.data\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th>Inserimento</th>\\n                <th>Origine</th>\\n                <th class=\\\"info-tooltip\\\">\\n                  <span ka-tooltip=\\\"value.bind: infoTooltipStatus\\\">Stato</span>\\n                </th>\\n                <th class=\\\"info-tooltip\\\">\\n                  <span ka-tooltip=\\\"value.bind: infoTooltipPoints\\\">Punti</sapn>\\n                </th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of tableInterface.data\\\">\\n                <td class=\\\"created-at\\\">\\n                  <span class=\\\"data\\\">${record.createdAt|dateFormat:'DD/MM/YY'}</span>\\n                  <div>Alle ore: \\n                    <span class=\\\"data\\\">${record.createdAt|dateFormat:'HH:mm'}</span>\\n                  </div>\\n                </td>\\n                <td class=\\\"source\\\">\\n                  <p>${record.sourceUserDisplayName}</p>\\n                  <p \\n                    class=\\\"source-type\\\" \\n                    if.bind=\\\"record.legacySmsQueueId || record.sourceQueueMultiSendCode || record.sourceFlatServiceSubscriptionOrderId\\\">\\n                    <span if.bind=\\\"record.status !== 'ACCREDITED'\\\">${sourceTypes[record.sourceType]} ${record.legacySmsQueueId ? 'SMS' : record.sourceQueueMultiSendCode ? 'Multinvio' : ''}:</span>\\n                    ${record.legacySmsQueueId || record.sourceQueueMultiSendCode || record.sourceFlatServiceSubscriptionOrderId}\\n                    <a\\n                      class=\\\"reason\\\"\\n                      click.delegate=\\\"dialogReason(record)\\\"\\n                      if.bind=\\\"record.reason && ['OPERATOR-IN','OPERATOR-OUT'].includes(record.sourceType)\\\">\\n                      Vedi dettaglio\\n                    </a>\\n                  </p>\\n                </td>\\n                <td class=\\\"type\\\">\\n                  <span \\n                    class=\\\"new-tag ${getTransactionStatus(record, 'class')}\\\" \\n                    ka-tooltip=\\\"value.bind: getTransactionStatus(record, 'description')\\\">${getTransactionStatus(record, 'text')}\\n                  </span>\\n                </td> \\n                <td class=\\\"points ${getTransactionStatus(record, 'class')}\\\">\\n                  <span>${record.amount}</span>\\n                <p class=\\\"accreditation\\\">\\n                  ${getTransactionStatus(record, 'explanation')}\\n                  <a\\n                    class=\\\"failed-accreditation-detail\\\"\\n                    if.bind=\\\"record.status === 'BLOCKED'\\\"\\n                    click.delegate=\\\"dialogLockedAccreditation(record)\\\">vedi causa\\n                  </a>\\n                </p>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button\\n                    class=\\\"flat inverted primary m-0\\\"\\n                    click.delegate=\\\"detail(record, $event)\\\"\\n                    if.bind=\\\"record.sourceQueueUuid || record.sourceFlatServiceSubscriptionUuid || record.legacySmsQueueId\\\">Dettaglio\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot>\\n              <tr>\\n                <td if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti movimenti</td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </div>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n<require from=\\\"./notifiche-anteprima.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div innerhtml.bind=\\\"notification.htmlBody\\\"></div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./notifiche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"row\\\">\\n    <!-- Users -->\\n    <div class=\\\"col-5 col-md-4 users\\\">\\n      <h2>Ricerca notifiche</h2>\\n      <template if.bind=\\\"myNotificationsSearchInterface.initialized\\\">\\n        <div class=\\\"row app-shared-search-style\\\" with.bind=\\\"myNotificationsSearchInterface\\\">\\n          <div class=\\\"col-12\\\">\\n            <md-control name=\\\"readBy\\\" buttons=\\\"dropdown\\\" change.call=\\\"readByChanged()\\\"></md-control>\\n          </div>\\n        </div>\\n\\n        <!-- Templates -->\\n        <ul if.bind=\\\"templates && templates.length\\\" class=\\\"templates\\\">\\n          <li id=\\\"all-templates\\\" click.delegate=\\\"setTemplate('all-templates')\\\">\\n            <i class=\\\"fal fa-folders\\\" style=\\\"font-size: 1.7rem\\\"></i>\\n            <strong class=\\\"label\\\">Tutti i modelli</strong>\\n          </li>\\n          <template repeat.for=\\\"template of templates\\\">\\n            <li id=\\\"${template.code}\\\" click.delegate=\\\"setTemplate(template.code)\\\">\\n              <i class=\\\"fal fa-folder\\\"></i>\\n              <span class=\\\"label\\\">${template.label}</span>\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Notices -->\\n    <div class=\\\"col-7 col-md-8 notifications\\\">\\n      <h2 class=\\\"d-flex flex-column align-items-start flex-lg-row align-items-lg-center justify-content-lg-between\\\">\\n        <span style=\\\"white-space: nowrap;\\\">Elenco delle mie notifiche</span>\\n        <ka-button \\n          if.bind=\\\"myNotificationsTableInterface.data\\\" \\n          class=\\\"m-0 me-3 mb-4 mb-lg-0 text-nowrap secondary inverted flat with-icon\\\" \\n          click.delegate=\\\"setAllAsRead(myNotificationsTableInterface)\\\" \\n          disabled.bind=\\\"!myNotificationsTableInterface.data.length\\\">\\n          <i class=\\\"fas fa-bell-slash\\\"></i>\\n          <span>Segna tutte come lette</span>\\n        </ka-button>\\n      </h2>\\n      <template if.bind=\\\"myNotificationsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"myNotificationsTableInterface\\\" pagination-limits=\\\"10,50,200\\\"></md-table-toolbar>\\n        <md-table-progressbar if.bind=\\\"pending || myNotificationsTableInterface.isLoading\\\"></md-table-progressbar>\\n        <template if.bind=\\\"myNotificationsTableInterface.data\\\">\\n          <ul>\\n            <template if.bind=\\\"myNotificationsTableInterface.data.length\\\">\\n              <template repeat.for=\\\"notification of myNotificationsTableInterface.data\\\">\\n                <li id=\\\"${notification.id}\\\" class=\\\"notification ${notification.readByMeAt || notification.automaticallyArchivedAt ? 'readed' : 'unreaded'}\\\">\\n                  <div class=\\\"box row\\\">\\n                    <div class=\\\"col reading-icon\\\">\\n                      <ka-button click.delegate=\\\"notificationsReadStatus(notification)\\\" class=\\\"inverted flat\\\">\\n                        <i class=\\\"fad fa-bell${notification.readByMeAt ? '-slash' : '-on'}\\\"></i>\\n                      </ka-button>\\n                    </div>\\n                    <div class=\\\"col notification-content d-flex flex-column\\\">\\n                      <strong class=\\\"title\\\">${notification.title}</strong>\\n                      <span class=\\\"preview\\\" ka-tooltip=\\\"value.bind: tools.notificationTooltip(notification);\\\">${notification.preview}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"!notification.automaticallyArchivedAt && notification.automaticallyArchiveAt\\\" ka-tooltip.bind=\\\"'Questa notifica verrà archiviata automaticamente il ' + date(notification.automaticallyArchiveAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>La notifica verrà archiviata automaticamente il ${notification.automaticallyArchiveAt | dateFormat}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"notification.automaticallyArchivedAt\\\" ka-tooltip.bind=\\\"'Notifica archiviata automaticamente il ' + date(notification.automaticallyArchivedAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>Notifica archiviata automaticamente il ${notification.automaticallyArchivedAt | dateFormat}</span>\\n                    </div>\\n                    <div class=\\\"col-12 col-md notification-right\\\">\\n                      <div class=\\\"date\\\">\\n                        <span class=\\\"checked\\\">Ricevuta il ${notification.createdAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"!notification.readByMeAt\\\">Notifica non letta<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"notification.readByMeAt\\\" class=\\\"checked\\\">Letta il ${notification.readByMeAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                      </div>\\n                      <!-- Buttons -->\\n                      <div class=\\\"d-flex align-items-end h-100 pt-md-3 notification-buttons\\\">\\n                        <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_UI_NOTIFICATION_ASSIGNATION')\\\" class=\\\"flat secondary m-0 me-2 text-nowrap\\\" click.delegate=\\\"takeOver(notification, $event)\\\" disabled.bind=\\\"api.user.uuid === notification.assigneeUuid\\\">Prendi in carico</ka-button>\\n                        <ka-button class=\\\"flat m-0 text-nowrap\\\" click.delegate=\\\"preview(notification, $event)\\\" css=\\\"${notification.readByMeAt || notification.automaticallyArchivedAt ? 'background: #11254b' : ''}\\\">Leggi</ka-button>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </li>\\n              </template>\\n            </template>\\n            <li if.bind=\\\"!myNotificationsTableInterface.data.length\\\" style=\\\"padding: 0 0 0 .5rem\\\">Nessuna notifica disponibile</li>\\n          </ul>\\n        </template>  \\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"row\\\">\\n    <!-- Users -->\\n    <div class=\\\"col-5 col-md-4 users\\\">\\n      <h2>Ricerca notifiche</h2>\\n      <template if.bind=\\\"userNotificationsSearchInterface.initialized\\\">\\n        <div class=\\\"row app-shared-search-style\\\" with.bind=\\\"userNotificationsSearchInterface\\\">\\n          <div class=\\\"col-12 readBy-user\\\">\\n            <md-control name=\\\"readBy\\\" buttons=\\\"dropdown\\\" change.call=\\\"readByChanged()\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-12\\\">\\n            <md-control if.bind=\\\"privileges.isOperator\\\" name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"clear\\\" change.call=\\\"searchUser()\\\"></md-control>\\n            <ka-control if.bind=\\\"!privileges.isOperator\\\" schema.bind=\\\"{ control: 'text', label: mdt.parsers.contextualize(api.user, 'Sottoutente') }\\\" value.bind=\\\"searchSubuser\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n        </div>\\n\\n        <!-- Subusers -->\\n        <ul if.bind=\\\"!privileges.isOperator && subusers && subusers.length\\\" class=\\\"subusers\\\">\\n          <template repeat.for=\\\"subuser of _subusers || subusers\\\">\\n            <li id=\\\"${subuser.legacyOwnerId}\\\" click.delegate=\\\"setSubuser(subuser)\\\">\\n              <span class=\\\"label\\\">${subuser.ownerDisplayName}</span>\\n              <input if.bind=\\\"subuser.unreadNotificationsCount\\\" type=\\\"text\\\" value.bind=\\\"subuser.unreadNotificationsCount\\\" readonly=\\\"true\\\" class=\\\"counter\\\">\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Notices -->\\n    <div class=\\\"col-7 col-md-8 notifications\\\">\\n      <h2 class=\\\"d-flex flex-column align-items-start flex-lg-row align-items-lg-center justify-content-lg-between\\\">\\n        <span style=\\\"white-space: nowrap;\\\">Elenco notifiche ${user ? 'di '+user.ownerDisplayName : null}</span>\\n        <ka-button if.bind=\\\"userNotificationsTableInterface.data && !privileges.isOperator\\\" class=\\\"m-0 me-3 mb-4 mb-lg-0 text-nowrap secondary\\\" click.delegate=\\\"setAllAsRead(userNotificationsTableInterface)\\\" disabled.bind=\\\"!userNotificationsTableInterface.data.length\\\"><i class=\\\"fas fa-bell-slash me-2 align-baseline\\\"></i>Segna tutte come lette</ka-button>\\n      </h2>\\n      <template if.bind=\\\"userNotificationsTableInterface.initialized\\\">\\n        <md-table-toolbar table.bind=\\\"userNotificationsTableInterface\\\" pagination-limits=\\\"10,50,200\\\"></md-table-toolbar>\\n        <md-table-progressbar if.bind=\\\"pending || userNotificationsTableInterface.isLoading\\\"></md-table-progressbar>\\n        <template if.bind=\\\"userNotificationsTableInterface.data\\\">\\n          <ul>           \\n            <template if.bind=\\\"userNotificationsTableInterface.data.length\\\">\\n              <template repeat.for=\\\"notification of userNotificationsTableInterface.data\\\">\\n                <li id=\\\"${notification.id}\\\" class=\\\"notification ${notification.readByMeAt || notification.automaticallyArchivedAt ? 'readed' : 'unreaded'}\\\">\\n                  <div class=\\\"box row\\\">\\n                    <div class=\\\"col reading-icon\\\">\\n                      <ka-button click.delegate=\\\"notificationsReadStatus(notification)\\\" class=\\\"inverted flat\\\">\\n                        <i class=\\\"fad fa-bell${notification.readByMeAt ? '-slash' : '-on'}\\\"></i>\\n                      </ka-button>\\n                    </div>\\n                    <div class=\\\"col notification-content d-flex flex-column\\\">\\n                      <strong class=\\\"title\\\">${notification.title}</strong>\\n                      <span class=\\\"preview\\\" ka-tooltip=\\\"value.bind: notificationTooltip(notification);\\\">${notification.preview}</span>\\n                      <span class=\\\"archive pt-1\\\" if.bind=\\\"!notification.automaticallyArchivedAt && notification.automaticallyArchiveAt\\\" ka-tooltip.bind=\\\"'Questa notifica verrà archiviata automaticamente il ' + date(notification.automaticallyArchiveAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>La notifica verrà archiviata automaticamente il ${notification.automaticallyArchiveAt | dateFormat}</span>\\n                      <span class=\\\"archive archived pt-1\\\" if.bind=\\\"notification.automaticallyArchivedAt\\\" ka-tooltip.bind=\\\"'Notifica archiviata automaticamente il ' + date(notification.automaticallyArchivedAt)\\\"><i class=\\\"far fa-stopwatch\\\"></i>Notifica archiviata automaticamente il ${notification.automaticallyArchivedAt | dateFormat}</span>\\n                    </div>\\n                    <div class=\\\"col-12 col-md notification-right\\\">\\n                      <div class=\\\"date\\\">\\n                        <span class=\\\"checked\\\">Ricevuta il ${notification.createdAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"!notification.readByMeAt\\\">Notifica non letta<i class=\\\"fas fa-check\\\"></i></span>\\n                        <span if.bind=\\\"notification.readByMeAt\\\" class=\\\"checked\\\">Letta il ${notification.readByMeAt | dateFormat}<i class=\\\"fas fa-check\\\"></i></span>\\n                      </div>\\n                      <!-- Buttons -->\\n                      <div class=\\\"d-flex align-items-end h-100 pt-md-3 notification-buttons\\\">\\n                        <ka-button if.bind=\\\"api.hasRole('MODIFY_USER_UI_NOTIFICATION_ASSIGNATION')\\\" class=\\\"flat secondary m-0 me-2 text-nowrap\\\" click.delegate=\\\"takeOver(notification, $event)\\\" disabled.bind=\\\"api.user.uuid === notification.assigneeUuid\\\">Prendi in carico</ka-button>\\n                        <ka-button class=\\\"flat m-0 text-nowrap\\\" click.delegate=\\\"preview(notification, $event)\\\" css=\\\"${notification.readByMeAt || notification.automaticallyArchivedAt ? 'background: #11254b' : ''}\\\">Leggi</ka-button>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </li>            \\n              </template>\\n            </template>\\n            <li if.bind=\\\"!userNotificationsTableInterface.data.length\\\" style=\\\"padding: 0 0 0 .5rem\\\">Nessuna notifica disponibile</li>\\n          </ul>\\n        </template>\\n        <p if.bind=\\\"!userNotificationsTableInterface.data\\\" style=\\\"padding: .5rem 0 .5rem 1rem; margin: 0\\\">Nessun utente selezionato</p>\\n      </template>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./copertine.sass\\\"></require>\\n  <h2>Copertine</h2>\\n\\n  <div if.bind=\\\"searchInterface.initialized\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div \\n      if.bind=\\\"isMasterUser\\\" \\n      class=\\\"col-12 col-md-3 ${IsUserSearchFieldVisible ? 'col-lg-3' : 'col-lg-6'}\\\">\\n      <md-control\\n        name=\\\"target\\\"\\n        buttons=\\\"dropdown\\\"\\n        change.call=\\\"changeSearchInterfaceDataTarget()\\\">\\n      </md-control>\\n    </div>\\n    <div \\n      if.bind=\\\"IsUserSearchFieldVisible\\\" \\n      class=\\\"col-12 col-md-3 col-lg-3\\\">\\n      <md-control\\n        name=\\\"user\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\"\\n        change.call=\\\"changeSearchInterfaceDataUser()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 ${isOperator || isPrintOperator ? 'col-lg-2' : 'col-lg-3'}\\\">\\n      <md-control\\n        name=\\\"label\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 ${isOperator || isPrintOperator ? 'col-lg-2' : 'col-lg-3'}\\\">\\n      <md-control\\n        name=\\\"status\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 ${isOperator || isPrintOperator? 'col-lg-3' : 'col-lg-6'} d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtGte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtLte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.resetCovers()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.getCovers()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <h2>\\n    <span>Elenco copertine</span>\\n    <ka-button\\n      if.bind=\\\"isMasterUser\\\"\\n      class=\\\"flat with-icon inverted\\\"\\n      click.delegate=\\\"dialogAddCover($event)\\\">\\n      <i class=\\\"fas fa-plus\\\"></i>\\n      <span>Nuova copertina</span>\\n    </ka-button>\\n  </h2>\\n\\n  <template if.bind=\\\"searchInterface.initialized && tableInterface.data\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Titolo</th>\\n            <th if.bind=\\\"isOperator || isPrintOperator\\\">Autore</th>\\n            <th if.bind=\\\"isMasterUser\\\">\\n              <span \\n                class=\\\"info regular\\\"\\n                ka-tooltip=\\\"Una copertina associata allo Studio è sempre utilizzabile. Se associata ai Condomini invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.\\\">\\n                Associati\\n              </span>\\n            </th>\\n            <th>Data inserimento</th>\\n            <th>Aspetto</th>\\n            <th>Stato omologazione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <span class=\\\"d-block\\\">${record.label}</span>\\n            </td>\\n            <td if.bind=\\\"isOperator || isPrintOperator\\\">\\n              <span>\\n                ${record.authorDisplayName}\\n                <small class=\\\"d-block\\\">ID: ${record.authorId}</small>\\n              </span>\\n            </td>\\n            <td if.bind=\\\"isMasterUser\\\">\\n              <p class=\\\"user-subusers\\\">\\n                <span\\n                  class=\\\"tag user with-icon\\\"\\n                  if.bind=\\\"record.associations.target === 'SELF'\\\">\\n                  Studio \\n                  <span\\n                    class=\\\"default\\\"\\n                    if.bind=\\\"record.associations.default === 'YES'\\\">\\n                    Predefinita\\n                  </span>\\n                </span>                 \\n                <span\\n                  class=\\\"tag building with-icon mb-2 me-2\\\"\\n                  if.bind=\\\"record.associations.items\\\"\\n                  repeat.for=\\\"item of record.associations.items\\\">\\n                  ${item.displayName}\\n                  <span\\n                    class=\\\"default\\\"\\n                    if.bind=\\\"item.default === 'YES'\\\">\\n                    Predefinita\\n                  </span>\\n                </span>\\n              </p>\\n            </td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              <small class=\\\"d-block mb-2\\\" style=\\\"white-space: nowrap\\\"><span class=\\\"text-color\\\">Stampa:</span> ${record.colorMode === 'BW' ? 'bianco e nero' : 'a colori'}</small>\\n              <small class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><span class=\\\"text-color\\\">Grammatura:</span> ${record.weight}gr</small>\\n            </td>\\n            <td>\\n              <span class=\\\"tag with-icon ${coverStatuses[record.status].class}\\\">\\n                ${coverStatuses[record.status].text}\\n              </span>\\n              <small\\n                class=\\\"d-block\\\" \\n                if.bind=\\\"record.approvedAt\\\" \\n                style=\\\"margin-top: .8rem\\\">Data approvazione: ${ record.approvedAt|dateFormat:'DD/MM/YYYY' }\\n              </small>\\n            </td>\\n            <td class=\\\"text-end\\\" style=\\\"white-space: nowrap\\\">\\n              <ka-button\\n                class=\\\"flat inverted\\\"\\n                if.bind=\\\"isPrintOperator\\\"\\n                click.delegate=\\\"dialogManageCover($event, record)\\\">Gestisci omologazione\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"isMasterUser\\\"\\n                disabled.bind=\\\"record.status === 'REFUSED'\\\"\\n                class=\\\"inverted primary flat ms-0\\\"\\n                click.delegate=\\\"dialogUserAssociationsWithTheCover(record, $event)\\\">\\n                Modifica associazione\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"mdFileViewer.fileViewer(`users/me/preferences/sender/letter-covers/${record.uuid}/download`, 'pdf', $event)\\\">\\n                <i class=\\\"far fa-eye\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"mdFileDownload.fileDownload(`users/me/preferences/sender/letter-covers/${record.uuid}/download`, record, 'pdf', $event)\\\">\\n                <i class=\\\"far fa-file-download\\\"></i>\\n              </ka-button>\\n              <ka-button\\n                if.bind=\\\"isMasterUser\\\"\\n                class=\\\"inverted secondary flat icon ms-1\\\"\\n                click.delegate=\\\"dialogDeleteCover(record.uuid)\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n            </td>      \\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Non sono presenti copertine</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../copertine.sass\\\"></require>\\n  <require from=\\\"./add-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <h4 class=\\\"important m-0 mb-1\\\">IMPORTANTE!</h4>\\n    <p class=\\\"m-0 mb-3\\\">Per aggiungere una nuova copertina è necessario caricare un file PDF di 4 pagine in formato A4. L'ordine delle pagine è indicato qui sotto.\\n    </p>\\n    <h4 class=\\\"layout-title\\\">\\n      <span static-tooltip=\\\"value.bind: staticTooltipCover\\\" style=\\\"align-items: center\\\">\\n        <span>Ordine delle pagine nel documento</span>\\n      </span>\\n    </h4>\\n    <ul class=\\\"document\\\">\\n      <li>\\n        <svg viewBox=\\\"0 0 282.7 396.5\\\"><rect x=\\\"4\\\" y=\\\"4\\\" width=\\\"274.7\\\" height=\\\"388.5\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.49 141.92)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.9 296.9)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.4px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">1</tspan></text></g></g></g></svg   >\\n      </li>\\n      <li>\\n        <svg viewBox=\\\"0 0 557.38 396.5\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.52 141.87)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.94 296.85)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.37px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">2</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(376.83 141.87)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(395.25 296.85)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.37px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">3</tspan></text></g></g></g></g><polygon points=\\\"4 4 278.69 4 553.38 4 553.38 392.5 278.69 392.5 4 392.5 4 4\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><line x1=\\\"278.69\\\" y1=\\\"4\\\" x2=\\\"278.69\\\" y2=\\\"392.5\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/></svg   >\\n      </li>\\n      <li>\\n        <svg viewBox=\\\"0 0 282.6 396.4\\\"><rect x=\\\"4\\\" y=\\\"4\\\" width=\\\"274.6\\\" height=\\\"388.4\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:8px;\\\"/><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(102.49 141.82)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:63.48px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">A4</tspan></text></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><text transform=\\\"translate(120.9 296.8)\\\" style=\\\"font-family:Helvetica, Helvetica; font-size:73.4px; isolation:isolate;\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">4</tspan></text></g></g></g></svg   >\\n      </li>\\n    </ul>\\n    <h4 class=\\\"layout-title\\\">\\n      <span static-tooltip=\\\"value.bind: staticTooltipCover\\\" style=\\\"align-items: center\\\">\\n        <span>Disposizione grafica del layout o impaginazione</span>\\n      </span>\\n    </h4>\\n    <div class=\\\"paginated\\\">\\n      <svg viewBox=\\\"0 0 556.38 433.45\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M332.4,138.08c-1.87,1.72-4.28,2.52-7.21,2.37-3.62-.18-6.48-1.57-8.54-4.17-2.07-2.61-3.11-6.1-3.11-10.47,0-4.72,1.18-8.28,3.54-10.67,2.05-2.08,4.66-3,7.83-2.78,4.24.3,7.34,1.99,9.3,5.06,1.08,1.72,1.66,3.42,1.74,5.08-2.11-.13-3.16-.2-5.26-.33-.34-1.3-.78-2.3-1.32-2.98-.96-1.22-2.38-1.9-4.26-2.02-1.91-.13-3.42.59-4.53,2.17-1.11,1.58-1.66,3.88-1.66,6.9s.58,5.32,1.75,6.88c1.17,1.57,2.65,2.4,4.45,2.49,1.85.1,3.25-.47,4.22-1.69.54-.66.98-1.67,1.33-3.03,2.09.12,3.13.18,5.21.3-.46,2.88-1.62,5.18-3.49,6.89Z\\\"/><path d=\\\"M351.04,141.76c-3.6-.18-6.35-1.44-8.25-3.51-2.44-2.66-3.83-6.39-3.83-11.16s1.44-8.43,3.83-10.7c1.9-1.8,4.65-2.77,8.25-2.51,3.6.25,6.35,1.58,8.25,3.63,2.39,2.57,3.81,6.25,3.81,11.04s-1.38,8.21-3.81,10.58c-1.9,1.85-4.65,2.82-8.25,2.64ZM356.02,134.96c1.22-1.53,1.83-3.78,1.83-6.73s-.61-5.25-1.84-6.94c-1.22-1.69-2.88-2.61-4.96-2.74-2.08-.14-3.75.55-4.99,2.09-1.24,1.53-1.86,3.79-1.86,6.77s.62,5.31,1.86,7c1.24,1.68,2.91,2.58,4.99,2.69,2.08.11,3.75-.6,4.97-2.14Z\\\"/><path d=\\\"M377.82,133.11c-2.14-.12-3.21-.19-5.35-.31v9.33c-2.09-.11-3.14-.16-5.23-.27v-26.05c4.39.3,6.58.46,10.97.76,2.53.18,4.55.98,6.05,2.41,1.5,1.43,2.26,3.53,2.26,6.31,0,3.03-.75,5.13-2.26,6.3-1.5,1.17-3.65,1.68-6.44,1.51ZM380.28,127.87c.68-.57,1.03-1.54,1.03-2.88s-.34-2.32-1.03-2.94c-.69-.62-1.66-.97-2.9-1.05-1.96-.13-2.94-.19-4.91-.32v7.64c1.96.12,2.94.18,4.91.3,1.24.08,2.22-.17,2.91-.75Z\\\"/><path d=\\\"M408,132.89c-4.89-.29-7.34-.43-12.24-.72,0,2.63,0,3.94,0,6.57,5.58.3,8.37.46,13.95.76v4.55c-7.64-.39-11.45-.59-19.09-.98v-25.64c7.39.51,11.08.77,18.47,1.28v4.48l-13.33-.88v5.42c4.89.3,7.34.46,12.24.76v4.4Z\\\"/><path d=\\\"M424.51,134.99c-2.17-.13-3.26-.19-5.43-.32v9.85c-2.06-.11-3.09-.16-5.14-.26,0-10.09,0-15.13,0-25.22,4.94.34,7.41.51,12.36.86,1.77.16,3.13.46,4.08.92.95.46,1.76,1.1,2.42,1.9.55.67.98,1.39,1.3,2.18.32.79.48,1.67.48,2.65,0,1.18-.3,2.32-.91,3.43-.6,1.1-1.6,1.85-2.99,2.24,1.16.53,1.99,1.24,2.47,2.11.48.88.73,2.19.73,3.93v1.67c0,1.14.05,1.91.14,2.32.14.64.46,1.14.96,1.47v.62l-5.79-.3c-.16-.56-.27-1.01-.34-1.35-.14-.7-.21-1.43-.22-2.16-.01-.93-.02-1.39-.03-2.32-.02-1.59-.32-2.67-.88-3.23-.56-.56-1.62-.89-3.17-.98ZM427.71,130.64c1.05-.41,1.57-1.31,1.57-2.71,0-1.51-.51-2.56-1.52-3.15-.57-.33-1.42-.53-2.56-.61-2.45-.16-3.67-.24-6.12-.4v6.75c2.39.15,3.58.22,5.96.37,1.18.07,2.07,0,2.67-.24Z\\\"/><path d=\\\"M457.39,122.05v4.33c-3.01-.2-4.52-.3-7.54-.5v20.23c-2.12-.11-3.18-.16-5.3-.27,0-8.12,0-12.18,0-20.3-3.03-.2-4.54-.3-7.57-.5v-4.39c8.16.57,12.24.85,20.41,1.41Z\\\"/><path d=\\\"M460.06,122.24c2.09.14,3.14.22,5.23.36,0,9.72,0,14.58,0,24.3-2.09-.11-3.14-.16-5.23-.27,0-9.76,0-14.64,0-24.39Z\\\"/><path d=\\\"M490.57,148.2c-2.11-.11-3.16-.16-5.26-.27-4.12-7.01-6.17-10.55-10.29-17.67,0,6.85,0,10.28,0,17.14-1.96-.1-2.94-.15-4.9-.25,0-9.69,0-14.53,0-24.21,2.21.15,3.31.23,5.52.38,4.01,7.01,6.02,10.49,10.03,17.4v-16.71c1.96.14,2.94.2,4.9.34,0,9.54,0,14.31,0,23.85Z\\\"/><path d=\\\"M510.22,144.38c-3.71-.2-5.57-.31-9.28-.51-.7,1.91-1.05,2.86-1.74,4.77-2.2-.11-3.3-.17-5.5-.28,3.6-9.33,5.39-13.97,8.99-23.17,2.38.16,3.57.25,5.95.41,3.57,9.66,5.35,14.45,8.92,23.98-2.28-.12-3.42-.18-5.71-.29-.65-1.96-.97-2.95-1.62-4.91ZM508.75,140.25c-1.26-3.78-1.89-5.67-3.14-9.46-1.3,3.63-1.95,5.44-3.25,9.09,2.56.15,3.83.22,6.39.37Z\\\"/></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M401.77,279.61v-4.99c4.66-.65,7.9-1.54,9.74-2.68,1.84-1.14,3.21-3.71,4.12-7.7,2.03-.07,3.05-.1,5.09-.17,0,16.97,0,33.93,0,50.9-2.75.19-4.13.29-6.88.48v-36.37c-4.83.21-7.24.32-12.07.53Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M92.13,137.31c-2.17.13-3.26.19-5.43.32,0,3.8,0,5.7,0,9.5-2.06.11-3.09.16-5.14.26,0-9.65,0-14.48,0-24.13,4.94-.34,7.41-.51,12.36-.86,1.77-.09,3.13.03,4.08.35.95.32,1.76.84,2.42,1.54.55.58.98,1.24,1.3,1.97.32.73.48,1.58.48,2.55,0,1.16-.3,2.33-.91,3.49-.6,1.16-1.6,2.02-2.99,2.56,1.16.38,1.99.98,2.47,1.79.48.81.73,2.07.73,3.79v1.65c0,1.12.05,1.88.14,2.27.14.62.46,1.07.96,1.35v.62c-2.32.12-3.48.18-5.79.3-.16-.53-.27-.96-.34-1.29-.14-.67-.21-1.37-.22-2.09-.01-.91-.02-1.36-.03-2.26-.02-1.56-.32-2.57-.88-3.06-.56-.49-1.62-.68-3.17-.59ZM95.33,132.69c1.05-.53,1.57-1.48,1.57-2.85,0-1.48-.51-2.44-1.52-2.88-.57-.25-1.42-.34-2.56-.26-2.45.16-3.67.24-6.12.4v6.51c2.39-.15,3.58-.22,5.96-.37,1.18-.07,2.07-.26,2.67-.56Z\\\"/><path d=\\\"M124.25,134.32c-4.89.29-7.34.43-12.24.72,0,2.54,0,3.81,0,6.34,5.58-.3,8.37-.46,13.95-.76v4.48c-7.64.39-11.45.59-19.09.98,0-9.83,0-14.75,0-24.58,7.39-.51,11.08-.77,18.47-1.28v4.41c-5.33.35-8,.53-13.33.88v5.24c4.89-.3,7.34-.46,12.24-.76v4.32Z\\\"/><path d=\\\"M148.36,118.63v4.48c-3.01.2-4.52.3-7.54.5,0,8.29,0,12.44,0,20.73-2.12.11-3.18.16-5.3.27,0-8.26,0-12.39,0-20.65-3.03.2-4.54.3-7.57.5v-4.42c8.16-.57,12.24-.85,20.41-1.41Z\\\"/><path d=\\\"M162.13,133.22c-2.17.13-3.26.19-5.43.32,0,4,0,5.99,0,9.99-2.06.11-3.09.16-5.14.26,0-10.15,0-15.23,0-25.38,4.94-.34,7.41-.51,12.36-.86,1.77-.09,3.13.04,4.08.38.95.34,1.76.88,2.42,1.63.55.62.98,1.31,1.3,2.08.32.77.48,1.66.48,2.68,0,1.22-.3,2.45-.91,3.66s-1.6,2.11-2.99,2.68c1.16.41,1.99,1.04,2.47,1.89.48.85.73,2.18.73,3.98v1.73c0,1.18.05,1.97.14,2.38.14.65.46,1.13.96,1.42v.65c-2.32.12-3.48.18-5.79.3-.16-.56-.27-1.01-.34-1.36-.14-.71-.21-1.44-.22-2.2-.01-.95-.02-1.43-.03-2.38-.02-1.64-.32-2.71-.88-3.22-.56-.51-1.62-.72-3.17-.63ZM165.33,128.38c1.05-.55,1.57-1.55,1.57-2.99,0-1.55-.51-2.57-1.52-3.03-.57-.26-1.42-.36-2.56-.28l-6.12.4v6.84c2.39-.15,3.58-.22,5.96-.37,1.18-.07,2.07-.27,2.67-.58Z\\\"/><path d=\\\"M187.85,142.65c-3.6.18-6.35-.78-8.25-2.6-2.44-2.34-3.83-5.81-3.83-10.45,0-4.73,1.43-8.36,3.83-10.91,1.91-2.02,4.65-3.35,8.25-3.6,3.6-.25,6.35.69,8.25,2.48,2.38,2.24,3.81,5.76,3.81,10.57,0,4.71-1.37,8.4-3.81,11.03-1.91,2.06-4.65,3.29-8.25,3.47ZM192.83,135.38c1.22-1.66,1.83-3.97,1.83-6.92,0-2.93-.61-5.16-1.84-6.69-1.22-1.52-2.88-2.21-4.96-2.07-2.08.14-3.75,1.04-4.99,2.71-1.24,1.66-1.86,3.95-1.86,6.87,0,2.92.62,5.13,1.86,6.65,1.24,1.51,2.91,2.22,4.99,2.11,2.08-.11,3.75-1,4.97-2.66Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M144.8,315.6v-12.57c-9-.55-13.5-.82-22.5-1.37v-6.22c7.92-10.4,15.75-20.86,23.5-31.39,2.18.07,3.27.11,5.45.18,0,11.18,0,22.35,0,33.53,3.02.17,4.54.26,7.56.43,0,2.28,0,3.42,0,5.7-3.02-.18-4.54-.28-7.56-.46,0,5.05,0,7.58,0,12.63-2.58-.18-3.87-.27-6.45-.45ZM144.69,297.38c0-9.35,0-14.02,0-23.37-6.58,9.08-9.87,13.56-16.44,22.43,6.58.38,9.87.56,16.44.94Z\\\"/></g></g></g></g></g></g><path d=\\\"M140.85,410.98c-45.78-6.31-91.56-12.63-137.35-18.94,0-58.44,0-116.87,0-175.31,0-58.44,0-116.87,0-175.31,45.78-6.31,91.56-12.63,137.35-18.94,45.78-6.31,91.56-12.63,137.34-18.94,0,0,183.13,25.26,274.69,37.88v350.62c-91.56,12.63-183.13,25.26-274.69,37.88,0,0-91.56-12.63-137.34-18.94Z\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/><line x1=\\\"278.19\\\" y1=\\\"3.53\\\" x2=\\\"278.19\\\" y2=\\\"429.92\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/></svg>\\n      <svg viewBox=\\\"0 0 556.38 434.42\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M382.71,127.14c-.54.75-.81,1.72-.79,2.9-1.82.12-2.73.17-4.55.29.04-1.2.24-2.39.63-3.45.36-.95,1.03-1.9,1.88-2.74.62-.61,1.4-1.09,2.27-1.46.88-.36,1.95-.59,3.23-.67,2.37-.16,4.28.31,5.73,1.41,1.45,1.11,2.18,2.68,2.18,4.7,0,1.44-.43,2.67-1.3,3.71-.55.65-1.12,1.11-1.71,1.36.44-.03,1.08.31,1.91,1.01,1.24,1.06,1.86,2.57,1.86,4.53,0,2.06-.73,3.92-2.18,5.56-1.45,1.64-3.6,2.53-6.45,2.67-3.51.18-5.95-.81-7.31-2.97-.72-1.15-1.12-2.68-1.2-4.59,1.91-.11,2.87-.16,4.79-.27,0,.97.16,1.76.48,2.38.59,1.14,1.67,1.66,3.23,1.58.96-.05,1.79-.42,2.5-1.1s1.07-1.63,1.07-2.83c0-1.6-.66-2.63-1.98-3.09-.75-.26-1.94-.34-3.55-.24v-3.41c1.58-.12,2.69-.34,3.32-.66,1.08-.54,1.62-1.52,1.62-2.95,0-.93-.28-1.67-.83-2.21-.55-.54-1.33-.78-2.33-.72-1.15.08-1.99.5-2.53,1.24Z\\\"/><path d=\\\"M397.6,122.58c.91-1.21,2.48-1.89,4.7-2.05,1.45-.1,2.74.09,3.86.58,1.11.49,1.67,1.53,1.67,3.12v6.03c0,.42,0,.93.03,1.53.02.45.09.75.21.91.11.15.28.27.51.36v.51c-1.5.09-2.26.13-3.76.22-.11-.25-.19-.5-.23-.73-.04-.24-.07-.5-.09-.79-.48.55-1.03,1.03-1.64,1.42-.74.47-1.59.72-2.53.78-1.2.07-2.18-.21-2.96-.84s-1.17-1.56-1.17-2.8c0-1.61.63-2.81,1.88-3.61.68-.43,1.69-.77,3.03-1.03.47-.09.71-.14,1.18-.23.64-.12,1.1-.25,1.38-.38.49-.25.73-.59.73-1.03,0-.54-.19-.9-.56-1.08-.38-.18-.93-.24-1.66-.19-.82.06-1.4.3-1.74.73-.24.31-.4.72-.48,1.23-1.33.09-2,.13-3.33.22.07-1.15.39-2.11.97-2.88ZM400.16,131.61c.32.23.72.35,1.2.32.74-.05,1.42-.3,2.05-.78.63-.47.95-1.28.97-2.42v-1.27c-.22.15-.44.27-.66.37-.22.1-.53.19-.91.29-.31.08-.47.12-.79.2-.72.17-1.24.36-1.56.56-.54.35-.8.85-.8,1.5,0,.59.17,1,.5,1.24Z\\\"/><path d=\\\"M432.55,143.95c-4.34.22-6.51.33-10.85.56,0-10.12,0-15.18,0-25.3,4.34-.3,6.51-.45,10.85-.75,1.56-.08,2.86,0,3.9.29,1.77.47,3.2,1.45,4.29,2.96.88,1.21,1.48,2.56,1.79,4.02.32,1.47.48,2.87.48,4.22,0,3.41-.67,6.35-2.02,8.79-1.82,3.29-4.64,5.02-8.44,5.22ZM436.46,124.71c-.8-1.33-2.41-1.92-4.8-1.76-1.94.13-2.91.19-4.85.32v16.57c1.94-.11,2.91-.16,4.85-.26,2.48-.14,4.21-1.47,5.2-4.01.54-1.4.8-3.04.8-4.92,0-2.6-.4-4.59-1.2-5.93Z\\\"/><path d=\\\"M446.56,117.49c2.09-.14,3.14-.22,5.23-.36,0,10.34,0,15.5,0,25.84-2.09.11-3.14.16-5.23.27,0-10.3,0-15.45,0-25.75Z\\\"/><path d=\\\"M332.4,189.68c-1.88,1.66-4.28,2.51-7.21,2.57-3.62.07-6.48-.96-8.54-3.08-2.07-2.12-3.11-5.07-3.11-8.84,0-4.08,1.18-7.26,3.54-9.56,2.05-2,4.66-3.07,7.83-3.19,4.24-.16,7.34,1.03,9.3,3.58,1.08,1.43,1.66,2.89,1.74,4.37-2.11.07-3.16.1-5.26.17-.34-1.12-.78-1.97-1.32-2.53-.96-.99-2.38-1.46-4.26-1.39-1.91.07-3.42.84-4.53,2.32-1.11,1.48-1.66,3.53-1.66,6.16s.58,4.59,1.75,5.87c1.17,1.28,2.65,1.91,4.45,1.87,1.85-.04,3.25-.64,4.22-1.79.54-.62.98-1.55,1.33-2.78,2.09-.05,3.13-.08,5.21-.13-.46,2.6-1.62,4.74-3.49,6.39Z\\\"/><path d=\\\"M351.04,191.75c-3.6.07-6.35-.9-8.25-2.63-2.44-2.23-3.83-5.47-3.83-9.75,0-4.36,1.42-7.67,3.83-9.96,1.9-1.81,4.65-2.96,8.25-3.1,3.6-.14,6.36.81,8.25,2.51,2.39,2.14,3.81,5.42,3.81,9.87s-1.37,7.72-3.81,10.08c-1.9,1.84-4.65,2.91-8.25,2.98ZM356.02,185.18c1.22-1.5,1.83-3.62,1.83-6.34s-.61-4.79-1.84-6.23c-1.22-1.44-2.88-2.12-4.96-2.05-2.08.07-3.75.86-4.99,2.37-1.24,1.5-1.86,3.6-1.86,6.29s.62,4.75,1.86,6.19c1.24,1.43,2.91,2.13,4.99,2.08s3.75-.82,4.97-2.32Z\\\"/><path d=\\\"M377.82,181.75c-2.14.06-3.21.08-5.35.14v8.78c-2.09.04-3.14.06-5.23.1v-24.33c4.39-.16,6.58-.25,10.97-.41,2.53-.09,4.55.46,6.05,1.68s2.26,3.16,2.26,5.83c0,2.91-.75,4.99-2.26,6.24-1.5,1.24-3.65,1.9-6.44,1.97ZM380.28,176.57c.68-.6,1.03-1.55,1.03-2.83s-.34-2.18-1.03-2.7c-.69-.52-1.66-.76-2.9-.72-1.96.07-2.94.1-4.91.17v7.19c1.96-.06,2.94-.09,4.91-.14,1.24-.04,2.21-.36,2.91-.97Z\\\"/><path d=\\\"M408,179.03c-4.89.13-7.34.2-12.24.33v6.39c5.58-.13,8.37-.19,13.95-.32v4.51c-7.64.15-11.45.22-19.09.37v-24.74c7.39-.28,11.08-.41,18.47-.69v4.44c-5.33.18-8,.27-13.33.46v5.27c4.89-.15,7.34-.22,12.24-.37v4.35Z\\\"/><path d=\\\"M424.51,179.71c-2.17.06-3.26.09-5.43.14v9.9c-2.06.04-3.09.06-5.14.1v-25.16c4.94-.18,7.41-.28,12.36-.46,1.77-.03,3.13.14,4.08.5.95.37,1.76.93,2.42,1.69.55.63.98,1.33,1.3,2.1.32.77.48,1.66.48,2.67,0,1.21-.3,2.41-.91,3.6-.6,1.19-1.6,2.04-2.99,2.57,1.16.44,1.99,1.09,2.47,1.95.48.86.73,2.18.73,3.97v1.71c0,1.17.05,1.96.14,2.37.14.65.46,1.13.96,1.44v.64c-2.32.05-3.48.07-5.79.11-.16-.56-.27-1.01-.34-1.36-.14-.71-.21-1.44-.22-2.19-.01-.94-.02-1.42-.03-2.36-.02-1.62-.32-2.69-.88-3.22s-1.62-.77-3.17-.73ZM427.71,175.01c1.05-.51,1.57-1.48,1.57-2.91,0-1.54-.51-2.56-1.52-3.05-.57-.28-1.42-.4-2.56-.36l-6.12.21v6.78c2.39-.07,3.58-.11,5.96-.18,1.18-.03,2.07-.2,2.67-.49Z\\\"/><path d=\\\"M457.39,163.08v4.59c-3.01.1-4.52.15-7.54.26v21.24c-2.12.04-3.18.06-5.3.1v-21.16c-3.03.1-4.54.16-7.57.26v-4.53c8.16-.3,12.24-.46,20.41-.76Z\\\"/><path d=\\\"M460.06,162.98c2.09-.08,3.14-.12,5.23-.2,0,10.43,0,15.65,0,26.08-2.09.04-3.14.06-5.23.1,0-10.39,0-15.59,0-25.99Z\\\"/><path d=\\\"M490.57,188.37l-5.26.1c-4.12-7.43-6.17-11.12-10.29-18.45,0,7.46,0,11.19,0,18.65-1.96.04-2.94.06-4.9.1v-26.17c2.21-.08,3.31-.12,5.52-.21,4.01,7.18,6.02,10.8,10.03,18.09v-18.46c1.96-.07,2.94-.11,4.9-.18,0,10.61,0,15.92,0,26.53Z\\\"/><path d=\\\"M510.22,182.46c-3.71.09-5.57.13-9.28.21-.7,2.21-1.05,3.32-1.74,5.53-2.2.04-3.3.06-5.5.11,3.01-8.97,6.01-17.94,8.99-26.92,2.38-.09,3.57-.13,5.95-.22,2.99,8.89,5.96,17.78,8.92,26.68-2.28.04-3.42.07-5.71.11-.65-2.2-.97-3.3-1.62-5.49ZM508.75,177.87c-1.26-4.19-1.89-6.29-3.14-10.46-1.3,4.26-1.95,6.39-3.25,10.63,2.56-.07,3.83-.1,6.39-.17Z\\\"/></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M400.61,311.2c-2.73-3.48-4.1-7.56-4.1-12.27,2.69.16,4.04.24,6.74.4.29,3.31.91,5.74,1.86,7.29,1.67,2.79,4.69,4.33,9.06,4.62,3.39.23,6.11-.5,8.17-2.19,2.05-1.69,3.08-3.98,3.08-6.87,0-3.56-1.08-6.11-3.24-7.65-2.16-1.53-5.17-2.4-9.01-2.6-.43-.02-.87-.04-1.31-.05-.44-.01-.89-.02-1.34-.02v-5.68c.67.1,1.23.18,1.68.23.45.05.94.08,1.47.11,2.41.12,4.39-.17,5.95-.86,2.72-1.21,4.08-3.55,4.08-7.01,0-2.57-.91-4.59-2.72-6.05-1.82-1.46-3.93-2.23-6.34-2.33-4.3-.16-7.27,1.15-8.92,3.93-.91,1.53-1.42,3.73-1.54,6.62-2.55-.12-3.83-.17-6.38-.29,0-3.77.76-6.95,2.29-9.53,2.63-4.62,7.25-6.84,13.86-6.62,5.23.18,9.28,1.48,12.15,3.93,2.87,2.45,4.3,5.92,4.3,10.38,0,3.19-.85,5.73-2.54,7.62-1.05,1.18-2.41,2.07-4.08,2.68,2.7.88,4.81,2.43,6.32,4.65,1.52,2.22,2.27,4.88,2.27,7.97,0,4.95-1.61,8.89-4.84,11.78-3.22,2.89-7.8,4.11-13.72,3.69-6.07-.43-10.47-2.4-13.2-5.88Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M113.18,123.28c-.58-.75-1.41-1.16-2.5-1.23-1.48-.1-2.49.4-3.03,1.5-.31.63-.49,1.66-.55,3.08-1.89-.12-2.84-.18-4.73-.3.08-2.16.46-3.89,1.14-5.17,1.3-2.45,3.61-3.56,6.92-3.33,2.62.18,4.71,1.07,6.25,2.65,1.55,1.58,2.32,3.58,2.32,6.01,0,1.86-.55,3.48-1.64,4.87-.72.92-1.9,1.92-3.54,3.01-.78.52-1.17.78-1.95,1.3-1.22.81-2.05,1.41-2.5,1.78-.45.37-.83.81-1.14,1.32,4.33.24,6.49.35,10.82.59v4.36c-6.79-.35-10.18-.52-16.97-.87.04-1.82.49-3.49,1.14-4.94.72-1.59,2.34-3.36,4.92-5.1,2.24-1.51,3.7-2.6,4.36-3.27,1.01-1.04,1.52-2.22,1.52-3.53,0-1.07-.29-1.97-.87-2.72Z\\\"/><path d=\\\"M122.6,120.12c.91-1.12,2.48-1.59,4.7-1.44,1.45.1,2.74.48,3.86,1.13,1.12.65,1.67,1.78,1.67,3.38v6.1c0,.42,0,.94.03,1.55.02.46.09.77.21.94.11.17.28.31.51.43v.52c-1.5-.09-2.26-.13-3.76-.22-.11-.27-.19-.53-.23-.77-.04-.24-.07-.52-.09-.82-.48.5-1.03.93-1.64,1.25-.74.39-1.59.54-2.53.49-1.2-.07-2.18-.48-2.96-1.21-.78-.74-1.17-1.75-1.17-3.02,0-1.65.63-2.81,1.88-3.46.68-.35,1.69-.56,3.03-.65.47-.03.71-.05,1.18-.08.64-.04,1.1-.11,1.38-.2.49-.19.73-.5.73-.95,0-.55-.19-.94-.56-1.17s-.93-.37-1.66-.42c-.82-.06-1.4.11-1.74.5-.24.28-.4.68-.48,1.2-1.33-.09-2-.13-3.33-.22.07-1.17.39-2.12.97-2.83ZM125.16,129.7c.32.28.72.44,1.2.47.74.05,1.42-.13,2.05-.54.63-.4.95-1.18.97-2.34v-1.29c-.22.12-.44.22-.66.29-.22.07-.53.13-.91.17-.31.04-.47.06-.79.1-.72.08-1.24.2-1.56.37-.54.29-.8.77-.8,1.44,0,.6.17,1.04.5,1.33Z\\\"/><path d=\\\"M157.55,145.69c-4.34-.22-6.51-.33-10.85-.56,0-10.03,0-15.05,0-25.09,4.34.3,6.51.45,10.85.75,1.56.13,2.86.4,3.9.81,1.77.69,3.2,1.84,4.29,3.44.88,1.29,1.48,2.66,1.79,4.11.32,1.45.48,2.82.48,4.12,0,3.29-.67,6.03-2.02,8.24-1.82,2.98-4.64,4.38-8.44,4.18ZM161.46,127.4c-.8-1.4-2.41-2.18-4.8-2.34-1.94-.13-2.91-.19-4.85-.32,0,6.52,0,9.79,0,16.31,1.94.11,2.91.16,4.85.26,2.48.14,4.21-.98,5.2-3.34.54-1.29.8-2.85.8-4.68,0-2.52-.4-4.5-1.2-5.9Z\\\"/><path d=\\\"M171.56,121.77c2.09.14,3.14.22,5.23.36,0,9.82,0,14.73,0,24.55-2.09-.11-3.14-.16-5.23-.27,0-9.86,0-14.78,0-24.64Z\\\"/><path d=\\\"M57.4,186.21c-1.87,1.78-4.28,2.65-7.21,2.6-3.62-.07-6.48-1.36-8.54-3.89-2.07-2.54-3.11-6.01-3.11-10.37,0-4.72,1.18-8.32,3.54-10.78,2.05-2.14,4.66-3.15,7.83-3.03,4.24.16,7.34,1.75,9.3,4.76,1.08,1.69,1.66,3.36,1.74,5.03-2.11-.07-3.16-.1-5.26-.17-.34-1.29-.78-2.27-1.32-2.94-.96-1.19-2.38-1.82-4.26-1.89-1.91-.07-3.42.7-4.53,2.32-1.11,1.61-1.66,3.93-1.66,6.95s.58,5.3,1.75,6.83c1.17,1.53,2.65,2.31,4.45,2.35,1.85.04,3.25-.57,4.22-1.83.54-.68.98-1.7,1.33-3.07,2.09.05,3.13.08,5.21.13-.46,2.89-1.62,5.23-3.49,7.01Z\\\"/><path d=\\\"M76.04,189.3c-3.6-.07-6.35-1.23-8.25-3.25-2.44-2.58-3.83-6.27-3.83-11.04s1.44-8.48,3.83-10.82c1.9-1.86,4.65-2.92,8.25-2.78,3.6.14,6.35,1.38,8.25,3.37,2.39,2.49,3.81,6.13,3.81,10.92s-1.38,8.25-3.81,10.7c-1.9,1.91-4.65,2.97-8.25,2.9ZM81.02,182.34c1.22-1.57,1.83-3.84,1.83-6.79s-.61-5.24-1.84-6.89c-1.22-1.65-2.88-2.51-4.96-2.59-2.08-.07-3.75.67-4.99,2.25-1.24,1.57-1.86,3.85-1.86,6.83s.62,5.3,1.86,6.94c1.24,1.64,2.91,2.49,4.99,2.53,2.08.05,3.75-.72,4.97-2.29Z\\\"/><path d=\\\"M102.82,179.79c-2.14-.06-3.21-.08-5.35-.14v9.34c-2.09-.04-3.14-.06-5.23-.1,0-10.42,0-15.64,0-26.06,4.39.16,6.58.25,10.97.41,2.53.09,4.55.84,6.05,2.22,1.5,1.38,2.26,3.46,2.26,6.24,0,3.03-.75,5.16-2.26,6.38-1.5,1.22-3.65,1.79-6.44,1.72ZM105.28,174.47c.68-.59,1.03-1.57,1.03-2.91s-.34-2.31-1.03-2.91c-.69-.59-1.66-.91-2.9-.96-1.96-.07-2.94-.1-4.91-.17,0,3.06,0,4.59,0,7.65,1.96.06,2.94.09,4.91.14,1.24.04,2.22-.25,2.91-.85Z\\\"/><path d=\\\"M133,178.61c-4.89-.13-7.34-.2-12.24-.33v6.57c5.58.13,8.37.19,13.95.32v4.55c-7.64-.15-11.45-.22-19.09-.37v-25.64c7.39.28,11.08.41,18.47.69v4.48c-5.33-.18-8-.27-13.33-.46v5.43c4.89.15,7.34.22,12.24.37v4.4Z\\\"/><path d=\\\"M149.51,180.18c-2.17-.06-3.26-.09-5.43-.14v9.86c-2.06-.04-3.09-.06-5.14-.1v-25.22c4.94.18,7.41.28,12.36.46,1.77.1,3.13.37,4.08.79.95.43,1.76,1.04,2.42,1.83.55.65.98,1.36,1.3,2.14.32.78.48,1.65.48,2.63,0,1.18-.3,2.33-.91,3.46s-1.6,1.9-2.99,2.34c1.16.5,1.99,1.17,2.47,2.04.48.86.73,2.16.73,3.91v1.67c0,1.14.05,1.91.14,2.31.14.64.46,1.12.96,1.44v.62c-2.32-.05-3.48-.07-5.79-.11-.16-.56-.27-1-.34-1.34-.14-.7-.21-1.42-.22-2.16-.01-.93-.02-1.39-.03-2.32-.02-1.59-.32-2.66-.88-3.21-.56-.55-1.62-.84-3.17-.88ZM152.71,175.72c1.05-.44,1.57-1.36,1.57-2.76,0-1.51-.51-2.54-1.52-3.1-.57-.31-1.42-.49-2.56-.53-2.45-.08-3.67-.13-6.12-.21v6.75c2.39.07,3.58.11,5.96.18,1.18.03,2.07-.07,2.67-.33Z\\\"/><path d=\\\"M182.39,166.19v4.33c-3.01-.1-4.52-.15-7.54-.26,0,8.09,0,12.14,0,20.23-2.12-.04-3.18-.06-5.3-.1,0-8.12,0-12.18,0-20.31-3.03-.1-4.54-.16-7.57-.26v-4.39c8.16.3,12.24.46,20.41.76Z\\\"/><path d=\\\"M185.06,166.29c2.09.08,3.14.12,5.23.2,0,9.72,0,14.58,0,24.31-2.09-.04-3.14-.06-5.23-.1,0-9.76,0-14.64,0-24.4Z\\\"/><path d=\\\"M215.57,191.28c-2.11-.04-3.16-.06-5.26-.1-4.12-6.88-6.17-10.35-10.29-17.34,0,6.86,0,10.28,0,17.14-1.96-.04-2.94-.06-4.9-.1,0-9.69,0-14.53,0-24.22,2.21.08,3.31.12,5.52.21,4.01,6.89,6.02,10.3,10.03,17.09v-16.71c1.96.07,2.94.11,4.9.18,0,9.54,0,14.31,0,23.85Z\\\"/><path d=\\\"M235.22,186.83c-3.71-.09-5.57-.13-9.28-.21-.7,1.93-1.05,2.9-1.74,4.83-2.2-.04-3.3-.06-5.5-.11,3.6-9.45,5.39-14.14,8.99-23.46,2.38.09,3.57.13,5.95.22,3.57,9.55,5.35,14.29,8.92,23.7-2.28-.04-3.42-.07-5.71-.11-.65-1.94-.97-2.92-1.62-4.86ZM233.75,182.74c-1.26-3.74-1.89-5.61-3.14-9.36-1.3,3.67-1.95,5.51-3.25,9.2l6.39.17Z\\\"/></g></g></g></g></g></g><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><g style=\\\"isolation:isolate;\\\"><path d=\\\"M125.47,305.22c1.59-3.41,4.69-6.59,9.3-9.53,2.75-1.75,4.13-2.62,6.88-4.36,3.08-1.95,5.24-3.58,6.48-4.91,1.96-2.07,2.94-4.37,2.94-6.91,0-2.97-.9-5.29-2.69-6.97-1.79-1.68-4.18-2.47-7.16-2.35-4.42.17-7.48,1.96-9.17,5.41-.91,1.85-1.41,4.38-1.5,7.59-2.62.12-3.93.18-6.56.3.07-4.52.9-8.25,2.47-11.15,2.79-5.13,7.73-7.79,14.8-8.02,5.88-.2,10.17,1.24,12.88,4.29,2.71,3.05,4.07,6.48,4.07,10.32,0,4.06-1.45,7.59-4.33,10.63-1.67,1.77-4.67,3.96-8.99,6.61-1.96,1.2-2.94,1.8-4.91,3-2.34,1.43-4.18,2.77-5.52,4.03-2.39,2.23-3.89,4.65-4.51,7.24,9.34-.61,18.68-1.23,28.01-1.84v6.02c-11.74.82-23.48,1.64-35.22,2.47.24-4.49,1.15-8.45,2.74-11.85Z\\\"/></g></g></g></g></g></g><path d=\\\"M278.19,392.52c-45.78,6.31-91.56,12.63-137.34,18.94-45.78,6.31-91.56,12.63-137.35,18.94,0-71.06,0-142.13,0-213.19,0-71.06,0-142.13,0-213.19,45.78,6.31,91.56,12.63,137.35,18.94,45.78,6.31,91.56,12.63,137.34,18.94h0c91.56-12.63,183.13-25.26,274.69-37.88v426.38c-91.56-12.63-183.13-25.26-274.69-37.88h0Z\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/><line x1=\\\"278.19\\\" y1=\\\"41.9\\\" x2=\\\"278.19\\\" y2=\\\"392.52\\\" style=\\\"fill:none; stroke:#000; stroke-miterlimit:10; stroke-width:7px;\\\"/></svg>\\n    </div>\\n    <div class=\\\"row\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"label\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"fileData\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"weight\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"colorMode\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"associations.target\\\"\\n        change.trigger=\\\"changeAssociationsTarget()\\\">\\n      </ka-control>\\n      <ka-control \\n        class=\\\"col\\\" \\n        client.bind=\\\"api\\\" \\n        name=\\\"associations.items\\\" \\n        change.trigger=\\\"changeAssociationsItems()\\\"\\n        if.bind=\\\"resource.data.associations.target === 'SUBUSERS'\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 mt-2 alert small\\\">\\n        <small><strong>IMPORTANTE!</strong> Una copertina associata <i>allo Studio</i> è sempre utilizzabile.<br>Se associata <i>ai Condomini</i> invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.</small>\\n      </p>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"associations.presets\\\"\\n        readonly.bind=\\\"!resource.data.associations.target || (resource.data.associations.target === 'SUBUSERS' && !resource.data.associations.items.length)\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 mt-2 alert small\\\">\\n        <small><strong>IMPORTANTE!</strong> L'opzione <i>Predefinita</i> configura questa copertina come prima scelta in fase di spedizione</small>\\n      </p>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button class=\\\"ms-0\\\" click.delegate=\\\"addCover($event)\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./manage-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"label\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"cover\\\"></ka-control>\\n    </div>\\n    <div class=\\\"row mt-3\\\">\\n      <ka-control class=\\\"col\\\" name=\\\"weight\\\"></ka-control>\\n      <ka-control class=\\\"col\\\" name=\\\"color\\\"></ka-control>\\n    </div>\\n    <h2>\\n      <span>Omologazione</span>\\n      <ka-button\\n        class=\\\"flat with-icon inverted secondary me-4\\\"\\n        click.delegate=\\\"mdFileViewer.fileViewer(`users/me/preferences/sender/letter-covers/${cover.uuid}/download`, 'pdf', $event)\\\">\\n        <i class=\\\"far fa-eye\\\"></i>\\n        <span>Visualizza PDF</span>\\n      </ka-button>\\n    </h2>\\n    <div class=\\\"row my-3\\\">\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"status\\\">\\n      </ka-control>\\n      <ka-control \\n        class=\\\"col\\\" \\n        name=\\\"refusalReason\\\"\\n        if.bind=\\\"resource.data.status === 'REFUSED'\\\">\\n      </ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button \\n      class=\\\"inverted secondary\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n    <ka-button \\n      class=\\\"ms-0\\\" \\n      click.delegate=\\\"manageCover()\\\"\\n      if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PREFERENCES_SENDER_LETTER_COVERS')\\\">Salva \\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"../copertine.sass\\\"></require>\\n  <require from=\\\"./user-associations-with-the-cover.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"m-3\\\">\\n      <p class=\\\"alert regular m-0\\\"><strong>IMPORTANTE!</strong> Una copertina associata <i>allo Studio</i> è sempre utilizzabile. Se associata <i>ai Condomini</i> invece è utilizzabile solo se proprietario della spedizione e associato corrispondono.</p>\\n      <p class=\\\"m-0\\\">L'opzione <i>Predefinita</i> configura questa copertina come prima scelta in fase di spedizione.</p>\\n      <div class=\\\"row mt-3 align-items: center\\\">\\n        <ka-control \\n          class=\\\"col\\\" \\n          name=\\\"target\\\" \\n          buttons=\\\"dropdown\\\"\\n          change.trigger=\\\"changeTarget()\\\">\\n        </ka-control>\\n        <ka-control \\n          class=\\\"col\\\" \\n          name=\\\"default\\\"\\n          if.bind=\\\"resource.data.target === 'SELF'\\\"> \\n        </ka-control>\\n      </div>\\n    </div>\\n    <template if.bind=\\\"resource.data.target === 'SUBUSERS'\\\">\\n      <h2>Ricerca condomini</h2>\\n      <div if.bind=\\\"searchInterface.initialized\\\" class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div \\n          if.bind=\\\"!isOperator && !isPrintOperator\\\" \\n          class=\\\"col-12 col-md-3 ${IsUserSearchFieldVisible ? 'col-lg-3' : 'col-lg-6'}\\\">\\n          <md-control name=\\\"items\\\" buttons=\\\"clear\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button class=\\\"inverted\\\" click.delegate=\\\"reset()\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n      <h2 class=\\\"m-0 d-flex justify-content-between\\\" style=\\\"border-bottom: none\\\">Elenco condomini</h2>\\n      <template if.bind=\\\"searchInterface.initialized && tableInterface.data\\\">\\n        <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n        <md-table-wrapper>\\n          <table class=\\\"ka-table-like\\\">\\n            <thead if.bind=\\\"tableInterface.data.length\\\">\\n              <tr>\\n                <th style=\\\"padding: 1rem\\\">Denominazione</th>\\n                <th style=\\\"width: 1%\\\">\\n                  Associazione\\n                </th>\\n                <th style=\\\"width: 1%\\\">\\n                  Configurazione\\n                </th>\\n              </tr>\\n            </thead>\\n            <tbody if.bind=\\\"tableInterface.data.length\\\">\\n              <tr repeat.for=\\\"record of tableInterface.data\\\">\\n                <td class=\\\"denominazione\\\" style=\\\"vertical-align: middle\\\">${record.displayName}\\n                <td style=\\\"width: 1%\\\">\\n                  <ka-control \\n                    class=\\\"me-4\\\"\\n                    value.bind=\\\"currentItems[record.uuid].isAssociated\\\"\\n                    schema.bind=\\\"{ control: 'check', description: 'Al condominio' }\\\">\\n                  </ka-control>                \\n                </td>\\n                <td style=\\\"width: 1%\\\">\\n                  <ka-control \\n                    if.bind=\\\"currentItems[record.uuid].isAssociated\\\"\\n                    value.bind=\\\"currentItems[record.uuid].isDefault\\\"\\n                    schema.bind=\\\"{ control: 'check', description: 'Predefinita' }\\\">\\n                  </ka-control>\\n                </td>\\n              </tr>\\n            </tbody>\\n            <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n              <tr>\\n                <td colspan=\\\"4\\\">\\n                  <span>Nessun ${mdt.parsers.contextualize(api.user, 'sottoutente')} trovato</span>\\n                </td>\\n              </tr>\\n            </tfoot>\\n          </table>\\n        </md-table-wrapper>\\n      </template>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary m-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button click.delegate=\\\"saveUserAssociationsWithCover()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./autorizzazioni.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav-approval.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"mx-0 mt-0\\\">\\n      <small class=\\\"limitwidth-40\\\">Richiedente: <strong>${request.trustee.displayName}</strong></small>\\n      <small class=\\\"limitwidth-40\\\">Proprietario del conto: <strong>${request.owner.displayName}</strong></small>\\n    </p>\\n    <ka-control name=\\\"status\\\" buttons=\\\"dropdown\\\" class=\\\"pb-3\\\"></ka-control>\\n    <ka-control if.bind=\\\"resource.data.status === 'PENDING-ACTIVATION'\\\" name=\\\"trusteeServiceCode\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control if.bind=\\\"resource.data.status === 'REFUSED'\\\" name=\\\"refusalReason\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"save($event, data)\\\">Invia</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav-create-request.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"m-0 ${pending ? 'd-block' : 'd-none'}\\\">Caricamento in corso...</p>\\n    <div class=\\\"${!pending ? 'd-block' : 'd-none'}\\\">\\n      <ka-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"setUserId()\\\"></ka-control>\\n      <ka-control if.bind=\\\"resource.data.context === 'SUBUSER'\\\" name=\\\"subuser\\\" client.bind=\\\"api\\\" change.trigger=\\\"subuserChanged()\\\" buttons=\\\"clear\\\" class=\\\"mt-3\\\"></ka-control>\\n      <ka-control if.bind=\\\"resource.schema.billingProfile.datasource.length\\\" name=\\\"billingProfile\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!resource.data.context || (resource.data.context === 'SUBUSER' && !resource.data.subuser)\\\" class=\\\"mt-3\\\"></ka-control>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"send($event)\\\">Invia richiesta</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./mav.sass\\\"></require>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca richieste MAV</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <div class=\\\"row m-0\\\">\\n          <div class=\\\"col ps-0 pe-2\\\">\\n            <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col pe-0 ps-2\\\">\\n            <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"trusteeDisplayName\\\" buttons=\\\"clear\\\" client.bind=\\\"api\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"ownerDisplayName\\\" buttons=\\\"clear\\\" client.bind=\\\"api\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"trusteeServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"trusteeSubServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2 \\n      style=\\\"line-height: 1.6; min-height: 3rem; padding: 1rem\\\"\\n      class=\\\"d-flex flex-column flex-xl-row justify-content-xl-between align-items-xl-center\\\">Elenco richieste MAV\\n      <!-- MAV request creation -->\\n      <ka-button \\n        if.bind=\\\"isMAVrequestCreatable()\\\"\\n        click.delegate=\\\"dialogMAVRequestCreation()\\\"\\n        class=\\\"inverted flat with-icon align-self-start m-0 ms-3\\\">\\n        <i class=\\\"fas fa-plus\\\"></i>\\n        <span>Richiedi autorizzazione MAV</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\">\\n      <!-- MAV requests CSV download -->\\n      <button\\n        class=\\\"toolbar-button\\\"\\n        ka-tooltip=\\\"Scarica in formato csv\\\"\\n        if.bind=\\\"isMAVrequestsCSVDownloadable()\\\"\\n        click.delegate=\\\"MAVrequestsCSVDownload()\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di invio</md-table-sort></th>\\n            <th>Richiedente</th>\\n            <th>Proprietario conto</th>\\n            <th>IBAN</th>\\n            <th>\\n              <md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"trusteeServiceCode\\\">Cod. servizio</md-table-sort>\\n            </th>\\n            <th>Cod. sottoservizio</th>\\n            <th>Stato</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length && !pending\\\">\\n          <tr repeat.for=\\\"request of tableInterface.data\\\" class=\\\"request ${request.status === 'REFUSED' ? 'refused' : request.status === 'APPROVED' ? 'approved' : request.status === 'DELETED' ? 'cancelled' : ''}\\\">\\n            <td>\\n              <span>${request.createdAt|dateFormat:'DD/MM/YYYY'}</span><br>\\n              <small>Alle ore ${request.createdAt|dateFormat:'HH:mm'}</small>\\n            </td>\\n            <td>${request.trustee.displayName}</td>\\n            <td>${request.owner.displayName}</td>\\n            <td>${request.billingProfileIban}</td>\\n            <td>${request.trustee.serviceCode ? request.trustee.serviceCode : 'Non assegnato' }</td>\\n            <td css=\\\"${request.status === 'DELETED' ? 'text-decoration: line-through' : ''}\\\">${request.trustee.subServiceCode ? request.trustee.subServiceCode : 'Non assegnato'}</td>\\n            <td>\\n              <span class=\\\"tag with-icon ${mavRequestModel.statuses[request.status].class} mt-2\\\">\\n                ${mavRequestModel.statuses[request.status].text}\\n              </span>\\n              <div class=\\\"mt-2\\\">\\n                <small\\n                  class=\\\"status-reason ${request.refusalReason ? 'refused' : ''}\\\"\\n                  ka-tooltip=\\\"value.bind: request.refusalReason  ? 'Motivo del rifiuto: '+request.refusalReason : ''\\\">\\n                  ${mavRequestModel.displayText(request)}\\n                </small>\\n              </div>\\n            </td>\\n            <td style=\\\"display: flex; justify-content: flex-end\\\">\\n              <!-- MAV request approval -->\\n              <ka-button\\n                if.bind=\\\"privileges.isBankOperator\\\"\\n                class=\\\"flat inverted with-icon m-0\\\"\\n                click.delegate=\\\"MAVrequestApproval(request)\\\"\\n                disabled.bind=\\\"IsMAVrequestApprovalDisabled(request.status)\\\" \\n                ka-tooltip.bind=\\\"request.status === 'PENDING-DOCUMENT-DOWNLOAD' ? 'Collezione documenti in attesa di essere scaricata' : 'Gestisci richiesta'\\\">\\n                <i class=\\\"far fa-box-check\\\"></i>\\n                <span>Omologa</span>\\n              </ka-button>\\n              <!-- MAV Collection download -->\\n              <ka-button\\n                class=\\\"flat secondary inverted icon ms-2\\\"\\n                click.delegate=\\\"MAVcollectionDownload(request)\\\" \\n                ka-tooltip.bind=\\\"'Scarica la collezione di documenti'\\\"\\n                disabled.bind=\\\"IsMAVcollectionDownloadDisabled(request.status)\\\">\\n                <i class=\\\"far fa-folder-download\\\"></i>\\n              </ka-button>\\n              <!-- Delete MAV request -->\\n              <ka-button\\n                if.bind=\\\"privileges.isOperator\\\"\\n                class=\\\"flat inverted secondary icon m-0 ms-1\\\"\\n                click.delegate=\\\"dialogDeleteMAVRequest($event, request)\\\"\\n                disabled.bind=\\\"isMAVRequestDeletionDisabled(request)\\\">\\n                <i class=\\\"far fa-trash-alt\\\"></i>\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessuna richiesta di autorizzazione MAV trovata</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"info\\\">\\n      Oltre a scaricarli, desideri contabilizzare i flussi selezionati?\\n    </p>  \\n  </div>\\n  <div class=\\\"footer d-flex justify-content-end\\\" style=\\\"border-top: 1px solid #e5e5e5;\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"controller.ok(false)\\\">No grazie</ka-button>\\n    <ka-button click.delegate=\\\"controller.ok(true)\\\">Segna come contabilizzati</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n   <style>\\n    .checkboxes { display: flex; }\\n    .checkboxes ka-control { width: auto; }\\n    .checkboxes ka-control + ka-control { margin-left: 1rem; }\\n   </style>\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>\\n      Ricerca flussi CBI - Esiti pagamento MAV\\n      <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceMav\\\"></md-accordion-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-12 col-lg-3\\\">\\n        <md-control \\n          client.bind=\\\"api\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          name=\\\"billingProfileOwnerDisplayName\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"iban\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"accounted\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"showDisabled\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"downloaded\\\"></md-control>\\n      </div>\\n      <div id=\\\"advancedSearchInterfaceMav\\\" class=\\\"col\\\">\\n        <div class=\\\"row g-3\\\">\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"createdAtStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"createdAtEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"col-12 col-lg-3 d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2 class=\\\"d-flex flex-column flex-xl-row justify-content-xl-between align-items-xl-center\\\">\\n      <span>Elenco flussi CBI - Esiti di pagamento MAV</span>\\n      <div>\\n        <small if.bind=\\\"!select.someRecordsSelected\\\">\\n          <i class=\\\"far fa-exclamation-circle primary me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">Seleziona i flussi CBI che vuoi esportare</span>\\n        </small>\\n        <small if.bind=\\\"select.someRecordsSelected\\\">\\n          <i class=\\\"far fa-exclamation-circle primary me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">\\n            ${selectedArray.length} ${selectedArray.length === 1 ? 'flusso selezionato' : 'flussi selezionati'} su ${tableInterface.total} totali\\n          </span>\\n        </small>\\n        <ka-button\\n        click.delegate=\\\"resetSelectedCbis()\\\"\\n        disabled.bind=\\\"!select.someRecordsSelected\\\"\\n        class=\\\"inverted flat\\\">\\n          <i class=\\\"material-icons\\\">close</i>Reset\\n        </ka-button>\\n        <ka-button\\n          click.delegate=\\\"exportSelectedCbis()\\\"\\n          disabled.bind=\\\"!select.someRecordsSelected\\\"\\n          class=\\\"inverted flat\\\">\\n            <i class=\\\"material-icons\\\">download</i>Esporta flussi selezionati\\n        </ka-button>\\n      </div>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th click.trigger=\\\"select.allRecords()\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.allRecordsSelected\\\" style=\\\"pointer-events: none;\\\">\\n            </th>\\n            <th>Codice sottoservizio</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Disponibile dal</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"billingProfileOwnerDisplayName\\\">Intestatario conto</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"lastDownloadedAt\\\">Data di scaricamento</md-table-sort></th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"record of tableInterface.data\\\">\\n            <td click.trigger=\\\"select.someRecords(record)\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.recordsSelected[record.uuid]\\\" style=\\\"pointer-events: none;\\\">\\n            </td>\\n            <td>${record.subServiceCode}\\n              <small style=\\\"display: block;\\\">${record.serviceCode}</small>\\n            </td>\\n            <td>${record.createdAt|dateFormat:'DD/MM/YYYY'}</td>\\n            <td>\\n              ${record.billingProfileOwnerDisplayName}\\n              <small if.bind=\\\"record.billingProfileOwnerIban\\\"><br>${record.billingProfileOwnerIban}</small>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"record.lastDownloadedAt\\\">\\n                <span>File scaricato il ${record.lastDownloadedAt|dateFormat:'DD/MM/YYYY'}</span><br>\\n                <small>Alle ore ${record.lastDownloadedAt|dateFormat:'HH:mm'}</small>\\n              </span>\\n              <span else>\\n                File non scaricato\\n              </span>\\n            </td>\\n            <td class=\\\"ka-tr-tools\\\">\\n              <button\\n                click.trigger=\\\"accountFor(record)\\\"\\n                ka-tooltip.bind=\\\"record.accounted === 'YES' ? 'Segna come non contabilizzata' : 'Segna come contabilizzata'\\\"\\n                class=\\\"ka-table-button ${record.accounted === 'YES' ? 'primary' : ''}\\\">\\n                <i class=\\\"material-icons\\\">savings</i>\\n              </button>\\n              <button click.delegate=\\\"download(record)\\\" ka-tooltip=\\\"Scarica file\\\" class=\\\"ka-table-button primary\\\">\\n                <i class=\\\"material-icons\\\">save_alt</i>\\n              </button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti.sass\\\"></require>\\n  <md-loader pending.bind=\\\"isPendingInitTabs\\\"></md-loader>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"[true,false].includes(isPendingInitTabs)\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ parent: $parent, tab, privileges, params, tools, requestedUserData }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-attivazione-sottoutenti.sass\\\"></require>\\n  <!-- Service -->\\n  <div class=\\\"service row m-0\\\">\\n    <!-- Payment -->\\n    <div class=\\\"col-6 p-3\\\">\\n      <h3 class=\\\"p-0 mt-0\\\">Servizio in abbonamento</h3>\\n      <strong class=\\\"limitwidth-50\\\">${service.title}</strong>\\n      <small class=\\\"d-block mt-1 mb-3\\\">\\n        Durata ${service.duration} gg. - Prezzo ${service.vatAmount ? (service.price + service.vatAmount).toFixed(2) : service.price}€\\n        <span if.bind=\\\"params.service.vatAmount\\\" style=\\\"color: #909090; white-space: nowrap\\\"> (${service.price}€ + iva).</span>\\n      </small>\\n      <ka-control\\n        buttons=\\\"dropdown\\\"\\n        value.bind=\\\"resourcePayment.data.payment\\\"\\n        schema.bind=\\\"resourcePayment.schema.payment\\\">\\n      </ka-control>\\n    </div>\\n\\n    <!-- Activations -->\\n    <div class=\\\"activations col-6 p-3 d-flex flex-column\\\">\\n      <h3 class=\\\"p-0 mt-0\\\">Riepilogo attivazioni</h3>\\n      <ul class=\\\"p-0 m-0 mb-1 d-flex flex-wrap\\\">\\n        <li class=\\\"me-2\\\" style=\\\"white-space: nowrap\\\">Attivazioni riuscite: <strong>${successfulActivationsCount}</strong></li>\\n        <li style=\\\"white-space: nowrap\\\">Attivazioni fallite: <strong>${failedActivationsCount}</strong></li>\\n      </ul>\\n      <small class=\\\"d-flex align-items-center\\\" ka-tooltip=\\\"value: In tabella, in corrispondenza di ogni riga è possibile cliccare per aprire il dettaglio di ogni attivazione fallita. Scorri i risultati per visualizzarli; placement: left;\\\">\\n        <i class=\\\"far fa-exclamation-circle me-2\\\" style=\\\"color: #ed5a23; cursor: pointer\\\"></i>\\n        <small class=\\\"limitwidth\\\" style=\\\"color: #909090\\\">I dettagli di ogni errore sono visualizzabili nella tabella sottostante.</small>\\n      </small>\\n      <ka-button\\n        class=\\\"inverted flat secondary with-icon m-0\\\"\\n        disabled.bind=\\\"!activationSummary.length\\\"\\n        click.delegate=\\\"exportActivationsReport()\\\"\\n        style=\\\"margin-top: auto !important\\\">\\n        <i class=\\\"far fa-file-download\\\"></i>\\n        <span>Scarica report</span>\\n      </ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Search interface -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca ${mdt.parsers.contextualize(api.user, 'utenti')}</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6\\\">\\n        <md-control\\n          buttons=\\\"clear\\\" \\n          name=\\\"textSearch\\\"\\n          submit.call=\\\"search()\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button\\n          disabled.bind=\\\"pendingActivation\\\"\\n          click.delegate=\\\"reset()\\\" \\n          class=\\\"inverted secondary\\\">Reset\\n        </ka-button>\\n        <ka-button\\n          class=\\\"inverted with-icon primary\\\"\\n          click.delegate=\\\"search()\\\"\\n          disabled.bind=\\\"pendingActivation\\\">\\n          <i class=\\\"far fa-search\\\"></i>\\n          <span>Ricerca</span>\\n        </ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- Table interface-->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2 class=\\\"m-0 border-bottom-0 d-flex justify-content-between\\\">\\n      <span class=\\\"limitwidth-50\\\">Elenco ${mdt.parsers.contextualize(api.user, 'utenti')} su cui il servizio é attivabile</span>\\n      <div class=\\\"d-flex align-items-center ms-3\\\">\\n        <small class=\\\"d-flex align-items-center me-3\\\">\\n          <span style=\\\"color: #404040; white-space: nowrap\\\">Selezionati <strong>${tableSelectionInterface.selectedCount}</strong> su <strong>${tableInterface.total}</strong> totali</span>\\n        </small>\\n        <ka-button \\n          class=\\\"inverted flat m-0 me-3\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount || pendingActivation\\\"\\n          click.delegate=\\\"tableSelectionInterface.reset()\\\"\\n          ka-tooltip=\\\"value: Deseleziona tutti; placement: left;\\\">\\n          <i class=\\\"far fa-times\\\"></i>\\n        </ka-button>\\n        <ka-button \\n          class=\\\"primary flat with-icon m-0 me-3\\\"\\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount || pendingActivation\\\"\\n          click.delegate=\\\"activateSelectedRecords()\\\">\\n          <i class=\\\"far fa-check\\\"></i>\\n          <span>Attiva su selezionati</span>\\n        </ka-button>\\n      </div>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,50,100\\\">\\n      <md-table-progressbar if.bind=\\\"tableInterface.isLoading || pendingActivation || pendingBillingProfiles\\\" class=\\\"progressbar\\\"></md-table-progressbar>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>\\n              <input \\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"tableSelectionInterface.selectEveryVisibleRecordSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectEveryVisibleRecordSelected()\\\"\\n                disabled.bind=\\\"pendingActivation || pendingBillingProfiles || tableSelectionInterface.isEveryVisibleRecordDisabled()\\\">\\n            </th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"display-name\\\">Denominazione</md-table-sort></th>\\n            <th>Profilo fatturazione</th>\\n            <th>Attivazione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length && !pendingBillingProfiles\\\">\\n          <tr \\n            repeat.for=\\\"record of tableInterface.data\\\">\\n            <td>\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"record._selection.isSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectedRecords()\\\"\\n                disabled.bind=\\\"record._selection.isDisabled || pendingActivation\\\">\\n            </td>\\n            <td class=\\\"subuser\\\">\\n              <span class=\\\"limitwidth\\\">${record.profile[0].displayName}</span>\\n              <small class=\\\"tag id me-1\\\">ID: ${record.id}</small>\\n              <small class=\\\"d-inline-block\\\" style=\\\"white-space: nowrap\\\">CF/IVA: ${record.profile[0].fiscalCode || record.profile[0].vatCode}</small>\\n            </td>\\n            <td>\\n              <ka-control\\n                class=\\\"no-label limitwidth\\\"\\n                buttons=\\\"dropdown\\\"\\n                value.bind=\\\"record._resource.data.billingProfile\\\"\\n                schema.bind=\\\"record._resource.schema.billingProfile\\\"\\n                if.bind=\\\"record._resource.schema.billingProfile.datasource.length\\\"\\n                readonly.bind=\\\"record._selection.isDisabled || pendingActivation\\\">\\n              </ka-control>\\n            </td>\\n            <td class=\\\"status\\\" style=\\\"width: 20rem\\\">\\n              <span if.bind=\\\"record._selection.isSelected && !record._selection.feedback\\\" class=\\\"tag\\\">Selezionato per l'attivazione</span>\\n              <template if.bind=\\\"record._selection.feedback\\\">\\n                <span if.bind=\\\"record._selection.feedback.status === 'pending'\\\" class=\\\"tag pending\\\">\\n                  <i class=\\\"far fa-spinner-third fa-spin me-2\\\"></i>Attivazione in corso...\\n                </span>\\n                <span\\n                  click.delegate=\\\"showFailedActivationDetail(record)\\\" \\n                  if.bind=\\\"record._selection.feedback.status === 'error'\\\"\\n                  class=\\\"tag error with-icon\\\">\\n                  Non attivato\\n                  <small class=\\\"detail\\\">Apri dettaglio</small>\\n                </span>\\n                <span\\n                  if.bind=\\\"record._selection.feedback.status === 'success'\\\"\\n                  class=\\\"tag success with-icon\\\">\\n                  Servizio attivato                \\n                </span>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n  <!-- Footer -->\\n  <div class=\\\"footer\\\">\\n    <ka-button\\n      class=\\\"inverted secondary\\\" \\n      disabled.bind=\\\"pendingActivation\\\" \\n      click.delegate=\\\"controller.cancel()\\\">Chiudi\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-attivazione.sass\\\"></require>\\n\\n  <div if.bind=\\\"!error\\\" class=\\\"body\\\">\\n    <strong class=\\\"d-block\\\">${params.service.title}</strong>\\n    <small class=\\\"service-description\\\">${params.service.description}</small>\\n    <span class=\\\"service-duration\\\">\\n      Durata ${params.service.duration} gg. - Prezzo ${params.service.vatAmount ? (params.service.price + params.service.vatAmount).toFixed(2) : params.service.price}€\\n      <span if.bind=\\\"params.service.vatAmount\\\"> (${params.service.price}€ + iva)</span>\\n    </span>\\n    <ka-control class=\\\"no-buttons\\\" schema.bind=\\\"schema.payment\\\" value.bind=\\\"data.payment\\\"></ka-control>\\n    <ka-control if.bind=\\\"schema.billing.datasource.length\\\" class=\\\"no-buttons\\\" schema.bind=\\\"schema.billing\\\" value.bind=\\\"data.billing\\\"></ka-control>\\n  </div>\\n  <div if.bind=\\\"error\\\" class=\\\"body\\\">\\n    <strong>Impossibile attivare il servizio!</strong><br>\\n    ${error.message}\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok(data)\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-autorinnovo.sass\\\"></require>\\n  <template if.bind=\\\"params.autoRenew === 'ENABLED'\\\">\\n    <div class=\\\"body\\\">\\n      <p>\\n        <strong>Vuoi disattivare l'autorinnovo?</strong><br>\\n        Alla data di scadenza il servizio in abbonamento cesserà istantaneamente. <strong>Confermi?</strong>\\n      </p>\\n    </div>\\n  </template>\\n\\n  <template if.bind=\\\"params.autoRenew === 'DISABLED'\\\">\\n    <div class=\\\"body p-3\\\">\\n      <p class=\\\"m-0 mb-3\\\">\\n        <strong>Vuoi attivare l'autorinnovo?</strong><br>\\n        Alla data di scadenza il servizio in abbonamento verrà automaticamente rinnovato. <strong>Confermi?</strong>\\n      </p>\\n      <ka-control \\n        if.bind=\\\"resource.data.autoRenewPaymentMethod\\\"\\n        schema.bind=\\\"resource.schema.autoRenewPaymentMethod\\\"\\n        value.bind=\\\"resource.data.autoRenewPaymentMethod\\\" \\n        buttons=\\\"dropdown\\\">\\n      </ka-control>\\n      <p class=\\\"m-0 text-error\\\" if.bind=\\\"!resource.data.autoRenewPaymentMethod && updateDatasourcePending === false\\\">\\n        Nessun metodo di pagamento accettato!\\n      </p>\\n    </div>\\n  </template>\\n\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted me-0\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button \\n      disabled.bind=\\\"!resource.data.autoRenewPaymentMethod && params.autoRenew === 'DISABLED'\\\" \\n      click.delegate=\\\"controller.ok(resource.data)\\\">Conferma\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p class=\\\"m-3 p-3\\\">\\n      Ci sei quasi! Per procedere con ${params.action === \\\"autoRenew\\\" ? \\\"l'auto rinnovo\\\" : \\\"l'attivazione\\\"} del servizio è necessario sottoscrivere il relativo contratto cashback! <br>\\n      <strong>Vuoi essere reindirizzato alla sezione dedicata e prendere visione del contratto?</strong>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"inverted me-0\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"goToCashbackContracts()\\\" class=\\\"ms-3\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\\n\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-detail.sass\\\"></require>\\n  <p if.bind=\\\"pendingInit !== false\\\">Caricamento in corso...</p>\\n  <div if.bind=\\\"pendingInit === false\\\" class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n  \\n      <div class=\\\"col-4 left\\\">\\n        <ka-control name=\\\"flatServiceCode\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-4 center\\\">\\n        <ka-input name=\\\"flatServiceProductCode\\\" class=\\\"no-add no-open no-clear dropdown\\\"></ka-input>\\n      </div>\\n\\n      <div class=\\\"col-4 right\\\">\\n        <ka-input name=\\\"flatServiceType\\\" class=\\\"no-add no-open no-clear dropdown\\\"></ka-input>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control name=\\\"flatServiceTitle\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <div class=\\\"description-html\\\">\\n          <small class=\\\"label\\\">Descrizione</small>\\n          <div class=\\\"content\\\" innerhtml.bind=\\\"resource.data.flatServiceDescription\\\"></div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-left\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"ownerId\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"ownerDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.ownerParentDisplayName\\\" class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"ownerParentDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.ownerParentDisplayName ? '6 right' : '12'}\\\">\\n            <ka-control name=\\\"ownerFiscalCode\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"activatedAt\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"expireAt\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"autoRenewable\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"autoRenew\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-right\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"orderId\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"status\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-12\\\">\\n            <ka-control name=\\\"statusReason\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"paymentMethod\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"payeeDisplayName\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"flatServicePrice\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.flatServiceCashbackAmount\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"flatServiceCashbackAmount\\\"></ka-control>\\n          </div>\\n\\n           <div if.bind=\\\"resoruce.data.flatServiceMulticoinPoint\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"flatServiceCashbackAmount\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-editor.sass\\\"></require>\\n  <p if.bind=\\\"pendingInit !== false\\\">Caricamento in corso...</p>\\n  <div if.bind=\\\"pendingInit === false\\\" class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      \\n      <!-- NOT EDITABLE (if edit) -->\\n      <div class=\\\"col-4 left\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-4 right left\\\">\\n        <ka-input \\n          name=\\\"productCode\\\" \\n          client.bind=\\\"api\\\" \\n          class=\\\"no-add no-open no-clear dropdown\\\" \\n          style=\\\"margin-bottom: 1rem\\\" \\n          change.call=\\\"changeProductCode(resource.data.productCode)\\\">\\n        </ka-input>\\n      </div>\\n\\n      <div class=\\\"col-4 right\\\">\\n        <ka-input \\n          name=\\\"type\\\" \\n          client.bind=\\\"api\\\"  \\n          class=\\\"no-add no-open no-clear dropdown\\\" \\n          style=\\\"margin-bottom: 1rem\\\">\\n        </ka-input>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control name=\\\"title\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n\\n      <div class=\\\"col-12\\\">\\n        <ka-control if.bind=\\\"!params\\\" name=\\\"description\\\" buttons=\\\"clear\\\"></ka-control>\\n        <div else class=\\\"description-html\\\">\\n          <small class=\\\"label\\\">Descrizione</small>\\n          <div class=\\\"content\\\" innerhtml.bind=\\\"resource.data.description\\\"></div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-left\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control name=\\\"subscriptionExpiryType\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\" if.bind=\\\"resource.data.subscriptionExpiryType === 'DAYS'\\\">\\n            <ka-control name=\\\"duration\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\" if.bind=\\\"resource.data.subscriptionExpiryType === 'DATE'\\\">\\n            <ka-control \\n              name=\\\"subscriptionExpireAt\\\" \\n              change.trigger=\\\"changeSubscriptionExpireAt()\\\"\\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.activableByPrivilegedUserOnly === 'SPONSOR' ? '6 left' : '12'}\\\">\\n            <ka-control \\n              name=\\\"activableByPrivilegedUserOnly\\\" \\n              change.trigger=\\\"changeActivableByPrivilegedUserOnly()\\\"\\n              md-tooltip=\\\"Il servizio di abbonamento potrà essere attivato su un utente solo ad opera di un operatore\\\\partner. L'utente invece non potrà vederlo e\\\\o attivarlo autonomamente\\\" \\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n\\n          <!-- Sponsor Uuid -->\\n          <div if.bind=\\\"resource.data.activableByPrivilegedUserOnly === 'SPONSOR'\\\" class=\\\"col-6 right\\\">\\n            <ka-input \\n              config.bind=\\\"resource.schema.sponsorUuid\\\" \\n              value.bind=\\\"resource.data.sponsorUuid\\\" \\n              client.bind=\\\"api\\\" \\n              class=\\\"no-add no-open dropdown\\\">\\n            </ka-input>\\n          </div>\\n\\n          <div class=\\\"col-${resource.data.subscriptionExpiryType === 'DAYS' ? '6 left' : '12'}\\\">\\n            <ka-control name=\\\"activableOn\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.subscriptionExpiryType === 'DAYS'\\\" class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"autoRenewable\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <div class=\\\"col-12 col-lg-6 columns-right\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-${!resource.data.cashbackAmount && resource.data.multicoinPoint === undefined ? '6' : '4'} left\\\">\\n            <ka-control name=\\\"price\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-${!resource.data.cashbackAmount && resource.data.multicoinPoint === undefined ? '6 right' : '4 middle'}\\\">\\n            <ka-control name=\\\"vatAmount\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.cashbackAmount && resource.data.multicoinPoint === undefined\\\" class=\\\"col-4 right\\\">\\n            <ka-control buttons=\\\"clear\\\" name=\\\"cashbackAmount\\\"></ka-control>\\n          </div>\\n\\n          <div if.bind=\\\"resource.data.multicoinPoint !== undefined && !resource.data.cashbackAmount\\\" class=\\\"col-4 right\\\">\\n            <ka-control buttons=\\\"clear\\\" name=\\\"multicoinPoint\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 left\\\">\\n            <ka-control\\n              buttons=\\\"dropdown\\\"\\n              name=\\\"allowableBusinessTypes\\\"\\n              md-tooltip=\\\"Se l'attività dell'utente Master rientra tra quelle selezionate allora il vincolo sarà applicato a tutti i suoi Sottoutenti\\\">\\n            </ka-control>\\n          </div>\\n\\n          <div class=\\\"col-6 right\\\">\\n            <ka-control name=\\\"payableBy\\\" buttons=\\\"dropdown\\\"></ka-control>\\n          </div>\\n\\n          <div class=\\\"col-12\\\">\\n            <ka-control \\n              name=\\\"paymentMethods\\\"\\n              change.trigger=\\\"changePaymentMethods()\\\"\\n              buttons=\\\"dropdown\\\">\\n            </ka-control>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- EDITABLE (if edit) -->\\n      <div class=\\\"col-12\\\">\\n        <h2 if.bind=\\\"params\\\" class=\\\"edit-service-title\\\" style=\\\"margin-bottom: 0;\\\">Dati modificabili</h2>\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-12 col-lg-6 columns-left\\\" css=\\\"${params ? 'padding-top: 1rem' : ''}\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-6 left\\\">\\n                <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n              </div>\\n\\n              <div class=\\\"col-6 right\\\">\\n                <ka-control \\n                  name=\\\"endAt\\\" \\n                  buttons=\\\"dropdown,clear\\\" \\n                  md-tooltip=\\\"Il termine del periodo di validità temporale di un servizio può essere settato in 'Illimitato' salvando le modifiche senza specificare alcuna data\\\">\\n                </ka-control>\\n              </div>\\n            </div>\\n          </div>\\n          <div class=\\\"col-12 col-lg-6 columns-right\\\" css=\\\"${params ? 'padding-top: 1rem' : ''}\\\">\\n            <div class=\\\"row\\\">\\n              <div class=\\\"col-12\\\">\\n                <div class=\\\"row\\\">\\n                  <div class=\\\"col-12 ${!params ? 'col-lg-6 left' : 'col-lg-12'}\\\">\\n                    <ka-control name=\\\"promotionNeeded\\\" buttons=\\\"dropdown\\\"></ka-control>\\n                  </div>\\n\\n                  <div if.bind=\\\"!params\\\" class=\\\"col-12 col-lg-6 right\\\">\\n                    <ka-control name=\\\"createPortabilityPromotionOnActivation\\\" md-tooltip=\\\"La promozione di portabilità è una promozione che permette all'utente di continuare a rinnovare l'abbonamento al servizio dopo la prima volta, anche se non più disponibile per gli altri utenti\\\"></ka-control> \\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n          </div>\\n\\n          <div if.bind=\\\"params\\\" class=\\\"col-12 associated-promo\\\">\\n            <ka-control name=\\\"associatedPromoCodes\\\" client.bind=\\\"api\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-fidelity-card-required.sass\\\"></require>\\n  <div class=\\\"body m-0 p-0\\\">\\n    <p class=\\\"m-3 p-3\\\">\\n      <span>Questo servizio in abbonamento prevede <strong>punti Multicoin</strong> ed è quindi <strong>necessaria l'attivazione di una Fidelity Card</strong> per poterne usufruire.</span>\\n      <span class=\\\"d-block mt-2\\\">Vai alla <span click.delegate=\\\"goToFidelityCardsActivation()\\\" class=\\\"link mx-1\\\">sezione Fidelity Card</span> per attivarne subito una!</span>\\n    </p>\\n  </div>\\n  <div class=\\\"footer text-end\\\" style=\\\"border-top: 1px solid #e0e0e0\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\" class=\\\"secondary\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\\n\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-log.scss\\\"></require>\\n  <div class=\\\"body\\\" style=\\\"padding: 0;\\\">\\n    <div style=\\\"overflow: auto; max-height: 400px;\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>IP Operatore</th>\\n            <th>UUID Operatore</th>\\n            <th>Data</th>\\n            <th>Motivazione</th>\\n            <th>Stato</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr repeat.for=\\\"log of logs\\\">\\n            <td>\\n              <span if.bind=\\\"log.actorIpAddress\\\">${log.actorIpAddress}</span>\\n            </td>\\n            <td>\\n              <small if.bind=\\\"log.actorIpAddress\\\" class=\\\"log-id\\\">${log.actorUserUuid}</small>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"log.dateTime\\\" style=\\\"white-space: nowrap;\\\">${log.dateTime | dateFormat}</span>\\n            </td>\\n            <td class=\\\"d-flex align-items-start log-reason\\\">\\n              <small if.bind=\\\"log.reason\\\" class=\\\"text\\\" ka-tooltip.bind=\\\"log.reason\\\">${log.reason}</small>\\n            </td>\\n            <td>\\n              <strong if.bind=\\\"log.status\\\" style=\\\"white-space: nowrap;\\\">${log.status === 'ACTIVE' ? 'Attivo' : log.status === 'EXPIRED' ? 'Scaduto' : log.status === 'SUSPENDED' ? 'Sospeso' : log.status === 'PENDING' ? 'In lavorazione' : ''}</strong>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    ux-dialog.small { max-width: 500px; }\\n    .body { padding: 2rem; }\\n    .footer { display: block; padding: 6px; border-top: 1px solid #e5e5e5; text-align: right; }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"applyStatusAt\\\" buttons=\\\"dropdown\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./abbonamenti-stato-servizio.sass\\\"></require>\\n\\n  <div class=\\\"body\\\">\\n    <span class=\\\"message\\\">${message}</span>\\n    <ka-control name=\\\"statusReason\\\"></ka-control>\\n    <small class=\\\"alert-message\\\"><i class=\\\"far fa-exclamation-circle\\\"></i><strong>Attenzione!</strong> Il messaggio sarà visibile al cliente.</small>\\n    <ka-control if.bind=\\\"params.status === 'SUSPENDED'\\\" name=\\\"applyStatusAt\\\" buttons=\\\"clear,dropdown\\\" class=\\\"mt-2\\\"></ka-control>\\n    <span class=\\\"mt-3 message\\\">Modificare lo stato di una sottoscrizione è un'operazione straordinaria. L'operatore ha la responsabilità di effettuarla con diligenza. Il nominativo dell'esecutore sarà registrato e conservato per eventuali verifiche!</span>\\n    <ka-control name=\\\"confirm\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"parent.isPendingInitTabs === false\\\">\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca servizi attivabili <span if.bind=\\\"requestedUserData\\\">su ${requestedUserData.profile.displayName}</span></h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n  \\n        <!-- Sottoutente selezionato -->\\n        <template if.bind=\\\"requestedUserData\\\">\\n          <div class=\\\"col-12 col-lg-6\\\">\\n            <md-control name=\\\"payable\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n        </template>\\n  \\n        <!-- Utente master o basic -->\\n        <template if.bind=\\\"!requestedUserData\\\">\\n          <div class=\\\"col-12 col-lg-${privileges.isBasicUser ? '3' : '6'}\\\">\\n            <div class=\\\"row gx-3\\\">\\n              <div class=\\\"col-${data.activable === 'SUBUSER' ? '6' : '12'}\\\">\\n                <md-control name=\\\"activable\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"privileges.isBasicUser\\\"></md-control>\\n              </div>\\n              <div class=\\\"col-6\\\" if.bind=\\\"data.activable === 'SUBUSER'\\\">\\n                <md-control name=\\\"payable\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n              </div>\\n            </div>\\n          </div>\\n        </template>\\n  \\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control\\n            name=\\\"productCode\\\"\\n            buttons=\\\"clear,dropdown\\\"\\n            change.call=productCodeChanged()>\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"type\\\" \\n            buttons=\\\"clear,dropdown\\\"\\n            readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"title\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"multicoinPoint\\\" \\n            buttons=\\\"clear,dropdown\\\" \\n            if.bind=\\\"!lastAcceptedServiceContract.rescindedAt\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-center\\\" if.bind=\\\"api.hasRole('LIST_PRIVILEGED_ACCESS_FLAT_SERVICES')\\\">\\n          <md-control name=\\\"privilegedAccessCheck\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n  \\n    <template if.bind=\\\"tableInterface.data\\\">\\n      <h2>\\n        <span static-tooltip=\\\"value.bind: staticTooltipServices\\\" style=\\\"max-width: fit-content;\\\">\\n          Elenco servizi attivabili\\n        </span>\\n      </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice servizio</th>\\n              <th>Piano</th>\\n              <th>Titolo/Descrizione</th>\\n              <th>Durata o scadenza</th>\\n              <th>Prezzo</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"item of tableInterface.data\\\">\\n              <td style=\\\"white-space: nowrap;\\\">${item.code}</td>\\n              <td style=\\\"white-space: nowrap;\\\">${item.type | comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n              <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n                <span>${item.title}</span><br>\\n                <small \\n                  class=\\\"link\\\" \\n                  click.delegate=\\\"serviceDescription(item.description)\\\" \\n                  ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio\\n                </small>\\n              </td>\\n              <td>\\n                <span if.bind=\\\"item.duration\\\" style=\\\"white-space: nowrap\\\">${item.duration} gg.</span>\\n                <span if.bind=\\\"item.subscriptionExpireAt\\\" style=\\\"white-space: nowrap\\\">${item.subscriptionExpireAt|dateFormat}</span>\\n              </td>\\n              <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n                <span if.bind=\\\"!item.sponsorDisplayName\\\" style=\\\"white-space: nowrap;\\\">${item.price} € + IVA</span>\\n                <template else>\\n                  <span if.bind=\\\"item.price > 0\\\" class=\\\"offered-by\\\">${item.price} € + IVA</span><br>\\n                  Offerto da: <strong>${item.sponsorDisplayName}</strong>\\n                </template>\\n                <span \\n                  class=\\\"d-block\\\" \\n                  style=\\\"white-space: nowrap\\\"\\n                  if.bind=\\\"item.multicoinPoint\\\">\\n                  <span class=\\\"text-primary\\\">\\n                    <i class=\\\"far fa-coins\\\" style=\\\"font-size: 1.3rem; margin-right: .4rem\\\"></i>Multicoin:\\n                  </span> ${item.multicoinPoint} pt.\\n                </span>\\n                <small class=\\\"d-block\\\" if.bind=\\\"item.promotionNeeded === 'YES'\\\">Promozione limitata</small>\\n                <div if.bind=\\\"item.cashbackAmount\\\" class=\\\"cashback\\\">\\n                  <small class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback: ${item.cashbackAmount} €</small>\\n                  <small \\n                    class=\\\"tag mt-2\\\" \\n                    ka-tooltip=\\\"L'attivazione di questo servizio è subordinata all'approvazione del relativo contratto cashback.\\\"\\n                    if.bind=\\\"lastAcceptedServiceContract.isCashbackContractNeverBeenSigned || lastAcceptedServiceContract.gracePeriodEndAt\\\">\\n                    <i class=\\\"far fa-exclamation-circle\\\"></i>\\n                    Richiede approvazione contratto\\n                  </small>\\n                </div>\\n              </td>\\n              <td class=\\\"d-flex flex-column align-items-end\\\">\\n                <ka-button\\n                  class=\\\"flat inverted with-icon\\\"\\n                  click.delegate=\\\"activateService($event, item)\\\"\\n                  ka-tooltip=\\\"L'attivazione di questo servizio è subordinata all'approvazione del relativo contratto cashback.\\\"\\n                  if.bind=\\\"(lastAcceptedServiceContract.isCashbackContractNeverBeenSigned || lastAcceptedServiceContract.gracePeriodEndAt) && item.cashbackAmount\\\">\\n                  <i class=\\\"far fa-exclamation-circle\\\"></i>\\n                  <span>Attiva</span>\\n                </ka-button>\\n                <ka-button\\n                  else\\n                  class=\\\"flat inverted\\\"\\n                  click.delegate=\\\"activateService($event, item)\\\">\\n                  Attiva\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca servizi attivi <span if.bind=\\\"requestedUserData\\\">per ${requestedUserData.profile.displayName}</span>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n\\n      <!-- Sottoutente selezionato -->\\n      <template if.bind=\\\"requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-6\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <!-- Utente master o basic -->\\n      <template if.bind=\\\"!requestedUserData && !privileges.isOperator\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUB-USER' || privileges.isBasicUser ? '3' : '6'}\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"privileges.isBasicUser\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"data.context === 'SUB-USER'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n      </template>\\n\\n      <!-- Operatore -->\\n      <template if.bind=\\\"!requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control \\n          name=\\\"productCode\\\"\\n          buttons=\\\"clear,dropdown\\\"\\n          change.call=productCodeChanged()>\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control \\n          name=\\\"type\\\" \\n          buttons=\\\"clear,dropdown\\\"\\n          readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <div class=\\\"row\\\">\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"flatServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col-6\\\">\\n            <md-control name=\\\"status\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"tools.enabledUntil('2026-02-28T00:00:01')\\\" class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"cashbackAmount\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"multicoinPoint\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'SUB-USER'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"user_active\\\" change.call=\\\"searchActiveUsersChange()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco servizi attivi</h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\">\\n      <!-- CSV download -->\\n      <button click.delegate=\\\"csvDownload()\\\" ka-tooltip=\\\"Scarica listato sottoscrizioni in formato csv\\\"\\n        class=\\\"toolbar-button\\\">\\n        <i class=\\\"material-icons\\\">file_download</i>\\n      </button>\\n    </md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice servizio</th>\\n            <th>Piano</th>\\n            <th>Titolo</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"status\\\">Stato</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\"\\n                attribute=\\\"owner-display-name\\\">${mdt.parsers.contextualize(api.user,\\n                'Account')}/${mdt.parsers.contextualize(api.user, 'Utente')}</md-table-sort></th>\\n            <th>Fatturazione</th>\\n            <th>Attivazione</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"expire-at\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"price\\\">Prezzo</md-table-sort></th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td>\\n              <span click.delegate=\\\"tools.copyText(item.flatServiceCode, 'Codice')\\\"\\n                ka-tooltip.bind=\\\"`Copia codice: ${item.flatServiceCode}`\\\" class=\\\"copy-text with-icon\\\"\\n                style=\\\"white-space: nowrap\\\">${item.flatServiceCode}\\n              </span>\\n            </td>\\n            <td style=\\\"white-space: nowrap;\\\">${item.flatServiceType |\\n              comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>\\n                <i if.bind=\\\"['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(api.user.group)\\\"\\n                  click.delegate=\\\"showLogs(item)\\\" class=\\\"far fa-search logs\\\"></i>\\n                ${item.flatServiceTitle}\\n              </span>\\n              <br><small if.bind=\\\"item.flatServiceDescription\\\"\\n                click.delegate=\\\"serviceDescription(item.flatServiceDescription)\\\" class=\\\"link\\\"\\n                ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <strong if.bind=\\\"item.status === 'PENDING' && item.paymentMethod === 'BANK-TRANSFER' && item.orderId\\\"\\n                ka-tooltip=\\\"In attesa pagamento mezzo bonifico. Clicca sotto per i dettagli\\\">\\n                ${statuses[item.status]}\\n              </strong>\\n              <strong else>${statuses[item.status]}</strong>\\n              <small if.bind=\\\"item.suspendAt\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap;\\\">Data sospensione:\\n                ${item.suspendAt | dateFormat}</small>\\n              <small if.bind=\\\"item.terminatedAt\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap;\\\">Data termine:\\n                ${item.terminatedAt | dateFormat}</small>\\n              <small if.bind=\\\"item.paymentMethod === 'BANK-TRANSFER'\\\" class=\\\"bank-transfer-data\\\"\\n                click.delegate=\\\"showBankTransfer(item)\\\">\\n                Dati bonifico bancario\\n              </small>\\n              <small if.bind=\\\"item.statusReason\\\" class=\\\"d-block\\\">${item.statusReason}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>${item.ownerDisplayName}</span>\\n              <small if.bind=\\\"item.ownerFiscalCode\\\" class=\\\"d-block\\\">CF: ${item.ownerFiscalCode}</small>\\n              <small if.bind=\\\"item.ownerVatCode\\\" class=\\\"d-block\\\">PI: ${item.ownerVatCode}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              ${item.payeeDisplayName}\\n              <small class=\\\"d-block\\\">Metodo pagamento: ${item.paymentMethod | comboFormat:{datavalue: 'code', datatext:\\n                'label'}:'paymentMethods'}</small>\\n            </td>\\n\\n            <td if.bind=\\\"item.activatedAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.activatedAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n\\n            <td if.bind=\\\"item.expireAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.expireAt | dateFormat:'DD/MM/YYYY'}</div>\\n              <template if.bind=\\\"item.status === 'ACTIVE'\\\">\\n                <div if.bind=\\\"item.autoRenew === 'ENABLED'\\\">\\n                  <strong class=\\\"success-text limitwidth\\\">Autorinnovo attivo</strong>\\n                  <small if.bind=\\\"item.autoRenewPaymentMethod\\\" class=\\\"d-block\\\">Metodo di pagamento autorinnovo:\\n                    ${item.autoRenewPaymentMethod}</small>\\n                </div>\\n                <div if.bind=\\\"item.autoRenew === 'DISABLED' && item.autoRenewable === 'YES'\\\">\\n                  <strong class=\\\"error-text limitwidth\\\">Autorinnovo non attivo</strong>\\n                </div>\\n                <div if.bind=\\\"api.hasRole('MODIFY_ANY_USER_FLAT_SERVICE_SUBSCRIPTION_EXPIRE_DATE')\\\" class=\\\"limitwidth\\\">\\n                  <small><a href=\\\"\\\" click.delegate=\\\"editExpiration($event, item)\\\">Modifica scadenza</a></small>\\n                </div>\\n              </template>\\n            </td>\\n            <td else>N.D.</td>\\n            <td style=\\\"white-space: nowrap;\\\">\\n              <span style=\\\"white-space: nowrap\\\">${item.flatServicePrice} € + IVA</span>\\n              <span \\n                class=\\\"d-block\\\" \\n                style=\\\"white-space: nowrap\\\"\\n                if.bind=\\\"item.flatServiceMulticoinPoint\\\">\\n                <span class=\\\"text-primary\\\">\\n                  <i class=\\\"far fa-coins\\\" style=\\\"font-size: 1.3rem; margin-right: .4rem\\\"></i>Multicoin:\\n                </span> ${item.flatServiceMulticoinPoint} pt.\\n              </span>\\n              <small if.bind=\\\"item.flatServiceCashbackAmount\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback:\\n                ${item.flatServiceCashbackAmount} €</small>\\n              <small if.bind=\\\"item.orderId\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\"><span\\n                  style=\\\"white-space: nowrap\\\">ID Ordine: </span>${item.orderId}</small>\\n            </td>\\n\\n            <!-- Buttons -->\\n            <td class=\\\"limitwidth-200 d-flex flex-column\\\">\\n              <template if.bind=\\\"api.hasRole('MODIFY_ANY_USER_FLAT_SERVICE_SUBSCRIPTION_STATUS')\\\">\\n                <!-- Sospendi -->\\n                <ka-button if.bind=\\\"item.status === 'ACTIVE'\\\" click.delegate=\\\"editStatus($event, 'sospendi', item)\\\"\\n                  ka-tooltip=\\\"Sospensione temporanea. Non sarà possible sottoscrivere la stessa tipologia di servizio fino alla scandenza\\\"\\n                  class=\\\"flat inverted\\\">\\n                  Sospendi servizio\\n                </ka-button>\\n                <!-- Riattiva -->\\n                <ka-button if.bind=\\\"item.status === 'SUSPENDED'\\\" click.delegate=\\\"editStatus($event, 'riattiva', item)\\\"\\n                  ka-tooltip=\\\"Riattivazione della sottoscrizione al servizio temporaneamente sospesa\\\"\\n                  class=\\\"flat inverted\\\">\\n                  Riattiva servizio\\n                </ka-button>\\n                <!-- Termina -->\\n                <ka-button\\n                  if.bind=\\\"item.status !== 'TERMINATED' && (item.status !== 'EXPIRED' || api.hasRole('MODIFY_EXPIRED_FLAT_SERVICE_SUBSCRIPTION_STATUS'))\\\"\\n                  click.delegate=\\\"editStatus($event, 'termina', item)\\\"\\n                  ka-tooltip=\\\"Chiusura definitiva della sottoscrizione al servizio. per riattivare il servizio sarà necessaria nuova sottoscrizione\\\"\\n                  class=\\\"flat\\\">\\n                  Termina servizio\\n                </ka-button>\\n              </template>\\n              <!--\\n              <ka-button\\n                if.bind=\\\"privileges.tabs.attivabili && item.status === 'EXPIRED' && !item.nextUuid\\\"\\n                click.delegate=\\\"renew($event, item)\\\"\\n                ka-tooltip=\\\"Rinnova il servizio\\\"\\n                class=\\\"flat\\\">\\n                Rinnova servizio\\n              </ka-button>\\n              -->\\n              <!-- <ka-button\\n                click.delegate=\\\"dialogServiceDetail(item)\\\"\\n                ka-tooltip=\\\"Rinnova il servizio\\\"\\n                class=\\\"flat inverted secondary with-icon\\\">\\n                <i class=\\\"far fa-expand-arrows-alt\\\"></i>\\n                <span style=\\\"width: calc(100% - 1.1rem); text-align: left\\\">Dettaglio</span>\\n              </ka-button> -->\\n              <ka-button if.bind=\\\"item.status === 'ACTIVE' && item.autoRenewable === 'YES'\\\"\\n                click.delegate=\\\"editRenewal($event, item)\\\"\\n                ka-tooltip.bind=\\\"item.isAutoRenewDisabled ? 'Non è possibile disattivare il rinnovo automatico quando la sottoscrizione è in scadenza in meno di 30 giorni.' : (item.autoRenew === 'ENABLED' ? 'Disabilita rinnovo automatico del servizio' : 'Abilita rinnovo automatico del servizio')\\\"\\n                class=\\\"flat secondary\\\" disabled.bind=\\\"item.status !== 'ACTIVE' || item.isAutoRenewDisabled\\\">\\n                Gestisci autorinnovo\\n              </ka-button>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n          <tr>\\n            <td>Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <template if.bind=\\\"parent.isPendingInitTabs === false\\\">\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca servizi</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control \\n            name=\\\"productCode\\\" \\n            client.bind=\\\"api\\\" \\n            buttons=\\\"dropdown,clear\\\" \\n            change.call=productCodeChanged()>\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control\\n            name=\\\"type\\\" \\n            buttons=\\\"dropdown,clear\\\"\\n            readonly.bind=\\\"parent.isGetFlatServiceTypesPending\\\">\\n          </md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"title\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"description\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n          <div class=\\\"row\\\">\\n            <div class=\\\"col-6\\\">\\n              <md-control name=\\\"code\\\" buttons=\\\"clear\\\" submit.call=\\\"search()\\\"></md-control>\\n            </div>\\n            <div class=\\\"col-6\\\">\\n              <md-control name=\\\"activableOn\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"payableBy\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"tools.enabledUntil('2026-02-28T00:00:01')\\\" class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"cashbackAmount\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"multicoinPoint\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n        </div>\\n      </div>\\n    </template>\\n  \\n    <template if.bind=\\\"tableInterface.data\\\">\\n      <h2>Elenco servizi\\n        <ka-button \\n          class=\\\"inverted flat with-icon\\\" \\n          if.bind=\\\"api.hasRole('CREATE_FLAT_SERVICES')\\\" \\n          click.delegate=\\\"createService()\\\">\\n          <i class=\\\"far fa-plus\\\"></i>\\n          <span>Crea nuovo servizio</span>\\n        </ka-button>\\n        </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice servizio</th>\\n              <th>Piano</th>\\n              <th>Titolo/Descrizione</th>\\n              <th>Durata</th>\\n              <th>Specifiche</th>\\n              <th>Attivazione</th>\\n              <th>Promozioni associate</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"service of tableInterface.data\\\">\\n              <!-- Codice -->\\n              <td class=\\\"limitwidth\\\">${service.code}</td>\\n  \\n              <!-- Piano -->\\n              <td class=\\\"limitwidth\\\">${service.type | comboFormat:searchInterface.schema.type:'flatServiceTypes'}</td>\\n  \\n              <!-- Titolo/Descrizione -->\\n              <td style=\\\"max-width: 15vw;\\\">\\n                <span class=\\\"copy-text with-icon\\\" click.delegate=\\\"tools.copyText(service.title, 'Titolo')\\\" ka-tooltip.bind=\\\"`Copia titolo: ${service.title}`\\\">${service.title}</span><br>\\n                <small style=\\\"white-space: nowrap;\\\" class=\\\"d-block\\\">Creato il ${service.createdAt | dateFormat}</small>\\n                <small click.delegate=\\\"serviceDescription(service.description)\\\" class=\\\"link\\\" ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n              </td>\\n  \\n              <!-- Durata -->\\n              <td class=\\\"limitwidth\\\">${service.duration} gg.</td>\\n              \\n              <!-- Prezzo -->\\n              <td style=\\\"min-width: 25rem; max-width: 15vw;\\\">\\n                <small>\\n                  <span style=\\\"white-space: nowrap\\\">Prezzo: ${service.price} € + IVA ${service.vatAmount} €</span><br>\\n                  <span if.bind=\\\"service.multicoinPoint\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Multicoin: ${service.multicoinPoint} pt.</span>\\n                  <span if.bind=\\\"service.cashbackAmount\\\" class=\\\"d-block\\\" style=\\\"white-space: nowrap\\\">Cashback: ${service.cashbackAmount} €</span>\\n                  Addebitabile a\\n                  <strong if.bind=\\\"service.payableBySponsor\\\" style=\\\"white-space: nowrap\\\">${service.sponsorDisplayName}</strong>\\n                  <span else style=\\\"white-space: nowrap\\\">${service.payableBySubuser && service.payableByUser ? 'utenti e sottoutenti' : !service.payableBySubuser ? 'utenti' : 'sottoutenti'}</span>\\n                  <br>\\n                  <span style=\\\"white-space: nowrap\\\">Autorinnovo ${service.autoRenewable ?  'disponibile' : 'non disponibile'}</span><br>\\n                  Metodo pagamento:\\n                  <span repeat.for=\\\"paymentMethod of service.paymentMethods\\\" class=\\\"payment-methods\\\">${paymentMethod | comboFormat:{datavalue: 'code', datatext: 'label'}:'paymentMethods'}</span>\\n                </small>\\n              </td>\\n  \\n              <!-- Attivazione -->\\n              <td style=\\\"min-width: 25rem; max-width: 15vw;\\\">\\n                <small>\\n                  Attivabile da\\n                  <strong if.bind=\\\"service.sponsorDisplayName\\\">${service.sponsorDisplayName}</strong>\\n                  <span else>${service.activableByPrivilegedUserOnly === 'YES' ? 'utenti privilegiati' : 'proprietario account'}</span>\\n                  <br>\\n                  Sottoscrivibile da ${service.activableOnUser && service.activableOnSubuser ? 'utenti e sottoutenti' : !service.activableOnSubuser ? 'utenti' : 'sottoutenti'}<br>\\n                  Inizio periodo di validità: ${service.startAt | dateFormat}<br>\\n                  Termine periodo di validità: ${service.endAt ? service.endAt : 'illimitato' | dateFormat }\\n                </small>\\n              </td>\\n  \\n              <!-- Promozioni associate -->\\n              <td>\\n                <template if.bind=\\\"service.associatedPromoCodes && service.associatedPromoCodes.length\\\">\\n                  <div repeat.for=\\\"promoCode of service.associatedPromoCodes\\\" class=\\\"promo-code\\\">${promoCode}</div>\\n                </template>\\n                <small else>Nessuna promozione</small>\\n              </td>\\n  \\n              <!-- Buttons -->\\n              <td class=\\\"d-flex flex-column align-items-start align-items-sm-end\\\">\\n                <ka-button \\n                  if.bind=\\\"api.hasRole(['MODIFY_FLAT_SERVICES'])\\\" \\n                  click.delegate=\\\"editService($event, service)\\\" \\n                  class=\\\"flat inverted secondary\\\">Modifica\\n                </ka-button>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length\\\">\\n            <tr>\\n              <td>Nessun risultato per i criteri di ricerca impostati</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca volture da confermare</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <!-- Sottoutente selezionato -->\\n      <template if.bind=\\\"requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-6\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <!-- Utente master o basic -->\\n      <template if.bind=\\\"!requestedUserData && !privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n      </template>\\n\\n      <!-- Operatore -->\\n      <template if.bind=\\\"!requestedUserData && privileges.isOperator\\\">\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-input name=\\\"user\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n        </div>\\n        <div class=\\\"col-6 col-lg-3\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n        </div>\\n      </template>\\n\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"flatServiceCode\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-input name=\\\"productCode\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\" change.call=\\\"$parent.productCodeChanged(data.productCode)\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-input name=\\\"type\\\" client.bind=\\\"api\\\" class=\\\"no-add no-open dropdown\\\"></md-input>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface.data\\\">    \\n    <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n      <span>Elenco volture da confermare</span>\\n      <div class=\\\"d-flex align-items-center ms-3\\\">\\n        <small class=\\\"d-flex align-items-center\\\">\\n          <i class=\\\"far fa-exclamation-circle me-2\\\"></i>\\n          <span style=\\\"color: #404040;\\\">Selezionati <strong>${tableSelectionInterface.selectedCount}</strong> su <strong>${tableInterface.total}</strong> totali</span>\\n        </small>\\n        <ka-button \\n          class=\\\"inverted flat secondary icon\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount\\\"\\n          click.delegate=\\\"tableSelectionInterface.reset(true)\\\"\\n          ka-tooltip=\\\"value: Deseleziona tutti; placement: left;\\\">\\n          <i class=\\\"fas fa-times\\\"></i>\\n        </ka-button>\\n        <ka-button \\n          class=\\\"inverted flat with-icon ms-0\\\" \\n          disabled.bind=\\\"!tableSelectionInterface.selectedCount\\\"\\n          click.delegate=\\\"confirmSelectedServices($event)\\\"\\n          ka-tooltip=\\\"value: Conferma volture selezionate; placement: left;\\\">\\n          <i class=\\\"fas fa-check\\\"></i>\\n          <span>Conferma volture selezionate</span>\\n        </ka-button>\\n      </div>\\n    </h2>\\n    \\n    <!-- Table -->\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th if.bind=\\\"!params.id && !privileges.isOperator\\\">\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                disabled.bind=\\\"tableSelectionInterface.isEveryVisibleRecordDisabled()\\\"\\n                checked.bind=\\\"tableSelectionInterface.selectEveryVisibleRecordSelected\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectEveryVisibleRecordSelected()\\\">\\n            </th>          \\n            <th>Codice servizio</th>\\n            <th>Piano</th>\\n            <th>Titolo</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"owner-display-name\\\">${mdt.parsers.contextualize(api.user, 'Account')}/${mdt.parsers.contextualize(api.user, 'Utente')}</md-table-sort></th>\\n            <th>Fatturazione</th>\\n            <th>Attivazione</th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"expire-at\\\">Scadenza</md-table-sort></th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"price\\\">Prezzo</md-table-sort></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td if.bind=\\\"!params.id && !privileges.isOperator\\\">\\n              <input\\n                type=\\\"checkbox\\\"\\n                style=\\\"cursor: pointer\\\"\\n                checked.bind=\\\"item._selection.isSelected\\\"\\n                disabled.bind=\\\"item._selection.isDisabled\\\"\\n                change.trigger=\\\"tableSelectionInterface.changeSelectedRecords()\\\">\\n            </td>\\n            <td>\\n              <span \\n                click.delegate=\\\"tools.copyText(item.flatServiceCode, 'Codice')\\\"\\n                ka-tooltip.bind=\\\"`Copia codice: ${item.flatServiceCode}`\\\"\\n                class=\\\"copy-text with-icon d-block\\\"\\n                style=\\\"white-space: nowrap\\\">${item.flatServiceCode}\\n              </span>\\n\\n              <template if.bind=\\\"item._selection.feedback\\\">\\n                <span\\n                  if.bind=\\\"item._selection.feedback.status\\\"\\n                  class=\\\"tag mt-1 ${item._selection.feedback.status === 'Errore' ? 'error' : (item._selection.feedback.status === 'Completato' ? 'success' : 'pending')}\\\">\\n                  ${item._selection.feedback.status}\\n                </span>\\n                <small if.bind=\\\"item._selection.feedback.message\\\" class=\\\"d-block mt-1\\\">${item._selection.feedback.message}</small>\\n              </template>\\n            </td>\\n            <td style=\\\"white-space: nowrap;\\\">${item.flatServiceType}</td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>\\n                <i if.bind=\\\"['ADMIN', 'EXECUTIVE_OPERATOR', 'BACKOFFICE'].includes(api.user.group)\\\" click.delegate=\\\"showLogs(item)\\\" class=\\\"far fa-search logs\\\"></i>\\n                ${item.flatServiceTitle}\\n              </span>\\n              <br><small if.bind=\\\"item.flatServiceDescription\\\" click.delegate=\\\"serviceDescription(item.flatServiceDescription)\\\" class=\\\"link\\\" ka-tooltip=\\\"Visualizza la descrizione del servizio\\\">Descrizione del servizio</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              <span>${item.ownerDisplayName}</span>\\n              <small if.bind=\\\"item.ownerFiscalCode\\\" class=\\\"d-block\\\">CF: ${item.ownerFiscalCode}</small>\\n              <small if.bind=\\\"item.ownerVatCode\\\" class=\\\"d-block\\\">PI: ${item.ownerVatCode}</small>\\n            </td>\\n            <td style=\\\"max-width: 5vw; min-width: 20rem;\\\">\\n              ${item.payeeDisplayName}\\n              <small class=\\\"d-block\\\">Metodo pagamento: ${item.paymentMethod}</small>\\n            </td>\\n            \\n            <td if.bind=\\\"item.activatedAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.activatedAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n  \\n            <td if.bind=\\\"item.expireAt\\\">\\n              <div style=\\\"white-space: nowrap;\\\">${item.expireAt | dateFormat:'DD/MM/YYYY'}</div>\\n            </td>\\n            <td else>N.D.</td>\\n            <td style=\\\"white-space: nowrap;\\\">\\n              <span>${item.flatServicePrice} € + IVA</span>\\n              <small if.bind=\\\"item.orderId\\\" class=\\\"d-block\\\"><span style=\\\"white-space: nowrap\\\">ID Ordine: </span>${item.orderId}</small>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti volture da confermare</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credito-deposito.scss\\\"></require>\\n\\n  <!-- Search -->\\n  <template if.bind=\\\"creditSearchInterface.initialized\\\">\\n    <h2 class=\\\"with-buttons\\\">\\n      <span>Ricerca movimenti di credito</span>\\n      <!-- Credit transfer -->\\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_SUB_USER_CREDIT_TRANSFER')\\\"\\n        class=\\\"inverted primary with-icon\\\"\\n        click.delegate=\\\"creditMovement('transfer')\\\"\\n        disabled.bind=\\\"!userProfile.parent || userId === 'me'\\\"\\n        style=\\\"margin-left: auto;\\\">\\n        <i class=\\\"fad fa-exchange\\\"></i>\\n        <span>Trasferisci credito</span>\\n      </ka-button>\\n      <!-- Credit transaction -->\\n      <ka-button\\n        if.bind=\\\"api.hasRole('CREATE_ANY_USER_CREDIT_TRANSACTION')\\\"\\n        class=\\\"inverted primary with-icon\\\"\\n        click.delegate=\\\"creditMovement('transaction')\\\"\\n        disabled.bind=\\\"!userProfile || userId === 'me'\\\"\\n        style=\\\"margin-left: 0;\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Inserisci movimento</span>\\n      </ka-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"creditSearchInterface\\\">\\n      <!-- !isOperator -->\\n      <template if.bind=\\\"!isOperator\\\">\\n        <div class=\\\"col-6 col-lg-${data.context === 'subusers' ? '3' : '6'}\\\">\\n          <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\"></md-control>\\n        </div>\\n        <div if.bind=\\\"data.context === 'subusers'\\\" class=\\\"col-6 col-lg-3\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"userId\\\" buttons=\\\"clear\\\"></md-input>\\n        </div>\\n      </template>\\n      <!-- isOperator -->\\n      <template if.bind=\\\"isOperator\\\">\\n        <div class=\\\"col-6 col-lg-${selectedParentIsMaster ? '2' : '4'}\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"parent\\\" change.call=\\\"setParent()\\\" ready.call=\\\"setParent()\\\"></md-input>\\n        </div>\\n        <div if.bind=\\\"selectedParentIsMaster\\\" class=\\\"col-6 col-lg-2\\\">\\n          <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"child\\\" buttons=\\\"clear\\\"></md-input>\\n        </div>\\n      </template>\\n      <!--\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"orderId\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      -->\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"dateStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-2\\\">\\n        <md-control name=\\\"dateEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"ripristina()\\\" class=\\\"inverted\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- Table -->\\n  <template if.bind=\\\"creditTableInterface\\\">\\n    <h2 if.bind=\\\"userProfile\\\">Elenco dei movimenti di credito di ${userProfile.displayName} <span if.bind=\\\"userProfile.parent\\\">(${mdt.parsers.contextualize(api.user, 'sottoutente')} di ${userProfile.parent.displayName})</span></h2>\\n    <h2 if.bind=\\\"!userProfile\\\">Elenco dei <span if.bind=\\\"creditSearchInterface.data.context === 'me'\\\">miei</span> movimenti di credito</h2>\\n    <div if.bind=\\\"currentBalance\\\" class=\\\"row\\\" style=\\\"margin-top: -1rem\\\">\\n      <div class=\\\"col\\\">\\n        <p><span class=\\\"primary-text\\\">Saldo credito residuo ${mdt.parsers.contextualize(api.user, creditSearchInterface.data.context === 'me' ? 'dell\\\\'account' : 'dell\\\\'utente')}:</span> servizio <strong>${currentBalance.vatSubjectAmount} €</strong> - affrancatura <strong>${currentBalance.noVatSubjectAmount} €</strong></p>\\n      </div>\\n      <div class=\\\"col d-flex justify-content-end\\\">\\n        <p><span class=\\\"primary-text\\\">Saldo credito per il filtro selezionato:</span> servizio <strong>${currentBalance.filteredVatSubjectAmount} €</strong> - affrancatura <strong>${currentBalance.filteredNoVatSubjectAmount} €</strong></p>\\n      </div>\\n    </div>\\n    <md-table-toolbar table.bind=\\\"creditTableInterface\\\" download.call=\\\"export()\\\" search.bind=\\\"creditSearchInterface\\\" buttons=\\\"download\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like credito\\\">\\n        <thead if.bind=\\\"creditTableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Tipologia</th>\\n            <th>Causale</th>\\n            <th>Riferimento</th>\\n            <th ka-tooltip=\\\"Questo credito è necessario per tutte le tipologie<br>di invio (sms, fax, multicerta e posta cartacea<br>indipendentemente dall'affrancatura)\\\" class=\\\"tooltip\\\">Importo servizio</th>\\n            <th ka-tooltip=\\\"Questo credito è necessario per pagare il<br> francobollo per prioritarie, raccomandate<br> o raccomandate AR. Il francobollo per<br>Raccomandata1 e Raccomandata1AR<br> viene pagato con il credito servizio.\\\" class=\\\"tooltip\\\">Importo affrancatura</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"creditTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of creditTableInterface.data\\\">\\n            <td>${item.createdAt | dateFormat}</td>\\n            <td><small class=\\\"tag ${item.sign === 'CREDIT' ? 'success' : 'error'} with-icon\\\">${item.sign === 'CREDIT' ? 'Ricarica' : 'Addebito'}</small></td>\\n            <td>\\n              <small class=\\\"text-color\\\" if.bind=\\\"item.reason.description\\\" style=\\\"display: block;\\\">Descrizione: ${item.reason.description}</small>\\n              <span\\n                if.bind=\\\"item.reason.queueUuid\\\"\\n                style=\\\"display: block; margin-top: .5rem;\\\">\\n                <a\\n                  href.bind=`spedizioni/reportistica/${item.ownerId}/${item.reason.queueUuid}`>\\n                  Visualizza reportistica spedizione\\n                </a>\\n              </span>\\n            </td>\\n            <td if.bind=\\\"item.reason.migrationVerse\\\">\\n              <span>Trasferimento credito</span>\\n              <small>${getMigrationMessage(item)}</small>\\n            </td>\\n            <td if.bind=\\\"!item.reason.migrationVerse\\\"><span>Movimento credito</span></td>\\n            <td>${item.amount.vatSubject} €</td>\\n            <td>${item.amount.noVatSubject} €</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!creditTableInterface.data.length\\\">Nessun movimento per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./credito-deposito.scss\\\"></require>\\n  <template if.bind=\\\"bailmentSearchInterface.initialized\\\">\\n    <h2>\\n      <span>Ricerca movimenti di deposito cauzionale <span if.bind=\\\"user\\\">per ${user.profile.displayName}</span></span>\\n      <ka-button if.bind=\\\"api.hasRole('CREATE_ANY_USER_BAILMENT_DEPOSIT_TRANSACTION')\\\" class=\\\"inverted flat\\\" click.delegate=\\\"depositTransaction()\\\" disabled.bind=\\\"!userId\\\"><span class=\\\"material-icons\\\" style=\\\"vertical-align: middle; margin-right: .3rem;\\\">add</span> Inserisci movimento</ka-button>\\n    </h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"bailmentSearchInterface\\\">\\n      <div if.bind=\\\"isOperator\\\" class=\\\"col-6 col-lg-6\\\">\\n        <md-input class=\\\"no-add no-open\\\" client.bind=\\\"api\\\" name=\\\"userId\\\"></md-input>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"orderId\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"type\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"dateStart\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-3\\\">\\n        <md-control name=\\\"dateEnd\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"ripristina()\\\" class=\\\"inverted\\\">Reset</ka-button> \\n        <ka-button click.delegate=\\\"ricerca()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n  \\n  <template if.bind=\\\"bailmentTableInterface\\\">\\n    <h2 class=\\\"table-title\\\">\\n      <span>Elenco movimenti di deposito cauzionale</span>\\n      <span if.bind=\\\"bailmentTableInterface.data\\\" class=\\\"current-balance\\\">\\n        <span>Saldo corrente: <strong>${currentBalance.balance} €</strong></span>\\n      </span>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"bailmentTableInterface\\\" search.bind=\\\"bailmentSearchInterface\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like deposito\\\">\\n        <thead if.bind=\\\"bailmentTableInterface.data.length\\\">\\n          <tr>\\n            <th>Data</th>\\n            <th>Tipologia</th>\\n            <th>Causale</th>\\n            <th>Importo</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"bailmentTableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of bailmentTableInterface.data\\\">\\n            <td>${item.createdAt | dateFormat}</td>\\n            <td style=\\\"text-transform: uppercase;\\\">${item.type === 'CREDIT' ? 'Entrata' : 'Uscita'}</td>\\n            <td>\\n              <span if.bind=\\\"item.reason.description\\\" style=\\\"display: block;\\\">Descrizione: ${item.reason.description}</span>\\n              <span if.bind=\\\"item.reason.orderId\\\" style=\\\"display: block; margin-top: .5rem;\\\">ID ordine: ${item.reason.orderId}</span> <!-- TO DO delete this when the order detail page is completed -->\\n              <!-- TO DO when the order detail page is completed <span if.bind=\\\"item.reason.orderId\\\" style=\\\"display: block; margin-top: .5rem;\\\"><a href=\\\"${environment.APP_URL_LEGACY}scriba/box_order.html\\\">Visualizza ordine</a></span> --> <!-- TO DO show this when the order detail page is completed -->\\n              <span if.bind=\\\"item.reason.legacyQueueId\\\" style=\\\"display: block; margin-top: .5rem;\\\"><a href=\\\"${environment.APP_URL_LEGACY}scriba/multi_invio/details_mi.html?idqueue=${item.reason.legacyQueueId}\\\" target=\\\"_blank\\\">Visualizza reportistica spedizione</a></span>\\n            </td>\\n            <td>${item.amount} €</td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!bailmentTableInterface.data.length\\\">Nessun movimento per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-credit-movement.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: mdt.parsers.contextualize(api.user, 'Utente'), readonly: true}\\\" value.bind=\\\"params.user.displayName\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Credito residuo servizio', readonly: true}\\\" value=\\\"${params.user.credit.vatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Credito residuo affrancatura', readonly: true}\\\" value=\\\"${params.user.credit.noVatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"row\\\" if.bind=\\\"params.context === 'transfer' && masterUser\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Destinatario', readonly: true}\\\" value.bind=\\\"params.user.parent.displayName\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Attuale credito servizio', readonly: true}\\\" value=\\\"${masterUser.vatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <ka-control schema.bind=\\\"{control: 'text', label: 'Attuale credito affrancatura', readonly: true}\\\" value=\\\"${masterUser.noVatSubjectAmount} €\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <ka-control name=\\\"sign\\\" buttons=\\\"clear,dropdown\\\" readonly.bind=\\\"params.context === 'transfer'\\\"></ka-control>\\n\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"amount.vatSubject\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6\\\">\\n        <ka-control name=\\\"amount.noVatSubject\\\" buttons=\\\"clear\\\"></ka-control>\\n      </div>\\n    </div>\\n\\n    <ka-control if.bind=\\\"params.context === 'transaction'\\\" name=\\\"reason.description\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control if.bind=\\\"params.context === 'transfer'\\\" name=\\\"reason\\\" buttons=\\\"clear\\\"></ka-control>\\n\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\" style=\\\"margin-left: 0;\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./dialog-deposit-transaction.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"user\\\">Utente<p>${params.userProfile.displayName}</p></div>\\n    <div class=\\\"row\\\">\\n      <div class=\\\"col\\\" style=\\\"margin-bottom:1rem\\\"><ka-control name=\\\"value\\\" buttons=\\\"clear\\\"></ka-control></div>\\n      <div class=\\\"col\\\" style=\\\"margin-bottom:1rem\\\"><ka-control name=\\\"type\\\"></ka-control></div>\\n    </div>\\n    <ka-control name=\\\"note\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\" style=\\\"margin-left: 0;\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <style>\\n    .body { padding: 2rem; }\\n    .footer {\\n      display: block;\\n      padding: 6px;\\n      border-top: 1px solid #e5e5e5;\\n      text-align: right;\\n    }\\n  </style>\\n  <div class=\\\"body\\\">\\n    <p>Modificare gli \\\"economics\\\" è un'operazione straordinaria. L'operatore ha la responsabilità di effettuarla con diligenza. Il nominativo dell'esecutore sarà registrato e conservato per eventuali verifiche!</p>\\n    <ka-control schema.bind=\\\"check.schema.confirm\\\" value.bind=\\\"check.data.confirm\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button if.bind=\\\"!error\\\" click.delegate=\\\"controller.ok()\\\" disabled.bind=\\\"!check.data.confirm\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./listini-pianificazione.sass\\\"></require>\\n  <div class=\\\"body\\\" if.bind=\\\"resource\\\">\\n    <div class=\\\"row m-0 p-3\\\">\\n      <div class=\\\"col-6 p-0 pe-2 pb-3\\\">\\n        <ka-control name=\\\"startAt\\\" buttons=\\\"dropdown,clear\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-6 p-0 ps-2 pb-3\\\">\\n        <ka-control name=\\\"endAt\\\" buttons=\\\"dropdown,clear\\\" md-tooltip=\\\"Non compilando il campo, la data di termine sarà considerata indefinita ovvero estendibile all'infinito\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-3\\\">\\n        <ka-control name=\\\"code\\\" buttons=\\\"dropdown\\\"></ka-control>\\n      </div>\\n      <div class=\\\"col-12 p-0 pb-3\\\">\\n        <small class=\\\"alert\\\"><strong>Attenzione!</strong>\\n          <span>Stai aggiungendo un intervallo alla attuale timeline di pianificazione. La timeline sarà ricalcolata al salvataggio.</span>\\n        </small>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Salva</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./listini.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./../listini.sass\\\"></require>\\n  <div class=\\\"row m-0\\\">\\n\\n    <!-- Left side -->\\n    <div class=\\\"col-6 col-md-4 p-0 left-side\\\">\\n      <h2 class=\\\"m-0\\\">Ricerca listini</h2>\\n      <div class=\\\"row m-0 app-shared-search-style\\\">\\n        <template if.bind=\\\"privileges.isOperator\\\">\\n          <div class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"schema.user\\\" value.bind=\\\"data.user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.trigger=\\\"getUser()\\\"></ka-control>\\n          </div>\\n        </template>\\n        <template if.bind=\\\"!privileges.isOperator\\\">\\n          <div class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"schema.context\\\" value.bind=\\\"data.context\\\" buttons=\\\"dropdown\\\" readonly.bind=\\\"!privileges.isOperator && !privileges.isParent\\\" change.trigger=\\\"setContext()\\\"></ka-control>\\n          </div>\\n          <div if.bind=\\\"privileges.isParent\\\" class=\\\"col-12 p-0\\\">\\n            <ka-control schema.bind=\\\"{ control: 'text', label: mdt.parsers.contextualize(api.user, 'Utente') }\\\" value.bind=\\\"searchSubusers\\\" readonly.bind=\\\"data.context === 'ME'\\\" buttons=\\\"clear\\\"></ka-control>\\n          </div>\\n        </template>\\n      </div>\\n\\n      <!-- Subusers -->\\n      <template if.bind=\\\"!privileges.isOperator\\\">\\n        <ul if.bind=\\\"subusers\\\" class=\\\"m-0 p-0 subusers ${data.context === 'SUBUSERS' && subusers ? 'show' : 'hide'}\\\">\\n          <template repeat.for=\\\"subuser of subusers\\\">\\n            <li id=\\\"${subuser.id}\\\" click.delegate=\\\"selectSubuser(subuser)\\\">\\n              <span class=\\\"limitwidth-30\\\">${subuser.profile[0].displayName}</span>\\n            </li>\\n          </template>\\n        </ul>\\n      </template>\\n    </div>\\n\\n    <!-- Price lists -->\\n    <div class=\\\"col-6 col-md-8 p-0 right-side\\\">\\n      <h2 class=\\\"m-0\\\">\\n        <span if.bind=\\\"data.selectedSubuser || data.selectedUser\\\">Elenco dei listini di ${data.selectedUser ? data.selectedUser.displayName : data.selectedSubuser.displayName}</span>\\n        <span if.bind=\\\"data.context === 'ME'\\\">Elenco dei miei listini</span>\\n        <span if.bind=\\\"data.context !== 'ME' && !data.selectedSubuser && !data.selectedUser\\\">Elenco listini</span>\\n      </h2>\\n      <md-table-progressbar if.bind=\\\"pricelistsPending\\\"></md-table-progressbar>\\n      <template if.bind=\\\"!pricelistsPending && pricelists && (data.context === 'ME' || data.selectedSubuser || data.selectedUser)\\\">\\n        <ul if.bind=\\\"pricelists.length\\\" class=\\\"m-0 pricelists\\\" style=\\\"list-style: none;\\\">\\n          <li repeat.for=\\\"pricelist of pricelists\\\" class=\\\"p-0 ${$index === 0 ? 'current' : ''} ${$index+1 ===  pricelists.length && pricelists[pricelists.length - 1].endAt === null ? 'endless' : ''}\\\">\\n            <div class=\\\"pricelist-date\\\">\\n              <span class=\\\"text-nowrap\\\">${pricelist.startAt|dateFormat:'DD/MM/YYYY'}</span>\\n            </div>\\n            <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n            <div class=\\\"row wrapper-pricelist flex-column flex-xl-row\\\">\\n              <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n              <div class=\\\"col-12 col-xl-auto p-0\\\">\\n                <span>${pricelist.label}${pricelistDefault === pricelist.code ? ' - Predefinito' : ''}</span><br>\\n                <a \\n                  href=\\\"${legacyLink}${pricelist.code}\\\"\\n                  target=\\\"_blank\\\" \\n                  class=\\\"pricelist-detail\\\">\\n                  <i class=\\\"far fa-external-link\\\"></i>Vedi dettaglio listino\\n                </a>\\n              </div>\\n              <div class=\\\"col-12 col-xl d-flex flex-column align-items-xl-end p-0 code-label\\\">\\n                ${$index === 0 ? 'Listino corrente' : 'Listino in programma'}\\n                <small if.bind=\\\"privileges.isOperator && pricelist.authorDisplayName\\\" class=\\\"limitwidth\\\">Creato da ${pricelist.authorDisplayName} il ${pricelist.createdAt}</small>\\n              </div>\\n            </div>\\n          </li>\\n          <li if.bind=\\\"pricelists[pricelists.length-1].endAt !== null\\\" class=\\\"p-0 pricelists-end\\\">\\n            <div class=\\\"pricelist-date\\\">\\n              <span class=\\\"text-nowrap\\\">${pricelists[pricelists.length-1].endAt|dateFormat:'DD/MM/YYYY'}</span>\\n            </div>\\n            <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n          </li>\\n        </ul>\\n      </template>\\n      <template if.bind=\\\"!pricelists.length && !pricelistsPending\\\">\\n        <p if.bind=\\\"data.selectedUser || data.selectedSubuser\\\">Nessun listino disponibile</p>\\n        <p if.bind=\\\"!data.selectedUser && !data.selectedSubuser\\\">Nessun utente selezionato</p>\\n      </template>\\n      <div if.bind=\\\"api.hasRole('CREATE_ANY_USER_PRICE_LIST_SCHEDULE') && (data.selectedSubuser || data.selectedUser)\\\" class=\\\"d-flex flex-column align-items-start mt-5 px-4 flex-xl-row justify-content-xl-end m-xl-0\\\">\\n        <ka-button if.bind=\\\"data.selectedUser && data.selectedUser.group === 'MASTER_USER'\\\" click.delegate=\\\"subusersPricelistSchedule()\\\" ka-tooltip.bind=\\\"'La pianificazione applicata a questo utente sarà applicata a tutti i suoi '+mdt.parsers.contextualize(data.selectedUser.businessType, 'sottoutenti')\\\" class=\\\"secondary flat m-0 me-xl-3\\\">Applica pianificazione ad ogni ${mdt.parsers.contextualize(data.selectedUser.businessType, 'sottoutente')}</ka-button>\\n        <ka-button click.delegate=\\\"newPricelistSchedule()\\\" class=\\\"flat mx-0 mt-3 m-xl-0\\\">Pianifica nuovo intervallo</ka-button>\\n      </div>\\n    </div>\\n  </div>\\n</template>\\n\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-assegna.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p class=\\\"user\\\">\\n      <span>Utente: <strong>${params.user.profile.displayName}</strong></span>\\n      <span if.bind=\\\"params.user.profile.email\\\" style=\\\"margin-left: 1rem\\\">Email: <strong>${params.user.profile.email}</strong></span>\\n    </p>\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <h2>Ricerca promozioni</h2>\\n      <div class=\\\"row px-2 g-3 app-shared-search-style\\\">\\n        <div class=\\\"col-4\\\">\\n          <ka-control schema.bind=\\\"searchInterface.schema.code\\\" value.bind=\\\"searchInterface.data.code\\\" buttons=\\\"clear\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col-4\\\">\\n          <ka-control schema.bind=\\\"searchInterface.schema.description\\\" value.bind=\\\"searchInterface.data.description\\\" buttons=\\\"clear\\\"></ka-control>\\n        </div>\\n        <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n          <ka-button click.delegate=\\\"searchInterface.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n          <ka-button click.delegate=\\\"searchInterface.search()\\\">Ricerca</ka-button>\\n        </div>\\n      </div>\\n    </template>\\n    <template if.bind=\\\"tableInterface\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th>Codice</th>\\n              <th>Descrizione</th>\\n              <th>Scadenza</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"item of tableInterface.data\\\">\\n              <td class=\\\"promo-code\\\">\\n                <span \\n                  class=\\\"copy-text\\\" \\n                  click.delegate=\\\"copyText(item.code, 'Codice')\\\" \\n                  ka-tooltip.bind=\\\"`Copia codice: ${item.code}`\\\">${item.code}\\n                </span>\\n              </td>\\n              <td>\\n                <span \\n                  class=\\\"copy-text with-icon\\\" \\n                  click.delegate=\\\"copyText(item.description, 'Descrizione')\\\" \\n                  ka-tooltip.bind=\\\"`Copia descrizione: ${item.description}`\\\">${item.description}\\n                </span>\\n              </td>\\n              <td class=\\\"d-flex align-items-center justify-content-end\\\">\\n                <ka-control\\n                  view-model.ref=\\\"item.controls['expireAt']\\\"\\n                  schema.bind=\\\"searchInterface.schema.expireAt\\\"\\n                  value.bind=\\\"item.expireAt\\\"\\n                  class=\\\"expire-at\\\"\\n                  buttons=\\\"clear,dropdown\\\">\\n                </ka-control>\\n                <ka-button \\n                  click.delegate=\\\"addPromotion($event, item)\\\"\\n                  class=\\\"flat inverted ms-3\\\"\\n                  ka-tooltip=\\\"Assegna promozione\\\">\\n                  <i class=\\\"far fa-plus\\\"></i>\\n                  <span>Assegna</span>\\n                </ka-button>\\n              </td>      \\n            </tr>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td if.bind=\\\"!tableInterface.data.length\\\">Nessuna promozione disponibile</td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-crea.scss\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"code\\\" buttons=\\\"clear\\\"></ka-control>\\n    <ka-control name=\\\"description\\\" value.bind=\\\"resource.data.description\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni-modifica.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control if.bind=\\\"params.type === 'EDIT'\\\" name=\\\"expireAt\\\" buttons=\\\"clear,dropdown\\\"></ka-control>\\n    <ka-control name=\\\"notes\\\" buttons=\\\"clear\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted\\\" click.trigger=\\\"controller.cancel()\\\">Annulla</ka-button>\\n    <ka-button click.delegate=\\\"save()\\\">Continua</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./promozioni.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\" if.bind=\\\"privileges\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" if.bind=\\\"privileges.tabs[tab.id]\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params, tools }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Utente di riferimento</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <!-- Currently the view is visible only to operators -->\\n      <div if.bind=\\\"!privileges.isOperator\\\" class=\\\"col-${data.context === 'subusers' ? '4' : '8'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'subusers'\\\" class=\\\"col-4\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-4\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      \\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface && selectedUserId\\\">\\n    <h2>\\n      <span if.bind=\\\"selectedUserId === 'me'\\\">Elenco delle promozioni assegnate a me</span>\\n      <span if.bind=\\\"selectedUserId !== 'me'\\\">Elenco delle promozioni assegnate ${selectedUserData.profile.displayName ? 'a '+selectedUserData.profile.displayName : ''}</span>\\n      <ka-button \\n        if.bind=\\\"api.hasRole('CREATE_ANY_USER_PROMOTION_ASSOCIATION')\\\"\\n        click.delegate=\\\"addPromotion()\\\" \\n        class=\\\"inverted flat with-icon\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Assegna promozione</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Descrizione</th>\\n            <th>Stato</th>\\n            <th>Scadenza</th>\\n            <th if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PROMOTION_ASSOCIATION')\\\"></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"promo-code\\\">\\n              <span \\n                class=\\\"copy-text\\\" \\n                click.delegate=\\\"tools.copyText(item.promotionCode, 'Codice')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.promotionCode}`\\\">${item.promotionCode}\\n              </span>\\n            </td>\\n            <td>\\n              <span \\n                class=\\\"copy-text with-icon\\\" \\n                click.delegate=\\\"tools.copyText(item.promotionDescription, 'Descrizione')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.promotionDescription}`\\\">${item.promotionDescription}\\n              </span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"item.status === 'ACTIVE'\\\" class=\\\"new-tag success\\\">Attiva</span>\\n              <span if.bind=\\\"item.status === 'EXPIRED'\\\" class=\\\"new-tag error\\\">Terminata</span>\\n            </td>\\n            <td>\\n              <span if.bind=\\\"item.expireAt\\\" style=\\\"white-space: nowrap\\\">${item.expireAt|dateFormat:'DD/MM/YYYY'}</span>\\n              <span else>Illimitata</span>\\n            </td>\\n            <td if.bind=\\\"api.hasRole('MODIFY_ANY_USER_PROMOTION_ASSOCIATION')\\\">\\n              <div class=\\\"d-flex justify-content-end\\\">\\n                <ka-button\\n                  click.delegate=\\\"editPromotion($event, item)\\\"\\n                  class=\\\"m-0 flat inverted\\\">\\n                  Modifica\\n                </ka-button>\\n                <ka-button\\n                  disabled.bind=\\\"item.status === 'EXPIRED'\\\"\\n                  click.delegate=\\\"endsPromotion($event, item)\\\" \\n                  class=\\\"flat inverted secondary with-icon m-0 ms-2\\\">\\n                  <i class=\\\"fas fa-times\\\"></i>\\n                  <span>Termina</span>\\n                </ka-button>\\n              </div>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"code\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-6 col-lg-4\\\">\\n        <md-control name=\\\"description\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      \\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button> \\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>Elenco promozioni \\n      <ka-button \\n        if.bind=\\\"api.hasRole('CREATE_PROMOTIONS')\\\" \\n        click.delegate=\\\"createPromotion()\\\" \\n        class=\\\"inverted flat with-icon\\\">\\n        <i class=\\\"far fa-plus\\\"></i>\\n        <span>Crea nuova promozione</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Descrizione</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"item of tableInterface.data\\\">\\n            <td class=\\\"promo-code\\\">\\n              <span \\n                class=\\\"copy-text\\\" \\n                click.delegate=\\\"copyText(item.code, 'Codice')\\\" \\n                ka-tooltip.bind=\\\"`Copia codice: ${item.code}`\\\">${item.code}\\n              </span>\\n              <small\\n                if.bind=\\\"item.type === 'PORTABILITY'\\\" \\n                class=\\\"ms-2 tag primary\\\"\\n                ka-tooltip=\\\"Le promozioni di portabilità non potranno essere utilizzate per l'attivazione e sono applicabili solo in fase di rinnovo.\\\">\\n                Portabilità\\n              </small>\\n            </td>\\n            <td>\\n              <span class=\\\"copy-text with-icon\\\" click.delegate=\\\"copyText(item.description, 'Descrizione')\\\" ka-tooltip.bind=\\\"`Copia codice: ${item.description}`\\\">${item.description}</span>\\n            </td>  \\n          </tr>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td if.bind=\\\"!tableInterface.data.length\\\">Nessun risultato per i criteri di ricerca impostati</td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./ricariche.sass\\\"></require>\\n  <ka-tabs id=\\\"main\\\">\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ privileges, params }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <template if.bind=\\\"searchInterface.initialized\\\">\\n    <h2>Ricerca ricariche</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n      <div if.bind=\\\"!privileges.isOperator\\\" class=\\\"col-${data.context === 'subusers' ? '3' : '6'}\\\">\\n        <md-control name=\\\"context\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"userChange()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator || data.context === 'subusers'\\\" class=\\\"col-3\\\">\\n        <md-control name=\\\"user\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"userChange()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-3\\\">\\n        <md-control name=\\\"types\\\" buttons=\\\"dropdown,clear\\\" readonly.bind=\\\"!users.selected\\\" change.call=\\\"typesChange()\\\"></md-control>\\n      </div>\\n      <div if.bind=\\\"api.hasRole('LIST_INVISIBLE_SHOP_CATALOG_REFILL_PACKAGES')\\\" class=\\\"col-3\\\">\\n        <md-control name=\\\"visible\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <!-- TABLE INTERFACE -->\\n  <template if.bind=\\\"tableInterface\\\">\\n    <h2>\\n      <span if.bind=\\\"users.fetched.id === api.user.id\\\">Elenco delle ricariche per il mio ${mdt.parsers.contextualize(api.user, 'account')}</span>\\n      <span if.bind=\\\"users.fetched.id !== api.user.id\\\">Elenco delle ricariche per  ${users.fetched.displayName}</span>\\n    </h2>\\n    <md-table-progressbar if.bind=\\\"tableInterface.isLoading\\\"></md-table-progressbar>\\n    <md-table-wrapper>     \\n      <table class=\\\"ka-table-like \\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Codice</th>\\n            <th>Pacchetto</th>\\n            <th>Note Legali</th>\\n            <th>Totale</th>\\n            <th>IVA</th>\\n            <th>Totale + IVA</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <template if.bind=\\\"tableInterface.data.length && users.fetched.packages.length\\\">\\n          <template repeat.for=\\\"type of users.fetched.packages\\\">\\n            <tbody if.bind=\\\"type.packages.length\\\" class.bind=\\\"tableInterface.isLoading ? 'isLoading' : ''\\\">\\n              <tr class=\\\"type-header\\\">\\n                <td colspan=\\\"7\\\">\\n                  <p>\\n                    <span>${type.title}</span>\\n                    <span class=\\\"iva\\\">IVA: <span if.bind=\\\"type.vatPercentage\\\">${type.vatPercentage}%</span><span if.bind=\\\"!type.vatPercentage\\\">non applicabile</span></span>\\n                    <span class=\\\"description\\\" innerhtml=\\\"${type.description}\\\"></span>\\n                  </p>\\n                </td>\\n              </tr>\\n              <template repeat.for=\\\"pkg of type.packages\\\">\\n                <tr id=\\\"${pkg.code}\\\">\\n                  <td class=\\\"code\\\"><span>${pkg.code}</span></td>\\n                  <td>${pkg.title}<!-- <small if.bind=\\\"pkg.description\\\"><br>${pkg.description}</small id=971393326 --></td>\\n                  <td>${pkg.legalNote}</td>\\n                  <td>${pkg.netAmount/100} €</td>\\n                  <td>${pkg.vatAmount/100} €</td>\\n                  <td>${pkg.amount/100} €</td>\\n                  <td class=\\\"d-flex flex-column align-items-end\\\">\\n                    <div class=\\\"quantity-selector\\\">\\n                      <div class=\\\"d-flex\\\" if.bind=\\\"users.fetched.cart.packages[pkg.code] > 0\\\">\\n                        <div>\\n                          <ka-button class=\\\"flat inverted icon\\\" click.delegate=\\\"setQuantity(pkg, -1)\\\" disabled.bind=\\\"users.fetched.cart.packages[pkg.code] == 1\\\"><i class=\\\"far fa-minus-circle\\\"></i></ka-button>\\n                        </div>\\n                        <div class=\\\"counter\\\">\\n                          <input type=\\\"number\\\" min=\\\"1\\\" value.bind=\\\"users.fetched.cart.packages[pkg.code]\\\" onFocus=\\\"blur()\\\"></input>\\n                        </div>\\n                        <div>\\n                          <ka-button class=\\\"flat inverted icon\\\" click.delegate=\\\"setQuantity(pkg, +1)\\\"><i class=\\\"far fa-plus-circle\\\"></i></ka-button>\\n                        </div>\\n                      </div>\\n                      <div if.bind=\\\"users.fetched.cart.packages[pkg.code] > 0\\\">\\n                        <ka-button class=\\\"flat inverted\\\" click.delegate=\\\"removeFromCart(pkg)\\\">Rimuovi dal carrello</ka-button>\\n                      </div>\\n                    </div>\\n                    <ka-button class=\\\"flat\\\" if.bind=\\\"!users.fetched.cart.packages[pkg.code] || users.fetched.cart.packages[pkg.code] == 0\\\" click.delegate=\\\"addToCart(pkg)\\\">Aggiungi al carrello</ka-button>              \\n                  </td>\\n                </tr>\\n              </template>\\n            </tbody>\\n          </template>\\n        </template>\\n      </table>        \\n    </md-table-wrapper>\\n  </template>\\n\\n  <!-- Cartbar -->\\n  <div class=\\\"cartbar\\\">\\n    <i class=\\\"fas fa-cart-plus\\\"></i>\\n    <div class=\\\"cart-info\\\">\\n      <span class=\\\"summary\\\"><em>${users.fetched.cart.quantity}</em><div>ricariche nel carrello di <span class=\\\"user\\\">${users.fetched.displayName}</span></div></span>\\n      <span class=\\\"amount\\\">Totale <strong>${users.fetched.cart.amount.net/100} € +</strong><strong>IVA ${users.fetched.cart.amount.vat/100} €</strong></span>\\n    </div>\\n    <div class=\\\"cart-buttons\\\">\\n      <ka-button if.bind=\\\"api.hasRole(['CREATE_USER_SHOP_CART_REFILL_PACKAGES', 'CREATE_ANY_USER_SHOP_CART_REFILL_PACKAGE'])\\\" click.delegate=\\\"checkout($event)\\\" class=\\\"flat\\\" disabled.bind=\\\"!users.fetched.cart.quantity\\\">Procedi al pagamento</ka-button>\\n      <ka-button class=\\\"flat inverted\\\" click.delegate=\\\"emptyCart()\\\" disabled.bind=\\\"!users.fetched.cart.quantity\\\">Svuota</ka-button>\\n    </div>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./bank-transfer-data.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"!prececkout\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"prececkout\\\">\\n      <h3>\\n        <span>Hai creato l'ordine per questa spedizione il ${prececkout.createdAt|dateFormat:'DD/MM/YYYY'}.</span>\\n        <span class=\\\"d-block mt-2\\\">I dati per procedere al pagamento tramite bonifico bancario:</span>\\n      </h3>\\n      <ul class=\\\"tables\\\">\\n        <li class=\\\"table recipient-total\\\">\\n          <div class=\\\"grid-row voice\\\">\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Titolare conto:</strong> \\n                <span \\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia titolare conto\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.payeeDisplayName, 'titolare conto')\\\">${prececkout.paymentCoors.payeeDisplayName}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Iban:</strong> \\n                <span \\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia Iban\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.payeeIbanCode, 'Iban')\\\">${prececkout.paymentCoors.payeeIbanCode}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>Causale bonifico:</strong> \\n                <span\\n                  class=\\\"copy-text with-icon tag primary d-block d-md-inline-block mt-2 mt-md-0\\\"\\n                  sui-tooltip=\\\"copia codice di conferma breve\\\"\\n                  click.delegate=\\\"copyText(prececkout.paymentCoors.confirmationShortCode, 'codice di conferma breve')\\\">${prececkout.paymentCoors.confirmationShortCode}\\n                </span>\\n              </small>\\n            </div>\\n            <div class=\\\"colmn\\\">\\n              <small>\\n                <strong>importo totale:</strong> <span class=\\\"d-block d-md-inline-block mt-2 mt-md-0\\\">${prececkout.paymentCoors.presentedGrossAmount} €</span>\\n              </small>\\n            </div>\\n          </div>\\n        </li>                                          \\n      </ul>\\n      <p class=\\\"info\\\">\\n        <small>\\n          <i class=\\\"far fa-exclamation-circle\\\"></i>\\n          Per velocizzare i tempi di lavorazione invia un'email a <a href=\\\"${email.mailto}\\\">${prececkout.paymentCoors.customerCareEmail}</a><br>\\n          Allega la <strong>distinta di pagamento</strong> e specifica il <strong>codice di conferma breve o causale bonifico</strong> nell'oggetto dell'email.<br class=\\\"d-none d-md-block\\\">\\n          <span innerhtml.bind=\\\"customerCareConfirmation\\\"></span>\\n        </small>\\n      </p>  \\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./legacy-history.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <ka-control name=\\\"archive\\\" buttons=\\\"dropdown\\\" change.trigger=\\\"setArchiveLabel()\\\"></ka-control>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"secondary inverted flat\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button\\n      disabled.bind=\\\"!resource.data.archive\\\"\\n      class=\\\"inverted flat ms-0\\\"\\n      click.delegate=\\\"toLegacyArchive()\\\">Vai a storico ${archiveLabel}\\n    </ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./message-cost-detail.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th class=\\\"text-end pe-3\\\">Imponibile</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"record of costVoices.items\\\">\\n            <tr>\\n              <td style=\\\"width: 1%; white-space: nowrap\\\">${record.labelType}</td>\\n              <td style=\\\"white-space: nowrap\\\" class=\\\"text-end\\\">${record.netAmount} €</td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td><strong class=\\\"text-primary\\\">Totale IVA esclusa</strong></td>\\n            <td class=\\\"text-end\\\">\\n              <span class=\\\"text-primary\\\"> ${costVoices.total.netAmount} €</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./message-status-transitions-history.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"isLoading\\\">Caricamento in corso...</p>\\n    <ul else class=\\\"m-0 statuses\\\" style=\\\"list-style: none;\\\">\\n      <li repeat.for=\\\"record of message.timeline\\\" class=\\\"p-0 ${record.ended ? 'ended' : ''}\\\">\\n        <div class=\\\"status-date\\\">\\n          <div class=\\\"d-flex justify-content-center align-items-center\\\">\\n            <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n            <div class=\\\"d-flex flex-column\\\">\\n              <span class=\\\"text-nowrap date\\\">${record.reachedAt|dateFormat:'DD/MM/YYYY'}</span>\\n              <small class=\\\"text-nowrap time\\\">${record.reachedAt|dateFormat:'HH:mm'}</small>\\n            </div>\\n          </div>\\n        </div>\\n        <span class=\\\"flex-shrink-0 timeline-interval\\\"><div class=\\\"circle\\\"></div></span>\\n        <div class=\\\"row wrapper-status flex-column flex-xl-row\\\">\\n          <svg version=\\\"1.1\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 296 400\\\" xml:space=\\\"preserve\\\" style=\\\"enable-background:new 0 0 296 400;\\\"><polyline points=\\\"299.4,395 18.6,200 299.4,5\\\"/></svg>\\n          <div class=\\\"p-0\\\">\\n            <span class=\\\"tag status d-flex align-items-center with-icon ${queueMessages.getQueueMessageStatusCodeGroupValue(record.code)}\\\">\\n              ${queueMessages.getQueueMessageStatusCodeLabel(record.code)}\\n            </span>\\n            <small class=\\\"reason\\\">${record.reason}</small>\\n          </div>\\n        </div>\\n      </li>\\n    </ul>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-cost-detail.sass\\\"></require>\\n  <div class=\\\"body p-3\\\">\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Descrizione</th>\\n            <th class=\\\"text-end pe-3\\\">Imponibile</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"record of costVoices.items\\\">\\n            <tr>\\n              <td style=\\\"white-space: nowrap\\\">${record.labelType}</td>\\n              <td style=\\\"white-space: nowrap\\\" class=\\\"text-end\\\">${record.netAmount} €</td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td><strong>Totale IVA esclusa</strong></td>\\n            <td class=\\\"text-end\\\">${costVoices.total.netAmount} €</td>\\n          </tr>\\n          <tr>\\n            <td><strong>IVA</strong></td>\\n            <td class=\\\"text-end\\\">${costVoices.total.vatAmount} €</td>\\n          </tr>\\n          <tr>\\n            <td><strong class=\\\"text-primary\\\">Totale complessivo</strong></td>\\n            <td>\\n              <p \\n                class=\\\"gross-amount ${ record.status }\\\">\\n                ${costVoices.total.grossAmount} €\\n              </p>\\n              <p \\n                class=\\\"order-amount\\\"\\n                if.bind=\\\"record.status === 'DISCONTINUED' && record.costVoices.total.grossAmountAfterRefund\\\">\\n                ${record.costVoices.total.grossAmountAfterRefund} €\\n              </p>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./queue-csv-download.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <template if.bind=\\\"sendCodeErrors\\\">\\n      <p class=\\\"m-0 p-3\\\">\\n        <strong>Il file CSV è stato creato con successo ma non ha incluso alcune spedizioni.</strong>\\n      </p>\\n      <h3 class=\\\"m-0 p-3\\\">Elenco delle spedizioni in errore:</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th>Codice spedizione</th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <template repeat.for=\\\"code of sendCodes\\\">\\n            <tr>\\n              <td>${code} \\n                <small\\n                  class=\\\"error\\\"\\n                  ka-tooltip=\\\"Spedizione inesistente. Contatta l'assistenza\\\">Descrizione errore\\n                </small>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n      </table>\\n    </template>\\n    <p else class=\\\"m-0 p-3\\\">\\n      <span>Stai generando un file CSV contenente le sole spedizioni selezionate.</span>\\n      <strong class=\\\"d-block mt-3\\\">Sicuro di voler procedere al download del file?</strong>\\n    </p>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button if.bind=\\\"!sendCodeErrors\\\" class=\\\"ms-0\\\" click.delegate=\\\"csvDownload($event)\\\">Conferma</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-attachments.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingInit\\\">Caricamento in corso...</p>\\n    <p if.bind=\\\"errorInit\\\">Errore in fase di caricamento</p>\\n    <template if.bind=\\\"pendingInit === false && !errorInit\\\">\\n      <div class=\\\"general-options\\\" if.bind=\\\"globalCover || globalStaple === 'YES' || fastDelivery === 'YES'\\\">\\n        <h3>Altre opzioni</h3>\\n        <template if.bind=\\\"globalStaple === 'YES'\\\">\\n          <p><strong>Pinzatura globale: </strong>tutti i documenti pinzati assieme.</p><br>\\n        </template>\\n        <template if.bind=\\\"fastDelivery === 'YES'\\\">\\n          <p><strong>Servizio accelera: </strong>elaborazione stampa prioritaria.</p><br>\\n        </template>\\n        <p if.bind=\\\"globalCover.label\\\" ka-tooltip=\\\"Copertina che racchiude tutti i documenti con visibilità comune\\\">\\n          <strong>Copertina globale: </strong>${globalCover.label}\\n        </p>\\n      </div>\\n      <h3 if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">Elenco documenti</h3>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th>Nome file</th>\\n            <th>Dimensione</th>\\n            <template if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <th>Visibilità</th>\\n              <th>Parametri di stampa</th>\\n            </template>\\n            <th if.bind=\\\"messageChannel === 'MULTICERTA'\\\">Firma</th>\\n             <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <tr repeat.for=\\\"attachment of tableInterface.data\\\">\\n            <td><small class=\\\"text-color\\\">${attachment.filename}</small></td>\\n            <td>${attachment.filesize|filesizeFormat}</td>\\n            <td if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <span class=\\\"tag ${attachment.printingParameters.visibility === 'private' ? 'primary' : 'secondary'}\\\">\\n                ${attachment.printingParameters.visibility === 'private' ? 'Privata' : 'Comune'}\\n              </span>\\n            </td>\\n            <td if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(messageChannel)\\\">\\n              <div class=\\\"format-options\\\">\\n                <span><strong>Formato: </strong>${attachment.printingParameters.sheetFormat}</span>\\n                <span if.bind=\\\"attachment.printingParameters.weight\\\">${attachment.printingParameters.weight}gr/m<sup>2</sup></span>\\n              </div>\\n              <div class=\\\"printing-options\\\">\\n                <strong>Opzioni: </strong>\\n                <span if.bind=\\\"attachment.printingParameters.frontBack\\\">stampa ${attachment.printingParameters.frontBack === 'BOTH' ? 'fronte/retro' : 'solo fronte'}</span>\\n                <span if.bind=\\\"globalStaple === 'NO' && attachment.printingParameters.staple === 'YES'\\\">pinzatura</span>\\n              </div>\\n              <div>\\n                <strong>Modalità di stampa: </strong>${attachment.printingParameters.colorMode === 'BW' ? 'stampa in bianco e nero' : 'stampa a colori'}\\n              </div>\\n              <div if.bind=\\\"attachment.cover.label && attachment.printingParameters.visibility === 'global'\\\">\\n                <strong>Copertina: </strong>${attachment.cover.label}\\n              </div>\\n            </td>\\n            <td if.bind=\\\"messageChannel === 'MULTICERTA'\\\" class=\\\"signature\\\">\\n              ${attachment.requiredSignatureType}\\n              <span if.bind=\\\"attachment.requiredSignatureType\\\">\\n                <i class=\\\"fas fa-check ms-3 ${attachment.signatureDate ? 'checked' : ''}\\\"></i>\\n              </span>\\n            </td>\\n            <td class=\\\"d-flex justify-content-end\\\">\\n              <template if.bind=\\\"attachment.requiredSignatureType\\\">\\n                <ka-button\\n                  ka-tooltip=\\\"Visualizza file firmato\\\"\\n                  class=\\\"flat primary inverted icon m-0 me-2\\\"\\n                  click.delegate=\\\"mdFileViewer.fileViewer(`${endpoint}/${attachment.uuid}/signed-download`, 'pdf', $event)\\\">\\n                  <i class=\\\"fas fa-eye\\\"></i>\\n                </ka-button>\\n                <ka-button \\n                  ka-tooltip=\\\"Scarica file firmato\\\"\\n                  class=\\\"flat secondary inverted wicon m-0 me-2\\\"\\n                  click.delegate=\\\"downloadFile('signed-download', attachment, $event)\\\">\\n                  <i class=\\\"fas fa-file-contract\\\"></i>\\n                </ka-button>\\n              </template>\\n              <template else>\\n                <ka-button\\n                  ka-tooltip=\\\"Visualizza file\\\"\\n                  class=\\\"flat primary inverted icon m-0 me-2\\\"\\n                  click.delegate=\\\"mdFileViewer.fileViewer(`${endpoint}/${attachment.uuid}/download`, 'pdf', $event)\\\">\\n                  <i class=\\\"fas fa-eye\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  ka-tooltip=\\\"Scarica file\\\"\\n                  class=\\\"flat secondary inverted icon m-0\\\"\\n                  click.delegate=\\\"downloadFile('download', attachment, $event)\\\">\\n                  <i class=\\\"fas fa-file-download\\\"></i>\\n                </ka-button>\\n              </template>\\n            </td>\\n          </tr>\\n        </tbody>\\n        <tfoot if.bind=\\\"!tableInterface.data.length && pendingInit === false\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Non sono presenti allegati</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-multibox-detail.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <div class=\\\"addressLines\\\">\\n      <p><strong>Destinatario: </strong><span>${multibox.addressLines[0]}.</span></p>\\n      <p><strong>Comune\\\\Città: </strong><span>${multibox.addressLines[3]}.</span></p>\\n      <p><strong>Indirizzo: </strong><span>${multibox.addressLines[1]}, ${multibox.addressLines[2]}.</span></p>\\n      <p if.bind=\\\"multibox.addressLines.length === 5\\\"><strong>Presso: </strong><span>${multibox.addressLines[4]}.</span></p>\\n      <p><strong>Elenco destinatari: </strong><span>${multibox.list ? 'Aggiungi elenco' : 'Non aggiungere'}.</span></p>\\n    </div>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report-queue-resend.sass\\\"></require>\\n  <div class=\\\"body\\\">\\n    <p if.bind=\\\"pendingSearch && !errorSearch && !searchInterface.initialized\\\">Caricamento in corso...</p>\\n    <template if.bind=\\\"searchInterface.initialized\\\">\\n      <p class=\\\"alert\\\">Genera una bozza della spedizione del tutto identica all'originale. La bozza della spedizione, dopo essere stata generata sarà comunque modificabile.</p>\\n      <template if.bind=\\\"searchInterface\\\">\\n        <h2>Ricerca destinatari</h2>\\n        <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"textSearch\\\" submit.call=\\\"search()\\\" buttons=\\\"clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col\\\">\\n            <md-control name=\\\"channel\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n          </div>\\n          <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n            <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n            <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n          </div>\\n        </div>\\n      </template>\\n      <h2 class=\\\"m-0 d-flex justify-content-between\\\" style=\\\"border-bottom: none\\\">\\n        <span>Elenco destinatari</span>\\n        <div>\\n          <span><small class=\\\"recipients-counter\\\">Selezionati <strong>${numberSelected}</strong> destinatari su <strong>${allUuids.length}</strong></small></span>\\n          <ka-button click.delegate=\\\"selectAll(!allSelected)\\\" class=\\\"selection-btn flat inverted secondary\\\" >${!allSelected ? 'Seleziona tutti' : 'Deseleziona tutti'}</ka-button>\\n        </div>\\n      </h2>\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"50,100,200\\\"></md-table-toolbar>\\n      <md-table-wrapper>\\n        <table if.bind=\\\"!pendingSearch\\\" class=\\\"ka-table-like\\\">\\n          <thead>\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"allPageSelected\\\" \\n                  change.trigger=\\\"togglePageSelection($event)\\\">\\n              </th>\\n              <th style=\\\"padding: 1rem\\\">Denominazione</th>\\n              <th style=\\\"width: 1%; padding: 1rem\\\">Canale utilizzato</th>\\n              <th style=\\\"padding: 1rem\\\">Indirizzo</th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <tr repeat.for=\\\"record of tableInterface.data\\\">\\n              <td style=\\\"cursor: pointer; width: 1%\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"selectableRecipients[record.uuid]\\\"\\n                  change.trigger=\\\"toggleRecipientSelection()\\\">\\n              </td>\\n              <td>${record.label}</td>\\n              <td style=\\\"width: 1%\\\">\\n                <span style=\\\"white-space: nowrap\\\">\\n                  <i \\n                    class=\\\"fal ${record.channel|queueChannelFormat:'icon'} text-primary\\\" \\n                    style=\\\"font-size: 1.8rem; vertical-align: middle; width: 2.5rem\\\">\\n                  </i>\\n                <span>${record.channel|queueChannelFormat}</span>\\n                </span>\\n              </td>\\n              <td>\\n                <small>${record.address}</small>\\n              </td>\\n            </tr>\\n          </tbody>\\n          <tfoot if.bind=\\\"!tableInterface.data.length || errorSearch\\\">\\n            <tr>\\n              <td colspan=\\\"4\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Nessun destinatario trovato</span>\\n                <p if.bind=\\\"errorSearch\\\">Errore in fase di caricamento</p>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </div>\\n  <div class=\\\"footer\\\">\\n    <ka-button class=\\\"inverted secondary m-0\\\" click.delegate=\\\"controller.cancel()\\\">Chiudi</ka-button>\\n    <ka-button disabled.bind=\\\"numberSelected == 0\\\" class=\\\"inverted primary\\\" click.delegate=\\\"createNewDraft()\\\">Prosegui</ka-button>\\n  </div>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./drafts.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca bozze</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUBUSERS' ? 3 : 6}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS'\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <h2 class=\\\"d-flex align-items-center justify-content-between\\\">\\n    <span>Elenco spedizioni in stato bozza</span>\\n    <div>\\n      <ka-button\\n        click.delegate=\\\"deleteSelectedDrafts($event)\\\"\\n        disabled.bind=\\\"!select.someRecordsSelected\\\"\\n        class=\\\"inverted with-icon flat\\\">\\n        <i class=\\\"material-icons\\\">sync</i>\\n        <span>Elimina bozze selezionate</span>\\n      </ka-button>\\n    </div>\\n  </h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th click.trigger=\\\"select.allRecords()\\\" style=\\\"cursor: pointer;\\\">\\n              <input type=\\\"checkbox\\\" checked.bind=\\\"select.allRecordsSelected\\\" style=\\\"pointer-events: none;\\\">\\n            </th>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n            <th>Data di scadenza</th>\\n            <th>Promemoria</th>\\n            <th>Proprietario</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr style=\\\"cursor: pointer;\\\">\\n              <td click.trigger=\\\"select.someRecords(record)\\\">\\n                <input type=\\\"checkbox\\\" checked.bind=\\\"select.recordsSelected[record.id]\\\" style=\\\"pointer-events: none;\\\">\\n              </td>\\n              <td>${record.createdAt|dateFormat}\\n              </td>\\n              <td>${record.expireAt|dateFormat}\\n              <td class=\\\"limitwidth-40\\\" style=\\\"word-break: break-all;\\\">\\n                <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n              </td>\\n              <td>${record.owner.displayName}</td>\\n              <td class=\\\"ka-table-row-tools\\\">\\n                <div class=\\\"tools-wrapper\\\">\\n                  <button click.delegate=\\\"editDraft(record)\\\" ka-tooltip=\\\"Modifica\\\"><i class=\\\"fal fa-pencil\\\"></i></button>\\n                  <button click.delegate=\\\"deleteDraft(record)\\\" ka-tooltip=\\\"Elimina\\\"><i class=\\\"fal fa-trash-alt\\\"></i></button>\\n                </div>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti bozze</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./pending.sass\\\"></require>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>Ricerca spedizioni in attesa di pagamento</h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!isOperator\\\" class=\\\"col-12 col-md-6 col-lg-${data.context === 'SUBUSERS' ? 3 : 6}\\\">\\n      <md-control\\n        name=\\\"context\\\"\\n        buttons=\\\"dropdown\\\"\\n        change.call=\\\"changeContext()\\\">\\n      </md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n      <md-control\\n        name=\\\"owner\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\"\\n        change.call=\\\"setEndpoint()\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control name=\\\"shipment\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"promemoria, codice spedizione, codice uuid\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spezione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control name=\\\"recipient\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control\\n        name=\\\"paymentMethod\\\"\\n        buttons=\\\"clear,dropdown\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtGte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"createdAtLte\\\"\\n          buttons=\\\"clear,dropdown\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col-12 col-md-3 d-flex\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control\\n          name=\\\"totalGrossGte\\\"\\n          submit.call=\\\"$parent.search()\\\">\\n        </md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control\\n          name=\\\"totalGrossLte\\\"\\n          buttons=\\\"clear\\\"\\n          submit.call=\\\"$parent.search()\\\">\\n        </md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col-12 col-md-3\\\">\\n      <md-control\\n        if.bind=\\\"isOperator\\\"\\n        name=\\\"shortConfirmationCode\\\"\\n        client.bind=\\\"api\\\"\\n        buttons=\\\"dropdown,clear\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <h2>Elenco spedizioni in attesa di pagamento</h2>\\n  <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n    <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"tableInterface.data.length\\\">\\n          <tr>\\n            <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n            <th>Codice spedizione</th>\\n            <th>Promemoria</th>\\n            <th>Proprietario</th>\\n            <th>Totale</th>\\n            <th>Pagamento</th>\\n            <th></th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"tableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of tableInterface.data\\\">\\n            <tr>\\n              <td>${record.createdAt|dateFormat}\\n                <small><br>\\n                  <span\\n                    class=\\\"copy-text with-icon\\\"\\n                    click.delegate=\\\"copyText(record.uuid, 'UUID')\\\"\\n                    ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                    UUID\\n                  </span>\\n                </small>\\n              </td>\\n              <td>\\n                <span\\n                  click.delegate=\\\"copyText(record.sendCode, 'Codice spedizione')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\"\\n                  class=\\\"copy-text with-icon d-flex\\\">\\n                  <small class=\\\"limitwidth-20 text-color\\\">${record.sendCode}</small>\\n                </span>\\n              </td>\\n              <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all;\\\">\\n                <span ka-tooltip=\\\"value.bind: record.topic\\\" class=\\\"text-color\\\">${record.topic}</span>\\n                <div class=\\\"channels\\\">\\n                  <i ka-tooltip=\\\"Posta\\\" class=\\\"fal fa-mail-bulk ${record.usedChannels.includes('sendposta') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Multicerta\\\" class=\\\"fal fa-shield-check ${record.usedChannels.includes('multicerta') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Pec\\\" class=\\\"fal fa-file-certificate ${record.usedChannels.includes('pec') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Multibox\\\" class=\\\"fal fa-box-alt ${record.usedChannels.includes('multibox') ? 'used' : ''}\\\"></i>\\n                  <i ka-tooltip=\\\"Email\\\" class=\\\"fal fa-at ${record.usedChannels.includes('sendemail') ? 'used' : ''}\\\"></i>\\n                </div>\\n              </td>\\n              <td>${record.owner.displayName}</td>\\n              <td>\\n                <span if.bind=\\\"record.costVoices.total.grossAmount\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia totale'\\\"\\n                  click.delegate=\\\"copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                  class=\\\"gross-amount ${isOrderAmountShowable(record) ? 'line-through' : 'copy-text with-icon'}\\\">\\n                  ${record.costVoices.total.grossAmount} €\\n                </span>\\n                <span if.bind=\\\"isOrderAmountShowable(record)\\\"\\n                  class=\\\"order-amount copy-text with-icon\\\"\\n                  click.delegate=\\\"copyText(record.costVoices.total.grossAmount, 'Totale')\\\">\\n                  ${record.costVoices.total.orderAmount} €\\n                </span>\\n              </td>\\n              <td class=\\\"payment\\\">\\n                <template if.bind=\\\"record.paymentMethod\\\">\\n                  <div style=\\\"white-space: nowrap\\\">\\n                    <span>${paymentMethods[record.paymentMethod].label}</span>\\n                    <!-- Delete payment -->\\n                     <small\\n                      click.delegate=\\\"dialogDeletePayment(record)\\\"\\n                      ka-tooltip=\\\"Elimina la sessione di pagamento\\\"\\n                      class=\\\"delete-payment ms-2\\\"\\n                      if.bind=\\\"api.hasRole('MODIFY_QUEUE') && record.paymentMethod === 'E-PAYMENT' && record.multipaygatePaymentSessionStatus === 'PENDING'\\\">\\n                      Elimina pagamento\\n                    </small> \\n                  </div>\\n                  <template if.bind=\\\"!isOperator\\\">\\n                    <small \\n                      if.bind=\\\"record.paymentMethod === 'BANK-TRANSFER'\\\" \\n                      class=\\\"bank-transfer-data\\\" \\n                      click.delegate=\\\"bankTransferData(record)\\\">\\n                      Dati bonifico bancario\\n                    </small>\\n                  </template>            \\n                  <!-- E-PAYMENT (PAYPAL) -->\\n                  <template if.bind=\\\"record.paymentMethod === 'E-PAYMENT'\\\">\\n                    <span \\n                      if.bind=\\\"['ERROR', 'DECEASED'].includes(record.multipaygatePaymentSessionStatus)\\\"\\n                      ka-tooltip=\\\"Errore in fase di pagamento. Puoi riprovare o cambiare il metodo di pagamento.\\\"\\n                      class=\\\"text-error d-block tag error mt-2\\\" style=\\\"white-space: nowrap\\\">\\n                      Esito pagamento negativo.\\n                    </span>\\n                    <span\\n                      class=\\\"payment-pending tag pending mt-2\\\"\\n                      if.bind=\\\"record.multipaygatePaymentSessionStatus === 'PENDING'\\\"\\n                      ka-tooltip=\\\"Errore in fase di pagamento. Puoi riprovare o cambiare il metodo di pagamento.\\\">\\n                        Elaborazione pagamento\\n                    </span>\\n                  </template>\\n                </template>             \\n                <small \\n                  if.bind=\\\"record.shortConfirmationCode && api.hasRole('MODIFY_ANY_ORDER')\\\"\\n                  click.delegate=\\\"copyText(record.shortConfirmationCode, 'codice di conferma breve o causale')\\\"\\n                  ka-tooltip=\\\"value.bind: 'Copia codice di conferma breve o causale'\\\"\\n                  class=\\\"copy-text with-icon d-flex short-confirmation-code\\\">\\n                  ${record.shortConfirmationCode}\\n                </small>\\n              </td>\\n              <td style=\\\"width: 1%; white-space: nowrap\\\" class=\\\"text-end\\\">\\n                <ka-button\\n                  if.bind=\\\"!isOperator\\\"\\n                  click.delegate=\\\"userConfirmOrder(record, $event)\\\"\\n                  disabled.bind=\\\"['PENDING'].includes(record.multipaygatePaymentSessionStatus)\\\"\\n                  class=\\\"flat inverted m-0\\\">Conferma o modifica\\n                </ka-button>\\n                <ka-button\\n                  class=\\\"inverted flat ms-2 ${!isOperator ? 'icon' : ''}\\\"\\n                  disabled.bind=\\\"!record.draftUuid\\\"\\n                  ka-tooltip=\\\"Modifica la bozza della spedizione\\\"\\n                  click.delegate=\\\"bankTranferCheck(record, 'edit')\\\">\\n                  ${isOperator ? 'Modifica' : ''}\\n                  <i if.bind=\\\"!isOperator\\\" class=\\\"fal fa-pencil\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  if.bind=\\\"api.hasRole('CONFIRM_ANY_PRE_CHECKOUT')\\\"\\n                  class=\\\"inverted flat icon ms-2\\\"\\n                  click.delegate=\\\"backofficeConfirmOrder($event, record)\\\"\\n                  disabled.bind=\\\"record.paymentMethod !== 'BANK-TRANSFER'\\\">\\n                  <i class=\\\"far fa-check\\\"></i>\\n                </ka-button>\\n                <ka-button\\n                  disabled.bind=\\\"isOperator\\\"\\n                  class=\\\"inverted flat secondary icon ms-2\\\"\\n                  click.delegate=\\\"bankTranferCheck(record, 'delete')\\\"\\n                  ka-tooltip=\\\"Elimina definitivamente la spedizione\\\">\\n                  <i class=\\\"fal fa-trash-alt\\\"></i>\\n                </ka-button>     \\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot>\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni in attesa di pagamento</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report.sass\\\"></require>\\n  <require from=\\\"./report-detail.sass\\\"></require>\\n\\n  <h2 class=\\\"mb-0\\\">\\n    <span>Dettaglio</span>\\n    <ka-button\\n      if.bind=\\\"isGoBackButtonShowable\\\"\\n      click.delegate=\\\"navigateTo('back')\\\"\\n      class=\\\"flat inverted with-icon\\\"\\n      ka-tooltip=\\\"Torna alla Reportistica\\\">\\n      <i class=\\\"fas fa-arrow-left\\\" style=\\\"vertical-align: unset;\\\"></i>\\n      <span>Indietro</span>\\n    </ka-button>\\n  </h2>\\n\\n  <div class=\\\"queue-details\\\">\\n    <!-- Queue -->\\n    <div class=\\\"queue m-3 me-2\\\">\\n      <h3>\\n        <span class=\\\"me-2 text-nowrap\\\">Spedizione: <span if.bind=\\\"queue\\\" class=\\\"text-color\\\">${queue.sendCode}</span></span>\\n\\n        <ka-button\\n          class=\\\"flat primary inverted with-icon m-0\\\"\\n          ka-tooltip=\\\"Reinvia spedizione\\\"\\n          click.delegate=\\\"dialogQueueResend(queue)\\\">\\n          <i class=\\\"fas fa-share\\\"></i>\\n          <span>Reinvia</span>\\n        </ka-button>\\n      </h3>\\n\\n      <div if.bind=\\\"!queue\\\" class=\\\"loader-wrapper\\\">\\n        <div class=\\\"spinner-loader\\\"></div>\\n      </div>\\n      <table if.bind=\\\"queue\\\" class=\\\"ka-table-like\\\">\\n        <thead>\\n          <tr>\\n            <th><small>Distinta</small></th>\\n            <th><small>Proprietario</small></th>\\n            <th><small>Data creazione</small></th>\\n          </tr>\\n        </thead>\\n        <tbody>\\n          <tr>\\n            <td>\\n              <small\\n                class=\\\"queue-schedule\\\"\\n                style=\\\"white-space: nowrap\\\"\\n                click.delegate=\\\"downloadQueueSchedule()\\\"\\n                if.bind=\\\"api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT'])\\\">Scarica distinta\\n              </small>\\n            </td>\\n            <td><small class=\\\"text-color\\\">${queue.owner.displayName}</small></td>\\n            <td><small>${queue.createdAt|dateFormat}</small></td>\\n          </tr>\\n\\n          <!-- thead bottom -->\\n          <tr class=\\\"thead\\\">\\n            <th><small>Stato</small></th>\\n            <td colspan=\\\"${(usedChannels.includes('multicerta') || queue.primaryQueueUuid) ? 1 : 2}\\\"><small>Promemoria</small></td>\\n            <td if.bind=\\\"usedChannels.includes('multicerta') || queue.primaryQueueUuid\\\">\\n              <small>Canale \\n                <span if.bind=\\\"queue.primaryQueueUuid\\\">primario</span>\\n                <span if.bind=\\\"queue.secondaryQueueUuid\\\">alternativo</span>\\n              </small>\\n            </td>\\n          </tr>\\n          <!-- tbody bottom -->\\n          <tr class=\\\"tbody\\\">\\n            <td>\\n              <span class=\\\"tag with-icon ${queue.status|queueStatusFormat:'class'}\\\">\\n                ${queue.status|queueStatusFormat}\\n              </span>\\n            </td>\\n            <td colspan=\\\"${(usedChannels.includes('multicerta') || queue.primaryQueueUuid) ? 1 : 2}\\\">\\n              <small class=\\\"text-color\\\">${queue.topic}</small>\\n            </td>\\n            <td\\n              if.bind=\\\"queue.deadlineAt || queue.primaryQueueUuid || queue.secondaryQueueUuid\\\">\\n              <small if.bind=\\\"queue.deadlineAt\\\" class=\\\"pb-3\\\">\\n                <strong class=\\\"text-color\\\">TTAC:</strong> ${queue.deadlineAt|dateFormat} <i if.bind=\\\"queue.deadlineEvent\\\" style=\\\"white-space: nowrap\\\">${parseDeadlineEvents(queue.deadlineEvent)}</i>\\n              </small>\\n              <small\\n                class=\\\"redirect-to-detail\\\"\\n                if.bind=\\\"queue.primaryQueueUuid || queue.secondaryQueueUuid\\\"\\n                click.delegate=\\\"navigateTo('queue-detail', queue.primaryQueueUuid || queue.secondaryQueueUuid)\\\">Vai a dettaglio spedizione\\n              </small>\\n            </td>\\n          </tr>\\n        </tbody>\\n      </table>\\n    </div>\\n\\n    <!-- Sender -->\\n    <div class=\\\"sender m-3 ms-2\\\">\\n      <h3>\\n        <span class=\\\"d-flex\\\">Mittente: \\n          <span \\n            style=\\\"cursor: pointer\\\"\\n            class=\\\"limitwidth-40 text-color ms-2\\\" \\n            ka-tooltip=\\\"value.bind: sender.addressLines[0] + ' ' + `(<strong>autore spedizione<strong>)`\\\">${sender.addressLines[0]}\\n            <strong class=\\\"text-color\\\"> (autore spedizione)</strong>\\n          </span>\\n        </span>\\n      </h3>\\n      <div if.bind=\\\"!sender\\\" class=\\\"loader-wrapper\\\">\\n        <div class=\\\"spinner-loader\\\"></div>\\n      </div>\\n      <div class=\\\"table-wrapper\\\">\\n        <table if.bind=\\\"sender\\\" class=\\\"ka-table-like\\\">\\n          <thead>\\n            <tr>\\n              <th><small>Email / Email di notifica</small></th>\\n              <th><small>Pec</small></th>\\n              <th><small>Multicerta</small></th>\\n            </tr>\\n          </thead>\\n          <tbody>\\n            <tr style=\\\"height: 4.15rem\\\">\\n              <td>\\n                <small if.bind=\\\"usedChannels.includes('sendemail') || isEmailForwardingUsed \\\" class=\\\"text-color\\\"><strong>Email: </strong>${sender.email.displayAddress}</small>\\n                <small if.bind=\\\"hasNotificationEmail\\\" class=\\\"text-color d-block\\\">\\n                  <strong>Email di notifica:</strong> \\n                  <template repeat.for=\\\"emailNotification of sender.emailNotificationAddresses\\\">\\n                    ${emailNotification | appendComma: $index : sender.emailNotificationAddresses.length}\\n                  </template>\\n                </small>\\n              </td>\\n              <td><small if.bind=\\\"usedChannels.includes('pec')\\\" class=\\\"text-color\\\">${sender.certifiedEmail.address}</small></td>\\n              <td><small if.bind=\\\"usedChannels.includes('multicerta')\\\" class=\\\"text-color\\\">${sender.email.displayAddress}</small></td>\\n            </tr>\\n\\n            <!-- thead bottom -->\\n            <tr class=\\\"thead\\\">\\n              <td><small>Posta</small></td>\\n              <td><small>Multibox</small></td>\\n              <td colspan=\\\"${usedChannels.includes('multicerta') ? 3 : 2}\\\">\\n                <small>Logo</small>\\n              </td>\\n            </tr>\\n            <!-- tbody bottom -->\\n            <tr class=\\\"tbody\\\">\\n              <td>\\n                <small if.bind=\\\"usedChannels.includes('sendposta')\\\">\\n                  <span class=\\\"text-color\\\">${sender.addressLines[1]}, ${sender.addressLines[2]}, ${sender.addressLines[3]}.</span><br>\\n                  <span if.bind=\\\"sender.addressLines.length === 5\\\">Presso: ${sender.addressLines[4]}</span>\\n                </small>\\n              </td>\\n              <td>\\n                <ul if.bind=\\\"usedChannels.includes('multibox')\\\" repeat.for=\\\"record of sender.multiboxes\\\" class=\\\"multiboxes\\\">\\n                  <li class=\\\"multibox\\\" click.delegate=\\\"dialogMultibox(record)\\\">\\n                    <small>${record.addressLines[0]}:</small>\\n                    <small>${record.addressLines[1]}</small>\\n                  </li>\\n                </ul>\\n              </td>\\n              <td colspan=\\\"${usedChannels.includes('multicerta') ? 3 : 2}\\\">\\n                <small\\n                  if.bind=\\\"sender.envelopeLogo\\\"\\n                  click.delegate=\\\"navigateTo('envelope-logo', sender.envelopeLogo.uuid)\\\"\\n                  class=\\\"envelope-logo\\\">${sender.envelopeLogo.title}\\n                </small>\\n              </td>\\n            </tr>\\n          </tbody>\\n        </table>\\n      </div>\\n    </div>\\n  </div>\\n\\n  <!-- Messages -->\\n  <template if.bind=\\\"messagesSearchInterface\\\">\\n    <h2>Ricerca messaggi</h2>\\n    <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"messagesSearchInterface\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"textSearch\\\" submit.call=\\\"$parent.search()\\\" buttons=\\\"clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"channel\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"status\\\" buttons=\\\"dropdown,clear\\\"></md-control>\\n      </div>\\n      <div class=\\\"col d-flex align-items-end justify-content-end\\\">\\n        <ka-button click.delegate=\\\"reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n        <ka-button click.delegate=\\\"search()\\\">Ricerca</ka-button>\\n      </div>\\n    </div>\\n  </template>\\n\\n  <template if.bind=\\\"messagesTableInterface.initialized && messagesSearchInterface.initialized\\\">\\n    <h2>\\n      <span>Elenco messaggi</span>\\n      <ka-button\\n        class=\\\"flat secondary inverted with-icon\\\"\\n        click.delegate=\\\"downloadLogMessages($event)\\\"\\n        ka-tooltip=\\\"Scarica registro messaggi\\\">\\n        <i class=\\\"fas fa-file-download\\\"></i>\\n        <span>Registro messaggi</span>\\n      </ka-button>\\n      <ka-button\\n        disabled.bind=\\\"!canQueueBeDiscontinued\\\"\\n        class=\\\"flat error inverted with-icon me-0\\\"\\n        click.delegate=\\\"dialogInterruptDelivery($event)\\\"\\n        if.bind=\\\"typeof canQueueBeDiscontinued == 'boolean'\\\"\\n        ka-tooltip=\\\"Interrompi la consegna dei messaggi non ancora inviati (canali digitali) o non ancora stampati (canali cartacei)\\\">\\n        <i class=\\\"fas fa-times\\\"></i>\\n        <span>Interrompi consegna</span>\\n      </ka-button>\\n    </h2>\\n    <md-table-toolbar table.bind=\\\"messagesTableInterface\\\" search.bind=\\\"messagesSearchInterface\\\" pagination-limits=\\\"25\\\"></md-table-toolbar>\\n    <md-table-wrapper>\\n      <table class=\\\"ka-table-like\\\">\\n        <thead if.bind=\\\"messagesTableInterface.data.length\\\">\\n          <tr>\\n            <th>Canale</th>\\n            <th><md-table-sort table.bind=\\\"messagesTableInterface\\\" attribute=\\\"label\\\">Destinatario</md-table-sort></th>\\n            <th>Indirizzo</th>\\n            <th>Informazioni canale</th>\\n            <th>Allegati</th>\\n            <th>Costo IVA esclusa</th>\\n            <th></th>\\n            <th>Stato</th>\\n          </tr>\\n        </thead>\\n        <tbody if.bind=\\\"messagesTableInterface.data.length\\\">\\n          <template repeat.for=\\\"record of messagesTableInterface.data\\\">\\n            <tr>\\n              <td class=\\\"channel d-flex\\\">\\n                <template if.bind=\\\"!record.emailForwarding || record.emailForwarding === 'NO'\\\">\\n                  <i class=\\\"fal ${record.channel|queueChannelFormat:'icon'}\\\" style=\\\"width: 4rem; flex-shrink: 0\\\"></i>\\n                </template>\\n                <template if.bind=\\\"record.emailForwarding === 'YES' && record.channel === 'SENDEMAIL'\\\">\\n                  <i class=\\\"fal fa-at arrow-icon\\\" style=\\\"width: 4rem; flex-shrink: 0\\\"></i>\\n                </template>\\n                <p class=\\\"m-0\\\">\\n                  <span>\\n                    ${record.channel|queueChannelFormat} <br>\\n                    <small\\n                      if.bind=\\\"record.emailForwarding === 'YES' && record.channel === 'SENDEMAIL'\\\">\\n                      Messaggio di cortesia\\n                    </small>\\n                  </span>\\n                  <small\\n                    if.bind=\\\"record.channel === 'MULTICERTA'\\\"\\n                    class=\\\"d-block\\\">${record.isMulticertaLegal ? 'Legal' : 'Classic'}\\n                  </small>\\n                </p>\\n              </td>\\n              <td>${record.recipient.label}</td>\\n              <td><span style=\\\"font-size: 1.3rem\\\">${record.address}</span></td>\\n              <td class=\\\"message\\\">\\n                <p class=\\\"m-0 p-0\\\" if.bind=\\\"record.channel\\\" class=\\\"subject\\\">${record.channel|queueChannelFormat}</p>\\n                <small\\n                  if.bind=\\\"record.channel === 'MULTICERTA' && record.alternativeChannel\\\"\\n                  class=\\\"alt-channel ${record.alternativeChannel} mb-1 d-block\\\">${record.alternativeChannel|queueChannelFormat} - canale alternativo\\n                </small>\\n                <template if.bind=\\\"['SENDPOSTA','MULTIBOX'].includes(record.channel)\\\">\\n                  <div><strong>Vettore: </strong>${vectors[record.postalOptions.vector]}</div>\\n                  <div><strong>Affrancatura: </strong>${postages[record.postalOptions.postage]}</div>\\n                  <div if.bind=\\\"record.postalOptions.trackingCode\\\"><strong>Tracking code spedizione: </strong>\\n                    <a href=\\\"${urlPosteItaliane}${record.postalOptions.trackingCode}\\\"\\n                      target=\\\"_blank\\\"\\n                      class=\\\"postal-link\\\"\\n                      ka-tooltip=\\\"Tracking della spedizione sul sito Poste Italiane\\\">\\n                      ${record.postalOptions.trackingCode}\\n                    </a>\\n                  </div>\\n                  <small \\n                    if.bind=\\\"canDownloadReceipt(record)\\\"\\n                    class=\\\"receipt pt-2\\\"\\n                    click.delegate=\\\"downloadDeliveryReceipt(record)\\\">Scarica cartolina di ritorno\\n                  </small>\\n                </template>\\n                <template if.bind=\\\"['SENDEMAIL','MULTICERTA','PEC'].includes(record.channel)\\\">\\n                  <div><strong class=\\\"subject\\\">Oggetto: </strong>${record.messageSubject}</div>\\n                  <div><strong class=\\\"body m-0\\\">Corpo: </strong>${record.messageBody}</div>\\n                </template>\\n              </td>\\n              <td>\\n                <template if.bind=\\\"record.attachments\\\">\\n                  <span style=\\\"white-space: nowrap\\\">${record.attachments.filesNumber} allegati, ${record.attachments.filesSize|filesizeFormat}</span><br>\\n                  <small\\n                    class=\\\"attachments\\\"\\n                    style=\\\"white-space: nowrap\\\"\\n                    click.delegate=\\\"dialogAttachments(record)\\\">Elenco allegati\\n                  </small>\\n                </template>\\n              </td>\\n              <td>\\n                <template if.bind=\\\"record.costVoices.total.netAmount\\\">\\n                  <span \\n                    class=\\\"amount ${record.costVoices.total.netAmountBeforeDiscontinue ? 'line-through' : ''}\\\"\\n                    if.bind=\\\"record.costVoices.total.netAmountBeforeDiscontinue\\\">\\n                    ${record.costVoices.total.netAmountBeforeDiscontinue} €\\n                  </span>\\n                  <span class=\\\"amount\\\">\\n                    ${record.costVoices.total.netAmount} €\\n                  </span>\\n                  <small\\n                    style=\\\"white-space: nowrap\\\"\\n                    class=\\\"message-cost-detail mt-2\\\"\\n                    click.delegate=\\\"dialogMessageCostDetail(record)\\\"\\n                    if.bind=\\\"shouldShowCostLink(record.costVoices.total.netAmount)\\\">\\n                    Costi messaggio\\n                  </small>\\n                </template>\\n              </td>\\n              <td class=\\\"download-checks\\\" style=\\\"vertical-align: middle\\\">\\n                <div class=\\\"d-flex w-100 align-items-center\\\" style=\\\"white-space: nowrap\\\">\\n                  <div if.bind=\\\"['RECEIVED-NOTIFIED','RECEIVED-OPENED','RECEIVED-READ','RECEIVED-CERTIFIED-READ'].includes(record.status.code)\\\" class=\\\"checks\\\">\\n                    <i class=\\\"far fa-check ${record.channel} ${record.status.code}\\\"></i>\\n                    <i class=\\\"far fa-check ${record.channel} ${record.status.code}\\\"></i>\\n                  </div>\\n                  <div \\n                    style=\\\"flex-basis: 100%\\\"\\n                    class=\\\"download ms-3 d-flex justify-content-end\\\" \\n                    if.bind=\\\"record.isMulticertaLegal && ['RECEIVED-NOTIFIED','RECEIVED-OPENED','RECEIVED-READ','RECEIVED-CERTIFIED-READ'].includes(record.status.code)\\\">\\n                    <i\\n                      style=\\\"cursor: pointer\\\"\\n                      class=\\\"fal fa-file-certificate\\\"\\n                      click.delegate=\\\"downloadCertificatesTSD(record)\\\"\\n                      ka-tooltip=\\\"Download file certificati (TSD)\\\">\\n                    </i>\\n                    <i\\n                      style=\\\"cursor: pointer\\\"\\n                      class=\\\"fal fa-receipt ps-2\\\"\\n                      ka-tooltip=\\\"Download ricevuta 3A\\\"\\n                      click.delegate=\\\"downloadReceipt3A(record)\\\">\\n                    </i>\\n                  </div>\\n                </div>\\n              </td>\\n              <td class=\\\"status\\\">\\n                <span\\n                  ka-tooltip=\\\"value.bind: record.status.reason\\\"\\n                  class=\\\"tag with-icon ${queueMessages.getQueueMessageStatusCodeGroupValue(record.status.code)}\\\">\\n                  ${queueMessages.getQueueMessageStatusCodeLabel(record.status.code)}\\n                </span>\\n                <small\\n                  class=\\\"message-status-transitions-history mt-2\\\"\\n                  style=\\\"white-space: nowrap\\\"\\n                  click.delegate=\\\"dialogMessageStatusTransitionsHistory(record, queueMessages)\\\">Storico/Cronologia\\n                </small>\\n              </td>\\n            </tr>\\n          </template>\\n        </tbody>\\n        <tfoot if.bind=\\\"!messagesTableInterface.data.length\\\">\\n          <tr>\\n            <td colspan=\\\"6\\\">\\n              <span>Nessun messaggio trovato</span>\\n            </td>\\n          </tr>\\n        </tfoot>\\n      </table>\\n    </md-table-wrapper>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./report.sass\\\"></require>\\n  <ka-tabs if.bind=\\\"pendingInit === false\\\" id=\\\"main\\\">\\n    <template replace-part=\\\"buttons\\\">\\n      <ka-button\\n        if.bind=\\\"!privileges.isOperator\\\"\\n        click.delegate=\\\"openDialogLegacyHistory()\\\"\\n        class=\\\"flat inverted secondary\\\"\\n        ka-tooltip=\\\"Vai allo storico delle spedizioni\\\">\\n        Vai allo storico\\n      </ka-button>\\n    </template>\\n    <template repeat.for=\\\"tab of tabs\\\">\\n      <ka-tab if.bind=\\\"privileges.tabs[tab.id]\\\" id=\\\"${tab.id}\\\" data-label=\\\"${tab.label}\\\">\\n        <compose containerless view-model.ref=\\\"tab.controller\\\" view-model=\\\"${tab.vm}\\\" model.bind=\\\"{ params, tools, privileges, tabs }\\\"></compose>\\n      </ka-tab>\\n    </template>\\n  </ka-tabs>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <!-- SEARCH INTERFACE -->\\n  <h2>\\n    Ricerca spedizioni annullate\\n    <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormArchived\\\"></md-accordion-button>\\n  </h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!privileges.isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${privileges.isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${privileges.isOperator ? '2' : '1'}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${privileges.isOperator ? '1' : '2'}\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control\\n        name=\\\"shipment\\\"\\n        buttons=\\\"clear\\\"\\n        submit.call=\\\"$parent.search()\\\"\\n        placeholder=\\\"promemoria, codice spedizione, codice uuid\\\"\\n        md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spedizione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control\\n        name=\\\"recipient\\\"\\n        buttons=\\\"clear\\\"\\n        submit.call=\\\"$parent.search()\\\"\\n        placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\"\\n        md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-12 col-lg-3 d-flex order-3\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n    <div id=\\\"advancedSearchInterfaceFormArchived\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco spedizioni archiviate</h2>\\n    <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\">\\n        <!-- CSV download -->\\n        <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n        <button\\n          class=\\\"toolbar-button\\\"\\n          disabled.bind=\\\"!selected.length\\\"\\n          click.delegate=\\\"tools.openDialogQueueCsvDownload(selected)\\\"\\n          ka-tooltip=\\\"value.bind: selected.length ? 'Scarica selezione in formato csv' : 'Seleziona almeno una spedizione'\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"pageSelection\\\"\\n                  change.trigger=\\\"togglePageSelection()\\\">\\n              </th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n              <th>Codice spedizione</th>\\n              <th>Stato lavorazione</th>\\n              <th>Promemoria/canale</th>\\n              <th if.bind=\\\"privileges.isOperator\\\">Gestionale</th>\\n              <th>Proprietario</th>\\n              <th>Totale complessivo</th> \\n              <th>Pagamento</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"record of tableInterface.data\\\">\\n              <tr>\\n                <td style=\\\"cursor: pointer; width: 1%\\\">\\n                  <input \\n                    type=\\\"checkbox\\\"\\n                    style=\\\"margin: .3rem 0 0\\\"\\n                    checked.bind=\\\"selectable[record.sendCode]\\\"\\n                    change.trigger=\\\"selected = tools.setSelected(selectable)\\\">\\n                </td>\\n                <td>${record.createdAt|dateFormat}\\n                  <small><br>\\n                    <span\\n                      class=\\\"copy-text with-icon\\\"\\n                      click.delegate=\\\"tools.copyText(record.uuid, 'UUID')\\\"\\n                      ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                      UUID\\n                    </span>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span\\n                    click.delegate=\\\"tools.copyText(record.sendCode, 'Codice spedizione')\\\"\\n                    ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\"\\n                    class=\\\"copy-text with-icon d-flex\\\">\\n                    <span class=\\\"limitwidth-30\\\" style=\\\"font-size: 1.3rem\\\">${record.sendCode}</span>\\n                  </span>\\n                </td>\\n                <td class=\\\"statuses\\\">\\n                  <div>\\n                    <span class=\\\"tag with-icon ${record.status|queueStatusFormat:'class'}\\\">\\n                      ${record.status|queueStatusFormat}\\n                      <small class=\\\"messages-count\\\">\\n                        / <span class=\\\"me-1\\\">${record.totalMessagesCount}</span>mess.\\n                      </small>\\n                    </span>\\n                  </div>\\n                  <div class=\\\"messages-status mt-1\\\">\\n                    <template repeat.for=\\\"item of record.messagesStatusCount\\\">\\n                      <small class=\\\"${item.value} d-flex\\\">\\n                        <span class=\\\"me-1\\\">${item.count}</span>\\n                        <span>${item.label}</span>\\n                      </small>\\n                    </template>\\n                  </div>\\n                </td>\\n                <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all\\\">\\n                  <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n                  <div class=\\\"channels\\\">\\n                    <span ka-tooltip.bind=\\\"channel.text\\\" repeat.for=\\\"channel of queueProperties.channels\\\" class=\\\"channel ${record.usedChannels.includes(channel.value.toLowerCase()) ? 'used' : ''}\\\">\\n                      <i class=\\\"fal ${channel.icon}\\\"></i>\\n                    </span>\\n                    <span class=\\\"channel forwarding\\\" ka-tooltip=\\\"Messaggio di cortesia\\\" if.bind=\\\"record.emailForwardingUsed === 'YES'\\\">\\n                      <i class=\\\"fal fa-at\\\"></i>\\n                    </span>\\n                  </div>\\n                </td>\\n                <td if.bind=\\\"privileges.isOperator\\\">\\n                  <p class=\\\"p-0 m-0\\\">${record.client.name}</p><small>versione ${record.client.version}</small>\\n                </td>\\n                <td>${record.owner.displayName}</td>\\n                <td>\\n                  <template if.bind=\\\"!tools.isDateLowerThan(record)\\\">\\n                    <span \\n                      click.delegate=\\\"tools.copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                      class=\\\"amount ${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : ''}\\\">\\n                      ${record.costVoices.total.grossAmount} € \\n                    </span>\\n                    <span \\n                      class=\\\"copy-text with-icon amount\\\"\\n                      if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                      ${record.costVoices.total.grossAmountAfterRefund} €\\n                    </span>\\n                    <small \\n                      class=\\\"queue-cost-detail mt-1\\\" \\n                      style=\\\"white-space: nowrap\\\"\\n                      click.delegate=\\\"dialogQueueCostDetail(record)\\\"\\n                      if.bind=\\\"shouldShowCostLink(record.costVoices.total.grossAmount)\\\">\\n                      Costi spedizione\\n                    </small>\\n                  </template>\\n                  <small else class=\\\"alert-message alert-color\\\">Dettaglio costi ${!tools.isLegacyQueueDetail(record, privileges) ? 'non disponibile' : 'disponibile solo su reportistica tradizionale' }.</small>\\n                </td>\\n                <td>\\n                  <span class=\\\"d-block\\\">${tools.displayPaymentMethods(record)}</span>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button\\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Vai a reportistica tradizionale\\\"\\n                    if.bind=\\\"tools.isLegacyQueueDetail(record, privileges)\\\"\\n                    click.delegate=\\\"tools.navigateToLegacyReportDetail(record.uuid)\\\">Reportistica tradizionale\\n                  </ka-button>\\n                  <ka-button\\n                    else\\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Dettaglio spedizione\\\"\\n                    disabled.bind=\\\"tools.isDateLowerThan(record)\\\"\\n                    click.delegate=\\\"tools.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio\\n                  </ka-button>\\n                  <ka-button \\n                    class=\\\"flat inverted m-0 ms-1\\\" \\n                    if.bind=\\\"!privileges.isOperator\\\" \\n                    click.delegate=\\\"unarchive(record)\\\" \\n                    ka-tooltip=\\\"Disarchivia spedizione\\\">\\n                    <i class=\\\"far fa-inbox-out\\\"></i>\\n                  </ka-button>\\n                  <ka-button\\n                    ka-tooltip=\\\"Scarica distinta\\\"\\n                    class=\\\"flat secondary inverted m-0 ms-1\\\" \\n                    click.delegate=\\\"tools.downloadWorkOrderList(record)\\\"\\n                    disabled.bind=\\\"!api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT'])\\\">\\n                    <i class=\\\"far fa-file-download\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni archiviate</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n\\n  <!-- SEARCH INTERFACE -->\\n  <h2>\\n    Ricerca spedizioni annullate\\n    <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormCancelled\\\"></md-accordion-button>\\n  </h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!privileges.isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${privileges.isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${privileges.isOperator ? '2' : '1'}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${privileges.isOperator ? '1' : '2'}\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control\\n        name=\\\"shipment\\\"\\n        buttons=\\\"clear\\\"\\n        submit.call=\\\"$parent.search()\\\"\\n        placeholder=\\\"promemoria, codice spedizione, codice uuid\\\"\\n        md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spedizione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control\\n        name=\\\"recipient\\\"\\n        buttons=\\\"clear\\\"\\n        submit.call=\\\"$parent.search()\\\"\\n        placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\"\\n        md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"abandonedStatus\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-12 col-lg-3 d-flex order-3\\\">\\n      <div class=\\\"pe-2 w-100\\\">\\n        <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"ps-2 w-100\\\">\\n        <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n    <div id=\\\"advancedSearchInterfaceFormCancelled\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <template if.bind=\\\"tableInterface.data\\\">\\n    <h2>Elenco spedizioni annullate</h2>\\n    <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\">\\n        <!-- CSV download -->\\n        <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n        <button\\n          class=\\\"toolbar-button\\\"\\n          disabled.bind=\\\"!selected.length\\\"\\n          click.delegate=\\\"tools.openDialogQueueCsvDownload(selected)\\\"\\n          ka-tooltip=\\\"value.bind: selected.length ? 'Scarica selezione in formato csv' : 'Seleziona almeno una spedizione'\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"pageSelection\\\"\\n                  change.trigger=\\\"togglePageSelection()\\\">\\n              </th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n              <th>Codice spedizione</th>\\n              <th>Stato lavorazione</th>\\n              <th>Promemoria/canale</th>\\n              <th if.bind=\\\"privileges.isOperator\\\">Gestionale</th>\\n              <th>Proprietario</th>\\n              <th>Totale complessivo</th> \\n              <th>Pagamento</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"record of tableInterface.data\\\">\\n              <tr>\\n                <td style=\\\"cursor: pointer; width: 1%\\\">\\n                  <input \\n                    type=\\\"checkbox\\\"\\n                    style=\\\"margin: .3rem 0 0\\\"\\n                    checked.bind=\\\"selectable[record.sendCode]\\\"\\n                    change.trigger=\\\"selected = tools.setSelected(selectable)\\\">\\n                </td>\\n                <td>${record.createdAt|dateFormat}\\n                  <small><br>\\n                    <span\\n                      class=\\\"copy-text with-icon\\\"\\n                      click.delegate=\\\"tools.copyText(record.uuid, 'UUID')\\\"\\n                      ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                      UUID\\n                    </span>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span\\n                    click.delegate=\\\"tools.copyText(record.sendCode, 'Codice spedizione')\\\"\\n                    ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\"\\n                    class=\\\"copy-text with-icon d-flex\\\">\\n                    <span class=\\\"limitwidth-30\\\" style=\\\"font-size: 1.3rem\\\">${record.sendCode}</span>\\n                  </span>\\n                </td>\\n                <td>\\n                  <span class=\\\"tag with-icon ${record.status|queueStatusFormat:'class'}\\\">\\n                    ${record.status|queueStatusFormat}\\n                  </span>\\n                </td>\\n                <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all\\\">\\n                  <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n                  <div class=\\\"channels\\\">\\n                    <span ka-tooltip.bind=\\\"channel.text\\\" repeat.for=\\\"channel of queueProperties.channels\\\" class=\\\"channel ${record.usedChannels.includes(channel.value.toLowerCase()) ? 'used' : ''}\\\">\\n                      <i class=\\\"fal ${channel.icon}\\\"></i>\\n                    </span>\\n                    <span class=\\\"channel forwarding\\\" ka-tooltip=\\\"Messaggio di cortesia\\\" if.bind=\\\"record.emailForwardingUsed === 'YES'\\\">\\n                      <i class=\\\"fal fa-at\\\"></i>\\n                    </span>\\n                  </div>\\n                </td>\\n                <td if.bind=\\\"privileges.isOperator\\\">\\n                  <p class=\\\"p-0 m-0\\\">${record.client.name}</p><small>versione ${record.client.version}</small>\\n                </td>\\n                <td>${record.owner.displayName}</td>\\n                <td>\\n                  <span \\n                    click.delegate=\\\"tools.copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                    class=\\\"amount ${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : ''}\\\">\\n                    ${record.costVoices.total.grossAmount} € \\n                  </span>\\n                  <span \\n                    class=\\\"copy-text with-icon amount\\\"\\n                    if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                    ${record.costVoices.total.grossAmountAfterRefund} €\\n                  </span>\\n                  <small \\n                    class=\\\"queue-cost-detail mt-1\\\" \\n                    style=\\\"white-space: nowrap\\\"\\n                    click.delegate=\\\"dialogQueueCostDetail(record)\\\"\\n                    if.bind=\\\"shouldShowCostLink(record.costVoices.total.grossAmount)\\\">\\n                    Costi spedizione\\n                  </small>\\n                </td>\\n                <td>\\n                  <span class=\\\"d-block\\\">${tools.displayPaymentMethods(record)}</span>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button \\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Dettaglio spedizione\\\"\\n                    click.delegate=\\\"tools.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio\\n                  </ka-button>\\n                  <ka-button \\n                    class=\\\"flat inverted m-0 ms-1\\\" \\n                    if.bind=\\\"!privileges.isOperator\\\" \\n                    click.delegate=\\\"archive(record)\\\" \\n                    ka-tooltip=\\\"Archivia spedizione\\\">\\n                    <i class=\\\"far fa-archive p-0\\\"></i>\\n                  </ka-button>\\n                  <ka-button\\n                    ka-tooltip=\\\"Scarica distinta\\\"\\n                    class=\\\"flat secondary inverted m-0 ms-1\\\" \\n                    click.delegate=\\\"tools.downloadWorkOrderList(record)\\\"\\n                    disabled.bind=\\\"!api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT'])\\\">\\n                    <i class=\\\"far fa-file-download\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni annullate</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n</template>\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"<template>\\n  <require from=\\\"./../report.sass\\\"></require>\\n\\n  <h2>\\n    Ricerca spedizioni inviate\\n    <md-accordion-button expand-text=\\\"Mostra ricerca avanzata\\\" collapse-text=\\\"Nascondi ricerca avanzata\\\" state=\\\"collapsed\\\" target=\\\"advancedSearchInterfaceFormSent\\\"></md-accordion-button>\\n  </h2>\\n  <div class=\\\"row px-2 g-3 app-shared-search-style\\\" with.bind=\\\"searchInterface\\\">\\n    <div if.bind=\\\"!privileges.isOperator || (userData && !userData.parentId)\\\" class=\\\"col-12 col-md-6 col-lg-${privileges.isOperator || data.context === 'SUBUSERS' ? 3 : 6} order-${privileges.isOperator ? '2' : '1'}\\\">\\n      <md-control name=\\\"context\\\" buttons=\\\"dropdown\\\" change.call=\\\"setEndpoint()\\\"></md-control>\\n    </div>\\n    <div if.bind=\\\"data.context === 'SUBUSERS' || privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3 order-${privileges.isOperator ? '1' : '2'}\\\">\\n      <md-control name=\\\"owner\\\" client.bind=\\\"api\\\" buttons=\\\"dropdown,clear\\\" change.call=\\\"setContext()\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"shipment\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"promemoria, codice spedizione, codice uuid\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Promemoria anche parziale della spedizione</li>\\n            <li>Codice di invio esatto della spedizione</li>\\n            <li>Codice uuid esatto della spedizione</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"recipient\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\" placeholder=\\\"nome, cognome, email, indirizzo, codice tracciamento\\\" md-tooltip=\\\"<ul>\\n            <li style='background: #fff; border-bottom: 1px solid #ababab'><strong>È possibile ricercare per:</strong></li>\\n            <li>Recapiti anche parziali del destinatario della spedizione (nome, cognome, email, indirizzo, numero di telefono)</li>\\n            <li>Nome dei file delle comunicazioni</li>\\n            <li>Ricerca per codice tracciamento esatto della spedizione (presente sulla ricevuta di ritorno)</li>\\n          </ul>\\\">\\n      </md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"status\\\" buttons=\\\"dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n      <md-control name=\\\"channel\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"createdAtGte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div class=\\\"col-12 col-md-6 col-lg-3 order-3\\\">\\n        <md-control name=\\\"createdAtLte\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n    </div>\\n    <div id=\\\"advancedSearchInterfaceFormSent\\\" class=\\\"col-12 row m-0 p-0 g-3 order-3\\\">\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"paymentMethod\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"shortConfirmationCode\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n      </div>\\n      <div class=\\\"col-12 col-md-12 col-lg-3 d-flex\\\">\\n        <div class=\\\"pe-2 w-100\\\">\\n          <md-control name=\\\"totalGrossGte\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n        <div class=\\\"ps-2 w-100\\\">\\n          <md-control name=\\\"totalGrossLte\\\" buttons=\\\"clear\\\" submit.call=\\\"$parent.search()\\\"></md-control>\\n        </div>\\n      </div>\\n      <div if.bind=\\\"privileges.isOperator\\\" class=\\\"col-12 col-md-6 col-lg-3\\\">\\n        <md-control name=\\\"clients\\\" buttons=\\\"clear,dropdown\\\"></md-control>\\n      </div>\\n    </div>\\n\\n    <div class=\\\"col d-flex align-items-end justify-content-end order-3\\\">\\n      <ka-button click.delegate=\\\"$parent.reset()\\\" class=\\\"inverted\\\">Reset</ka-button>\\n      <ka-button click.delegate=\\\"$parent.search()\\\">Ricerca</ka-button>\\n    </div>\\n  </div>\\n\\n  <!-- Table interface -->\\n  <template if.bind=\\\"!privileges.isOperator || tableInterface.data\\\">\\n    <h2>Elenco spedizioni inviate</h2>\\n    <template if.bind=\\\"tableInterface.initialized && searchInterface.initialized\\\">\\n      <md-table-toolbar table.bind=\\\"tableInterface\\\" search.bind=\\\"searchInterface\\\" pagination-limits=\\\"10,25,50\\\">\\n        <!-- CSV download -->\\n        <span class=\\\"selected\\\"><strong>${selected.length}</strong> selezionati</span>\\n        <button\\n          class=\\\"toolbar-button\\\"\\n          disabled.bind=\\\"!selected.length\\\"\\n          click.delegate=\\\"tools.openDialogQueueCsvDownload(selected)\\\"\\n          ka-tooltip=\\\"value.bind: selected.length ? 'Scarica selezione in formato csv' : 'Seleziona almeno una spedizione'\\\">\\n          <i class=\\\"material-icons\\\">file_download</i>\\n        </button>\\n      </md-table-toolbar>\\n      <md-table-wrapper>\\n        <table class=\\\"ka-table-like\\\">\\n          <thead if.bind=\\\"tableInterface.data.length\\\">\\n            <tr>\\n              <th style=\\\"cursor: pointer; padding: 1rem; width: 1%; line-height: 1rem\\\">\\n                <input \\n                  class=\\\"m-0\\\" \\n                  type=\\\"checkbox\\\" \\n                  checked.bind=\\\"pageSelection\\\"\\n                  change.trigger=\\\"togglePageSelection()\\\">\\n              </th>\\n              <th><md-table-sort table.bind=\\\"tableInterface\\\" attribute=\\\"createdAt\\\">Data di creazione</md-table-sort></th>\\n              <th>Spedizione</th>\\n              <th>Stato lavorazione</th>\\n              <th>Promemoria/canale</th>\\n              <th if.bind=\\\"privileges.isOperator\\\">Gestionale</th>\\n              <th>Proprietario</th>\\n              <th>Totale complessivo</th> \\n              <th>Pagamento</th>\\n              <th></th>\\n            </tr>\\n          </thead>\\n          <tbody if.bind=\\\"tableInterface.data.length\\\">\\n            <template repeat.for=\\\"record of tableInterface.data\\\">\\n              <tr>\\n                <td style=\\\"cursor: pointer; width: 1%\\\">\\n                  <input \\n                    type=\\\"checkbox\\\"\\n                    style=\\\"margin: .3rem 0 0\\\"\\n                    checked.bind=\\\"selectable[record.sendCode]\\\"\\n                    change.trigger=\\\"selected = tools.setSelected(selectable)\\\">\\n                </td>\\n                <td>${record.createdAt|dateFormat}\\n                  <small><br>\\n                    <span class=\\\"copy-text with-icon\\\" click.delegate=\\\"tools.copyText(record.uuid, 'UUID')\\\" ka-tooltip=\\\"value.bind: 'Copia: ' + record.uuid\\\">\\n                      UUID\\n                    </span>\\n                  </small>\\n                </td>\\n                <td>\\n                  <span click.delegate=\\\"tools.copyText(record.sendCode, 'Codice spedizione')\\\" ka-tooltip=\\\"value.bind: 'Copia: ' + record.sendCode\\\" class=\\\"copy-text with-icon d-flex\\\">\\n                    <span class=\\\"limitwidth-30\\\" style=\\\"font-size: 1.3rem\\\"><strong>Codice: </strong>${record.sendCode}</span>\\n                  </span> \\n                  <p class=\\\"queue-info m-0\\\">\\n                    <template if.bind=\\\"record.primaryQueueUuid\\\">\\n                      <small><i class=\\\"fad fa-repeat-alt me-2\\\"></i>Codice spedizione canale primario:</small><br>\\n                      <small class=\\\"redirect-to-detail\\\" click.delegate=\\\"tools.navigateTo(record.owner.id, record.primaryQueueUuid || record.secondaryQueueUuid)\\\">\\n                        <i class=\\\"far fa-external-link me-2\\\"></i>\\n                        <span>${record.primaryQueueSendCode || record.primaryQueueUuid || record.uuid}</span>\\n                      </small>\\n                    </template>\\n                    <template if.bind=\\\"record.secondaryQueueUuid\\\">\\n                      <small><i class=\\\"far fa-repeat-alt me-2\\\"></i>Codice spedizione canale alternativo:</small><br>\\n                      <small class=\\\"redirect-to-detail\\\" click.delegate=\\\"goToQueue(record)\\\">\\n                        <i class=\\\"far fa-external-link me-2\\\"></i>\\n                        <span>${record.secondaryQueueSendCode || record.secondaryQueueUuid || record.uuid}</span>\\n                      </small>\\n                    </template>\\n                    <template if.bind=\\\"!record.secondaryQueueUuid && record.deadlineEvent\\\">\\n                      <small style=\\\"white-space: normal\\\">Canale alternativo per mancata <strong>${queueProperties.deadlineEvents[record.deadlineEvent]}</strong> entro il <strong>${record.deadlineAt|dateFormat}</strong></small>\\n                    </template>\\n                  </p>\\n                  <small if.bind=\\\"record.postalOptions.fastDelivery === 'YES'\\\" class=\\\"tag primary mt-2\\\">\\n                    Servizio Accelera\\n                  </small>\\n                </td>\\n                <td class=\\\"statuses\\\">\\n                  <div>\\n                    <span class=\\\"tag with-icon ${record.status|queueStatusFormat:'class'}\\\">\\n                      ${record.status|queueStatusFormat}\\n                      <small class=\\\"messages-count\\\">\\n                        / <span class=\\\"me-1\\\">${record.totalMessagesCount}</span>mess.\\n                      </small>\\n                    </span>\\n                  </div>\\n                  <div class=\\\"messages-status mt-1\\\">\\n                    <template repeat.for=\\\"item of record.messagesStatusCount\\\">\\n                      <small class=\\\"${item.value} d-flex\\\">\\n                        <span class=\\\"me-1\\\">${item.count}</span>\\n                        <span>${item.label}</span>\\n                      </small>\\n                    </template>\\n                  </div>\\n                  <small\\n                    if.bind=\\\"record.status !== 'COMPLETED'\\\"\\n                    ka-tooltip=\\\"Aggiorna lo stato della coda ed i rispettivi messaggi\\\"\\n                    class=\\\"update-messages d-inline-block mt-1 ${record.loading ? 'loading' : ''}\\\"\\n                    style=\\\"white-space: nowrap\\\"\\n                    click.delegate=\\\"updateQueueMessages(record, $event)\\\">\\n                    ${record.loading ? 'Aggiornamento in corso' : 'Aggiorna spedizione'}\\n                  </small>\\n                </td>\\n                <td class=\\\"limitwidth-30\\\" style=\\\"word-break: break-all\\\">\\n                  <span ka-tooltip=\\\"value.bind: record.topic\\\">${record.topic}</span>\\n                  <div class=\\\"channels\\\">\\n                    <span ka-tooltip.bind=\\\"channel.text\\\" repeat.for=\\\"channel of queueProperties.channels\\\" class=\\\"channel ${record.usedChannels.includes(channel.value.toLowerCase()) ? 'used' : ''}\\\">\\n                      <i class=\\\"fal ${channel.icon}\\\"></i>\\n                    </span>\\n                    <span class=\\\"channel forwarding\\\" ka-tooltip=\\\"Messaggio di cortesia\\\" if.bind=\\\"record.emailForwardingUsed === 'YES'\\\">\\n                      <i class=\\\"fal fa-at\\\"></i>\\n                    </span>\\n                  </div>\\n                </td>\\n                <td if.bind=\\\"privileges.isOperator\\\">\\n                  <p class=\\\"p-0 m-0\\\">${record.client.name}</p><small>versione ${record.client.version}</small>\\n                </td>\\n                <td>${record.owner.displayName}</td>\\n                <td>\\n                  <template if.bind=\\\"!tools.isDateLowerThan(record)\\\">\\n                    <span \\n                      click.delegate=\\\"tools.copyText(record.costVoices.total.grossAmount, 'Totale')\\\"\\n                      class=\\\"amount ${record.costVoices.total.grossAmountAfterRefund ? 'line-through' : ''}\\\">\\n                      ${record.costVoices.total.grossAmount} € \\n                    </span>\\n                    <span \\n                      class=\\\"copy-text with-icon amount\\\"\\n                      if.bind=\\\"record.costVoices.total.grossAmountAfterRefund\\\">\\n                      ${record.costVoices.total.grossAmountAfterRefund} €\\n                    </span>\\n                    <small \\n                      class=\\\"queue-cost-detail mt-1\\\" \\n                      style=\\\"white-space: nowrap\\\"\\n                      click.delegate=\\\"dialogQueueCostDetail(record)\\\"\\n                      if.bind=\\\"shouldShowCostLink(record.costVoices.total.grossAmount)\\\">\\n                      Costi spedizione\\n                    </small>\\n                  </template>\\n                  <small else class=\\\"alert-message alert-color\\\">Dettaglio costi ${!tools.isLegacyQueueDetail(record, privileges) ? 'non disponibile' : 'disponibile solo su reportistica tradizionale' }.</small>\\n                </td>\\n                <td>\\n                  <span class=\\\"d-block\\\">${tools.displayPaymentMethods(record)}</span>\\n                </td>\\n                <td style=\\\"text-align: right; white-space: nowrap\\\">\\n                  <ka-button\\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Vai a reportistica tradizionale\\\"\\n                    if.bind=\\\"tools.isLegacyQueueDetail(record, privileges)\\\"\\n                    click.delegate=\\\"tools.navigateToLegacyReportDetail(record.uuid)\\\">Dettaglio\\n                  </ka-button>\\n                  <ka-button\\n                    else\\n                    class=\\\"flat inverted m-0\\\" \\n                    ka-tooltip=\\\"Dettaglio spedizione\\\"\\n                    click.delegate=\\\"tools.navigateTo(record.owner.id, record.uuid)\\\">Dettaglio\\n                  </ka-button>\\n                  <ka-button \\n                    class=\\\"flat inverted m-0 ms-1\\\" \\n                    if.bind=\\\"!privileges.isOperator\\\" \\n                    click.delegate=\\\"archive(record)\\\" \\n                    ka-tooltip=\\\"Archivia spedizione\\\">\\n                    <i class=\\\"far fa-archive p-0\\\"></i>\\n                  </ka-button>\\n                  <ka-button\\n                    ka-tooltip=\\\"Scarica distinta\\\"\\n                    class=\\\"flat secondary inverted m-0 ms-1\\\" \\n                    click.delegate=\\\"tools.downloadWorkOrderList(record)\\\"\\n                    disabled.bind=\\\"!api.hasRole(['LIST_QUEUE_REPORTS','LIST_ANY_QUEUE_REPORT'])\\\">\\n                    <i class=\\\"far fa-file-download\\\"></i>\\n                  </ka-button>\\n                </td>\\n              </tr>\\n            </template>\\n          </tbody>\\n          <tfoot>\\n            <tr>\\n              <td colspan=\\\"6\\\">\\n                <span if.bind=\\\"!tableInterface.data.length\\\">Non sono presenti spedizioni inviate</span>\\n              </td>\\n            </tr>\\n          </tfoot>\\n        </table>\\n      </md-table-wrapper>\\n    </template>\\n  </template>\\n\\n</template>\\n\";\n// Exports\nexport default code;","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    // eslint-disable-next-line no-param-reassign\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n  url = String(url.__esModule ? url.default : url);\n\n  if (options.hash) {\n    // eslint-disable-next-line no-param-reassign\n    url += options.hash;\n  }\n\n  if (options.maybeNeedQuotes && /[\\t\\n\\f\\r \"'=<>`]/.test(url)) {\n    return \"\\\"\".concat(url, \"\\\"\");\n  }\n\n  return url;\n};","/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n  return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n  return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n  return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaPluginConfiguration = undefined;\n\nvar _kaDialog = require('./ka-dialog/ka-dialog');\n\nObject.keys(_kaDialog).forEach(function (key) {\n  if (key === \"default\" || key === \"__esModule\") return;\n  Object.defineProperty(exports, key, {\n    enumerable: true,\n    get: function get() {\n      return _kaDialog[key];\n    }\n  });\n});\n\nvar _kaToast = require('./ka-toast/ka-toast');\n\nObject.keys(_kaToast).forEach(function (key) {\n  if (key === \"default\" || key === \"__esModule\") return;\n  Object.defineProperty(exports, key, {\n    enumerable: true,\n    get: function get() {\n      return _kaToast[key];\n    }\n  });\n});\n\nvar _kaApi = require('./ka-api/ka-api');\n\nObject.keys(_kaApi).forEach(function (key) {\n  if (key === \"default\" || key === \"__esModule\") return;\n  Object.defineProperty(exports, key, {\n    enumerable: true,\n    get: function get() {\n      return _kaApi[key];\n    }\n  });\n});\nexports.configure = configure;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _kaConsole = require('./ka-console/ka-console');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nwindow.konsole = new _kaConsole.KaConsole();\n\nfunction configure(config, callback) {\n  var kaConfig = new KaPluginConfiguration(config);\n  if (callback instanceof Function) {\n    callback(kaConfig);\n  } else {\n    kaConfig.useAll();\n  }\n  kaConfig.apply();\n}\n\nvar KaPluginConfiguration = exports.KaPluginConfiguration = function () {\n  function KaPluginConfiguration(config) {\n    _classCallCheck(this, KaPluginConfiguration);\n\n    this.config = config;\n  }\n\n  KaPluginConfiguration.prototype.useAll = function useAll() {\n    this.useStandard();\n    this.useLayout();\n    this.useResource();\n    this.useInputs();\n    this.useControls();\n  };\n\n  KaPluginConfiguration.prototype.useStandard = function useStandard() {\n    console.log('%c[ka-components] loading standard modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-button/ka-button')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-table/ka-table')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-table/ka-tableFilters')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-tabs/ka-tabs')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-tooltip/ka-tooltip')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-enter/ka-enter')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-progress/ka-progress')]);\n  };\n\n  KaPluginConfiguration.prototype.useLayout = function useLayout() {\n    console.log('%c[ka-components] loading layout modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-navbar/ka-navbar')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-layout/ka-layout')]);\n  };\n\n  KaPluginConfiguration.prototype.useResource = function useResource() {\n    console.log('%c[ka-components] loading resource modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-resource/ka-resource')]);\n  };\n\n  KaPluginConfiguration.prototype.useInputs = function useInputs() {\n    console.log('%c[ka-components] loading input modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-input/ka-input')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-input/ka-input-controls')]);\n  };\n\n  KaPluginConfiguration.prototype.useControls = function useControls() {\n    console.log('%c[ka-components] loading control modules', 'color:#8b64cf;font-size:8px;');\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control/ka-control')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-check/ka-control-check')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-combo/ka-control-combo')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-date/ka-control-date')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-datetime/ka-control-datetime')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-datetime/ka-datetime')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-editor/ka-control-editor')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-file/ka-control-file')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-list/ka-control-list')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-number/ka-control-number')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-password/ka-control-password')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-table/ka-control-table')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-text/ka-control-text')]);\n    this.config.globalResources([_aureliaFramework.PLATFORM.moduleName('ka-components/ka-control-textarea/ka-control-textarea')]);\n  };\n\n  KaPluginConfiguration.prototype.apply = function apply() {};\n\n  return KaPluginConfiguration;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaApi = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dec, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaHttpClient = require('aurelia-http-client');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _environment = require('environment');\n\nvar _environment2 = _interopRequireDefault(_environment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaApi = exports.KaApi = (_dec = (0, _aureliaFramework.inject)(_aureliaRouter.Router), _dec(_class = function () {\n  function KaApi(router) {\n    var _this = this;\n\n    _classCallCheck(this, KaApi);\n\n    this.routeLogin = 'login';\n    this.routeHome = 'home';\n    this._accessToken = '';\n    this._refreshToken = '';\n    this._refreshPromise = null;\n    this._user = null;\n\n    this.storage = _environment2.default.APP_STORAGE && window[_environment2.default.APP_STORAGE] ? window[_environment2.default.APP_STORAGE] : _environment2.default.storage && window[_environment2.default.storage] ? window[_environment2.default.storage] : localStorage;\n    this._baseUrl = this.storage.getItem('APP_KAMAJI_BASE_URL') || ENVIRONMENT.APP_KAMAJI_BASE_URL || ENVIRONMENT.APP_API_BASE_URL || this.storage.getItem('api_base_url') || (_environment2.default.api && _environment2.default.api.kamaji ? _environment2.default.api.kamaji : _environment2.default.api);\n    this._isKamaji1 = !!this._baseUrl.match(/api\\.kamaji\\.it\\/v1\\//g);\n    this._accessToken = this.storage.getItem('access_token') || '';\n    this._refreshToken = this.storage.getItem('refresh_token') || '';\n\n    this._user = this.storage.getItem('user') ? JSON.parse(this.storage.getItem('user')) : null;\n    this._refreshUrl = '';\n    this.client = new _aureliaHttpClient.HttpClient();\n    this.client._baseUrl = this._baseUrl;\n    this.router = router;\n\n    this.client.configure(function (x) {\n      x.withBaseUrl(_this.baseUrl);\n      x.withInterceptor({\n        request: function request(msg) {\n          if (_this.accessToken.length && (!_this._refreshUrl.length || msg.url !== _this._refreshUrl)) {\n            msg.headers.add('Authorization', 'Bearer ' + _this.accessToken);\n          }\n          return msg;\n        },\n        response: function response(msg) {\n          if (String(msg.statusCode) !== '204' && msg.responseType === 'json' && typeof msg.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        },\n        responseError: function responseError(msg) {\n          if (msg.statusCode === 401 && _this.refreshToken.length && msg.requestMessage.url !== _this._refreshUrl) {\n            return _this.refresh(_this.refreshToken).then(function (success) {\n              return _this.client.send(msg.requestMessage);\n            }, function (error) {\n              return error;\n            });\n          }\n          return Promise.reject(msg);\n        }\n      });\n    });\n  }\n\n  KaApi.prototype.login = function login(username, password) {\n    var _this2 = this;\n\n    return this.client.post('auth', { username: username, password: password, grant_type: 'password' }).then(function (msg) {\n      _this2.accessToken = msg.response.access_token;\n      _this2.refreshToken = msg.response.refresh_token;\n      if (_this2._isKamaji1) {\n        return _this2.client.get('auth').then(function (x) {\n          var response = x.response;\n          return _this2.client.get(response.endpoint + '/' + response.userid, { depth: 0 }).then(function (x) {\n            _this2.user = x.response;\n\n            _this2.router.navigateToRoute(_this2.routeHome);\n            return Promise.resolve(x);\n          }, function (x) {\n            _this2.user = null;\n            return Promise.reject(x);\n          });\n        }, function (x) {\n          _this2.user = null;\n          return Promise.reject(x);\n        });\n      }\n      return _this2.client.get('me?depth=0').then(function (x) {\n        _this2.user = x.response;\n\n        _this2.router.navigateToRoute(_this2.routeHome);\n        return Promise.resolve(x);\n      }, function (x) {\n        _this2.user = null;\n        return Promise.reject(x);\n      });\n    }, function (x) {\n      _this2.accessToken = '';\n      _this2.refreshToken = '';\n      _this2.user = null;\n      return Promise.reject(x);\n    });\n  };\n\n  KaApi.prototype.logout = function logout() {\n    this.accessToken = '';\n    this.refreshToken = '';\n    this.user = null;\n    localStorage.clear();\n    sessionStorage.clear();\n    this.router.navigateToRoute(this.routeLogin);\n  };\n\n  KaApi.prototype.refresh = function refresh(token) {\n    var _this3 = this;\n\n    if (this._refreshPromise) return this._refreshPromise;\n    this._refreshUrl = 'auth/refresh/' + token;\n    this._refreshPromise = this.client.post(this._refreshUrl).then(function (msg) {\n      _this3.accessToken = msg.response.access_token;\n      _this3.refreshToken = msg.response.refresh_token;\n      return Promise.resolve(msg.response);\n    }, function (x) {\n      _this3.logout();\n      return Promise.reject(x);\n    });\n    this._refreshPromise.finally(function () {\n      _this3._refreshUrl = '';\n      _this3._refreshPromise = null;\n    });\n    return this._refreshPromise;\n  };\n\n  KaApi.prototype.get = function get(endpoint, params) {\n    var queryString = (typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object' ? '?' + this.buildQueryString(params) : '';\n    return this.client.get(this.baseUrl + endpoint + queryString);\n  };\n\n  KaApi.prototype.post = function post(endpoint, data) {\n    return this.client.post(this.baseUrl + endpoint, data);\n  };\n\n  KaApi.prototype.put = function put(endpoint, data) {\n    return this.client.put(this.baseUrl + endpoint, data);\n  };\n\n  KaApi.prototype.patch = function patch(endpoint, data) {\n    return this.client.patch(this.baseUrl + endpoint, data);\n  };\n\n  KaApi.prototype.delete = function _delete(endpoint) {\n    return this.client.delete(this.baseUrl + endpoint);\n  };\n\n  KaApi.prototype.buildQueryString = function buildQueryString(params) {\n    var query = [];\n    for (var _iterator = Object.entries(params), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var _ref2 = _ref,\n          key = _ref2[0],\n          value = _ref2[1];\n      query.push(key + '=' + encodeURIComponent(value));\n    }return query.join('&');\n  };\n\n  _createClass(KaApi, [{\n    key: 'baseUrl',\n    get: function get() {\n      return this._baseUrl;\n    },\n    set: function set(value) {\n      this._baseUrl = value;\n      this.storage.setItem('api_base_url', value);\n      if (this.client) {\n        this.client._baseUrl = this._baseUrl;\n        this.client.configure(function (conf) {\n          conf.withBaseUrl(value);\n        });\n      }\n    }\n  }, {\n    key: 'accessToken',\n    get: function get() {\n      return this._accessToken;\n    },\n    set: function set(value) {\n      this._accessToken = value || '';\n      if (value) this.storage.setItem('access_token', value);else this.storage.removeItem('access_token');\n    }\n  }, {\n    key: 'refreshToken',\n    get: function get() {\n      return this._refreshToken;\n    },\n    set: function set(value) {\n      this._refreshToken = value || '';\n      if (value) this.storage.setItem('refresh_token', value);else this.storage.removeItem('refresh_token');\n    }\n  }, {\n    key: 'user',\n    get: function get() {\n      return this._user;\n    },\n    set: function set(value) {\n      this._user = value || '';\n      if (value) this.storage.setItem('user', JSON.stringify(value));else this.storage.removeItem('user');\n    }\n  }, {\n    key: 'isAuthenticated',\n    get: function get() {\n      return !!this.accessToken.length && !!this.user;\n    }\n  }]);\n\n  return KaApi;\n}()) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaButton = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaButton = exports.KaButton = (_dec = (0, _aureliaFramework.customElement)('ka-button'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaButton(element) {\n    _classCallCheck(this, KaButton);\n\n    _initDefineProp(this, 'disabled', _descriptor, this);\n\n    _initDefineProp(this, 'busy', _descriptor2, this);\n\n    _initDefineProp(this, 'href', _descriptor3, this);\n\n    this._ready = false;\n\n    this.element = element;\n  }\n\n  KaButton.prototype.bind = function bind(bindingContext) {\n    this.parent = bindingContext;\n\n    this.disabled = this.disabled === '' ? true : this.disabled;\n    this.disabled = this.disabled === null || typeof this.disabled === 'undefined' ? false : this.disabled;\n    this.disabled = this.disabled === 'false' ? false : Boolean(this.disabled);\n  };\n\n  KaButton.prototype.attached = function attached() {\n    var _this = this;\n\n    this._ready = true;\n    this.element.addEventListener('click', function (e) {\n      if (_this.disabled || _this.busy) {\n        e.stopPropagation();\n      } else if (_this.href) {\n        e.stopPropagation();\n        location.href = _this.href;\n      } else {\n        e.model = _this;\n      }\n    });\n\n    var active = function active(e) {\n      if (!_this.disabled && !_this.busy) _this.element.classList.toggle('active');\n    };\n    this.element.addEventListener('mousedown', active);\n    this.element.addEventListener('touchstart', active);\n    this.element.addEventListener('mouseup', active);\n    this.element.addEventListener('touchend', active);\n\n    this.init();\n  };\n\n  KaButton.prototype.disabledChanged = function disabledChanged(value) {\n    value = value === 'false' ? false : Boolean(value);\n    this.disabled = value;\n    if (this._ready) this.init();\n  };\n\n  KaButton.prototype.busyChanged = function busyChanged(value) {\n    if (this._ready) this.init();\n  };\n\n  KaButton.prototype.init = function init() {\n    if (this.disabled === true) this.element.classList.add('disabled');else this.element.classList.remove('disabled');\n    if (this.busy) this.element.classList.add('busy');else this.element.classList.remove('busy');\n  };\n\n  return KaButton;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'disabled', [_dec3], {\n  enumerable: true,\n  initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'busy', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return false;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'href', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaConsole = undefined;\n\nvar _environment = require('environment');\n\nvar _environment2 = _interopRequireDefault(_environment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaConsole = exports.KaConsole = function () {\n  function KaConsole() {\n    _classCallCheck(this, KaConsole);\n  }\n\n  KaConsole.prototype.log = function log() {\n    this.debug(Object.values(arguments));\n  };\n\n  KaConsole.prototype.debug = function debug() {\n    if (!_environment2.default.debug && (!_environment2.default.APP_DEBUG || _environment2.default.APP_DEBUG !== 'true')) return;\n    console.debug.apply(console, ['%cK#DEBUG', 'background-color:#cbf7da;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  };\n\n  KaConsole.prototype.info = function info() {\n    console.info.apply(console, ['%cK#INFO', 'background-color:#cbecf7;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  };\n\n  KaConsole.prototype.warn = function warn() {\n    console.warn.apply(console, ['%cK#WARN', 'background-color:#f7e8cb;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  };\n\n  KaConsole.prototype.error = function error() {\n    console.error.apply(console, ['%cK#ERROR', 'background-color:#f7cbcb;padding:5px;line-height:1;border-radius:3px;'].concat(Object.values(arguments)));\n  };\n\n  return KaConsole;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaControlBackdropService = exports.KaControlBackdropService = function () {\n  function KaControlBackdropService(element) {\n    var _this = this;\n\n    _classCallCheck(this, KaControlBackdropService);\n\n    this.element = element;\n    this.backdrop = document.createElement('ka-control-backdrop');\n    this.backdrop.addEventListener('click', function (event) {\n      if (event.target === _this.backdrop) _this.close();\n    });\n  }\n\n  KaControlBackdropService.prototype.open = function open(drawer) {\n    var _this2 = this;\n\n    this.drawer = drawer;\n    return new Promise(function (resolve, reject) {\n      try {\n        document.body.appendChild(_this2.backdrop);\n        setTimeout(function () {\n          var bounds = _this2.element.getBoundingClientRect();\n          var max_h = _this2.backdrop.getBoundingClientRect().height;\n          _this2.backdrop.appendChild(_this2.drawer);\n\n          _this2.drawer.style.top = bounds.top + bounds.height + 'px';\n          _this2.drawer.style.left = bounds.left + 'px';\n          _this2.drawer.style.width = bounds.width + 'px';\n          resolve();\n        }, 0);\n      } catch (error) {\n        reject(error);\n      }\n    });\n  };\n\n  KaControlBackdropService.prototype.close = function close() {\n    var _this3 = this;\n\n    return new Promise(function (resolve, reject) {\n      try {\n        _this3.element.appendChild(_this3.drawer);\n        _this3.drawer.removeAttribute('style');\n        document.body.removeChild(_this3.backdrop);\n        resolve();\n      } catch (error) {\n        reject(error);\n      }\n    });\n  };\n\n  return KaControlBackdropService;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlCheck = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlCheck = exports.KaControlCheck = (_dec = (0, _aureliaFramework.customElement)('ka-control-check'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlCheck(element) {\n    _classCallCheck(this, KaControlCheck);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'description', _descriptor4, this);\n\n    this.element = element;\n  }\n\n  KaControlCheck.prototype.attached = function attached() {};\n\n  KaControlCheck.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-check: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-check: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlCheck.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlCheck.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlCheck.prototype.click = function click($event) {\n    var _this = this;\n\n    if (this.readonly) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    } else {\n      this.value = !this.value;\n      setTimeout(function () {\n        _this.element.dispatchEvent(new Event('change', { bubbles: true }));\n      }, 100);\n    }\n  };\n\n  return KaControlCheck;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'description', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.kaControlComboTextifyValueConverter = exports.kaControlComboHighlightValueConverter = exports.KaControlCombo = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaHttpClient = require('aurelia-http-client');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlCombo = exports.KaControlCombo = (_dec = (0, _aureliaFramework.customElement)('ka-control-combo'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlCombo(element) {\n    var _this = this;\n\n    _classCallCheck(this, KaControlCombo);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'client', _descriptor4, this);\n\n    this._schema = null;\n    this._value = null;\n    this._client = null;\n    this.opened = false;\n    this.combostack = [];\n    this.valuestack = [];\n    this.preloadedCombostack = [];\n\n    this.element = element;\n\n    this.backdrop = document.createElement('ka-control-backdrop');\n    this.backdrop.addEventListener('click', function (event) {\n      if (event.target === _this.backdrop) _this.close();\n    });\n  }\n\n  KaControlCombo.prototype.attached = function attached() {};\n\n  KaControlCombo.prototype.schemaChanged = function schemaChanged(schema) {\n    var _this2 = this;\n\n    if (!schema) {\n      console.warn('ka-control-combo: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        console.error('ka-control-combo: invalid schema provided!', schema);\n        return;\n      }\n    }\n    if (!schema.datasource) {\n      console.error('ka-control-combo: missing datasource in schema!', schema);\n      return;\n    }\n    if (typeof schema.datasource === 'string') {\n      try {\n        schema.datasource = JSON.parse(schema.datasource);\n      } catch (error) {\n        console.error('ka-control-combo: invalid datasource provided in schema!', schema);\n        return;\n      }\n    }\n    if (Array.isArray(schema.datasource) && !schema.datapreload) {\n      schema.datapreload = true;\n    }\n    if (!schema.datavalue) {\n      schema.datavalue = 'value';\n    }\n    if (!schema.datatext) {\n      schema.datatext = 'text';\n    }\n    if (!schema.datasearch) {\n      schema.datasearch = {};\n    } else if (typeof schema.datasearch === 'string') {\n      try {\n        schema.datasearch = JSON.parse(schema.datasearch);\n      } catch (error) {\n        console.error('ka-control-combo: invalid datasearch provided in schema!', schema);\n        return;\n      }\n    }\n    if (!schema.datasearch.operator) {\n      schema.datasearch.operator = '^=';\n    }\n    if (!schema.datasearch.keys) {\n      schema.datasearch.keys = schema.datatext;\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    console.debug('ka-control-combo: schema changed!', schema);\n    this._schema = schema;\n\n    if (this.value && !this._value) this.valueChanged(this.value);\n\n    if (schema.datasource.url) {\n      this._client = new _aureliaHttpClient.HttpClient();\n      this._client.configure(function (x) {\n        x.withInterceptor({\n          response: function response(msg) {\n            if (msg.responseType === 'json' && typeof msg.response === 'string') {\n              msg.response = JSON.parse(msg.response);\n            }\n            return msg;\n          }\n        });\n      });\n    } else this._client = this.client;\n\n    if (schema.datamultiple === true) {\n      this.element.classList.add('multiple');\n    }\n\n    setTimeout(function () {\n      _this2.buildCombostack();\n    }, this._client ? 0 : 100);\n  };\n\n  KaControlCombo.prototype.clientChanged = function clientChanged(value) {\n    if (value && !this._client) this._client = value;\n  };\n\n  KaControlCombo.prototype.valueChanged = function valueChanged(value) {\n    var _this3 = this;\n\n    if (!this._schema) {\n      console.warn('ka-control-combo: cannot handle value without schema!');\n      return;\n    }\n\n    if (!value && !this._value || value !== 'null' && value === JSON.stringify(this._value)) {\n      return;\n    }\n    if (value === null) {\n      this.valuestack = [];\n      this.getValueModel();\n    } else if (this._schema.datamultiple === true) {\n      if (typeof value === 'string') {\n        try {\n          value = JSON.parse(value);\n        } catch (error) {\n          console.error('ka-control-combo: invalid value provided!', value);\n          return;\n        }\n      }\n      if (!Array.isArray(value)) {\n        console.warn('ka-control-combo: value should be an array! Trying to convert it...', value);\n        value = [String(value)];\n      }\n    } else {\n      if (typeof value !== 'string' && typeof value !== 'number') {\n        console.error('ka-control-combo: value must be a string or an integer!', value);\n        return;\n      }\n      value = [String(value)];\n    }\n    this._value = value;\n    setTimeout(function () {\n      _this3.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n\n    setTimeout(function () {\n      _this3.buildValuestack();\n    }, this._client ? 0 : 100);\n  };\n\n  KaControlCombo.prototype.buildCombostack = function buildCombostack() {\n    var _this4 = this;\n\n    var dts = this._schema.datasource;\n    var dtp = this._schema.datapreload;\n\n    if (dtp === true || Array.isArray(dts)) {\n      if (dts.table || dts.url) {\n        var endpoint = this.buildQueryUrl();\n        if (!endpoint) return console.warn('ka-control-combo: no endpoint set for building combo stack');\n        this._client.get(endpoint).then(function (x) {\n          _this4.combostack = x.response;\n          _this4.preloadedCombostack = x.response;\n        }).catch(function (x) {\n          console.error('ka-control-combo: invalid datasource provided in schema!', _this4._schema);\n        });\n      } else if (Array.isArray(dts)) {\n        this.combostack = dts;\n        this.preloadedCombostack = dts;\n      } else {\n        console.error('ka-control-combo: invalid datasource provided in schema!', this._schema);\n        return;\n      }\n    }\n  };\n\n  KaControlCombo.prototype.buildValuestack = function buildValuestack() {\n    var _this5 = this;\n\n    if (!this._value) return;\n    var dts = this._schema.datasource;\n    var dtv = this._schema.datavalue;\n    var dtt = this._schema.datatext;\n    var values = this._value;\n    var valuestack = [];\n    var promises = [];\n\n    var _loop2 = function _loop2() {\n      if (_isArray) {\n        if (_i2 >= _iterator.length) return 'break';\n        _ref = _iterator[_i2++];\n      } else {\n        _i2 = _iterator.next();\n        if (_i2.done) return 'break';\n        _ref = _i2.value;\n      }\n\n      var value = _ref;\n\n      var matched = _this5.combostack.find(function (x) {\n        return String(x.value) === String(value);\n      }) || { value: String(value) };\n      valuestack.push(matched);\n    };\n\n    for (var _iterator = values, _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      var _ret2 = _loop2();\n\n      if (_ret2 === 'break') break;\n    }\n    var unmatched = valuestack.filter(function (x) {\n      return !x.text;\n    });\n    var endpoint = void 0;\n    if (unmatched.length) {\n      if (dts.query) {\n        var params = {};\n        if (typeof dts.query === 'string') {\n          if (dts.query.includes('=')) {\n            params = this.getUrlParams(dts.query.includes('?') ? '' + dts.query : '?' + dts.query);\n            Object.entries(params).forEach(function (_ref2) {\n              var key = _ref2[0],\n                  value = _ref2[1];\n\n              value = value.replace(/{datavalue}/g, dtv);\n              value = value.replace(/{datatext}/g, dtt);\n              value = value.replace(/{value}/g, unmatched.map(function (x) {\n                return x.value;\n              }).join(','));\n              params[key] = value;\n            });\n          } else {\n            params[dts.query] = unmatched.map(function (x) {\n              return x.value;\n            }).join(',');\n          }\n        } else if (dts.query.item) {\n          params[dts.query.item || dts.query] = unmatched.map(function (x) {\n            return x.value;\n          }).join(',');\n        }\n        endpoint = this.buildQueryUrl(params);\n      } else {\n        endpoint = this.buildQueryUrl({ filters: dtv + '~~' + unmatched.map(function (x) {\n            return x.value;\n          }).join(',') });\n      }\n      if (!endpoint) return console.warn('ka-control-combo: no endpoint set for building value stack');\n      promises.push(this._client.get(endpoint).then(function (x) {\n        var response = x.response;\n\n        var _loop = function _loop() {\n          if (_isArray2) {\n            if (_i3 >= _iterator2.length) return 'break';\n            _ref3 = _iterator2[_i3++];\n          } else {\n            _i3 = _iterator2.next();\n            if (_i3.done) return 'break';\n            _ref3 = _i3.value;\n          }\n\n          var item = _ref3;\n\n          var text = '';\n          var keys = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n          if (keys) {\n            text = dtt;\n            for (var _iterator3 = keys, _isArray3 = Array.isArray(_iterator3), _i4 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n              var _ref4;\n\n              if (_isArray3) {\n                if (_i4 >= _iterator3.length) break;\n                _ref4 = _iterator3[_i4++];\n              } else {\n                _i4 = _iterator3.next();\n                if (_i4.done) break;\n                _ref4 = _i4.value;\n              }\n\n              var key = _ref4;\n\n              var replacement = '';\n              key = /\\{([^\\.]*)\\.?(.*)\\}/g.exec(key);\n              if (item[key[1]] && key[2] && item[key[1]][key[2]]) replacement = item[key[1]][key[2]];else if (item[key[1]]) replacement = item[key[1]];\n              text = text.replace(key[0], replacement);\n            }\n          } else {\n            try {\n              var evalSafeVar = item;\n              text = item[dtt] || eval('evalSafeVar.' + dtt);\n            } catch (error) {\n              text = '';\n            }\n          }\n          var entry = valuestack.find(function (i) {\n            return i.value === String(item[dtv]);\n          });\n          entry.text = text;\n          entry.model = item;\n        };\n\n        for (var _iterator2 = response, _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n          var _ref3;\n\n          var _ret = _loop();\n\n          if (_ret === 'break') break;\n        }\n      }));\n    }\n    Promise.all(promises).finally(function () {\n      _this5.valuestack = valuestack;\n      _this5.getValueModel();\n    });\n  };\n\n  KaControlCombo.prototype.getValueModel = function getValueModel() {\n    var _this6 = this;\n\n    if (!this.value) return this.valueModel = null;\n    if (this.schema.datamultiple === true) {\n      this.valueModel = this.valuestack.filter(function (x) {\n        return _this6.value.includes(x.value);\n      }).map(function (x) {\n        return x.model;\n      });\n    } else {\n      this.valueModel = this.valuestack.filter(function (x) {\n        return String(_this6.value) === String(x.value);\n      }).map(function (x) {\n        return x.model;\n      })[0];\n    }\n  };\n\n  KaControlCombo.prototype.open = function open($event) {\n    var _this7 = this;\n\n    if (this.readonly || $event && $event.target.tagName === 'I') return;\n    if (this.opened) return this.close();\n    this._combostack.forEach(function (x) {\n      return x.selected = _this7._value && _this7._value.includes(x.value);\n    });\n\n    setTimeout(function () {\n      _this7.element.dispatchEvent(new Event('focus', { bubbles: true }));\n    }, 1);\n\n    document.body.appendChild(this.backdrop);\n    this.opened = true;\n\n    setTimeout(function () {\n      var bounds = _this7.drawer.getBoundingClientRect();\n      var max_h = _this7.backdrop.getBoundingClientRect().height;\n      _this7.backdrop.appendChild(_this7.drawer);\n      if (bounds.top + 280 > max_h) {\n        _this7.drawer.style.top = 'auto';\n        _this7.drawer.style.bottom = max_h - bounds.top - 30 + 60 + 'px';\n      } else {\n        _this7.drawer.style.top = bounds.top + 'px';\n        _this7.drawer.style.bottom = 'auto';\n      }\n      _this7.drawer.style.left = bounds.left + 'px';\n      _this7.drawer.style.width = bounds.width + 'px';\n\n      if (_this7.searchInput) _this7.searchInput.focus();\n    }, 0);\n  };\n\n  KaControlCombo.prototype.close = function close() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n    this.element.appendChild(this.drawer);\n    this.drawer.setAttribute('style', '');\n    document.body.removeChild(this.backdrop);\n    if (this._schema.datapreload !== true) this.combostack = [];\n    this.opened = false;\n    this.term = null;\n  };\n\n  KaControlCombo.prototype.select = function select(item) {\n    var _this8 = this;\n\n    if (item.model.optgroup || item.model.readonly === true) return;\n    var value = this._value || [];\n    var multiple = this._schema.datamultiple === true;\n    var index = value.indexOf(item.value);\n    if (multiple && index > -1) {\n      item.selected = false;\n      value.splice(index, 1);\n      this.valuestack.splice(index, 1);\n      if (value.length === 0) value = this._value = null;\n    } else if (multiple) {\n      item.selected = true;\n      value.push(item.value);\n      this.valuestack.push(item);\n    } else if (!multiple && index > -1) {\n      item.selected = false;\n      value = this._value = null;\n      this.valuestack = [];\n      this.close();\n    } else if (!multiple) {\n      item.selected = true;\n      value = item.value;\n      this.valuestack = [item];\n      this.close();\n    }\n    this.value = value;\n    setTimeout(function () {\n      _this8.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n    this.getValueModel();\n  };\n\n  KaControlCombo.prototype.search = function search() {\n    var _this9 = this;\n\n    var dts = this._schema.datasource;\n    var dtv = this._schema.datavalue;\n    var dtt = this._schema.datatext;\n    var dtp = this._schema.datapreload;\n    var dsh = this._schema.datasearch;\n    var term = this.term;\n    var filters = [];\n    var endpoint = void 0;\n\n    if (dtp && this.preloadedCombostack.length > 8) {\n      this.combostack = this.preloadedCombostack.filter(function (x) {\n        return String(x[dtt]).toUpperCase().indexOf(term.toUpperCase()) === 0;\n      });\n      return true;\n    }\n\n    if (!term || term.length < 2) return true;\n\n    if (!dts.table && !dts.url) {\n      return true;\n    }\n\n    if (dts.query && _typeof(dts.query) === 'object' && dts.query.hasOwnProperty('search') && typeof dts.query.search === 'string') {\n      var params = {};\n      params[dts.query.search] = term;\n      endpoint = this.buildQueryUrl(params);\n    } else {\n      var _keys = dsh.keys.match(/{(.*?)}/g);\n      if (_keys) {\n        var terms = term.trim().split(' ');\n        if (terms.length > 1) {\n          _keys.forEach(function (key, index) {\n            if (terms[index]) filters.push('' + key.replace(/{|}/g, '') + dsh.operator + terms[index]);\n          });\n        } else {\n          _keys.forEach(function (key, index) {\n            filters.push('' + key.replace(/{|}/g, '') + dsh.operator + terms[0]);\n          });\n          filters = ['(' + filters.join('|') + ')'];\n        }\n      } else {\n        filters.push('' + dtt + dsh.operator + term.trim());\n      }\n      endpoint = this.buildQueryUrl({ filters: filters.join('&') });\n    }\n\n    if (this.searchRequest && this.searchRequest.cancel) {\n      this.searchRequest.cancel();\n    }\n    this.searchPending = true;\n    this.searchRequest = this._client.get(endpoint);\n    this.searchRequest.then(function (x) {\n      _this9.combostack = x.response;\n      _this9._combostack.forEach(function (c) {\n        return c.selected = _this9._value && _this9._value.includes(c.value);\n      });\n      _this9.searchPending = false;\n    }).catch(function (error) {\n      if (!error.statusCode === 0) {\n        console.error(error);\n        _this9.searchPending = false;\n      }\n    });\n    return true;\n  };\n\n  KaControlCombo.prototype.searchKeyUp = function searchKeyUp() {\n    var _this10 = this;\n\n    if (this.searchDebounceTimeout) {\n      clearTimeout(this.searchDebounceTimeout);\n    }\n    this.searchDebounceTimeout = setTimeout(function () {\n      _this10.search();\n    }, 800);\n    return true;\n  };\n\n  KaControlCombo.prototype.searchKeyDown = function searchKeyDown($event) {\n    if (['Enter', 'Tab'].includes($event.key)) {\n      $event.preventDefault();\n      this.close();\n      this.element.focus();\n      return false;\n    }\n    return true;\n  };\n\n  KaControlCombo.prototype.getUrlParams = function getUrlParams(url) {\n    var query = url.match(/\\?(.*)$/);\n    if (!query) return {};\n    var chunks = query[1].split('&');\n    return chunks.reduce(function (params, hash) {\n      var _Object$assign;\n\n      var _hash$split = hash.split('='),\n          key = _hash$split[0],\n          val = _hash$split[1];\n\n      return Object.assign(params, (_Object$assign = {}, _Object$assign[key] = decodeURIComponent(val), _Object$assign));\n    }, {});\n  };\n\n  KaControlCombo.prototype.buildQueryUrl = function buildQueryUrl(params) {\n    var dts = this._schema.datasource;\n    var dtv = this._schema.datavalue;\n    var dtt = this._schema.datatext;\n    var dtf = this._schema.datafilter;\n\n\n    if (!dts.table && !dts.url) {\n      console.warn('ka-control-combo: cannot build query url if datasource is not a table or url!', this._schema.datasource);\n      return;\n    }\n\n    var endpoint = dts.table || dts.url;\n    var urlParams = this.getUrlParams(endpoint);\n\n    if (dts.query && params) {\n      Object.assign(urlParams, params);\n    } else {\n      var fields = void 0;\n      var sort = void 0;\n      var _keys2 = void 0;\n\n      _keys2 = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      if (_keys2) {\n        _keys2 = _keys2.map(function (b) {\n          return b.replace(/\\{(.*?)\\}/g, '$1').replace(/([^\\.]*).*/g, '$1');\n        });\n        fields = _keys2.join(',');\n        sort = '+' + _keys2.join(',+');\n      } else {\n        fields = dtt;\n        sort = '+' + dtt;\n      }\n\n      if (dtf) {\n        urlParams.filters = (urlParams.filters ? urlParams.filters + '&' : '') + ('(' + dtf + ')');\n      }\n      if (params && params.filters) {\n        urlParams.filters = (urlParams.filters ? urlParams.filters + '&' : '') + ('(' + params.filters + ')');\n      }\n      if (urlParams.sort === 'null') {\n        delete urlParams.sort;\n      } else {\n        urlParams.sort = (urlParams.sort ? urlParams.sort + ',' : '') + sort;\n      }\n      urlParams.fields = (urlParams.fields ? urlParams.fields + ',' : '') + (dtv + ',' + fields);\n    }\n    endpoint = endpoint.replace(/\\?.*$/, '') + '?' + this.buildQueryString(urlParams);\n    return endpoint;\n  };\n\n  KaControlCombo.prototype.buildQueryString = function buildQueryString(params) {\n    return Object.keys(params).reduce(function (query, key) {\n      return query + '&' + key + '=' + encodeURIComponent(params[key]);\n    }, '').replace(/^\\&/, '');\n  };\n\n  _createClass(KaControlCombo, [{\n    key: 'combostack',\n    get: function get() {\n      return this._combostack;\n    },\n    set: function set(stack) {\n      if (!stack || stack.length === 0) {\n        this._combostack = [];\n        return;\n      }\n      var dtv = this._schema.datavalue;\n      var dtt = this._schema.datatext;\n      var combostack = [];\n      for (var _iterator4 = stack, _isArray4 = Array.isArray(_iterator4), _i5 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n        var _ref5;\n\n        if (_isArray4) {\n          if (_i5 >= _iterator4.length) break;\n          _ref5 = _iterator4[_i5++];\n        } else {\n          _i5 = _iterator4.next();\n          if (_i5.done) break;\n          _ref5 = _i5.value;\n        }\n\n        var _item = _ref5;\n\n        var _text = '';\n        var _keys3 = dtt.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n        if (_keys3) {\n          _text = dtt;\n          for (var _iterator5 = _keys3, _isArray5 = Array.isArray(_iterator5), _i6 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n            var _ref6;\n\n            if (_isArray5) {\n              if (_i6 >= _iterator5.length) break;\n              _ref6 = _iterator5[_i6++];\n            } else {\n              _i6 = _iterator5.next();\n              if (_i6.done) break;\n              _ref6 = _i6.value;\n            }\n\n            var key = _ref6;\n\n            var replacement = '';\n            key = /\\{([^\\.]*)\\.?(.*)\\}/g.exec(key);\n            if (_item[key[1]] && key[2] && _item[key[1]][key[2]]) replacement = _item[key[1]][key[2]];else if (_item[key[1]]) replacement = _item[key[1]];\n            _text = _text.replace(key[0], replacement);\n          }\n        } else {\n          try {\n            var evalSafeVar = _item;\n            _text = _item[dtt] || eval('evalSafeVar.' + dtt);\n          } catch (error) {\n            _text = '';\n          }\n        }\n        combostack.push({ value: String(_item[dtv]), text: _text, model: _item });\n      }\n      this._combostack = combostack;\n    }\n  }, {\n    key: 'valuestack',\n    get: function get() {\n      return this._valuestack;\n    },\n    set: function set(stack) {\n      if (!stack || stack.length === 0) {\n        this._valuestack = [];\n        return;\n      }\n      this._valuestack = stack;\n    }\n  }]);\n\n  return KaControlCombo;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);\n\nvar kaControlComboHighlightValueConverter = exports.kaControlComboHighlightValueConverter = function () {\n  function kaControlComboHighlightValueConverter() {\n    _classCallCheck(this, kaControlComboHighlightValueConverter);\n  }\n\n  kaControlComboHighlightValueConverter.prototype.toView = function toView(text, term) {\n    if (!term) return text;\n    var index = text.toLowerCase().indexOf(term.toLowerCase());\n    if (index >= 0) text = text.substring(0, index) + '<strong>' + text.substring(index, index + term.length) + '</strong>' + text.substring(index + term.length);\n    return text;\n  };\n\n  return kaControlComboHighlightValueConverter;\n}();\n\nvar kaControlComboTextifyValueConverter = exports.kaControlComboTextifyValueConverter = function () {\n  function kaControlComboTextifyValueConverter() {\n    _classCallCheck(this, kaControlComboTextifyValueConverter);\n  }\n\n  kaControlComboTextifyValueConverter.prototype.toView = function toView(text) {\n    return text.replace(/(<([^>]+)>)/gi, \"\");\n  };\n\n  return kaControlComboTextifyValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.controlDateValueConverter = exports.KaControlDate = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _luxon = require('luxon');\n\nvar _kaControlBackdrop = require('../ka-control-backdrop/ka-control-backdrop');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlDate = exports.KaControlDate = (_dec = (0, _aureliaFramework.customElement)('ka-control-date'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlDate(element) {\n    _classCallCheck(this, KaControlDate);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor5, this);\n\n    this.element = element;\n    this.backdrop = new _kaControlBackdrop.KaControlBackdropService(this.element);\n  }\n\n  KaControlDate.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-date: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-date: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlDate.prototype.attached = function attached() {\n    var _this = this;\n\n    this.element.querySelector('input.display-value').addEventListener('dblclick', function () {\n      _this.open();\n    });\n  };\n\n  KaControlDate.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlDate.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlDate.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlDate.prototype.open = function open() {\n    if (this.readonly) return;\n    this.opened = true;\n    this.backdrop.open(this.drawer);\n  };\n\n  KaControlDate.prototype.close = function close() {\n    this.change();\n    this.backdrop.close();\n  };\n\n  KaControlDate.prototype.change = function change() {\n    var _this2 = this;\n\n    setTimeout(function () {\n      _this2.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n  };\n\n  return KaControlDate;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);\n\nvar controlDateValueConverter = exports.controlDateValueConverter = function () {\n  function controlDateValueConverter() {\n    _classCallCheck(this, controlDateValueConverter);\n  }\n\n  controlDateValueConverter.prototype.toView = function toView(value, utc) {\n    var date = void 0;\n    if (/^\\d{4}-\\d{2}-\\d{2}$/.test(value)) {\n      date = _luxon.DateTime.fromFormat(value, 'yyyy-MM-dd');\n    } else if (/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)((-(\\d{2}):(\\d{2})|Z)?)$/.test(value)) {\n      date = !(utc === false) ? _luxon.DateTime.fromISO(value, { setZone: true }).toLocal() : _luxon.DateTime.fromISO(value);\n    }\n    return date && date.isValid ? date.toFormat('dd/MM/yyyy') : value;\n  };\n\n  controlDateValueConverter.prototype.fromView = function fromView(value, utc) {\n    if (!/^\\d{2}\\/\\d{2}\\/\\d{4}$/.test(value)) return value;\n    var date = _luxon.DateTime.fromFormat(value, 'dd/MM/yyyy');\n    if (!date.isValid) return value;\n    if (!(utc === false)) date = date.toUTC();\n    return date.set({ seconds: 0, milliseconds: 0 }).toISO({ suppressMilliseconds: true });\n  };\n\n  return controlDateValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.controlDatetimeValueConverter = exports.KaControlDateTime = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _luxon = require('luxon');\n\nvar _kaControlBackdrop = require('../ka-control-backdrop/ka-control-backdrop');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlDateTime = exports.KaControlDateTime = (_dec = (0, _aureliaFramework.customElement)('ka-control-datetime'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlDateTime(element) {\n    _classCallCheck(this, KaControlDateTime);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor5, this);\n\n    this.element = element;\n    this.backdrop = new _kaControlBackdrop.KaControlBackdropService(this.element);\n  }\n\n  KaControlDateTime.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-datetime: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-datetime: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlDateTime.prototype.attached = function attached() {\n    var _this = this;\n\n    this.element.querySelector('input.display-value').addEventListener('dblclick', function () {\n      _this.open();\n    });\n  };\n\n  KaControlDateTime.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlDateTime.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlDateTime.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlDateTime.prototype.open = function open() {\n    if (this.readonly) return;\n    this.opened = true;\n    this.backdrop.open(this.drawer);\n  };\n\n  KaControlDateTime.prototype.close = function close() {\n    this.change();\n    this.backdrop.close();\n  };\n\n  KaControlDateTime.prototype.change = function change() {\n    var _this2 = this;\n\n    setTimeout(function () {\n      _this2.element.dispatchEvent(new Event('change', { bubbles: true }));\n    }, 100);\n  };\n\n  return KaControlDateTime;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);\n\nvar controlDatetimeValueConverter = exports.controlDatetimeValueConverter = function () {\n  function controlDatetimeValueConverter() {\n    _classCallCheck(this, controlDatetimeValueConverter);\n  }\n\n  controlDatetimeValueConverter.prototype.toView = function toView(value, utc) {\n    if (!/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)((-(\\d{2}):(\\d{2})|Z)?)$/.test(value)) return value;\n    var date = !(utc === false) ? _luxon.DateTime.fromISO(value, { setZone: true }).toLocal() : _luxon.DateTime.fromISO(value);\n    if (!date.isValid) return value;\n    return date.toFormat('dd/MM/yyyy HH:mm');\n  };\n\n  controlDatetimeValueConverter.prototype.fromView = function fromView(value, utc) {\n    if (!/^\\d{2}\\/\\d{2}\\/\\d{4} \\d{2}:\\d{2}$/.test(value)) return value;\n    var date = _luxon.DateTime.fromFormat(value, 'dd/MM/yyyy HH:mm');\n    if (!date.isValid) return value;\n    if (!(utc === false)) date = date.toUTC();\n    return date.set({ seconds: 0, milliseconds: 0 }).toISO({ suppressMilliseconds: true });\n  };\n\n  return controlDatetimeValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlEditor = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _kaCkeditor = require('ka-ckeditor');\n\nvar _kaCkeditor2 = _interopRequireDefault(_kaCkeditor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlEditor = exports.KaControlEditor = (_dec = (0, _aureliaFramework.customElement)('ka-control-editor'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlEditor(element) {\n    _classCallCheck(this, KaControlEditor);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    this.element = element;\n  }\n\n  KaControlEditor.prototype.attached = function attached() {};\n\n  KaControlEditor.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-editor: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-editor: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n\n    this.buildEditor();\n  };\n\n  KaControlEditor.prototype.valueChanged = function valueChanged(value) {\n    var _this = this;\n\n    if (!this.editor || this.editorValuePending || this.editor.getData() === value) return;\n\n    this.editorValuePending = true;\n    this.editor.setData(value || '');\n    setTimeout(function () {\n      _this.editorValuePending = false;\n    }, 0);\n  };\n\n  KaControlEditor.prototype.readonlyChanged = function readonlyChanged(readonly) {\n    if (this.editor) this.editor.isReadOnly = readonly;\n  };\n\n  KaControlEditor.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlEditor.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlEditor.prototype.buildEditor = function buildEditor() {\n    var _this2 = this;\n\n    if (this._editor_initialized) return;\n    var config = {\n      toolbar: {\n        items: ['heading', '|', 'bold', 'italic', 'strikethrough', 'superscript', 'subscript', 'removeFormat', '|', 'bulletedList', 'numberedList', '|', 'alignment', 'indent', 'outdent', '|', 'link', 'imageUpload', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo', '|', 'code']\n      },\n      language: 'it',\n      image: {\n        toolbar: ['imageTextAlternative', 'imageStyle:full', 'imageStyle:side']\n      },\n      table: {\n        contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells']\n      }\n    };\n    _kaCkeditor2.default.create(this.element, config).then(function (editor) {\n      editor.setData(_this2.value || '');\n      editor.isReadOnly = _this2.readonly;\n      editor.model.document.on('change:data', function () {\n        _this2.value = editor.getData();\n      });\n      editor.editing.view.document.on('change:isFocused', function (evt, data, isFocused) {\n        if (isFocused) _this2.focus();else _this2.blur();\n      });\n      _this2.editor = editor;\n    }).catch(function (error) {\n      konsole.error('There was a problem initializing ckeditor', error);\n    }).finally(function () {\n      _this2._editor_initialized = true;\n    });\n  };\n\n  return KaControlEditor;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlFile = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlFile = exports.KaControlFile = (_dec = (0, _aureliaFramework.customElement)('ka-control-file'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlFile(element) {\n    _classCallCheck(this, KaControlFile);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'params', _descriptor5, this);\n\n    this.element = element;\n  }\n\n  KaControlFile.prototype.attached = function attached() {};\n\n  KaControlFile.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-file: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-file: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlFile.prototype.valueChanged = function valueChanged(value) {\n    if (typeof value === 'undefined' || value === '' || value && !value.length) value = null;\n    this.displayValue = value && value.length && value[0] && value[0].name ? value[0].name : value;\n  };\n\n  KaControlFile.prototype.clear = function clear() {\n    this.value = null;\n  };\n\n  KaControlFile.prototype.download = function download() {\n    if (!this.value || !this.params.download) return;\n    window.open(this.params.download);\n  };\n\n  KaControlFile.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlFile.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlFile;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'params', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlsList = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value2, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlsList = exports.KaControlsList = (_dec = (0, _aureliaFramework.customElement)('ka-control-list'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlsList(element) {\n    _classCallCheck(this, KaControlsList);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    this._schema = null;\n    this._value = [];\n    this.newValue = {};\n\n    this.element = element;\n  }\n\n  KaControlsList.prototype.attached = function attached() {\n    var _this = this;\n\n    if (!this.value) new Array(parseInt(this.schema && this.schema.min ? this.schema.min : 1, 10)).fill(0).forEach(function () {\n      _this.add();\n    });\n  };\n\n  KaControlsList.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-list: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid schema provided!', value);\n        return;\n      }\n    }\n    if (!schema.datasource) {\n      konsole.error('ka-control-list: missing datasource in schema!', schema);\n      return;\n    }\n    if (typeof schema.datasource === 'string') {\n      try {\n        schema.datasource = JSON.parse(schema.datasource);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid datasource provided in schema!', schema);\n        return;\n      }\n    }\n    if (!schema.datasource.model) {\n      konsole.error('ka-control-list: model missing from datasource!', schema.datasource);\n      return;\n    }\n    if (!schema.datasource.model.schema) {\n      konsole.error('ka-control-list: schema missing from datasource model!', schema.datasource.model);\n      return;\n    }\n    if (!Array.isArray(schema.datasource.model.schema) || !schema.datasource.model.schema.length) {\n      konsole.error('ka-control-list: datasource model schema must be an array of objects!', schema.datasource.model);\n      return;\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlsList.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlsList.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlsList.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  KaControlsList.prototype.change = function change() {\n    if (!this._value.map(function (x) {\n      return Object.values(x).join('');\n    }).join('').length) {\n      this.value = null;\n    } else {\n      this.value = JSON.stringify(this._value);\n    }\n  };\n\n  KaControlsList.prototype.valueChanged = function valueChanged(value) {\n    if (!this._schema) {\n      konsole.warn('ka-control-combo: cannot handle value without schema!');\n      return;\n    }\n\n    if (!value || value === JSON.stringify(this._value)) {\n      return;\n    }\n    var _value = value;\n    if (typeof _value === 'string') {\n      try {\n        _value = JSON.parse(_value);\n      } catch (error) {\n        konsole.error('ka-control-list: invalid value provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(_value)) {\n      konsole.error('ka-control-list: value must be an array!', value);\n      return;\n    }\n    if (!_value.length) {\n      if (!this._value.length) this.add();\n      return;\n    }\n\n    this._value = _value;\n  };\n\n  KaControlsList.prototype.add = function add() {\n    var value = {};\n    for (var _iterator = this._schema.datasource.model.schema, _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i2 >= _iterator.length) break;\n        _ref = _iterator[_i2++];\n      } else {\n        _i2 = _iterator.next();\n        if (_i2.done) break;\n        _ref = _i2.value;\n      }\n\n      var schema = _ref;\n\n      value[schema.field] = null;\n    }\n    this._value.push(value);\n  };\n\n  KaControlsList.prototype.remove = function remove(value) {\n    this._value = this._value.filter(function (v) {\n      return v !== value;\n    });\n    this.change();\n  };\n\n  return KaControlsList;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlNumber = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlNumber = exports.KaControlNumber = (_dec = (0, _aureliaFramework.customElement)('ka-control-number'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlNumber(element) {\n    _classCallCheck(this, KaControlNumber);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    this.element = element;\n  }\n\n  KaControlNumber.prototype.attached = function attached() {};\n\n  KaControlNumber.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-number: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-number: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlNumber.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlNumber.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlNumber.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlNumber;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlPassword = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlPassword = exports.KaControlPassword = (_dec = (0, _aureliaFramework.customElement)('ka-control-password'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlPassword(element) {\n    _classCallCheck(this, KaControlPassword);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor5, this);\n\n    this.element = element;\n  }\n\n  KaControlPassword.prototype.attached = function attached() {};\n\n  KaControlPassword.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-password: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-password: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlPassword.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlPassword.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlPassword.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlPassword;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlsTable = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlsTable = exports.KaControlsTable = (_dec = (0, _aureliaFramework.customElement)('ka-control-table'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlsTable(element, router) {\n    _classCallCheck(this, KaControlsTable);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'label', _descriptor3, this);\n\n    this._schema = null;\n    this._value = [];\n    this.newValue = {};\n\n    this.element = element;\n    this.router = router;\n  }\n\n  KaControlsTable.prototype.attached = function attached() {};\n\n  KaControlsTable.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-table: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-table: invalid schema provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(schema) || !schema.length) {\n      konsole.error('ka-control-table: schema must be an array of objects!', schema);\n      return;\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlsTable.prototype.valueChanged = function valueChanged(value) {\n    if (!value || value === JSON.stringify(this._value)) {\n      return;\n    }\n    if (typeof value === 'string') {\n      try {\n        value = JSON.parse(value);\n      } catch (error) {\n        konsole.error('ka-control-table: invalid value provided!', value);\n        return;\n      }\n    }\n    if (!Array.isArray(value)) {\n      konsole.error('ka-control-table: value must be an array!', value);\n      return;\n    }\n    this._value = value;\n  };\n\n  KaControlsTable.prototype.update = function update() {\n    this.value = JSON.stringify(this._value);\n  };\n\n  KaControlsTable.prototype.add = function add(value) {\n    this.newValue = {};\n    this._value.push(value);\n    this.update();\n  };\n\n  KaControlsTable.prototype.remove = function remove(value) {\n    this._value = this._value.filter(function (v) {\n      return v !== value;\n    });\n    this.update();\n  };\n\n  return KaControlsTable;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'label', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlText = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlText = exports.KaControlText = (_dec = (0, _aureliaFramework.customElement)('ka-control-text'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlText(element) {\n    _classCallCheck(this, KaControlText);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor5, this);\n\n    this.element = element;\n  }\n\n  KaControlText.prototype.attached = function attached() {};\n\n  KaControlText.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-text: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-text: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlText.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlText.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlText.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlText;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaControlTextarea = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControlTextarea = exports.KaControlTextarea = (_dec = (0, _aureliaFramework.customElement)('ka-control-textarea'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControlTextarea(element) {\n    _classCallCheck(this, KaControlTextarea);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'readonly', _descriptor3, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor4, this);\n\n    this.element = element;\n  }\n\n  KaControlTextarea.prototype.attached = function attached() {};\n\n  KaControlTextarea.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) {\n      konsole.warn('ka-control-textarea: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-control-textarea: invalid schema provided!', schema);\n        return;\n      }\n    }\n\n    var _arr = ['readonly'];\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var attribute = _arr[_i];\n      if (this[attribute] === null) {\n        if (this.element.getAttribute(attribute)) {\n          this[attribute] = String(this.element.getAttribute(attribute)).toLowerCase() === 'true';\n        } else if (_typeof(schema[attribute]) !== undefined) {\n          this[attribute] = String(schema[attribute]).toLowerCase() === 'true';\n        }\n      } else this[attribute] = String(this[attribute]).toLowerCase() === 'true';\n    }\n\n    this._schema = schema;\n  };\n\n  KaControlTextarea.prototype.keydown = function keydown() {\n    return !this.readonly;\n  };\n\n  KaControlTextarea.prototype.focus = function focus() {\n    this.element.dispatchEvent(new Event('focus', { bubbles: true }));\n  };\n\n  KaControlTextarea.prototype.blur = function blur() {\n    this.element.dispatchEvent(new Event('blur', { bubbles: true }));\n  };\n\n  return KaControlTextarea;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.NullifyEmptyValueConverter = exports.KaControl = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaValidation = require('aurelia-validation');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _luxon = require('luxon');\n\nvar _kaComponents = require('ka-components');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaControl = exports.KaControl = (_dec = (0, _aureliaFramework.customElement)('ka-control'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaComponents.KaApi, _aureliaFramework.BindingEngine, _aureliaFramework.NewInstance.of(_aureliaValidation.ValidationController)), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)(), _dec14 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaControl(element, router, api, binding, validator) {\n    _classCallCheck(this, KaControl);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    _initDefineProp(this, 'name', _descriptor3, this);\n\n    _initDefineProp(this, 'readonly', _descriptor4, this);\n\n    _initDefineProp(this, 'required', _descriptor5, this);\n\n    _initDefineProp(this, 'label', _descriptor6, this);\n\n    _initDefineProp(this, 'description', _descriptor7, this);\n\n    _initDefineProp(this, 'placeholder', _descriptor8, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor9, this);\n\n    _initDefineProp(this, 'error', _descriptor10, this);\n\n    _initDefineProp(this, 'params', _descriptor11, this);\n\n    _initDefineProp(this, 'client', _descriptor12, this);\n\n    this.parentResourceName = 'resource';\n    this.buttons = [];\n\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    this.binding = binding;\n    this.validator = validator;\n    this.validator.validateTrigger = _aureliaValidation.validateTrigger.manual;\n\n    _aureliaValidation.ValidationRules.ensure('value').required().when(function (self) {\n      return self.required;\n    }).withMessage('Campo obbligatorio').equals(true).when(function (self) {\n      return self.schema.control === 'check' && self.required;\n    }).withMessage('Spunta obbligatoria').satisfies(function (value, self) {\n      return value >= self.schema.min && value <= self.schema.max;\n    }).when(function (self) {\n      return self.schema.control === 'number' && self.schema.min && self.schema.max;\n    }).withMessage('Il valore deve essere compreso tra ${schema.min} e ${schema.max}').satisfies(function (value, self) {\n      return value >= self.schema.min;\n    }).when(function (self) {\n      return self.schema.control === 'number' && self.schema.min && !self.schema.max;\n    }).withMessage('Il valore deve essere uguale o maggiore di ${schema.min}').satisfies(function (value, self) {\n      return value <= self.schema.max;\n    }).when(function (self) {\n      return self.schema.control === 'number' && !self.schema.min && self.schema.max;\n    }).withMessage('Il valore deve essere minore o uguale a ${schema.max}').satisfies(function (value, self) {\n      return value.length >= self.schema.min && value.length <= self.schema.max;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && self.schema.min && self.schema.max;\n    }).withMessage('Il numero di caratteri deve essere compreso tra ${schema.min} e ${schema.max}').satisfies(function (value, self) {\n      return value.length >= self.schema.min;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && self.schema.min && !self.schema.max;\n    }).withMessage('Il valore deve essere di almeno ${schema.min} caratteri').satisfies(function (value, self) {\n      return value.length <= self.schema.max;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.schema.control) && !self.schema.min && self.schema.max;\n    }).withMessage('Il valore non deve superare i ${schema.max} caratteri').satisfies(function (value, self) {\n      var pattern = typeof self.schema.pattern === 'string' ? new RegExp(self.schema.pattern) : self.schema.pattern;\n      return value === null || value === '' || pattern.test(value);\n    }).when(function (self) {\n      return ['text', 'textarea', 'password', 'number'].includes(self.schema.control) && self.schema.pattern;\n    }).withMessage('Formato non valido').satisfies(function (value, self) {\n      return self.schema.validationRule.satisfies(value, self);\n    }).when(function (self) {\n      return self.schema.validationRule;\n    }).withMessage('${schema.validationRule.withMessage}').satisfies(function (value, self) {\n      return value === null || value === '' || _luxon.DateTime.fromISO(value).isValid;\n    }).when(function (self) {\n      return self.schema.control === 'date' || self.schema.control === 'age';\n    }).withMessage('Formato data non valido').satisfies(function (value, self) {\n      return value === null || value === '' || _luxon.DateTime.fromISO(value).isValid;\n    }).when(function (self) {\n      return self.schema.control === 'datetime';\n    }).withMessage('Formato data/orario non valido').satisfies(function (value, self) {\n      return value === null || value === '' || _luxon.DateTime.fromFormat(value, 'HH:mm:ss').isValid;\n    }).when(function (self) {\n      return self.schema.control === 'time';\n    }).withMessage('Formato orario non valido').ensure('displayValue').required().when(function (self) {\n      return self.required;\n    }).withMessage('Campo obbligatorio').on(this);\n  }\n\n  KaControl.prototype.bind = function bind(bindingContext) {\n    this.parentContext = bindingContext;\n\n    if (this.name && this.name.includes(':')) {\n      var _name$split = this.name.split(':'),\n          parentResourceName = _name$split[0],\n          name = _name$split[1];\n\n      this.parentResourceName = parentResourceName;\n      this.name = name;\n    }\n\n    if (this.name && this.parentContext[this.parentResourceName]) this.bindToResource();\n\n    if (!this.name && this.schema) this.schemaChanged(this.schema);\n\n    if (this.value && Array.isArray(this.value)) this.subscribeValueCollectionObserver();\n\n    if (this.element.hasAttribute('buttons')) {\n      this.buttons = this.element.getAttribute('buttons').split(',');\n    }\n  };\n\n  KaControl.prototype.detached = function detached() {\n    this.unbindFromResource();\n    if (this.valueCollectionObserver && this.valueCollectionObserver.dispose) this.valueCollectionObserver.dispose();\n  };\n\n  KaControl.prototype.schemaChanged = function schemaChanged(schema) {\n    if (!schema) return;\n    this.readonly = this.readonly !== null ? String(this.readonly) === 'true' : String(schema.readonly) === 'true';\n    if (!this.readonly && this.bindedToResource && this.parentContext[this.parentResourceName].readonly !== null) this.readonly = String(this.parentContext[this.parentResourceName].readonly) === 'true';\n    this.required = this.required !== null ? String(this.required) === 'true' : String(schema.required) === 'true';\n    this.label = this.label || schema.label || null;\n    this.placeholder = this.placeholder || schema.placeholder || '';\n    this.description = this.description || schema.description || null;\n    this.viewStrategy = new _aureliaFramework.InlineViewStrategy('<template><ka-control-' + schema.control + ' view-model.ref=\"control\" schema.bind=\"schema\" value.bind=\"value | nullifyEmpty & validate\" readonly.bind=\"readonly\" placeholder.bind=\"placeholder\" ' + (schema.control === 'check' ? 'description.bind=\"description\"' : '') + ' autocomplete.bind=\"autocomplete\" params.bind=\"params\" client.bind=\"' + (this.client ? 'client' : 'api') + '\" focus.trigger=\"focus()\" blur.trigger=\"blur()\"></ka-control-' + schema.control + '></template>');\n  };\n\n  KaControl.prototype.valueChanged = function valueChanged(value) {\n    if (this.bindedToResource && this.parentContext[this.parentResourceName].data && this.checkNested(this.parentContext[this.parentResourceName].data, this.name.split('.'))) eval('this.parentContext.' + this.parentResourceName + '.data.' + this.name + ' = value');\n    if (Array.isArray(value)) {\n      this.subscribeValueCollectionObserver();\n    }\n    this.validate();\n  };\n\n  KaControl.prototype.readonlyChanged = function readonlyChanged() {\n    if (!this.schema) return;\n    if (String(this.schema.readonly) === 'true') this.readonly = true;\n  };\n\n  KaControl.prototype.subscribeValueCollectionObserver = function subscribeValueCollectionObserver() {\n    var _this = this;\n\n    if (this.valueCollectionObserver && this.valueCollectionObserver.dispose) this.valueCollectionObserver.dispose();\n    this.valueCollectionObserver = this.binding.collectionObserver(this.value).subscribe(function (splice) {\n      if (splice && splice[0] && splice[0].index > 0) _this.valueChanged(_this.value);\n    });\n  };\n\n  KaControl.prototype.validate = function validate() {\n    var _this2 = this;\n\n    this.element.classList.remove('error');\n    this.element.classList.remove('hadFocus');\n    var validator = this.validator.validate();\n    validator.then(function (result) {\n      if (!result.valid) {\n        setTimeout(function () {\n          _this2.element.classList.add('error');\n        }, 1);\n      }\n    });\n    this.scrollErrorOverflow();\n    return validator;\n  };\n\n  KaControl.prototype.setError = function setError(message) {\n    if (message && typeof message === 'string') {\n      this.element.classList.add('error');\n      this.validator.errors = [message];\n    } else if (message) {\n      this.element.classList.add('error');\n      this.validator.errors = message;\n    } else {\n      this.element.classList.remove('error');\n      this.validator.errors = [];\n    }\n  };\n\n  KaControl.prototype.scrollErrorOverflow = function scrollErrorOverflow() {\n    var _this3 = this;\n\n    setTimeout(function () {\n      var wrapper = _this3.element.querySelector('.ka-control-error');\n      var scroller = _this3.element.querySelector('.ka-control-error-scroller');\n      if (!wrapper || !scroller) return;\n      if (scroller.offsetWidth > wrapper.offsetWidth) {\n        wrapper.classList.add('scroll');\n      } else {\n        wrapper.classList.remove('scroll');\n      }\n    }, 100);\n  };\n\n  KaControl.prototype.focus = function focus() {\n    this.element.classList.add('hadFocus');\n    this.element.classList.add('focus');\n    this.scrollErrorOverflow();\n  };\n\n  KaControl.prototype.blur = function blur() {\n    this.element.classList.remove('focus');\n  };\n\n  KaControl.prototype.clear = function clear() {\n    this.value = null;\n    if (!['combo'].includes(this.schema.control)) this.element.dispatchEvent(new Event('change', { bubbles: true }));\n  };\n\n  KaControl.prototype.dropdown = function dropdown() {\n    if (this.control && this.control.open) this.control.open();\n  };\n\n  KaControl.prototype.bindToResource = function bindToResource() {\n    var _this4 = this;\n\n    if (!this.parentContext[this.parentResourceName]) return;\n    var resource = this.parentContext[this.parentResourceName];\n\n    if (resource.controls) {\n      resource.controls[this.name] = this;\n    }\n\n    if (resource.schema) {\n      var setSchemaBinding = function setSchemaBinding() {\n        if (_this4.checkNested(resource.schema, _this4.name.split('.'))) _this4.schema = eval('resource.schema.' + _this4.name);\n\n        if (_this4.resourceControlSchemaBinding) _this4.resourceControlSchemaBinding.dispose();\n        _this4.resourceControlSchemaBinding = _this4.binding.expressionObserver(_this4, 'parentContext.' + _this4.parentResourceName + '.schema.' + _this4.name).subscribe(function (value) {\n          return _this4.schema = value;\n        });\n      };\n      setSchemaBinding();\n\n      this.resourceSchemaBinding = this.binding.expressionObserver(this, 'parentContext.' + this.parentResourceName + '.schema').subscribe(function (value) {\n        return setSchemaBinding();\n      });\n    } else if (this.schema) {\n      this.schemaChanged(this.schema);\n    }\n\n    if (resource.data) {\n      this.createNested(resource.data, this.name.split('.'));\n      var setDataBinding = function setDataBinding() {\n        if (_this4.checkNested(resource.data, _this4.name.split('.'))) _this4.value = eval('resource.data.' + _this4.name);\n\n        if (_this4.resourceControlValueBinding) _this4.resourceControlValueBinding.dispose();\n        _this4.resourceControlValueBinding = _this4.binding.expressionObserver(_this4, 'parentContext.' + _this4.parentResourceName + '.data.' + _this4.name).subscribe(function (value) {\n          if (value !== _this4.value) _this4.value = value;\n        });\n      };\n      setDataBinding();\n\n      this.resourceValueBinding = this.binding.expressionObserver(this, 'parentContext.' + this.parentResourceName + '.data').subscribe(function (value) {\n        return setDataBinding();\n      });\n    }\n\n    if (!this.readonly) this.resourceReadonlyBinding = this.binding.expressionObserver(this, 'parentContext.' + this.parentResourceName + '.readonly').subscribe(function (value) {\n      _this4.readonly = value;\n    });\n\n    this.bindedToResource = true;\n  };\n\n  KaControl.prototype.unbindFromResource = function unbindFromResource() {\n    if (this.resourceControlSchemaBinding) this.resourceControlSchemaBinding.dispose();\n    if (this.resourceControlValueBinding) this.resourceControlValueBinding.dispose();\n    if (this.resourceSchemaBinding) this.resourceSchemaBinding.dispose();\n    if (this.resourceValueBinding) this.resourceValueBinding.dispose();\n    if (this.resourceReadonlyBinding) this.resourceReadonlyBinding.dispose();\n    this.bindedToResource = false;\n  };\n\n  KaControl.prototype.checkNested = function checkNested(obj, levels) {\n    var level = levels.shift();\n    if (obj === undefined || obj === null || !obj.hasOwnProperty(level)) return false;\n    return levels.length ? this.checkNested(obj[level], levels) : true;\n  };\n\n  KaControl.prototype.createNested = function createNested(obj, levels) {\n    var level = levels.shift();\n    if (!obj.hasOwnProperty(level)) {\n      obj[level] = levels.length ? {} : null;\n    } else if (obj[level] === null && levels.length) {\n      obj[level] = {};\n    }\n    return levels.length ? this.createNested(obj[level], levels) : null;\n  };\n\n  return KaControl;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'name', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'required', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'label', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'description', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'placeholder', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'error', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'params', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec14], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);\n\nvar NullifyEmptyValueConverter = exports.NullifyEmptyValueConverter = function () {\n  function NullifyEmptyValueConverter() {\n    _classCallCheck(this, NullifyEmptyValueConverter);\n  }\n\n  NullifyEmptyValueConverter.prototype.fromView = function fromView(value) {\n    return value === '' ? null : value;\n  };\n\n  return NullifyEmptyValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaDatetime = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dec, _dec2, _dec3, _dec4, _class, _desc, _value, _class2, _descriptor, _descriptor2;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _luxon = require('luxon');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaDatetime = exports.KaDatetime = (_dec = (0, _aureliaFramework.customElement)('ka-datetime'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaDatetime(element) {\n    _classCallCheck(this, KaDatetime);\n\n    _initDefineProp(this, 'type', _descriptor, this);\n\n    _initDefineProp(this, 'value', _descriptor2, this);\n\n    this.element = element;\n\n    this.months = _luxon.Info.months().map(function (month, index) {\n      return {\n        numeric: parseInt(_luxon.Info.months('numeric')[index], 10),\n        long: _luxon.Info.months('long')[index],\n        short: _luxon.Info.months('short')[index]\n      };\n    });\n\n    this.weekdays = _luxon.Info.weekdays().map(function (weekday, index) {\n      return {\n        numeric: index + 1,\n        long: _luxon.Info.weekdays('long')[index],\n        short: _luxon.Info.weekdays('short')[index]\n      };\n    });\n\n    this.hours = Array.from({ length: 24 }).map(function (hour, index) {\n      return index;\n    });\n\n    this.minutes = Array.from({ length: 60 }).map(function (minute, index) {\n      return index;\n    });\n\n    this.init();\n  }\n\n  KaDatetime.prototype.valueChanged = function valueChanged(value) {\n    this.init();\n  };\n\n  KaDatetime.prototype.init = function init() {\n    var _this = this;\n\n    var date = this.dateTime;\n    this.selected = {\n      day: date.get('day'),\n      month: date.get('month'),\n      year: date.get('year'),\n      hour: date.get('hour'),\n      minute: date.get('minute')\n    };\n\n    this.years = [];\n    for (var i = this.selected.year - 5; i < this.selected.year + 6; i++) {\n      this.years.push(i);\n    }\n    this.weeks = [];\n    var monthInterval = _luxon.Interval.fromDateTimes(date.startOf('month'), date.endOf('month'));\n\n    var _loop = function _loop(_i) {\n      var startWeek = monthInterval.start.plus({ weeks: _i }).startOf('week');\n      var weekInterval = _luxon.Interval.fromDateTimes(startWeek, startWeek.endOf('week'));\n      var week = [];\n      weekInterval.splitBy(_luxon.Duration.fromObject({ days: 1 })).forEach(function (day) {\n        week.push({\n          day: day.start.get('day'),\n          weekday: day.start.get('weekday'),\n          month: day.start.get('month'),\n          year: day.start.get('year'),\n          value: day.start,\n          text: day.start.toFormat('dd')\n        });\n      });\n      _this.weeks.push(week);\n    };\n\n    for (var _i = 0; _i < monthInterval.count('weeks'); _i++) {\n      _loop(_i);\n    };\n  };\n\n  KaDatetime.prototype.setValues = function setValues(values) {\n    var _this2 = this;\n\n    console.log(values);\n    this.dateTime = this.dateTime.set(values);\n    if (values.day) setTimeout(function () {\n      _this2.element.dispatchEvent(new Event('selected', { bubbles: true }));\n    }, 100);\n  };\n\n  KaDatetime.prototype.shiftValues = function shiftValues(values) {\n    this.dateTime = this.dateTime.plus(values);\n  };\n\n  _createClass(KaDatetime, [{\n    key: 'dateTime',\n    get: function get() {\n      if (!this.value) return _luxon.DateTime.now();\n      var value = this.value;\n      if (this.type === 'date') value = !(this.utc === false) ? _luxon.DateTime.fromISO(value, { setZone: true }).toLocal() : _luxon.DateTime.fromISO(value);else if (this.type === 'datetime') value = !(this.utc === false) ? _luxon.DateTime.fromISO(value, { setZone: true }).toLocal() : _luxon.DateTime.fromISO(value);else if (this.type === 'time') value = _luxon.DateTime.fromFormat(value, 'HH:mm:ss');\n      return value && value.isValid ? value : _luxon.DateTime.now();\n    },\n    set: function set(value) {\n      if (this.type === 'date') this.value = !(this.utc === false) ? value.set({ seconds: 0, milliseconds: 0 }).toUTC().toISO({ suppressMilliseconds: true }) : value.set({ seconds: 0, milliseconds: 0 }).toISO({ suppressMilliseconds: true });else if (this.type === 'datetime') this.value = !(this.utc === false) ? value.set({ seconds: 0, milliseconds: 0 }).toUTC().toISO({ suppressMilliseconds: true }) : value.set({ seconds: 0, milliseconds: 0 }).toISO({ suppressMilliseconds: true });else if (this.type === 'time') this.value = value.toFormat('HH:mm:00');\n    }\n  }]);\n\n  return KaDatetime;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'type', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return 'date';\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaDialogVm = undefined;\n\nvar _dec, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaDialog = require('aurelia-dialog');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaDialogVm = exports.KaDialogVm = (_dec = (0, _aureliaFramework.inject)(_aureliaDialog.DialogController), _dec(_class = function () {\n  function KaDialogVm(controller) {\n    _classCallCheck(this, KaDialogVm);\n\n    this.controller = controller;\n  }\n\n  KaDialogVm.prototype.activate = function activate(params) {\n    var classes = params.viewModel ? ['viewModel'] : [''];\n    params.class = params.class ? classes.concat(params.class.split(' ')).join(' ') : classes.join(' ');\n    this.params = params;\n    if (this.params.viewModel && this.params.viewModelParams) this.params.viewModelParams.dialog = this.controller;\n  };\n\n  return KaDialogVm;\n}()) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaDialog = undefined;\n\nvar _dec, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaDialog = require('aurelia-dialog');\n\nvar _kaDialogVm = require('./ka-dialog-vm');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaDialog = exports.KaDialog = (_dec = (0, _aureliaFramework.inject)(_aureliaDialog.DialogService), _dec(_class = function () {\n  function KaDialog(dialog) {\n    _classCallCheck(this, KaDialog);\n\n    this.dialog = dialog;\n  }\n\n  KaDialog.prototype.open = function open(model) {\n    var lock = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n    return this.dialog.open({ viewModel: _kaDialogVm.KaDialogVm, model: model, lock: lock });\n  };\n\n  return KaDialog;\n}()) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaEnterCustomAttribute = undefined;\n\nvar _dec, _dec2, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaEnterCustomAttribute = exports.KaEnterCustomAttribute = (_dec = (0, _aureliaFramework.customAttribute)('ka-enter'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec(_class = _dec2(_class = function () {\n  function KaEnterCustomAttribute(element) {\n    var _this = this;\n\n    _classCallCheck(this, KaEnterCustomAttribute);\n\n    this._callback = null;\n\n    this.element = element;\n\n    this.element.addEventListener('keydown', function (e) {\n      var inputs = [];\n      if (_this.element.tagName === 'INPUT') inputs = [_this.element];else inputs = Array.from(_this.element.querySelectorAll('input'));\n      if (e.keyCode === 13 && inputs.includes(e.target)) {\n        if (typeof _this._callback === 'function') {\n          e.target.blur();\n          _this._callback({ event: e });\n        }\n      }\n    });\n  }\n\n  KaEnterCustomAttribute.prototype.bind = function bind() {\n    this._callback = this.value;\n  };\n\n  return KaEnterCustomAttribute;\n}()) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.kaHighlightValueConverter = exports.KaInputControls = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _aureliaValidation = require('aurelia-validation');\n\nvar _aureliaHttpClient = require('aurelia-http-client');\n\nvar _kaDialog = require('../ka-dialog/ka-dialog');\n\nvar _kaCkeditor = require('ka-ckeditor');\n\nvar _kaCkeditor2 = _interopRequireDefault(_kaCkeditor);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaInputControls = exports.KaInputControls = (_dec = (0, _aureliaFramework.customElement)('ka-input-controls'), _dec2 = (0, _aureliaFramework.containerless)(), _dec3 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _aureliaFramework.NewInstance.of(_aureliaValidation.ValidationController), _aureliaFramework.BindingEngine, _kaDialog.KaDialog), _dec4 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec5 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec6 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)(), _dec14 = (0, _aureliaFramework.bindable)(), _dec15 = (0, _aureliaFramework.bindable)(), _dec16 = (0, _aureliaFramework.bindable)(), _dec17 = (0, _aureliaFramework.bindable)(), _dec18 = (0, _aureliaFramework.bindable)(), _dec19 = (0, _aureliaFramework.bindable)(), _dec20 = (0, _aureliaFramework.bindable)(), _dec21 = (0, _aureliaFramework.bindable)(), _dec22 = (0, _aureliaFramework.bindable)(), _dec23 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = _dec3(_class = (_class2 = function () {\n  function KaInputControls(element, router, validator, bindingEngine, dialog) {\n    _classCallCheck(this, KaInputControls);\n\n    _initDefineProp(this, 'value', _descriptor, this);\n\n    _initDefineProp(this, 'displayValue', _descriptor2, this);\n\n    _initDefineProp(this, 'objectValue', _descriptor3, this);\n\n    _initDefineProp(this, 'config', _descriptor4, this);\n\n    _initDefineProp(this, 'record', _descriptor5, this);\n\n    _initDefineProp(this, 'name', _descriptor6, this);\n\n    _initDefineProp(this, 'label', _descriptor7, this);\n\n    _initDefineProp(this, 'default', _descriptor8, this);\n\n    _initDefineProp(this, 'required', _descriptor9, this);\n\n    _initDefineProp(this, 'readonly', _descriptor10, this);\n\n    _initDefineProp(this, 'control', _descriptor11, this);\n\n    _initDefineProp(this, 'client', _descriptor12, this);\n\n    _initDefineProp(this, 'description', _descriptor13, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor14, this);\n\n    _initDefineProp(this, 'validation', _descriptor15, this);\n\n    _initDefineProp(this, 'queryOperator', _descriptor16, this);\n\n    _initDefineProp(this, 'change', _descriptor17, this);\n\n    _initDefineProp(this, 'ready', _descriptor18, this);\n\n    _initDefineProp(this, 'dialogClosed', _descriptor19, this);\n\n    _initDefineProp(this, 'comboListItems', _descriptor20, this);\n\n    this.element = element;\n    this.router = router;\n    this.bindingEngine = bindingEngine;\n    this.dialog = dialog;\n    this.validator = validator;\n    this.validator.validateTrigger = _aureliaValidation.validateTrigger.manual;\n    this._client = new _aureliaHttpClient.HttpClient();\n    this._client.configure(function (x) {\n      x.withInterceptor({\n        response: function response(msg) {\n          if (msg.responseType === 'json' && typeof msg.response === 'string') {\n            msg.response = JSON.parse(msg.response);\n          }\n          return msg;\n        }\n      });\n    });\n\n    _aureliaValidation.ValidationRules.ensure('value').required().when(function (self) {\n      return self.required;\n    }).withMessage('Campo obbligatorio').equals(true).when(function (self) {\n      return self.control === 'check' && self.required;\n    }).withMessage('Spunta obbligatoria').satisfies(function (value, self) {\n      return value >= self.min && value <= self.max;\n    }).when(function (self) {\n      return self.control === 'number' && self.min && self.max;\n    }).withMessage('Il valore deve essere compreso tra ${min} e ${max}').satisfies(function (value, self) {\n      return value >= self.min;\n    }).when(function (self) {\n      return self.control === 'number' && self.min && !self.max;\n    }).withMessage('Il valore deve essere uguale o maggiore di ${min}').satisfies(function (value, self) {\n      return value <= self.max;\n    }).when(function (self) {\n      return self.control === 'number' && !self.min && self.max;\n    }).withMessage('Il valore deve essere minore o uguale a ${max}').satisfies(function (value, self) {\n      return value.length >= self.min && value.length <= self.max;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.control) && self.min && self.max;\n    }).withMessage('Il numero di caratteri deve essere compreso tra ${min} e ${max}').satisfies(function (value, self) {\n      return value.length >= self.min;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.control) && self.min && !self.max;\n    }).withMessage('Il valore deve essere di almeno ${min} caratteri').satisfies(function (value, self) {\n      return value.length <= self.max;\n    }).when(function (self) {\n      return self.value && ['text', 'textarea', 'password'].includes(self.control) && !self.min && self.max;\n    }).withMessage('Il valore non deve superare i ${max} caratteri').satisfies(function (value, self) {\n      return value === null || value === '' || self.pattern.test(value);\n    }).when(function (self) {\n      return self.control === 'text' && self.pattern;\n    }).withMessage('Formato non valido').ensure('displayValue').required().when(function (self) {\n      return self.required;\n    }).withMessage('Campo obbligatorio').satisfies(function (value, self) {\n      return value === null || value === '' || /^\\d{2}\\/\\d{2}\\/\\d{4}$/g.test(value) && (0, _moment2.default)(value, 'DD-MM-YYYY').isValid();\n    }).when(function (self) {\n      return self.control === 'date' || self.control === 'age';\n    }).withMessage('Formato data non valido').on(this);\n  }\n\n  KaInputControls.prototype.bind = function bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n  };\n\n  KaInputControls.prototype.attached = function attached() {\n    this.init();\n  };\n\n  KaInputControls.prototype.init = function init() {\n    var _this = this;\n\n    if (!this.initialized) {\n      if (!this.config || !this.element || !this.element.parentElement) return;\n      this.element = this.element.parentElement;\n    }\n\n    this.initialized = true;\n\n    var config_overrides = {\n      label: this.label !== null ? this.label : this.config && this.config.label ? this.config.label : null,\n      default: this.default !== null ? this.default : this.config && this.config.default ? this.config.default : null,\n      required: this.required !== null ? this.required === 'true' || this.required === true : this.config && this.config.required ? this.config.required : null,\n      readonly: this.readonly !== null ? this.readonly === 'true' || this.readonly === true : this.config && this.config.readonly ? this.config.readonly : null,\n      control: this.control !== null ? this.control : this.config && this.config.control ? this.config.control : null\n    };\n    Object.assign(this, this.config, config_overrides);\n    this.config = null;\n\n    this.id = 'ka-input-' + (this.field || 'noname') + '-' + Math.random().toString(36).slice(-6);\n\n    if (typeof this.datasource === 'string' && (this.datasource.indexOf('{') === 0 || this.datasource.indexOf('[') === 0)) {\n      this.datasource = JSON.parse(this.datasource);\n      if (this.datasource.table && this.datasource.table.indexOf('_') === 0) this.datasource.table = this.datasource.table.substring(1);\n    }\n    if (this.datasource && !this.datatext) this.datatext = 'text';\n    if (this.datasource && !this.datavalue) this.datavalue = 'value';\n\n    if (!this.value && this.default) this.value = this.default;\n    if (this.value && _typeof(this.value) === 'object' && this.datasource && this.datavalue && this.value[this.datavalue]) this.value = String(this.value[this.datavalue]);\n    if (this.value && _typeof(this.value) === 'object' && this.datatype === 'json') this.value = JSON.stringify(this.value);\n\n    var input = void 0;\n    switch (this.control) {\n      case 'text':\n        this.type = 'text';\n        input = this.element.querySelector('input');\n        if (input && this.min) input.setAttribute('minlength', this.min);\n        if (input && this.max) input.setAttribute('maxlength', this.max);\n        break;\n      case 'textarea':\n        this.type = 'textarea';\n        input = this.element.querySelector('textarea');\n        if (input && this.min) input.setAttribute('minlength', this.min);\n        if (input && this.max) input.setAttribute('maxlength', this.max);\n        break;\n      case 'password':\n        this.type = 'password';\n        input = this.element.querySelector('input');\n        if (input && this.min) input.setAttribute('minlength', this.min);\n        if (input && this.max) input.setAttribute('maxlength', this.max);\n        break;\n      case 'number':\n        this.type = 'number';\n        input = this.element.querySelector('input');\n        if (input && this.min) input.setAttribute('min', this.min);\n        if (input && this.max) input.setAttribute('max', this.max);\n        break;\n      case 'check':\n        this.type = !this.datamultiple ? 'checkbox' : 'checklist';\n        if (this.datamultiple && this.datapreload) this.checklistInit();\n        if (this.datamultiple && !this.datapreload) this.comboListUpdate();\n        break;\n      case 'date':\n      case 'age':\n        this.type = 'text';\n        this.placeholder = this.placeholder || 'gg/mm/aaaa';\n        this.dateInit();\n        break;\n      case 'time':\n        this.type = 'time';\n        this.placeholder = this.placeholder || 'HH:mm';\n        break;\n      case 'combo':\n        this.type = 'combo';\n        this.comboInit();\n        break;\n      case 'editor':\n        this.type = 'editor';\n        this.editorInit();\n        break;\n      case 'file':\n        this.type = 'file';\n        break;\n      default:\n        this.type = 'text';\n        break;\n    }\n    this.element.classList.add('type-' + this.type);\n\n    if (this.element.hasAttribute('description')) this.description = this.element.getAttribute('description');else if (this.control === 'check' && !this.datamultiple && !this.description) {\n      this.description = this.label;this.label = null;\n    }\n    if (this.element.hasAttribute('placeholder')) this.placeholder = this.element.getAttribute('placeholder');else this.placeholder = this.placeholder || '';\n\n    if (this.readonly) this.element.classList.add('readonly');\n    if (this.required) this.element.classList.add('required');\n\n    this.buttons = {};\n    if (!this.element.classList.contains('no-buttons')) {\n      if (!this.element.classList.contains('no-clear') && this.control !== 'editor' && this.control !== 'check') this.buttons.clearEnabled = true;\n      if (!this.element.classList.contains('no-add') && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) this.buttons.addEnabled = !this.value;\n      if (!this.element.classList.contains('no-open') && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) this.buttons.openEnabled = !!this.value;\n\n      if (this.element.classList.contains('dropdown') && this.control === 'combo') this.buttons.dropdownEnabled = true;\n\n      if (this.control === 'password') this.buttons.showEnabled = true;\n      if (this.control === 'file') this.buttons.downloadEnabled = true;\n    }\n    this.buttons.length = Object.keys(this.buttons).length;\n\n    this.buttons.clear = function () {\n      _this.value = null;\n      if (_this.control === 'date' || _this.control === 'age') _this.dateDisplayValue();\n      if (_this.control === 'combo') _this.comboDisplayValue();\n      _this.validate();\n    };\n    this.buttons.open = function () {\n      var childRoute = _this.router.routes.filter(function (x) {\n        return x.name == (_this.datasource.table || _this.router.currentInstruction.config.name);\n      })[0];\n      if (!childRoute || !_this.value || typeof _this.value != 'string') return;\n      _this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: _this.value }\n      }, true).whenClosed(function (response) {\n        if (_this.control == 'combo') {\n          _this.comboItemsSource = null;\n          _this.comboDisplayValue();\n        }\n        if (typeof _this.dialogClosed === 'function') _this.dialogClosed(response);\n      });\n    };\n    this.buttons.add = function () {\n      var childRoute = _this.router.routes.filter(function (x) {\n        return x.name == (_this.datasource.table || _this.router.currentInstruction.config.name);\n      })[0];\n      if (!childRoute || _this.value) return;\n      _this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: 'new' }\n      }, true).whenClosed(function (response) {\n        if (response.output && response.output.id) {\n          _this.value = response.output.id;\n        }\n        if (typeof _this.dialogClosed === 'function') _this.dialogClosed(response);\n      });\n    };\n    this.buttons.show = function () {\n      _this.type = 'text';\n      _this.buttons.showEnabled = false;\n      _this.buttons.hideEnabled = true;\n    };\n    this.buttons.hide = function () {\n      _this.type = 'password';\n      _this.buttons.showEnabled = true;\n      _this.buttons.hideEnabled = false;\n    };\n    this.buttons.download = function () {\n      if (!_this.value) return;\n      var download = _this.element.hasAttribute('download') && _this.element.getAttribute('download') === 'false' ? 0 : 1;\n      window.open(_this.client._baseUrl + 'storage/' + _this.record + '/' + _this.field + '?download=' + download + '&access_token=' + (localStorage.getItem('access_token') || sessionStorage.getItem('access_token')));\n    };\n    this.buttons.dropdown = function () {\n      _this.element.querySelector('input').focus();\n    };\n\n    if (this.control === 'combo') {} else {\n      this._ready = true;\n      if (typeof this.ready === 'function') this.ready(this);\n      this.format();\n    }\n  };\n\n  KaInputControls.prototype.configChanged = function configChanged(value) {\n    if (value) this.init();\n  };\n\n  KaInputControls.prototype.valueChanged = function valueChanged(value) {\n    var _this2 = this;\n\n    if (this.control === 'date' || this.control === 'age') {\n      this.dateDisplayValue();\n    }\n    if (this.control === 'combo') {\n      this.comboDisplayValue();\n    }\n    if (this.control === 'check' && this.datamultiple) {\n      if (this.datapreload) this.checklistParseSelected();else this.comboListUpdate();\n    }\n    if (this.control === 'editor' && this.editor && this.editor.data) {\n      if (this.editor.data.get() !== value) this.editor.data.set(value || '');\n    }\n    if (this.control === 'file') {\n      this.fileDisplayValue();\n    }\n    if (this.value && _typeof(this.value) === 'object' && this.datatype === 'json') {\n      this.value = JSON.stringify(this.value);\n    }\n    if (typeof this.change === 'function' && this._ready) {\n      setTimeout(function () {\n        _this2.change({ value: _this2.value });\n      }, 100);\n    }\n  };\n\n  KaInputControls.prototype.requiredChanged = function requiredChanged(value) {\n    if (!this.initialized) return;\n    if (value) this.element.classList.add('required');else this.element.classList.remove('required');\n  };\n\n  KaInputControls.prototype.readonlyChanged = function readonlyChanged(value) {\n    if (!this.initialized) return;\n    if (value) this.element.classList.add('readonly');else this.element.classList.remove('readonly');\n    if (this.control === 'editor' && this.editor) this.editor.isReadOnly = value;\n  };\n\n  KaInputControls.prototype.focus = function focus() {\n    if (this.readonly) return;\n    this.element.classList.add('focus');\n  };\n\n  KaInputControls.prototype.blur = function blur() {\n    if (this.readonly) return;\n    this.element.classList.remove('focus');\n    this.validate();\n  };\n\n  KaInputControls.prototype.keyup = function keyup($event) {\n    if (this.control === 'date' || this.control === 'age') {\n      if (!this.displayValue || $event.keyCode === 8 || $event.keyCode === 9 || $event.keyCode === 16 || $event.keyCode === 46) return;\n      var value = this.displayValue.split('-');\n      value = (value[2] ? value[2] + '/' : '') + (value[1] ? value[1] + '/' : '') + (value[0] ? value[0] : '');\n      if (!/^([0123]|(?:0[1-9])|[12]\\d|3[01])$|^(\\d{2})\\/$|^(\\d{2})\\/([01]|(?:0[1-9])|1[012])$|^(\\d{2})\\/(\\d{2})\\/$|^(\\d{2})\\/(\\d{2})\\/(\\d{0,4})$/g.test(value)) value = value.slice(0, -1);\n      if (/^\\d{2}$|^\\d{2}\\/\\d{2}$/g.test(value)) value += '/';\n      this.displayValue = value;\n    }\n  };\n\n  KaInputControls.prototype.format = function format() {\n    if (typeof this.value === 'undefined') return;\n    switch (this.control) {\n      case 'text':\n        this.value = this.value;\n        break;\n      case 'password':\n        this.value = !this.value || this.value.length === 0 ? null : this.value;\n        break;\n      case 'number':\n        this.value = this.value;\n        break;\n      case 'date':\n      case 'age':\n        this.value = !this.displayValue || this.displayValue === '' || this.displayValue === '0000-00-00' ? null : /^\\d{2}\\/\\d{2}\\/\\d{4}$/g.test(this.displayValue) && (0, _moment2.default)(this.displayValue, 'DD/MM/YYYY').isValid() ? (0, _moment2.default)(this.displayValue, 'DD/MM/YYYY').format('YYYY-MM-DD') : this.displayValue;\n        break;\n      case 'combo':\n        this.value = this.value;\n        break;\n      case 'file':\n        this.value = this.value;\n        break;\n      default:\n        this.value = this.value;\n        break;\n    }\n  };\n\n  KaInputControls.prototype.validate = function validate() {\n    var _this3 = this;\n\n    this.format();\n    if (!this.validation) {\n      return new Promise(function (resolve) {\n        _this3.element.classList.remove('error');\n        resolve({\n          instruction: undefined,\n          results: [],\n          valid: true\n        });\n      });\n    }\n    return new Promise(function (resolve, reject) {\n      _this3.validator.validate().then(function (result) {\n        if (result.valid) {\n          _this3.element.classList.remove('error');\n          return resolve(result);\n        }\n\n        _this3.element.classList.add('error');\n        return reject(result);\n      });\n    });\n  };\n\n  KaInputControls.prototype.dateInit = function dateInit() {\n    if (this.value && !this.displayValue) this.dateDisplayValue();\n  };\n\n  KaInputControls.prototype.dateDisplayValue = function dateDisplayValue() {\n    if (typeof this.value === 'undefined' || this.value === '' || this.value === '0000-00-00') return this.value = null;\n    this.displayValue = !this.value || this.value === '' || this.value === '0000-00-00' ? null : /^\\d{4}-\\d{2}-\\d{2}$/g.test(this.value) ? (0, _moment2.default)(this.value, 'YYYY-MM-DD').format('DD/MM/YYYY') : this.value;\n  };\n\n  KaInputControls.prototype.checkClick = function checkClick($event) {\n    if (this.readonly) {\n      $event.preventDefault();\n      $event.stopPropagation();\n    } else {\n      this.value = !this.value;\n      this.validate();\n    }\n  };\n\n  KaInputControls.prototype.editorInit = function editorInit() {\n    var _this4 = this;\n\n    if (this._editor_initialized) return;\n    var config = {\n      toolbar: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', '|', 'indent', 'outdent', '|', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo'],\n      heading: {\n        options: [{\n          model: 'paragraph',\n          view: 'p',\n          title: 'Paragrafo',\n          class: 'ck-heading_paragraph'\n        }, {\n          model: 'heading1',\n          view: 'h2',\n          title: 'Intestazione 1',\n          class: 'ck-heading_heading1'\n        }, {\n          model: 'heading2',\n          view: 'h3',\n          title: 'Intestazione 2',\n          class: 'ck-heading_heading2'\n        }, {\n          model: 'heading3',\n          view: 'h4',\n          title: 'Intestazione 3',\n          class: 'ck-heading_heading3'\n        }]\n      }\n    };\n    _kaCkeditor2.default.create(this.element.querySelector('.ka-input-editor'), config).then(function (editor) {\n      editor.data.set(_this4.value || '');\n      editor.isReadOnly = _this4.readonly;\n      editor.model.document.on('change:data', function () {\n        _this4.value = editor.data.get();\n      });\n      _this4.editor = editor;\n    }).catch(function (error) {\n      konsole.error('There was a problem initializing ckeditor', error);\n    }).finally(function () {\n      _this4._editor_initialized = true;\n    });\n  };\n\n  KaInputControls.prototype.fileInit = function fileInit() {};\n\n  KaInputControls.prototype.fileDisplayValue = function fileDisplayValue() {\n    if (typeof this.value === 'undefined' || this.value === '' || this.value && !this.value.length) return this.value = null;\n    if (this.value === null) {\n      var form = document.createElement('form');\n      form.style.display = 'none';\n      this.element.parentElement.insertBefore(form, this.element);\n      form.append(this.element);\n      form.reset();\n      form.parentElement.insertBefore(this.element, form);\n      form.remove();\n    }\n    this.displayValue = this.value && this.value.length && this.value[0] && this.value[0].name ? this.value[0].name : this.value;\n  };\n\n  KaInputControls.prototype.comboInit = function comboInit() {\n    if (this.value && !this.displayValue) this.comboDisplayValue();\n  };\n\n  KaInputControls.prototype.comboOpen = function comboOpen() {\n    var _this5 = this;\n\n    if (this.readonly) return;\n    if (this.comboOpened) return this.comboClose();\n\n    if (!this.backdrop) {\n      this.backdrop = document.createElement('div');\n      this.backdrop.classList.add('ka-input-backdrop');\n      this.backdrop.setAttribute('id', 'ka-input-backdrop-' + this.field);\n      this.backdrop.addEventListener('click', function (event) {\n        if (event.target == _this5.backdrop) _this5.comboClose();\n      });\n    }\n    this.backdrop.style.display = 'block';\n    document.body.insertBefore(this.backdrop, document.body.children[0]);\n\n    this.comboOpened = true;\n    this.comboItems = [];\n    setTimeout(function () {\n      var bounds = _this5.drawer.getBoundingClientRect();\n      var max_h = _this5.backdrop.getBoundingClientRect().height;\n      _this5.backdrop.appendChild(_this5.drawer);\n      if (bounds.top + 280 > max_h) {\n        _this5.drawer.style.top = 'auto';\n        _this5.drawer.style.bottom = max_h - bounds.top - 30 + 60 + 'px';\n      } else {\n        _this5.drawer.style.top = bounds.top + 'px';\n        _this5.drawer.style.bottom = 'auto';\n      }\n      _this5.drawer.style.left = bounds.left + 'px';\n      _this5.drawer.style.width = bounds.width + 'px';\n      _this5.comboReady = true;\n      _this5.comboQuery();\n    }, 200);\n  };\n\n  KaInputControls.prototype.comboClose = function comboClose() {\n    this.drawer.style = {};\n    this.combo.appendChild(this.drawer);\n\n    this.backdrop.style.display = 'none';\n\n    this.comboOpened = false;\n    this.comboReady = false;\n    this.comboQueryValue = null;\n  };\n\n  KaInputControls.prototype.comboQuery = function comboQuery(query) {\n    var _this6 = this;\n\n    this.comboGetItems(query).then(function (items) {\n      _this6.comboItems = items;\n      _this6.comboParseSelected();\n    });\n  };\n\n  KaInputControls.prototype.comboGetItems = function comboGetItems(query, value) {\n    var _this7 = this;\n\n    return new Promise(function (resolve, reject) {\n      var items = [];\n      var client = !_this7.client || _this7.datasource.url ? _this7._client : _this7.client;\n      var datasource = null;\n\n      if (typeof _this7.datasource === 'string' && (_this7.datasource.indexOf('{') === 0 || _this7.datasource.indexOf('[') === 0)) datasource = JSON.parse(_this7.datasource);else if (typeof _this7.datasource === 'string' && _this7.parentContext.datasources && _this7.parentContext.datasources[_this7.datasource]) datasource = _this7.parentContext.datasources[_this7.datasource];else if (Array.isArray(_this7.datasource)) datasource = _this7.datasource;else datasource = _this7.datasource;\n\n      if (_this7.datapreload && (!_this7.comboItemsSource || !query && !value) && (datasource.table || datasource.url)) {\n        if (_this7.comboItemsSource) {\n          items = _this7.comboItemsSource;\n          if (query) _this7.comboGetItems(query).then(function (items) {\n            resolve(items);\n          });\n          if (value) _this7.comboGetItems(null, value).then(function (items) {\n            resolve(items);\n          });else resolve(items);\n        } else client.get(datasource.table || datasource.url).then(function (x) {\n          items = _this7.comboItemsSource = _this7.parse_response(x);\n          if (query) _this7.comboGetItems(query).then(function (items) {\n            resolve(items);\n          });\n          if (value) _this7.comboGetItems(null, value).then(function (items) {\n            resolve(items);\n          });else resolve(items);\n        }).catch(function (x) {});\n      } else if (_this7.datapreload && (!_this7.comboItemsSource || !query && !value) && Array.isArray(datasource)) {\n        items = _this7.comboItemsSource = datasource;\n        if (!query && !value) resolve(items);\n      }\n\n      if (_this7.datapreload && _this7.comboItemsSource && query) {\n        items = _this7.comboItemsSource.filter(function (x) {\n          return x[_this7.datatext].toLowerCase().indexOf(query.toLowerCase()) >= 0;\n        });\n        resolve(items);\n      } else if (_this7.datapreload && _this7.comboItemsSource && value) {\n        items = _this7.comboItemsSource.filter(function (x) {\n          return String(x[_this7.datavalue]) == String(value);\n        });\n        resolve(items);\n      } else if (!_this7.datapreload && !query && !value && (datasource.table || datasource.url)) {\n        resolve(items);\n      } else if (!_this7.datapreload && query && (datasource.table || datasource.url)) {\n        var endpoint = datasource.table || datasource.url;\n        if (datasource.query && _typeof(datasource.query) === 'object' && datasource.query.search) {\n          endpoint = _this7.addUrlParam(endpoint, datasource.query.search, query);\n        } else if (datasource.query && typeof datasource.query === 'string') {\n          endpoint = _this7.addUrlParam(endpoint, datasource.query, query);\n        } else {\n          var params = _this7.getUrlParams(endpoint);\n          var datatext = _this7.datatext;\n          var fields = _this7.datatext;\n          var sort = '+' + datatext;\n          var keys = datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (keys) {\n            keys = keys.map(function (b) {\n              return b.replace(/\\{|(.*?)\\}/g, '$1');\n            });\n            datatext = keys[0];\n            fields = keys.join(',');\n            sort = '+' + keys.join(',+');\n          }\n          var operator = _this7.queryOperator ? _this7.queryOperator : '^=';\n          operator = _this7.dataoperator ? _this7.dataoperator : operator;\n          params.filters = (params.filters ? '&' : '') + ('(' + datatext + operator + query + ')');\n          params.sort = sort;\n          params.fields = _this7.datavalue + ',' + fields;\n          endpoint = endpoint.replace(/\\?.*$/, '') + '?' + _this7.buildQueryString(params);\n        }\n        if (_this7.clientRequest && _this7.clientRequest.cancel) {\n          _this7.clientRequest.cancel();\n        }\n        _this7.clientRequest = client.get(endpoint);\n        _this7.clientRequest.then(function (x) {\n          items = _this7.parse_response(x);\n          resolve(items);\n        }).catch(function (x) {});\n      } else if (!_this7.datapreload && value && (datasource.table || datasource.url)) {\n        var _endpoint = datasource.table || datasource.url;\n        if (datasource.query && _typeof(datasource.query) === 'object' && datasource.query.item) {\n          _endpoint = _this7.addUrlParam(_endpoint, datasource.query.item, value);\n        } else if (datasource.query && typeof datasource.query === 'string') {\n          _endpoint = _this7.addUrlParam(_endpoint, datasource.query, value);\n        } else {\n          var _params = _this7.getUrlParams(_endpoint);\n          var _fields = _this7.datatext;\n          var _keys = _fields.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (_keys) _fields = _keys.join(',').replace(/\\{|\\}/g, '');\n          _params.filters = (_params.filters ? '&' : '') + ('(' + _this7.datavalue + '=' + value + ')');\n          _params.fields = _this7.datavalue + ',' + _fields;\n          _endpoint = _endpoint.replace(/\\?.*$/, '') + '?' + _this7.buildQueryString(_params);\n        }\n\n        _this7.clientRequest = client.get(_endpoint);\n        _this7.clientRequest.then(function (x) {\n          items = _this7.parse_response(x);\n          resolve(items);\n        }).catch(function (x) {});\n      }\n    });\n  };\n\n  KaInputControls.prototype.comboDisplayValue = function comboDisplayValue() {\n    var _this8 = this;\n\n    if (!this.value) {\n      if (this.buttons && this.buttons.length > 0 && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) {\n        this.buttons.openEnabled = false;\n        this.buttons.addEnabled = !this.element.classList.contains('no-add');\n      }\n      return this.displayValue = null;\n    }\n    if (this.buttons && this.buttons.length > 0 && this.control === 'combo' && this.datasource && this.datasource.table && !this.datamultiple) {\n      this.buttons.openEnabled = !this.element.classList.contains('no-open');\n      this.buttons.addEnabled = false;\n    }\n    if (this.datamultiple) {\n      var _ret = function () {\n        var datatexts = [];\n        var parsed = 0;\n        if (!_this8.value.length) {\n          _this8.comboValueReady();\n          return {\n            v: _this8.displayValue = null\n          };\n        }\n\n        var _loop = function _loop() {\n          if (_isArray) {\n            if (_i >= _iterator.length) return 'break';\n            _ref = _iterator[_i++];\n          } else {\n            _i = _iterator.next();\n            if (_i.done) return 'break';\n            _ref = _i.value;\n          }\n\n          var item = _ref;\n\n          parsed++;\n\n          var v = typeof item === 'string' || typeof item === 'number' ? String(item) : String(item[_this8.datavalue]) ? String(item[_this8.datavalue]) : null;\n          _this8.comboGetItems(null, v).then(function (items) {\n            if (items.length === 1) {\n              if ((typeof item === 'undefined' ? 'undefined' : _typeof(item)) === 'object') item = v;\n              var keys = _this8.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n              if (keys) {\n                var datatext = _this8.datatext;\n                for (var _iterator2 = keys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n                  var _ref2;\n\n                  if (_isArray2) {\n                    if (_i2 >= _iterator2.length) break;\n                    _ref2 = _iterator2[_i2++];\n                  } else {\n                    _i2 = _iterator2.next();\n                    if (_i2.done) break;\n                    _ref2 = _i2.value;\n                  }\n\n                  var key = _ref2;\n\n                  datatext = datatext.replace(key, items[0][key.replace(/\\{|\\}/g, '')] || '');\n                }\n                datatexts.push(datatext);\n              } else datatexts.push(items[0][_this8.datatext] ? items[0][_this8.datatext] : eval('items[0].' + _this8.datatext) ? eval('items[0].' + _this8.datatext) : 'undefined');\n            } else {\n              item = null;\n            }\n            if (_this8.value.length === parsed) {\n              _this8.displayValue = datatexts.join(', ');\n            }\n            _this8.comboValueReady();\n          });\n        };\n\n        for (var _iterator = _this8.value, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n          var _ref;\n\n          var _ret2 = _loop();\n\n          if (_ret2 === 'break') break;\n        }\n      }();\n\n      if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n    } else {\n      if (this.comboItems) {\n        var items = this.comboItems.filter(function (x) {\n          return String(x[_this8.datavalue]) == String(_this8.value);\n        });\n        if (items && items[0]) {\n          this.objectValue = items[0];\n          var keys = this.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (keys) {\n            var datatext = this.datatext;\n            for (var _iterator3 = keys, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n              var _ref3;\n\n              if (_isArray3) {\n                if (_i3 >= _iterator3.length) break;\n                _ref3 = _iterator3[_i3++];\n              } else {\n                _i3 = _iterator3.next();\n                if (_i3.done) break;\n                _ref3 = _i3.value;\n              }\n\n              var key = _ref3;\n\n              datatext = datatext.replace(key, items[0][key.replace(/\\{|\\}/g, '')] || '');\n            }\n            this.displayValue = datatext;\n          } else this.displayValue = items[0][this.datatext] ? items[0][this.datatext] : eval('items[0].' + this.datatext) ? eval('items[0].' + this.datatext) : 'undefined';\n          this.comboValueReady();\n          return;\n        }\n      }\n      var _v = typeof this.value === 'string' || typeof this.value === 'number' ? String(this.value) : String(this.value[this.datavalue]) ? String(this.value[this.datavalue]) : null;\n      this.comboGetItems(null, _v).then(function (items) {\n        if (items.length === 1) {\n          _this8.objectValue = items[0];\n          if (_typeof(_this8.value) === 'object') _this8.value = _v;\n          var _keys2 = _this8.datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n          if (_keys2) {\n            var _datatext = _this8.datatext;\n            for (var _iterator4 = _keys2, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n              var _ref4;\n\n              if (_isArray4) {\n                if (_i4 >= _iterator4.length) break;\n                _ref4 = _iterator4[_i4++];\n              } else {\n                _i4 = _iterator4.next();\n                if (_i4.done) break;\n                _ref4 = _i4.value;\n              }\n\n              var _key = _ref4;\n\n              _datatext = _datatext.replace(_key, items[0][_key.replace(/\\{|\\}/g, '')] || '');\n            }\n            _this8.displayValue = _datatext;\n          } else _this8.displayValue = items[0][_this8.datatext] ? items[0][_this8.datatext] : eval('items[0].' + _this8.datatext) ? eval('items[0].' + _this8.datatext) : 'undefined';\n          _this8.comboValueReady();\n        } else {\n          _this8.value = null;\n          _this8.displayValue = null;\n          _this8.objectValue = null;\n          _this8.comboValueReady();\n        }\n      });\n    }\n  };\n\n  KaInputControls.prototype.comboValueReady = function comboValueReady() {\n    if (!this._ready) {\n      this._ready = true;\n      if (typeof this.ready === 'function') this.ready(this);\n    }\n  };\n\n  KaInputControls.prototype.comboSelect = function comboSelect(item, $event) {\n    if (!this.datamultiple) {\n      this.value = String(item[this.datavalue]);\n      this.comboParseSelected();\n      this.comboClose();\n      this.validate();\n    } else {\n        if (!this.value || !Array.isArray(this.value)) this.value = [];\n\n        if (this.value.length && this.value.indexOf(String(item[this.datavalue])) >= 0) this.value.splice(this.value.indexOf(String(item[this.datavalue])), 1);else this.value.push(String(item[this.datavalue]));\n\n        this.comboParseSelected();\n        this.validate();\n      }\n  };\n\n  KaInputControls.prototype.comboParseSelected = function comboParseSelected() {\n    var _this9 = this;\n\n    for (var _iterator5 = this.comboItems, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n      var _ref5;\n\n      if (_isArray5) {\n        if (_i5 >= _iterator5.length) break;\n        _ref5 = _iterator5[_i5++];\n      } else {\n        _i5 = _iterator5.next();\n        if (_i5.done) break;\n        _ref5 = _i5.value;\n      }\n\n      var _item2 = _ref5;\n      _item2.selected = false;\n    }if (!this.value) return;\n\n    if (this.datamultiple) {\n      var _loop2 = function _loop2() {\n        if (_isArray6) {\n          if (_i6 >= _iterator6.length) return 'break';\n          _ref6 = _iterator6[_i6++];\n        } else {\n          _i6 = _iterator6.next();\n          if (_i6.done) return 'break';\n          _ref6 = _i6.value;\n        }\n\n        var value = _ref6;\n\n        var item = _this9.comboItems.filter(function (x) {\n          return String(x[_this9.datavalue]) === String(value);\n        });\n        if (item && item[0]) item[0].selected = true;\n      };\n\n      for (var _iterator6 = this.value, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {\n        var _ref6;\n\n        var _ret3 = _loop2();\n\n        if (_ret3 === 'break') break;\n      }\n    } else {\n        var _item = this.comboItems.filter(function (x) {\n          return String(x[_this9.datavalue]) === String(_this9.value);\n        });\n        if (_item && _item[0]) _item[0].selected = true;\n      }\n    this.comboDisplayValue();\n  };\n\n  KaInputControls.prototype.comboListAddItem = function comboListAddItem(item, $event) {\n    this.comboListItems.push({ value: item[this.datavalue], text: item[this.datatext] });\n    this.comboListItems.sort(function (a, b) {\n      if (a.text < b.text) return -1;if (a.text > b.text) return 1;return 0;\n    });\n    this.value = this.comboListItems.map(function (x) {\n      return x.value;\n    });\n    console.info('comboListAddItem', this.comboListItems, this.value);\n    this.validate();\n    this.comboClose();\n  };\n\n  KaInputControls.prototype.comboListRemoveItem = function comboListRemoveItem(item, $event) {\n    this.comboListItems.splice(this.comboListItems.indexOf(item), 1);\n    this.value = this.comboListItems.map(function (x) {\n      return x.value;\n    });\n    console.info('comboListRemoveItem', this.comboListItems, this.value);\n    this.validate();\n  };\n\n  KaInputControls.prototype.comboListUpdate = function comboListUpdate() {\n    var _this10 = this;\n\n    if (!this.value) return;\n    if (!Array.isArray(this.value)) this.value = [this.value];\n    this.value.forEach(function (item) {\n      var listItem = { value: null, text: null };\n      if (['number', 'string'].indexOf(typeof item === 'undefined' ? 'undefined' : _typeof(item)) > -1) listItem = { value: item, text: item };else if (item[_this10.datavalue] && item[_this10.datatext]) listItem = { value: item[_this10.datavalue], text: item[_this10.datatext] };else if (item.value && item.text) listItem = Object.assign({}, item);\n      if (_this10.comboListItems.filter(function (x) {\n        return x.value === listItem.value;\n      }).length === 0) _this10.comboListItems.push(listItem);\n    });\n    this.comboListItems.sort(function (a, b) {\n      if (a.text < b.text) return -1;if (a.text > b.text) return 1;return 0;\n    });\n  };\n\n  KaInputControls.prototype.checklistInit = function checklistInit() {\n    var _this11 = this;\n\n    if (Array.isArray(this.datasource)) {\n      this.checklistItems = JSON.parse(JSON.stringify(this.datasource));\n      this.checklistParseSelected();\n    } else {\n      var client = !this.client || this.datasource.url ? this._client : this.client;\n      client.get(this.datasource.table || this.datasource.url).then(function (x) {\n        _this11.checklistItems = _this11.parse_response(x);\n        _this11.checklistParseSelected();\n      }).catch(function (x) {});\n    }\n  };\n\n  KaInputControls.prototype.checklistSelect = function checklistSelect(item, $event) {\n    if (this.readonly) return;\n    if (!this.value || !Array.isArray(this.value)) this.value = [];\n\n    if (this.value.length && this.value.indexOf(String(item[this.datavalue])) >= 0) this.value.splice(this.value.indexOf(String(item[this.datavalue])), 1);else this.value.push(String(item[this.datavalue]));\n\n    this.checklistParseSelected();\n    this.validate();\n  };\n\n  KaInputControls.prototype.checklistParseSelected = function checklistParseSelected() {\n    var _this12 = this;\n\n    if (!this.checklistItems) return;\n    for (var _iterator7 = this.checklistItems, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {\n      var _ref7;\n\n      if (_isArray7) {\n        if (_i7 >= _iterator7.length) break;\n        _ref7 = _iterator7[_i7++];\n      } else {\n        _i7 = _iterator7.next();\n        if (_i7.done) break;\n        _ref7 = _i7.value;\n      }\n\n      var _item3 = _ref7;\n      _item3.selected = false;\n    }if (!this.value) return;\n\n    var _loop3 = function _loop3() {\n      if (_isArray8) {\n        if (_i8 >= _iterator8.length) return 'break';\n        _ref8 = _iterator8[_i8++];\n      } else {\n        _i8 = _iterator8.next();\n        if (_i8.done) return 'break';\n        _ref8 = _i8.value;\n      }\n\n      var value = _ref8;\n\n      var item = _this12.checklistItems.filter(function (x) {\n        return String(x[_this12.datavalue]) == String(value);\n      });\n      if (item && item[0]) item[0].selected = true;\n    };\n\n    for (var _iterator8 = this.value, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {\n      var _ref8;\n\n      var _ret4 = _loop3();\n\n      if (_ret4 === 'break') break;\n    }\n  };\n\n  KaInputControls.prototype.parse_response = function parse_response(msg) {\n    if (msg.responseType === 'json' && typeof msg.response === 'string') msg.response = JSON.parse(msg.response);\n    return msg.response;\n  };\n\n  KaInputControls.prototype.getUrlParams = function getUrlParams(url) {\n    url = url.replace(/^.*(\\?|$)/, '');\n    if (!url[1]) return {};\n    var chunks = url[1].split('&');\n    return chunks.reduce(function (params, hash) {\n      var _Object$assign;\n\n      var _hash$split = hash.split('='),\n          key = _hash$split[0],\n          val = _hash$split[1];\n\n      return Object.assign(params, (_Object$assign = {}, _Object$assign[key] = decodeURIComponent(val), _Object$assign));\n    }, {});\n  };\n\n  KaInputControls.prototype.addUrlParams = function addUrlParams(url, params) {\n    if (!params) return url;\n    for (var _iterator9 = Object.entries(params), _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {\n      var _ref9;\n\n      if (_isArray9) {\n        if (_i9 >= _iterator9.length) break;\n        _ref9 = _iterator9[_i9++];\n      } else {\n        _i9 = _iterator9.next();\n        if (_i9.done) break;\n        _ref9 = _i9.value;\n      }\n\n      var _ref10 = _ref9,\n          k = _ref10[0],\n          _v2 = _ref10[1];\n\n      url = this.addUrlParam(url, k, _v2);\n    }\n    return url;\n  };\n\n  KaInputControls.prototype.addUrlParam = function addUrlParam(url, key, value) {\n    if (!key || !value) return url;\n    url = new URL((!url.startsWith('http') ? 'void://' : '') + url);\n    var urlParams = new URLSearchParams(url.search);\n    urlParams.append(key, value);\n    url.search = urlParams;\n    return url.toString().replace('void://', '');\n  };\n\n  KaInputControls.prototype.buildQueryString = function buildQueryString(params) {\n    return Object.keys(params).reduce(function (query, key) {\n      return query + '&' + key + '=' + encodeURIComponent(params[key]);\n    }, '').replace(/^\\&/, '');\n  };\n\n  return KaInputControls;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'displayValue', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'objectValue', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'config', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'record', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'name', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'label', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'default', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'required', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'control', [_dec14], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec15], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor13 = _applyDecoratedDescriptor(_class2.prototype, 'description', [_dec16], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec17], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, 'validation', [_dec18], {\n  enumerable: true,\n  initializer: function initializer() {\n    return true;\n  }\n}), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, 'queryOperator', [_dec19], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor17 = _applyDecoratedDescriptor(_class2.prototype, 'change', [_dec20], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor18 = _applyDecoratedDescriptor(_class2.prototype, 'ready', [_dec21], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor19 = _applyDecoratedDescriptor(_class2.prototype, 'dialogClosed', [_dec22], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor20 = _applyDecoratedDescriptor(_class2.prototype, 'comboListItems', [_dec23], {\n  enumerable: true,\n  initializer: function initializer() {\n    return [];\n  }\n})), _class2)) || _class) || _class) || _class);\n\nvar kaHighlightValueConverter = exports.kaHighlightValueConverter = function () {\n  function kaHighlightValueConverter() {\n    _classCallCheck(this, kaHighlightValueConverter);\n  }\n\n  kaHighlightValueConverter.prototype.toView = function toView(item, datatext, string) {\n    var value = null;\n    var keys = datatext.match(/\\{[a-zA-Z_]*?\\}/g);\n    if (keys) {\n      for (var _iterator10 = keys, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {\n        var _ref11;\n\n        if (_isArray10) {\n          if (_i10 >= _iterator10.length) break;\n          _ref11 = _iterator10[_i10++];\n        } else {\n          _i10 = _iterator10.next();\n          if (_i10.done) break;\n          _ref11 = _i10.value;\n        }\n\n        var key = _ref11;\n\n        datatext = datatext.replace(key, item[key.replace(/\\{|\\}/g, '')] || '');\n      }\n      value = datatext;\n    } else value = item[datatext] ? item[datatext] : eval('item.' + datatext) ? eval('item.' + datatext) : null;\n    if (!value) return;\n    if (!string || !string.length) return value;\n    var index = value.toLowerCase().indexOf(string.toLowerCase());\n    if (index >= 0) value = value.substring(0, index) + '<strong>' + value.substring(index, index + string.length) + '</strong>' + value.substring(index + string.length);\n    return value;\n  };\n\n  return kaHighlightValueConverter;\n}();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaInput = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaInput = exports.KaInput = (_dec = (0, _aureliaFramework.customElement)('ka-input'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)(), _dec14 = (0, _aureliaFramework.bindable)(), _dec15 = (0, _aureliaFramework.bindable)(), _dec16 = (0, _aureliaFramework.bindable)(), _dec17 = (0, _aureliaFramework.bindable)(), _dec18 = (0, _aureliaFramework.bindable)(), _dec19 = (0, _aureliaFramework.bindable)(), _dec20 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec21 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaInput(element) {\n    _classCallCheck(this, KaInput);\n\n    _initDefineProp(this, 'value', _descriptor, this);\n\n    _initDefineProp(this, 'config', _descriptor2, this);\n\n    _initDefineProp(this, 'record', _descriptor3, this);\n\n    _initDefineProp(this, 'name', _descriptor4, this);\n\n    _initDefineProp(this, 'label', _descriptor5, this);\n\n    _initDefineProp(this, 'default', _descriptor6, this);\n\n    _initDefineProp(this, 'required', _descriptor7, this);\n\n    _initDefineProp(this, 'readonly', _descriptor8, this);\n\n    _initDefineProp(this, 'control', _descriptor9, this);\n\n    _initDefineProp(this, 'client', _descriptor10, this);\n\n    _initDefineProp(this, 'description', _descriptor11, this);\n\n    _initDefineProp(this, 'autocomplete', _descriptor12, this);\n\n    _initDefineProp(this, 'change', _descriptor13, this);\n\n    _initDefineProp(this, 'ready', _descriptor14, this);\n\n    _initDefineProp(this, 'dialogClosed', _descriptor15, this);\n\n    _initDefineProp(this, 'validation', _descriptor16, this);\n\n    _initDefineProp(this, 'queryOperator', _descriptor17, this);\n\n    _initDefineProp(this, 'resourceControls', _descriptor18, this);\n\n    _initDefineProp(this, 'resourceRef', _descriptor19, this);\n\n    this.insideMdResource = null;\n\n    this.element = element;\n  }\n\n  KaInput.prototype.bind = function bind(bindingContext) {\n    this.parent = bindingContext;\n    if (bindingContext) {\n      this.insideMdResource = !!(this.name && bindingContext.constructor.name === 'MdResource' && bindingContext.controls);\n    }\n  };\n\n  KaInput.prototype.attached = function attached() {\n    if (this.resourceControls && this.resourceRef && this.input) {\n      this.resourceControls[this.resourceRef] = this.input;\n    }\n  };\n\n  KaInput.prototype.resourceControlsChanged = function resourceControlsChanged(resourceControls) {\n    if (this.resourceControls && this.input) {\n      this.resourceControls = this.input;\n    }\n  };\n\n  return KaInput;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'value', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'config', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'record', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'name', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'label', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'default', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'required', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'readonly', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'control', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'description', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, 'autocomplete', [_dec14], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor13 = _applyDecoratedDescriptor(_class2.prototype, 'change', [_dec15], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, 'ready', [_dec16], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, 'dialogClosed', [_dec17], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, 'validation', [_dec18], {\n  enumerable: true,\n  initializer: function initializer() {\n    return true;\n  }\n}), _descriptor17 = _applyDecoratedDescriptor(_class2.prototype, 'queryOperator', [_dec19], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor18 = _applyDecoratedDescriptor(_class2.prototype, 'resourceControls', [_dec20], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor19 = _applyDecoratedDescriptor(_class2.prototype, 'resourceRef', [_dec21], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaLayout = undefined;\n\nvar _dec, _dec2, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _kaComponents = require('ka-components');\n\nvar _navigation = require('navigation');\n\nvar _navigation2 = _interopRequireDefault(_navigation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaLayout = exports.KaLayout = (_dec = (0, _aureliaFramework.customElement)('ka-layout'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaComponents.KaApi), _dec(_class = _dec2(_class = function () {\n  function KaLayout(element, router, api) {\n    var _this = this;\n\n    _classCallCheck(this, KaLayout);\n\n    this._collapsed = false;\n    this._navigation = _navigation2.default;\n    this._intervals = [];\n\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    document.addEventListener('click', function (e) {\n      if (e.target.closest('.no-toggle')) return;\n      if (e.target.classList.contains('expand') || e.target.classList.contains('collapse')) return;\n      var isBurger = e.target === _this.burgerAside || e.target === _this.burgerHeader || e.target.parentElement && (e.target.parentElement === _this.burgerAside || e.target.parentElement === _this.burgerHeader);\n      if (!isBurger && !_this._collapsed && window.innerWidth < 860) _this.toggle();\n    });\n  }\n\n  KaLayout.prototype.attached = function attached() {\n    if (window.innerWidth < 860) this.toggle();\n    this.activateBadges(this._navigation);\n  };\n\n  KaLayout.prototype.detached = function detached() {\n    for (var _iterator = this._intervals, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var interval = _ref;\n      clearInterval(interval);\n    }\n  };\n\n  KaLayout.prototype.toggle = function toggle() {\n    this._collapsed = !this._collapsed;\n    if (this._collapsed) this.element.classList.add('collapsed');else this.element.classList.remove('collapsed');\n  };\n\n  KaLayout.prototype.activateBadges = function activateBadges(items) {\n    var _this2 = this;\n\n    var _loop = function _loop() {\n      if (_isArray2) {\n        if (_i2 >= _iterator2.length) return 'break';\n        _ref2 = _iterator2[_i2++];\n      } else {\n        _i2 = _iterator2.next();\n        if (_i2.done) return 'break';\n        _ref2 = _i2.value;\n      }\n\n      var item = _ref2;\n\n      if (item.nav && item.nav.length > 0 && _this2.authorized(item)) _this2.activateBadges(item.nav);\n      if (!item.badge || !item.badge.promise || !_this2.authorized(item)) return 'continue';\n      var callback = function callback() {\n        new Promise(function (resolve, reject) {\n          return item.badge.promise(resolve, reject, _this2.api);\n        }).then(function (x) {\n          item.badge.value = x;\n        }).catch(function () {\n          item.badge.value = null;\n        });\n      };\n      _this2._intervals.push(setInterval(callback, item.badge.interval || 5000));\n      callback();\n    };\n\n    _loop2: for (var _iterator2 = items, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n      var _ref2;\n\n      var _ret = _loop();\n\n      switch (_ret) {\n        case 'break':\n          break _loop2;\n\n        case 'continue':\n          continue;}\n    }\n  };\n\n  KaLayout.prototype.authorized = function authorized(item) {\n    var userGroups = this.api.user.group || this.api.user.groups || [];\n    if (!Array.isArray(userGroups)) userGroups = [userGroups];\n    return !item.authGroups || item.authGroups && userGroups.some(function (e) {\n      return item.authGroups.includes(e);\n    });\n  };\n\n  KaLayout.prototype.expand = function expand(item) {\n    item.collapsed = false;\n  };\n\n  KaLayout.prototype.collapse = function collapse(item) {\n    item.collapsed = true;\n  };\n\n  return KaLayout;\n}()) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaNavbar = undefined;\n\nvar _dec, _dec2, _dec3, _class, _desc, _value, _class2, _descriptor;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _kaApi = require('../ka-api/ka-api');\n\nvar _environment = require('environment');\n\nvar _environment2 = _interopRequireDefault(_environment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaNavbar = exports.KaNavbar = (_dec = (0, _aureliaFramework.customElement)('ka-navbar'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaApi.KaApi), _dec3 = (0, _aureliaFramework.observable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaNavbar(element, router, api) {\n    var _this = this;\n\n    _classCallCheck(this, KaNavbar);\n\n    _initDefineProp(this, 'visible', _descriptor, this);\n\n    this.appName = _environment2.default.appName;\n\n    this.element = element;\n    this.router = router;\n    this.api = api;\n    document.addEventListener('click', function (e) {\n      if (!_this.visible) return;\n      var target = e.target;\n      while (target) {\n        if (target === _this.nav) return;\n        if (target === _this.button) return;\n        target = target.parentNode;\n      }\n      _this.hide();\n    });\n  }\n\n  KaNavbar.prototype.attached = function attached() {\n    var _this2 = this;\n\n    this.routes = [];\n\n    var _loop = function _loop() {\n      if (_isArray) {\n        if (_i >= _iterator.length) return 'break';\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) return 'break';\n        _ref = _i.value;\n      }\n\n      var route = _ref;\n\n      if (!_this2.api.user && !route.settings.authGroups) _this2.routes.push(route);else if (_this2.api.user && !route.settings.authGroups) _this2.routes.push(route);else if (_this2.api.user && route.settings.authGroups && _this2.api.user.groups && _this2.api.user.groups.some(function (e) {\n        return route.settings.authGroups.includes(e);\n      })) _this2.routes.push(route);\n    };\n\n    for (var _iterator = this.router.navigation, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      var _ret = _loop();\n\n      if (_ret === 'break') break;\n    }\n  };\n\n  KaNavbar.prototype.hide = function hide() {\n    this.visible = false;\n  };\n\n  KaNavbar.prototype.show = function show() {\n    this.visible = true;\n  };\n\n  KaNavbar.prototype.toggle = function toggle() {\n    this.visible = !this.visible;\n  };\n\n  return KaNavbar;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'visible', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return false;\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaProgress = undefined;\n\nvar _dec, _dec2, _dec3, _class, _desc, _value, _class2, _descriptor;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaProgress = exports.KaProgress = (_dec = (0, _aureliaFramework.customElement)('ka-progress'), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function KaProgress(element) {\n  _classCallCheck(this, KaProgress);\n\n  _initDefineProp(this, 'type', _descriptor, this);\n\n  element.classList.add(this.type);\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'type', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return 'linear';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaResource = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _kaToast = require('../ka-toast/ka-toast');\n\nvar _kaDialog = require('../ka-dialog/ka-dialog');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaResource = exports.KaResource = (_dec = (0, _aureliaFramework.customElement)('ka-resource'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaToast.KaToast, _kaDialog.KaDialog), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.fromView }), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaResource(element, router, toast, dialog) {\n    var _this = this;\n\n    _classCallCheck(this, KaResource);\n\n    _initDefineProp(this, 'resource', _descriptor, this);\n\n    _initDefineProp(this, 'data', _descriptor2, this);\n\n    _initDefineProp(this, 'schema', _descriptor3, this);\n\n    _initDefineProp(this, 'injectData', _descriptor4, this);\n\n    _initDefineProp(this, 'injectSchema', _descriptor5, this);\n\n    _initDefineProp(this, 'client', _descriptor6, this);\n\n    _initDefineProp(this, 'endpoint', _descriptor7, this);\n\n    _initDefineProp(this, 'disabled', _descriptor8, this);\n\n    _initDefineProp(this, 'controls', _descriptor9, this);\n\n    _initDefineProp(this, 'listRefQuery', _descriptor10, this);\n\n    _initDefineProp(this, 'mode', _descriptor11, this);\n\n    this.readonly = true;\n    this.loaded = false;\n    this.saveAndReload = false;\n    this.errors = [];\n\n    this.schema_loaded = function () {};\n\n    this.data_loaded = function () {};\n\n    this.save_before = function (data) {\n      return data;\n    };\n\n    this.save_after = function (data) {\n      return data;\n    };\n\n    this.buttonsActions = {\n      prev: function prev() {\n        return _this.prev();\n      },\n      next: function next() {\n        return _this.next();\n      },\n      close: function close() {\n        return _this.close();\n      },\n      edit: function edit() {\n        return _this.edit();\n      },\n      save: function save() {\n        return _this.save();\n      },\n      delete: function _delete() {\n        return _this.delete();\n      }\n    };\n\n    this.element = element;\n    this.router = router;\n    this.toast = toast;\n    this.dialog = dialog;\n\n    this.events = document.createTextNode(null);\n    this.events.schemaLoaded = new CustomEvent('schemaLoaded', { resource: this });\n    this.events.dataLoaded = new CustomEvent('dataLoaded', { resource: this });\n    this.events.dataValidated = new CustomEvent('dataValidated', { resource: this });\n    this.events.dataValidateError = new CustomEvent('dataValidateError', { resource: this });\n    this.events.dataSaved = new CustomEvent('dataSaved', { resource: this });\n    this.events.dataSaveError = new CustomEvent('dataSaveError', { resource: this });\n  }\n\n  KaResource.prototype.bind = function bind(bindingContext, overrideContext) {\n    this.parentContext = bindingContext;\n    this.parentContext.resource = this;\n  };\n\n  KaResource.prototype.attached = function attached() {\n    this.load();\n  };\n\n  KaResource.prototype.modeChanged = function modeChanged(value) {\n    switch (value) {\n      case 'edit':\n        this.disabled = false;\n        this._setReadonly(false);\n        break;\n      case 'readonly':\n        this.disabled = true;\n        this._setReadonly(true);\n        break;\n      default:\n        this.disabled = false;\n        this._setReadonly(true);\n        break;\n    }\n  };\n\n  KaResource.prototype.reload = function reload(resource) {\n    this.data = {};\n\n    this.readonly = true;\n    this.loaded = false;\n    this.errors = [];\n    this.resource = resource;\n    this.load();\n  };\n\n  KaResource.prototype.load = function load() {\n    var _this2 = this;\n\n    if (this.parentContext.params && this.parentContext.params.id && this.router.currentInstruction.params && this.router.currentInstruction.params.id && this.parentContext.params.id !== this.router.currentInstruction.params.id) {\n      this.saveAndReload = true;\n    }\n    if (!this.endpoint && this.parentContext.endpoint) this.endpoint = this.parentContext.endpoint;\n    if (!this.client && this.parentContext.api && this.parentContext.api.client) this.client = this.parentContext.api.client;\n    if (!this.resource && this.parentContext.params && this.parentContext.params.id) this.resource = { id: this.parentContext.params.id };\n    if (!this.listRefQuery && this.parentContext.params && this.parentContext.params.listRefQuery) this.listRefQuery = atob(this.parentContext.params.listRefQuery);\n    this.modeChanged(this.mode);\n\n    if (this.client && this.endpoint) {\n      var endpoint = this.endpoint;\n      var dataset = this.endpoint;\n      this._request('get', 'datasets/' + dataset).then(function (response) {\n        var schema = {};\n        for (var _iterator = response, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n          var _ref;\n\n          if (_isArray) {\n            if (_i >= _iterator.length) break;\n            _ref = _iterator[_i++];\n          } else {\n            _i = _iterator.next();\n            if (_i.done) break;\n            _ref = _i.value;\n          }\n\n          var item = _ref;\n          schema[item.field] = item;\n        }_this2.schema = schema;\n        _this2.schema_loaded();\n        _this2.events.dispatchEvent(_this2.events.schemaLoaded);\n\n        if (_this2.resource && _this2.resource.id === 'new') {\n          _this2.originalData = {};\n          for (var _iterator2 = Object.keys(_this2.schema), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n            var _ref2;\n\n            if (_isArray2) {\n              if (_i2 >= _iterator2.length) break;\n              _ref2 = _iterator2[_i2++];\n            } else {\n              _i2 = _iterator2.next();\n              if (_i2.done) break;\n              _ref2 = _i2.value;\n            }\n\n            var key = _ref2;\n            _this2.originalData[key] = null;\n          }_this2.data = JSON.parse(JSON.stringify(_this2.originalData));\n          if (_this2.parentContext.params && _this2.parentContext.params.data) _this2.data = Object.assign(_this2.data, _this2.parentContext.params.data);\n          _this2.loaded = true;\n          _this2.data_loaded();\n          _this2.events.dispatchEvent(_this2.events.dataLoaded);\n          _this2._setReadonly(false);\n        } else if (_this2.resource && _this2.resource.id) {\n          _this2._request('get', endpoint + '/' + _this2.resource.id + '?depth=0').then(function (data) {\n            _this2.originalData = data;\n            _this2.data = JSON.parse(JSON.stringify(_this2.originalData));\n\n            _this2.loaded = true;\n            _this2.data_loaded();\n            _this2.events.dispatchEvent(_this2.events.dataLoaded);\n          });\n        }\n      });\n    } else if (this.injectSchema && this.injectData) {\n      var schema = {};\n      for (var _iterator3 = this.injectSchema, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n        var _ref3;\n\n        if (_isArray3) {\n          if (_i3 >= _iterator3.length) break;\n          _ref3 = _iterator3[_i3++];\n        } else {\n          _i3 = _iterator3.next();\n          if (_i3.done) break;\n          _ref3 = _i3.value;\n        }\n\n        var item = _ref3;\n        schema[item.field] = item;\n      }this.schema = schema;\n\n      this.originalData = this.injectData;\n      this.data = JSON.parse(JSON.stringify(this.originalData));\n      if (this.parentContext.params && this.parentContext.params.data) this.data = Object.assign(this.data, this.parentContext.params.data);\n      setTimeout(function () {\n        _this2.loaded = true;\n        _this2.data_loaded();\n        _this2.events.dispatchEvent(_this2.events.dataLoaded);\n      }, 500);\n    }\n  };\n\n  KaResource.prototype.prev = function prev() {\n    var _this3 = this;\n\n    var listRefQuery = this.listRefQuery.replace(/offset=(\\d+)/, function (match, p1) {\n      return 'offset=' + (parseInt(p1, 10) === 0 ? 0 : parseInt(p1, 10) - 1);\n    });\n    this.client.get('' + listRefQuery).then(function (x) {\n      var response = x.response;\n      if (!response.length) return _this3.toast.show('Non ci sono record precedenti a questo', 'error');\n      if (_this3.parentContext.params.dialog) {\n        _this3.listRefQuery = listRefQuery;\n        _this3.reload(response[0]);\n      } else {\n        var route = _this3.router.currentInstruction.config;\n        _this3.router.navigateToRoute(route.name, { id: response[0].id, listRefQuery: btoa(listRefQuery) }, { trigger: true, replace: true });\n      }\n    }).catch(function () {\n      _this3.toast.show('Errore nell\\'apertura del record precedente', 'error');\n    });\n  };\n\n  KaResource.prototype.next = function next() {\n    var _this4 = this;\n\n    var listRefQuery = this.listRefQuery.replace(/offset=(\\d+)/, function (match, p1) {\n      return 'offset=' + (parseInt(p1, 10) + 1);\n    });\n    this.client.get('' + listRefQuery).then(function (x) {\n      var response = x.response;\n      if (!response.length) return _this4.toast.show('Non ci sono record successivi a questo', 'error');\n      if (_this4.parentContext.params.dialog) {\n        _this4.listRefQuery = listRefQuery;\n        _this4.reload(response[0]);\n      } else {\n        var route = _this4.router.currentInstruction.config;\n        _this4.router.navigateToRoute(route.name, { id: response[0].id, listRefQuery: btoa(listRefQuery) }, { trigger: true, replace: true });\n      }\n    }).catch(function () {\n      _this4.toast.show('Errore nell\\'apertura del record successivo', 'error');\n    });\n  };\n\n  KaResource.prototype.delete = function _delete() {\n    var _this5 = this;\n\n    this.dialog.open({\n      type: 'confirm',\n      class: 'warning',\n      title: 'Elimina',\n      body: 'Eliminare definitivamente l\\'elemento?'\n    }, true).whenClosed(function (response) {\n      if (!response.wasCancelled) {\n        _this5._request('delete', _this5.endpoint + '/' + _this5.resource.id).then(function () {\n          if (_this5.parentContext.params.dialog) _this5.parentContext.params.dialog.close(true);else _this5.router.navigate(_this5.router.currentInstruction.config.href);\n        });\n      }\n    });\n  };\n\n  KaResource.prototype.edit = function edit() {\n    if (this.endpoint) {\n      this._setReadonly(false);\n    }\n  };\n\n  KaResource.prototype.save = function save() {\n    var _this6 = this;\n\n    this.errors = this._validateControls().then(function (success) {\n      _this6.events.dispatchEvent(_this6.events.dataValidated);\n      if (_this6.endpoint) {\n        var _ret = function () {\n          var promises = [];\n          var data = _this6.save_before(_this6.data);\n          if (data === false) return {\n              v: _this6.data = data\n            };\n          _this6.data = data;\n          data = {};\n\n          var _loop2 = function _loop2() {\n            if (_isArray4) {\n              if (_i4 >= _iterator4.length) return 'break';\n              _ref4 = _iterator4[_i4++];\n            } else {\n              _i4 = _iterator4.next();\n              if (_i4.done) return 'break';\n              _ref4 = _i4.value;\n            }\n\n            var _ref8 = _ref4,\n                field = _ref8[0],\n                item = _ref8[1];\n\n            promises.push(new Promise(function (resolve, reject) {\n              if (_this6.resource.id && _this6.resource.id !== 'new' && _this6.originalData[field] === item) resolve(true);else if (_this6.controls[field] && (_this6.controls[field].control === 'file' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'file') && item && item.length && item[0] && item[0].name) {\n                  var filedata = {};\n                  filedata.filename = item[0].name;\n                  var reader = new FileReader();\n                  reader.readAsDataURL(item[0]);\n                  reader.onload = function (x) {\n                    filedata.stream = reader.result.indexOf('base64,') ? reader.result.slice(reader.result.indexOf('base64,') + 7) : reader.result;\n                    data[field] = filedata;\n                    resolve(true);\n                  };\n                } else if (_this6.controls[field] && (_this6.controls[field].datatype === 'json' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'json') && item && typeof item === 'string') {\n                  data[field] = JSON.parse(item);\n                  resolve(true);\n                } else if (_this6.controls[field] && (_this6.controls[field].control === 'editor' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'editor') && item === '') {\n                    data[field] = null;\n                    resolve(true);\n                  } else if (_this6.controls[field] && (_this6.controls[field].control === 'date' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'date')) {\n                      data[field] = _moment2.default.utc(item).isValid() ? _moment2.default.utc(item).local().format('YYYY-MM-DD') : item;\n                      resolve(true);\n                    } else if (_this6.controls[field] && (_this6.controls[field].control === 'number' || _this6.controls[field].schema && _this6.controls[field].schema.control === 'number') && item && typeof item === 'string') {\n                        data[field] = parseFloat(item) || item;\n                        resolve(true);\n                      } else {\n                        if (typeof item === 'undefined') console.error('Input ' + field + ' has undefined value. Skipping...');else data[field] = JSON.parse(JSON.stringify(item));\n                        resolve(true);\n                      }\n            }));\n          };\n\n          for (var _iterator4 = Object.entries(_this6.data), _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n            var _ref4;\n\n            var _ret3 = _loop2();\n\n            if (_ret3 === 'break') break;\n          }\n          Promise.all(promises).then(function () {\n            var method = 'post';\n            var endpoint = _this6.endpoint;\n            if (_this6.resource.id && _this6.resource.id !== 'new') {\n              delete data.id;\n              method = 'patch';\n              endpoint = endpoint + '/' + _this6.resource.id;\n            }\n\n            var user = _this6.parentContext.api && _this6.parentContext.api.user ? _this6.parentContext.api.user : null;\n            if (user && user.groups && user.groups.length) {\n              var _loop = function _loop() {\n                if (_isArray5) {\n                  if (_i5 >= _iterator5.length) return 'break';\n                  _ref5 = _iterator5[_i5++];\n                } else {\n                  _i5 = _iterator5.next();\n                  if (_i5.done) return 'break';\n                  _ref5 = _i5.value;\n                }\n\n                var _ref6 = _ref5,\n                    key = _ref6[0],\n                    value = _ref6[1];\n\n                if (!_this6.schema[key] || !_this6.schema[key][method]) delete data[key];\n                var permissions = _this6.schema[key][method];\n                var granted = Object.keys(permissions).filter(function (k) {\n                  return (k === '0' || user.groups.includes(k)) && permissions[k] === '1';\n                });\n                if (!granted || !granted.length) delete data[key];\n              };\n\n              for (var _iterator5 = Object.entries(data), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n                var _ref5;\n\n                var _ret2 = _loop();\n\n                if (_ret2 === 'break') break;\n              }\n            }\n            if (method === 'patch') {\n              data = JSON.parse(JSON.stringify(data));\n              if (!data || !Object.keys(data).length) {\n                _this6._setReadonly(true);\n                _this6.events.dispatchEvent(_this6.events.dataSaved);\n                return;\n              }\n            }\n            _this6._request(method, endpoint, data).then(function (response) {\n              _this6._setReadonly(true);\n              data = Object.assign(_this6.originalData, data);\n              data.id = response.id || _this6.resource.id;\n              _this6.data = _this6.save_after(data);\n              _this6.events.dispatchEvent(_this6.events.dataSaved);\n              _this6.originalData = JSON.parse(JSON.stringify(data));\n              if (_this6.data === false) return _this6.data = data;\n\n              var route = _this6.router.currentInstruction.config;\n              if (_this6.resource.id === 'new') {\n                _this6.toast.show('Record creato!', 'success');\n                if (_this6.parentContext.params.dialog || _this6.saveAndReload) {\n                  _this6.reload(response);\n                } else {\n                  _this6.router.navigateToRoute(route.name, { id: response.id || _this6.resource.id, listRefQuery: _this6.listRefQuery ? btoa(_this6.listRefQuery) : null }, { trigger: true, replace: true });\n                }\n              } else {\n                _this6.toast.show('Record aggiornato!', 'success');\n                if (_this6.parentContext.params.dialog || _this6.saveAndReload) {\n                  _this6.resource.id = response.id || _this6.resource.id;\n                  _this6.modeChanged(_this6.mode);\n                } else {\n                  _this6.router.navigateToRoute(route.name, { id: response.id || _this6.resource.id, listRefQuery: _this6.listRefQuery ? btoa(_this6.listRefQuery) : null }, { trigger: true, replace: true });\n                }\n              }\n            }, function (error) {\n              console.warn('error', error);\n              error = JSON.parse(error.response);\n              _this6.events.dispatchEvent(_this6.events.dataSaveError);\n              if (error.errors) {\n                for (var _iterator6 = error.errors, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {\n                  var _ref7;\n\n                  if (_isArray6) {\n                    if (_i6 >= _iterator6.length) break;\n                    _ref7 = _iterator6[_i6++];\n                  } else {\n                    _i6 = _iterator6.next();\n                    if (_i6.done) break;\n                    _ref7 = _i6.value;\n                  }\n\n                  var err = _ref7;\n\n                  if (err.arg && Array.isArray(err.arg) && err.arg[0]) _this6.toast.show('<strong>' + _this6.schema[err.arg[0]].label + '</strong>: ' + err.msg, 'error');else if (err.arg && _typeof(err.arg) === 'object') _this6.toast.show('<strong>' + _this6.schema[Object.keys(err.arg)[0]].label + '</strong>: ' + err.msg, 'error');else if (err.message) {\n                      var message = (err.data && _this6.schema[err.data] ? '<strong>' + _this6.schema[err.data].label + '</strong>: ' : '') + err.message;\n                      _this6.toast.show(message, 'error');\n                    }\n                }\n              }\n            });\n          });\n        }();\n\n        if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n      }\n    }, function (response) {\n      _this6.events.dispatchEvent(_this6.events.dataValidateError);\n      if (response.length) {\n        for (var _iterator7 = response, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {\n          var _ref9;\n\n          if (_isArray7) {\n            if (_i7 >= _iterator7.length) break;\n            _ref9 = _iterator7[_i7++];\n          } else {\n            _i7 = _iterator7.next();\n            if (_i7.done) break;\n            _ref9 = _i7.value;\n          }\n\n          var errors = _ref9;\n\n          for (var _iterator8 = errors, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {\n            var _ref10;\n\n            if (_isArray8) {\n              if (_i8 >= _iterator8.length) break;\n              _ref10 = _iterator8[_i8++];\n            } else {\n              _i8 = _iterator8.next();\n              if (_i8.done) break;\n              _ref10 = _i8.value;\n            }\n\n            var error = _ref10;\n\n            if (!error.valid) _this6.toast.show('<strong>' + error.object.label + '</strong>: ' + error.message, 'error');\n          }\n        }\n      }\n    });\n  };\n\n  KaResource.prototype.close = function close() {\n    var route = this.router.currentInstruction.config;\n    if (this.readonly || this.resource.id === 'new') {\n      if (this.parentContext.params.dialog) {\n        var ok = this.resource.id !== 'new';\n        this.parentContext.params.dialog.close(ok, ok && this.originalData ? this.originalData : null);\n        return;\n      }\n      this.router.navigate(route.href);\n      return;\n    }\n    this.data = JSON.parse(JSON.stringify(this.originalData));\n    this._setReadonly(true);\n  };\n\n  KaResource.prototype._validateControls = function _validateControls() {\n    for (var index in this.tabs) {\n      this.tabs[index].errors = [];\n    }var promises = [];\n\n    var _loop3 = function _loop3() {\n      if (_isArray9) {\n        if (_i9 >= _iterator9.length) return 'break';\n        _ref11 = _iterator9[_i9++];\n      } else {\n        _i9 = _iterator9.next();\n        if (_i9.done) return 'break';\n        _ref11 = _i9.value;\n      }\n\n      var _ref12 = _ref11,\n          field = _ref12[0],\n          item = _ref12[1];\n\n      var promise = item.validate().then(function (result) {\n        if (!result.valid) {\n          var errors = [];\n          for (var _iterator10 = item.validator.errors, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {\n            var _ref13;\n\n            if (_isArray10) {\n              if (_i10 >= _iterator10.length) break;\n              _ref13 = _iterator10[_i10++];\n            } else {\n              _i10 = _iterator10.next();\n              if (_i10.done) break;\n              _ref13 = _i10.value;\n            }\n\n            var error = _ref13;\n\n            error.tab = item.parentTab;\n\n            errors.push(error);\n          }\n          return Promise.reject(errors);\n        }\n        return Promise.resolve(result);\n      });\n      if (item.validator) promises.push(promise);\n    };\n\n    for (var _iterator9 = Object.entries(this.controls), _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {\n      var _ref11;\n\n      var _ret4 = _loop3();\n\n      if (_ret4 === 'break') break;\n    }\n    return this.promiseAll(promises);\n  };\n\n  KaResource.prototype._resetButtons = function _resetButtons() {\n    var _this7 = this;\n\n    var buttons = [];\n    if ((this.disabled || this.readonly) && this.listRefQuery) {\n      buttons.push({ action: function action() {\n          return _this7.buttonsActions.prev();\n        }, label: 'Record precedente', icon: 'keyboard_arrow_left' });\n      buttons.push({ action: function action() {\n          return _this7.buttonsActions.next();\n        }, label: 'Record seguente', icon: 'keyboard_arrow_right' });\n    }\n    if (this.client && !this.disabled) {\n      if ((!this.resource.id || this.resource.id !== 'new') && this.readonly) {\n        buttons.push({ action: function action() {\n            return _this7.buttonsActions.delete();\n          }, label: 'Elimina', icon: '&#xE92B;' });\n      }\n      if (this.readonly) {\n        buttons.push({ action: function action() {\n            return _this7.buttonsActions.edit();\n          }, label: 'Modifica', icon: '&#xE3C9;' });\n      } else {\n        buttons.push({ action: function action() {\n            return _this7.buttonsActions.save();\n          }, label: 'Salva', icon: '&#xE5CA;' });\n      }\n    }\n    buttons.push({ action: function action() {\n        return _this7.buttonsActions.close();\n      }, label: 'Chiudi', icon: '&#xE14C;' });\n    this.buttons = buttons;\n  };\n\n  KaResource.prototype._setReadonly = function _setReadonly(value) {\n    this.readonly = value;\n    this._resetButtons();\n  };\n\n  KaResource.prototype._request = function _request(method, url) {\n    var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n    if (!this.client) return Promise.reject('Missing HTTP client.');\n    method = method.toLowerCase();\n    if (!this.client[method]) return Promise.reject('Unknown HTTP method.');\n    return this.client[method](url, data).then(function (x) {\n      return Promise.resolve(x.response);\n    }).catch(function (x) {\n      return Promise.reject(x);\n    });\n  };\n\n  KaResource.prototype.promiseAll = function promiseAll(promises) {\n    var count = 0;\n    var errors = [];\n    var results = [];\n    var promise = new Promise(function (resolve, reject) {\n      for (var _iterator11 = promises, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {\n        var _ref14;\n\n        if (_isArray11) {\n          if (_i11 >= _iterator11.length) break;\n          _ref14 = _iterator11[_i11++];\n        } else {\n          _i11 = _iterator11.next();\n          if (_i11.done) break;\n          _ref14 = _i11.value;\n        }\n\n        var p = _ref14;\n\n        p.then(function (success) {\n          count++;\n          results.push(success);\n          if (count === promises.length) {\n            if (errors.length) reject(errors);else resolve(results);\n          }\n          return success;\n        }, function (error) {\n          count++;\n          errors.push(error);\n          if (count === promises.length) {\n            if (errors.length) reject(errors);else resolve(results);\n          }\n          return error;\n        });\n      }\n    });\n    return promise;\n  };\n\n  return KaResource;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'resource', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'data', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'injectData', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'injectSchema', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'endpoint', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'disabled', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return false;\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'controls', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'listRefQuery', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'mode', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return 'normal';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaTable = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nvar _kaDialog = require('../ka-dialog/ka-dialog');\n\nvar _kaToast = require('../ka-toast/ka-toast');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaTable = exports.KaTable = (_dec = (0, _aureliaFramework.customElement)('ka-table'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router, _kaDialog.KaDialog, _kaToast.KaToast), _dec3 = (0, _aureliaFramework.bindable)(), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec8 = (0, _aureliaFramework.bindable)(), _dec9 = (0, _aureliaFramework.bindable)(), _dec10 = (0, _aureliaFramework.bindable)(), _dec11 = (0, _aureliaFramework.bindable)(), _dec12 = (0, _aureliaFramework.bindable)(), _dec13 = (0, _aureliaFramework.bindable)(), _dec14 = (0, _aureliaFramework.bindable)(), _dec15 = (0, _aureliaFramework.bindable)(), _dec16 = (0, _aureliaFramework.bindable)(), _dec17 = (0, _aureliaFramework.bindable)(), _dec18 = (0, _aureliaFramework.bindable)(), _dec19 = (0, _aureliaFramework.bindable)(), _dec20 = (0, _aureliaFramework.bindable)(), _dec21 = (0, _aureliaFramework.bindable)(), _dec22 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaTable(element, router, dialog, toast) {\n    _classCallCheck(this, KaTable);\n\n    _initDefineProp(this, 'records', _descriptor, this);\n\n    _initDefineProp(this, 'schema', _descriptor2, this);\n\n    _initDefineProp(this, 'export_schema', _descriptor3, this);\n\n    _initDefineProp(this, 'columns_schema', _descriptor4, this);\n\n    _initDefineProp(this, 'filters', _descriptor5, this);\n\n    _initDefineProp(this, 'endpoint', _descriptor6, this);\n\n    _initDefineProp(this, 'limit', _descriptor7, this);\n\n    _initDefineProp(this, 'depth', _descriptor8, this);\n\n    _initDefineProp(this, 'client', _descriptor9, this);\n\n    _initDefineProp(this, 'columns', _descriptor10, this);\n\n    _initDefineProp(this, 'filtrables', _descriptor11, this);\n\n    _initDefineProp(this, 'sortables', _descriptor12, this);\n\n    _initDefineProp(this, 'editables', _descriptor13, this);\n\n    _initDefineProp(this, 'exportables', _descriptor14, this);\n\n    _initDefineProp(this, 'prefilter', _descriptor15, this);\n\n    _initDefineProp(this, 'sort', _descriptor16, this);\n\n    _initDefineProp(this, 'routes', _descriptor17, this);\n\n    _initDefineProp(this, 'actions', _descriptor18, this);\n\n    _initDefineProp(this, 'params', _descriptor19, this);\n\n    _initDefineProp(this, 'query', _descriptor20, this);\n\n    this.schema_loaded = function () {};\n\n    this.filters_loaded = function () {};\n\n    this.parse_query = function (query) {\n      return query;\n    };\n\n    this.records_loaded = function () {};\n\n    this.id = null;\n    this.settings = {\n      filters: null,\n      exports: null,\n      sort: {},\n      sort_stack: [],\n      sort_columns: {},\n      offset: 0,\n      limit: '10'\n    };\n    this.config_operators = {\n      text: {\n        field: 'operator',\n        control: 'combo',\n        datapreload: true,\n        datasource: [{ value: '=', text: 'Uguale a' }, { value: '!=', text: 'Diverso da' }, { value: '^=', text: 'Inizia con' }, { value: '~', text: 'Contiene' }, { value: '!~', text: 'Non contiene' }]\n      },\n      json: {\n        field: 'operator',\n        control: 'combo',\n        datapreload: true,\n        datasource: [{ value: '~', text: 'Contiene' }]\n      },\n      number: {\n        field: 'operator',\n        control: 'combo',\n        datapreload: true,\n        datasource: [{ value: '=', text: 'Uguale a' }, { value: '!=', text: 'Diverso da' }, { value: '>=', text: 'Maggiore uguale a' }, { value: '<=', text: 'Minore uguale a' }]\n      }\n    };\n    this.config_metas = [{ field: 'id', label: 'Id', control: 'number' }, { field: 'date_created', label: 'Data creazione', control: 'date' }, { field: 'user_created', label: 'Creato da', control: 'number' }, { field: 'date_modified', label: 'Data ultima modifica', control: 'date' }, { field: 'user_modified', label: 'Modificato da', control: 'number' }];\n    this.config_options = {\n      limit: { field: 'option-limit', label: 'Record per pagina', control: 'combo', datapreload: true, datasource: [{ value: '10', text: '10' }, { value: '25', text: '25' }, { value: '50', text: '50' }, { value: '100', text: '100' }, { value: '200', text: '200' }] },\n      pages: { field: 'option-pages', label: 'Salta alla pagina', control: 'combo', datapreload: true, datasource: [] }\n    };\n    this.position = null;\n    this.hasFilters = false;\n    this.isLoading = true;\n    this.schemaLoaded = false;\n    this.error = null;\n\n    this.element = element;\n    this.router = router;\n    this.dialog = dialog;\n    this.toast = toast;\n  }\n\n  KaTable.prototype.bind = function bind(bindingContext, overrideContext) {\n    this.parent = bindingContext;\n  };\n\n  KaTable.prototype.detached = function detached() {\n    this.hide_options();\n    this.hide_filters();\n    window.removeEventListener('resize', window['ka-table-resize-handler-' + this.id]);\n    delete window['ka-table-resize-handler-' + this.id];\n  };\n\n  KaTable.prototype.attached = function attached() {\n    if (!this.endpoint && this.parent.endpoint) this.endpoint = this.parent.endpoint;\n    if (!this.client && this.parent.api && this.parent.api.client) this.client = this.parent.api.client;\n    if (this.columns && typeof this.columns == 'string') this.columns = this.columns.split(',');\n    if (this.filtrables && typeof this.filtrables == 'string') this.filtrables = this.filtrables.split(',');\n    if (this.sortables && typeof this.sortables === 'string') this.sortables = this.sortables.split(',');\n    if (this.exportables && typeof this.exportables == 'string') this.exportables = this.exportables.split(',');\n    if (this.actions && typeof this.actions == 'string') this.actions = this.actions === \"\" ? [] : this.actions.split(',');\n    if (this.limit) this.settings.limit = String(this.limit);\n\n    var userId = this.parent.api && this.parent.api.user && this.parent.api.user.id ? this.parent.api.user.id : null;\n    var appVer = this.parent.api && this.parent.api.environment && this.parent.api.environment.version ? this.parent.api.environment.version : null;\n    appVer = !appVer && this.parent.environment && this.parent.environment.version ? this.parent.environment.version : appVer;\n\n    this.id = btoa('§' + userId + '-' + appVer + '§' + this.prefilter + '§' + this.endpoint + '§' + location.pathname + '§' + (this.columns ? this.columns.join('') : '')).replace(/[\\W_]+/g, '').slice(0, 120);\n    this.element.setAttribute('id', this.id);\n\n    if (localStorage.getItem(this.id)) {\n      this.settings = JSON.parse(localStorage.getItem(this.id));\n    } else if (sessionStorage.getItem(this.id)) {\n      this.settings = JSON.parse(sessionStorage.getItem(this.id));\n    }\n    this.init();\n\n    this.element.querySelector('.ka-wrapper').addEventListener('scroll', function (event) {\n      event.target.querySelectorAll('.floater').forEach(function (floater) {\n        floater.style.transform = 'translateX(' + event.target.scrollLeft + 'px)';\n      });\n    });\n\n    eval('window[\\'ka-table-resize-handler-' + this.id + '\\'] = function() {\\n      var element = document.querySelector(\\'#' + this.id + '\\');\\n      if (!element) return;\\n      if (element.classList.contains(\\'full-height\\')) {\\n        element.style.height = parseInt(window.innerHeight - element.getBoundingClientRect().top) + \\'px\\';\\n      }\\n      var table = element.querySelector(\\'table\\');\\n      table.querySelectorAll(\\'tbody td.ka-tr-tools:last-child\\').forEach(function (element) {\\n        var floater = element.querySelector(\\'.floater\\');\\n        if (!floater) return;\\n        var h = element.getBoundingClientRect().height;\\n        var w = floater.getBoundingClientRect().width;\\n        if (floater && h && w) {\\n          floater.classList.add(\\'float\\');\\n          floater.style.height = h + \\'px\\';\\n          element.style.minWidth = w + \\'px\\';\\n        }\\n      });\\n    }');\n    window.addEventListener('resize', window['ka-table-resize-handler-' + this.id]);\n  };\n\n  KaTable.prototype.init = function init() {\n    var _this = this;\n\n    if (!this.client || !this.endpoint) return console.warn('[mk-table] missing client or endpoint configuration');\n    this.isLoading = true;\n    this.error = null;\n    this.hide_options();\n\n    this.client.get('datasets/' + this.endpoint).then(function (x) {\n      _this.dataset = _this.parse_response(x);\n      var dataset = _this.parse_response(x);\n      var promises = [];\n\n      if (!_this.schema) {\n        if (_this.columns) {\n          var fields = (_this.columns || []).concat((_this.filtrables || []).filter(function (item) {\n            return _this.columns.indexOf(item) < 0;\n          }));\n          _this.schema = [];\n          _this.columns_schema = [];\n\n          var _loop = function _loop() {\n            if (_isArray) {\n              if (_i >= _iterator.length) return 'break';\n              _ref = _iterator[_i++];\n            } else {\n              _i = _iterator.next();\n              if (_i.done) return 'break';\n              _ref = _i.value;\n            }\n\n            var field = _ref;\n\n            if (field.indexOf('.') > 0) {\n              var parts = field.split('.');\n              var fieldDataset = dataset.find(function (o) {\n                return o.field === parts[0];\n              });\n              var datasource = fieldDataset.datasource ? JSON.parse(fieldDataset.datasource) : null;\n              if (datasource && datasource.table) {\n                var fieldSchema = { field: parts[0] + '.' + parts[1] };\n                _this.schema.push(fieldSchema);\n                if (_this.columns.includes(fieldSchema.field)) _this.columns_schema.push(fieldSchema);\n                promises.push(_this.client.get('datasets/' + datasource.table).then(function (x) {\n                  var schema = _this.parse_response(x).find(function (o) {\n                    return o.field === parts[1];\n                  }) || {};\n                  schema.field = fieldSchema.field;\n                  _this.schema[_this.schema.findIndex(function (o) {\n                    return o.field === fieldSchema.field;\n                  })] = schema;\n                  if (_this.columns.includes(fieldSchema.field)) _this.columns_schema[_this.columns_schema.findIndex(function (o) {\n                    return o.field === fieldSchema.field;\n                  })] = schema;\n                  _this.dataset.push(schema);\n                }));\n              }\n            } else {\n              var _fieldSchema = dataset.find(function (o) {\n                return o.field === field;\n              }) || Object.assign({}, _this.config_metas.find(function (o) {\n                return o.field === field;\n              }));\n              _this.schema.push(_fieldSchema);\n              if (_this.columns.includes(field)) _this.columns_schema.push(_fieldSchema);\n            }\n          };\n\n          for (var _iterator = fields, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n            var _ref;\n\n            var _ret = _loop();\n\n            if (_ret === 'break') break;\n          }\n        } else {\n          _this.columns_schema = _this.schema = dataset;\n        }\n      }\n      Promise.all(promises).finally(function () {\n        _this.schemaLoaded = true;\n        _this.schema_loaded();\n\n        for (var _iterator2 = _this.schema, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n          var _ref2;\n\n          if (_isArray2) {\n            if (_i2 >= _iterator2.length) break;\n            _ref2 = _iterator2[_i2++];\n          } else {\n            _i2 = _iterator2.next();\n            if (_i2.done) break;\n            _ref2 = _i2.value;\n          }\n\n          var column = _ref2;\n\n          var _field2 = column.field;\n          if (_field2) {\n            var fieldKebab = _field2.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\\s+/g, '-').toLowerCase();\n            if (_this.sortables && _this.sortables.includes(_field2)) {\n              _this.settings.sort_columns[_field2] = _field2;\n            } else if (_this.sortables && _this.sortables.includes(fieldKebab)) {\n              _this.settings.sort_columns[_field2] = fieldKebab;\n            } else if (!_this.sortables) {\n              _this.settings.sort_columns[_field2] = _field2;\n            }\n          }\n        }\n\n        if (_this.exportables && !_this.export_schema) {\n          _this.export_schema = [];\n\n          var _loop2 = function _loop2() {\n            if (_isArray3) {\n              if (_i3 >= _iterator3.length) return 'break';\n              _ref3 = _iterator3[_i3++];\n            } else {\n              _i3 = _iterator3.next();\n              if (_i3.done) return 'break';\n              _ref3 = _i3.value;\n            }\n\n            var field = _ref3;\n\n            var export_field = Object.assign({}, dataset.find(function (o) {\n              return o.field === field;\n            }) || Object.assign({}, _this.config_metas.find(function (o) {\n              return o.field === field;\n            })));\n            _this.export_schema.push(export_field);\n          };\n\n          for (var _iterator3 = _this.exportables, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n            var _ref3;\n\n            var _ret2 = _loop2();\n\n            if (_ret2 === 'break') break;\n          }\n        } else if (!_this.export_schema) {\n          _this.export_schema = [];\n          for (var _iterator4 = dataset, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n            var _ref4;\n\n            if (_isArray4) {\n              if (_i4 >= _iterator4.length) break;\n              _ref4 = _iterator4[_i4++];\n            } else {\n              _i4 = _iterator4.next();\n              if (_i4.done) break;\n              _ref4 = _i4.value;\n            }\n\n            var _field = _ref4;\n\n            var export_field = Object.assign({}, _field);\n            _this.export_schema.push(export_field);\n          }\n        }\n\n        if (_this.filtrables && !_this.filters) {\n          _this.filters = [];\n\n          var _loop3 = function _loop3() {\n            if (_isArray5) {\n              if (_i5 >= _iterator5.length) return 'break';\n              _ref5 = _iterator5[_i5++];\n            } else {\n              _i5 = _iterator5.next();\n              if (_i5.done) return 'break';\n              _ref5 = _i5.value;\n            }\n\n            var field = _ref5;\n\n            var filter = Object.assign({}, dataset.find(function (o) {\n              return o.field === field;\n            }) || Object.assign({}, _this.config_metas.find(function (o) {\n              return o.field === field;\n            })));\n            if (filter.control === 'combo') filter.datamultiple = true;\n            if (filter.datatype === 'json') filter.control = 'text';\n            if (filter.control === 'textarea' || filter.control === 'editor') filter.control = 'text';\n            _this.filters.push(filter);\n          };\n\n          for (var _iterator5 = _this.filtrables, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n            var _ref5;\n\n            var _ret3 = _loop3();\n\n            if (_ret3 === 'break') break;\n          }\n        } else if (!_this.filters) {\n          _this.filters = [];\n          for (var _iterator6 = dataset, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {\n            var _ref6;\n\n            if (_isArray6) {\n              if (_i6 >= _iterator6.length) break;\n              _ref6 = _iterator6[_i6++];\n            } else {\n              _i6 = _iterator6.next();\n              if (_i6.done) break;\n              _ref6 = _i6.value;\n            }\n\n            var filter = _ref6;\n\n            filter = Object.assign({}, filter);\n            if (filter.control === 'combo') filter.datamultiple = true;\n            if (filter.datatype === 'json') filter.control = 'text';\n            if (filter.control === 'textarea' || filter.control === 'editor') filter.control = 'text';\n            _this.filters.push(filter);\n          }\n        }\n        _this.filters_loaded();\n\n        _this.load();\n      });\n    }).catch(function (error) {\n      console.error(error);\n      _this.isLoading = false;\n      _this.records = null;\n      _this.error = 'Errore nel caricamento dei dati';\n    });\n  };\n\n  KaTable.prototype.load = function load() {\n    var _this2 = this;\n\n    this.isLoading = true;\n    this.error = null;\n    this.hide_options();\n\n    if (!this.settings.exports) this.settings.exports = {};\n\n    if (!this.settings.filters) this.settings.filters = {};\n    for (var _iterator7 = this.filters, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {\n      var _ref7;\n\n      if (_isArray7) {\n        if (_i7 >= _iterator7.length) break;\n        _ref7 = _iterator7[_i7++];\n      } else {\n        _i7 = _iterator7.next();\n        if (_i7.done) break;\n        _ref7 = _i7.value;\n      }\n\n      var _field4 = _ref7;\n\n      if (!this.settings.filters[_field4.field]) {\n        var default_operator = null;\n        if (_field4.datamultiple) default_operator = '~~';else if (_field4.control === 'number') default_operator = '=';else if (_field4.control === 'age') default_operator = '=';\n        this.settings.filters[_field4.field] = { operator: default_operator, value: null, value_from: null, value_to: null, control: _field4.control };\n      }\n      if (_field4.control === 'age') {\n        _field4.control = 'number';\n        _field4.datatype = 'tinyint(3)';\n      }\n    }\n\n    var query = this.query + (this.query.indexOf('?') >= 0 ? '&' : '?') + 'meta=1';\n    if (this.depth) query += '&depth=' + this.depth;\n    if (this.prefilter) query += '&filters=' + encodeURIComponent(this.prefilter);\n    var filters = [];\n\n    var _loop4 = function _loop4() {\n      if (_isArray8) {\n        if (_i8 >= _iterator8.length) return 'break';\n        _ref8 = _iterator8[_i8++];\n      } else {\n        _i8 = _iterator8.next();\n        if (_i8.done) return 'break';\n        _ref8 = _i8.value;\n      }\n\n      var field = _ref8;\n\n      var value = _this2.settings.filters[field].value || null;\n      if (value && _this2.settings.filters[field].control === 'age') {\n        value = parseInt(value, 10);\n        var operator = _this2.settings.filters[field].operator || null;\n        if (operator === '<=') filters.push(encodeURIComponent(field + '>=' + (0, _moment2.default)().subtract(parseInt(value, 10) + 1, 'years').format('YYYY-MM-DD')));else if (operator === '>=') filters.push(encodeURIComponent(field + '<' + (0, _moment2.default)().subtract(value, 'years').format('YYYY-MM-DD')));else filters.push(encodeURIComponent(field + '<' + (0, _moment2.default)().subtract(value, 'years').format('YYYY-MM-DD') + '&' + field + '>=' + (0, _moment2.default)().subtract(value + 1, 'years').format('YYYY-MM-DD')));\n      } else if (value && _this2.settings.filters[field].control === 'combo') {\n        var _operator = _this2.settings.filters[field].operator || '=';\n        var filter = _this2.filters.find(function (x) {\n          return x.field === field;\n        });\n        if (filter && Array.isArray(filter.datasource)) {\n          var item = filter.datasource.find(function (x) {\n            return x.value === value;\n          });\n          if (item && item.filter_operator) _operator = item.filter_operator;\n          if (item && item.filter_value) value = item.filter_value;\n        }\n        filters.push(encodeURIComponent(field + _operator + value));\n      } else if (value) filters.push(encodeURIComponent(field + (_this2.settings.filters[field].operator ? _this2.settings.filters[field].operator : '=') + value));\n      if (_this2.settings.filters[field].value_from) filters.push(encodeURIComponent(field + '>=' + (0, _moment2.default)(_this2.settings.filters[field].value_from, 'YYYY-MM-DD').format('YYYY-MM-DD 00:00:00')));\n      if (_this2.settings.filters[field].value_to) filters.push(encodeURIComponent(field + '<=' + (0, _moment2.default)(_this2.settings.filters[field].value_to, 'YYYY-MM-DD').format('YYYY-MM-DD 23:59:59')));\n    };\n\n    for (var _iterator8 = Object.keys(this.settings.filters), _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {\n      var _ref8;\n\n      var _ret4 = _loop4();\n\n      if (_ret4 === 'break') break;\n    }\n    if (filters.length) {\n      this.hasFilters = true;\n      query += (this.prefilter ? '%26' : '&filters=') + filters.join('%26');\n    } else this.hasFilters = false;\n\n    var count_query = this.endpoint + query + '&fields=id&depth=0&meta=0';\n\n    if (this.settings.sort_stack.length) {\n      var sorts = [];\n      for (var _iterator9 = this.settings.sort_stack, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {\n        var _ref9;\n\n        if (_isArray9) {\n          if (_i9 >= _iterator9.length) break;\n          _ref9 = _iterator9[_i9++];\n        } else {\n          _i9 = _iterator9.next();\n          if (_i9.done) break;\n          _ref9 = _i9.value;\n        }\n\n        var _field3 = _ref9;\n\n        if (this.settings.sort[_field3] && this.settings.sort[_field3].order) sorts.push(encodeURIComponent((this.settings.sort[_field3].order == 'asc' ? '+' : '-') + _field3));\n      }query += '&sort=' + sorts.join(',');\n    } else if (this.sort) {\n      query += '&sort=' + encodeURIComponent(this.sort);\n    }\n\n    this.reference_query = this.endpoint + query;\n\n    if (this.settings.limit) {\n      query += '&limit=' + this.settings.limit;\n    }\n    if (this.settings.offset) {\n      query += '&offset=' + this.settings.offset;\n    }\n\n    this.export_query = this.endpoint + query;\n\n    query = this.parse_query(query);\n\n    this.client.get(this.endpoint + query).then(function (x) {\n      _this2.records = _this2.parse_response(x);\n      _this2.isLoading = false;\n      _this2.records_loaded();\n      if (window['ka-table-resize-handler-' + _this2.id]) setTimeout(function () {\n        window['ka-table-resize-handler-' + _this2.id]();\n      }, 0);\n      new Promise(function (resolve) {\n        if (x.headers && x.headers.headers && x.headers.headers['x-total-count']) return resolve(x.headers.headers['x-total-count'].value);\n        _this2.client.get(count_query).then(function (x2) {\n          resolve(_this2.parse_response(x2).length);\n        });\n      }).then(function (total) {\n        _this2.total = total;\n        _this2.position = (_this2.records.length > 0 ? parseInt(_this2.settings.offset) + 1 : 0) + '-' + (parseInt(_this2.settings.offset) + parseInt(_this2.settings.limit) > _this2.total ? _this2.total : _this2.records.length == parseInt(_this2.settings.limit) ? parseInt(_this2.settings.offset) + parseInt(_this2.settings.limit) : parseInt(_this2.settings.offset) + _this2.records.length);\n        for (var i = 1; i <= Math.ceil(_this2.total / parseInt(_this2.settings.limit)); i++) {\n          if (i <= 1) _this2.config_options.pages.datasource = [{ text: String(i), value: String(i) }];else _this2.config_options.pages.datasource.push({ text: String(i), value: String(i) });\n        }\n      });\n    }).catch(function (error) {\n      console.error(error);\n      _this2.isLoading = false;\n      _this2.records = null;\n      _this2.error = 'Errore nel caricamento dei dati';\n    });\n\n    localStorage.setItem(this.id, JSON.stringify(this.settings));\n  };\n\n  KaTable.prototype.format = function format(record, field) {\n    var value = null;\n    var column = this.dataset.find(function (x) {\n      return x.field === field;\n    });\n\n    if (!column && !['date_created', 'date_modified'].includes(field)) return record[field];\n\n    if (field.indexOf('.') > 0) {\n      var parts = field.split('.');\n      value = record[parts[0]] && record[parts[0]][parts[1]] ? record[parts[0]][parts[1]] : null;\n    } else {\n      value = record[field];\n    }\n\n    if (!value) return null;\n\n    if (field === 'date_created' || field === 'date_modified') {\n      return _moment2.default.utc(value, 'YYYY-MM-DD').local().format('DD/MM/YYYY');\n    } else if (column.control === 'list' && column.datasource) {\n      if (typeof column.datasource === 'string' && (column.datasource.indexOf('{') === 0 || column.datasource.indexOf('[') === 0)) {\n        column.datasource = JSON.parse(column.datasource);\n      }\n      var view = column.datasource.model.view || null;\n      var keys = !view ? null : view.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      var values = JSON.parse(value);\n      var join = column.datasource.model.join || ', ';\n      if (view && keys) {\n        values.forEach(function (v, i) {\n          var nw = view;\n          for (var _iterator10 = keys, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {\n            var _ref10;\n\n            if (_isArray10) {\n              if (_i10 >= _iterator10.length) break;\n              _ref10 = _iterator10[_i10++];\n            } else {\n              _i10 = _iterator10.next();\n              if (_i10.done) break;\n              _ref10 = _i10.value;\n            }\n\n            var key = _ref10;\n            nw = nw.replace(key, v[key.replace(/\\{|\\}/g, '')] || '');\n          }values[i] = nw;\n        });\n      } else {\n        values.forEach(function (v, i) {\n          values[i] = Object.values(v).join(' ');\n        });\n      }\n      return values.join(join);\n    } else if (column.datamultiple && column.datasource) {\n      var _values = [];\n      for (var _iterator11 = value, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {\n        var _ref11;\n\n        if (_isArray11) {\n          if (_i11 >= _iterator11.length) break;\n          _ref11 = _iterator11[_i11++];\n        } else {\n          _i11 = _iterator11.next();\n          if (_i11.done) break;\n          _ref11 = _i11.value;\n        }\n\n        var v = _ref11;\n\n        var _keys = column.datatext.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n        if (_keys) {\n          var datatext = column.datatext;\n          for (var _iterator12 = _keys, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) {\n            var _ref12;\n\n            if (_isArray12) {\n              if (_i12 >= _iterator12.length) break;\n              _ref12 = _iterator12[_i12++];\n            } else {\n              _i12 = _iterator12.next();\n              if (_i12.done) break;\n              _ref12 = _i12.value;\n            }\n\n            var key = _ref12;\n\n            datatext = datatext.replace(key, v[key.replace(/\\{|\\}/g, '')] || '');\n          }\n          _values.push(datatext);\n        } else _values.push(v[column.datatext || 'text']);\n      }\n      return _values.join(', ');\n    } else if (!column.datamultiple && column.datasource && column.control !== 'file') {\n      var _keys2 = column.datatext.match(/\\{[a-zA-Z0-9_\\.]*?\\}/g);\n      if (typeof column.datasource === 'string' && (column.datasource.indexOf('{') === 0 || column.datasource.indexOf('[') === 0)) {\n        column.datasource = JSON.parse(column.datasource);\n      }\n      if (_keys2) {\n        var _datatext = column.datatext;\n        for (var _iterator13 = _keys2, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) {\n          var _ref13;\n\n          if (_isArray13) {\n            if (_i13 >= _iterator13.length) break;\n            _ref13 = _iterator13[_i13++];\n          } else {\n            _i13 = _iterator13.next();\n            if (_i13.done) break;\n            _ref13 = _i13.value;\n          }\n\n          var _key = _ref13;\n\n          _datatext = _datatext.replace(_key, value[_key.replace(/\\{|\\}/g, '')] || '');\n        }\n        return _datatext;\n      } else if (typeof value === 'string' && Array.isArray(column.datasource)) {\n        var _v = column.datasource.filter(function (x) {\n          return String(x[column.datavalue]) === String(value);\n        });\n        if (_v && _v.length) return _v[0][column.datatext];\n        return value;\n      }\n      return value[column.datatext || 'text'];\n    } else if (column.datatype === 'json') {\n      return JSON.stringify(value);\n    } else if (column.control === 'age') {\n      return (0, _moment2.default)().diff((0, _moment2.default)(value, 'YYYY-MM-DD'), 'years');\n    } else if (column.datatype === 'date') {\n      return (column.utc ? _moment2.default.utc(value, 'YYYY-MM-DD').local() : (0, _moment2.default)(value, 'YYYY-MM-DD')).format('DD/MM/YYYY');\n    } else if (column.datatype === 'datetime') {\n      return (column.utc ? _moment2.default.utc(value, 'YYYY-MM-DD HH:mm:ss').local() : (0, _moment2.default)(value, 'YYYY-MM-DD HH:mm:ss')).format('DD/MM/YYYY HH:mm:ss');\n    }\n    return value;\n  };\n\n  KaTable.prototype.set_sort = function set_sort(field) {\n    var sort = this.settings.sort_stack.indexOf(field) > -1 ? this.settings.sort[field] || null : null;\n    if (sort) {\n      sort.order = sort.order === 'asc' ? 'desc' : sort.order === 'desc' ? null : 'asc';\n      if (!sort.order) {\n        this.settings.sort[field] = {};\n        this.settings.sort_stack.splice(this.settings.sort_stack.indexOf(field), 1);\n      }\n    } else {\n      this.settings.sort_stack.push(field);\n      this.settings.sort[field] = { order: 'asc' };\n    }\n    for (var _iterator14 = this.settings.sort_stack, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) {\n      var _ref14;\n\n      if (_isArray14) {\n        if (_i14 >= _iterator14.length) break;\n        _ref14 = _iterator14[_i14++];\n      } else {\n        _i14 = _iterator14.next();\n        if (_i14.done) break;\n        _ref14 = _i14.value;\n      }\n\n      var f = _ref14;\n\n      this.settings.sort[f].class = 'sort-' + this.settings.sort[f].order + ' sort-' + (this.settings.sort_stack.indexOf(f) + 1);\n    }\n    this.load();\n  };\n\n  KaTable.prototype.set_page = function set_page(page) {\n    var pages = Math.ceil(this.total / parseInt(this.settings.limit));\n    if (page == 'first') this.settings.offset = 0;else if (page == 'prev') this.settings.offset = this.settings.offset - parseInt(this.settings.limit) > 0 ? this.settings.offset - parseInt(this.settings.limit) : 0;else if (page == 'next') this.settings.offset = !this.records.length ? this.settings.offset : this.settings.offset + parseInt(this.settings.limit) < this.total ? this.settings.offset + parseInt(this.settings.limit) : parseInt(this.settings.limit) * (pages - 1);else if (page == 'last') this.settings.offset = !this.records.length ? this.settings.offset : parseInt(this.settings.limit) * (pages - 1);else if (typeof page == 'number' || /^[0-9]*?$/g.test(page)) this.settings.offset = parseInt(this.settings.limit) * (parseInt(page) - 1);else return;\n    this.load();\n  };\n\n  KaTable.prototype.set_limit = function set_limit(limit) {\n    this.settings.limit = limit;\n    this.load();\n  };\n\n  KaTable.prototype.show_options = function show_options($event) {\n    var _this3 = this;\n\n    if (this.optionsOpen) return this.hide_options();\n\n    var backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', function (event) {\n      if (event.target == backdrop) _this3.hide_options();\n    });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    var drawer = document.querySelectorAll('#' + this.id + ' .ka-table-options')[0];\n    if ($event && $event.target) {\n      var bounds = $event.target.getBoundingClientRect();\n      drawer.style.top = bounds.top + 'px';\n      drawer.style.left = bounds.left + bounds.width / 2 + 'px';\n    }\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(function () {\n      drawer.classList.add('open');\n      _this3.optionsOpen = true;\n    }, 100);\n  };\n\n  KaTable.prototype.hide_options = function hide_options() {\n    var _this4 = this;\n\n    if (!this.optionsOpen) return;\n\n    var drawer = document.querySelectorAll('#ka-table-backdrop-' + this.id + ' .ka-table-options')[0];\n    drawer.classList.remove('open');\n    setTimeout(function () {\n      drawer.classList.add('hidden');\n      _this4.element.appendChild(drawer);\n\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + _this4.id));\n\n      _this4.optionsOpen = false;\n    }, 500);\n  };\n\n  KaTable.prototype.show_filters = function show_filters() {\n    var _this5 = this;\n\n    if (this.filtersOpen) return this.hide_filters();\n\n    var backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', function (event) {\n      if (event.target == backdrop) _this5.hide_filters();\n    });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    var drawer = document.querySelectorAll('#' + this.id + ' .ka-table-drawer.filters')[0];\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(function () {\n      drawer.classList.add('open');\n      _this5.filtersOpen = true;\n    }, 100);\n  };\n\n  KaTable.prototype.hide_filters = function hide_filters() {\n    var _this6 = this;\n\n    var drawer = document.querySelectorAll('#ka-table-backdrop-' + this.id + ' .ka-table-drawer.filters')[0];\n    if (!drawer) return;\n    drawer.classList.remove('open');\n    setTimeout(function () {\n      drawer.classList.add('hidden');\n      _this6.element.appendChild(drawer);\n\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + _this6.id));\n\n      _this6.filtersOpen = false;\n    }, 500);\n  };\n\n  KaTable.prototype.apply_filters = function apply_filters() {\n    this.hide_filters();\n    this.settings.offset = 0;\n    this.load();\n  };\n\n  KaTable.prototype.reset_filters = function reset_filters() {\n    if (this.filtersOpen) this.hide_filters();\n    this.settings.offset = 0;\n    for (var _iterator15 = this.filters, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) {\n      var _ref15;\n\n      if (_isArray15) {\n        if (_i15 >= _iterator15.length) break;\n        _ref15 = _iterator15[_i15++];\n      } else {\n        _i15 = _iterator15.next();\n        if (_i15.done) break;\n        _ref15 = _i15.value;\n      }\n\n      var _field5 = _ref15;\n\n      if (this.settings.filters[_field5.field]) {\n        var default_operator = null;\n        if (_field5.datamultiple) default_operator = '~~';else if (_field5.control === 'number') default_operator = '=';else if (_field5.control === 'age') default_operator = '=';\n        this.settings.filters[_field5.field] = { operator: default_operator, value: null, value_from: null, value_to: null, control: _field5.control };\n      }\n      if (_field5.control === 'age') {\n        _field5.control = 'number';\n        _field5.datatype = 'tinyint(3)';\n      }\n    }\n    this.load();\n  };\n\n  KaTable.prototype.show_export = function show_export() {\n    var _this7 = this;\n\n    if (this.exportOpen) return this.hide_export();\n\n    var backdrop = document.createElement('div');\n    backdrop.classList.add('ka-table-backdrop');\n    backdrop.setAttribute('id', 'ka-table-backdrop-' + this.id);\n    backdrop.addEventListener('click', function (event) {\n      if (event.target == backdrop) _this7.hide_export();\n    });\n    document.getElementsByTagName('body')[0].insertBefore(backdrop, document.getElementsByTagName('body')[0].children[0]);\n\n    var drawer = document.querySelectorAll('#' + this.id + ' .ka-table-drawer.export')[0];\n    backdrop.appendChild(drawer);\n    drawer.classList.remove('hidden');\n    setTimeout(function () {\n      drawer.classList.add('open');\n      _this7.exportOpen = true;\n    }, 100);\n  };\n\n  KaTable.prototype.hide_export = function hide_export() {\n    var _this8 = this;\n\n    var drawer = document.querySelectorAll('#ka-table-backdrop-' + this.id + ' .ka-table-drawer.export')[0];\n    drawer.classList.remove('open');\n    setTimeout(function () {\n      drawer.classList.add('hidden');\n      _this8.element.appendChild(drawer);\n\n      document.getElementsByTagName('body')[0].removeChild(document.getElementById('ka-table-backdrop-' + _this8.id));\n\n      _this8.exportOpen = false;\n    }, 500);\n  };\n\n  KaTable.prototype.select_export = function select_export() {\n    for (var _iterator16 = this.export_schema, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) {\n      var _ref16;\n\n      if (_isArray16) {\n        if (_i16 >= _iterator16.length) break;\n        _ref16 = _iterator16[_i16++];\n      } else {\n        _i16 = _iterator16.next();\n        if (_i16.done) break;\n        _ref16 = _i16.value;\n      }\n\n      var _field6 = _ref16;\n\n      this.settings.exports[_field6.field] = true;\n    }\n  };\n\n  KaTable.prototype.unselect_export = function unselect_export() {\n    for (var _iterator17 = this.export_schema, _isArray17 = Array.isArray(_iterator17), _i17 = 0, _iterator17 = _isArray17 ? _iterator17 : _iterator17[Symbol.iterator]();;) {\n      var _ref17;\n\n      if (_isArray17) {\n        if (_i17 >= _iterator17.length) break;\n        _ref17 = _iterator17[_i17++];\n      } else {\n        _i17 = _iterator17.next();\n        if (_i17.done) break;\n        _ref17 = _i17.value;\n      }\n\n      var _field7 = _ref17;\n\n      this.settings.exports[_field7.field] = false;\n    }\n  };\n\n  KaTable.prototype.apply_export = function apply_export($event) {\n    var _this9 = this;\n\n    var exportPages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n    if ($event && $event.model) $event.model.busy = true;\n    var fields = Object.keys(this.settings.exports).reduce(function (acc, k) {\n      if (_this9.settings.exports[k] === true) acc.push(k);return acc;\n    }, []).join(',');\n    var query = this.export_query;\n    if (exportPages === 'ALL') {\n      query = query.replace(/&limit=\\d*/, '');\n      query = query.replace(/&offset=\\d*/, '');\n    }\n    this.client.get(query + '&depth=1&meta=0&fields=' + fields).then(function (x) {\n      var records = _this9.parse_response(x);\n      if (!records.length) {\n        _this9.toast.show('<strong>Nessun risulta alcun dato da esportare!</strong>', 'error');\n        return;\n      }\n      var csv = [Object.keys(records[0]).join(';')];\n      for (var _iterator18 = records, _isArray18 = Array.isArray(_iterator18), _i18 = 0, _iterator18 = _isArray18 ? _iterator18 : _iterator18[Symbol.iterator]();;) {\n        var _ref18;\n\n        if (_isArray18) {\n          if (_i18 >= _iterator18.length) break;\n          _ref18 = _iterator18[_i18++];\n        } else {\n          _i18 = _iterator18.next();\n          if (_i18.done) break;\n          _ref18 = _i18.value;\n        }\n\n        var record = _ref18;\n\n        var values = [];\n\n        var _loop5 = function _loop5() {\n          if (_isArray19) {\n            if (_i19 >= _iterator19.length) return 'break';\n            _ref19 = _iterator19[_i19++];\n          } else {\n            _i19 = _iterator19.next();\n            if (_i19.done) return 'break';\n            _ref19 = _i19.value;\n          }\n\n          var k = _ref19;\n\n          var value = _this9.dataset.find(function (f) {\n            return f.field === k;\n          }) ? _this9.format(record, k) : record[k];\n          if (typeof value === 'string') {\n            value = value.replace('\"', '\"\"');\n            value = '\"' + value + '\"';\n          }\n          values.push(value);\n        };\n\n        for (var _iterator19 = Object.keys(record), _isArray19 = Array.isArray(_iterator19), _i19 = 0, _iterator19 = _isArray19 ? _iterator19 : _iterator19[Symbol.iterator]();;) {\n          var _ref19;\n\n          var _ret5 = _loop5();\n\n          if (_ret5 === 'break') break;\n        }\n        csv.push(values.join(';'));\n      }\n      csv = csv.join('\\n');\n      var blob = new Blob([csv], { type: 'text/csv' });\n      var anchor = document.createElement('a');\n      anchor.download = (0, _moment2.default)().format('YYYY-MM-DD_HH-mm') + '_' + _this9.endpoint.replace(/[^a-zA-Z0-9]/g, '-') + '.csv';\n      anchor.href = window.URL.createObjectURL(blob);\n      document.body.appendChild(anchor);\n      anchor.click();\n      document.body.removeChild(anchor);\n      _this9.hide_export();\n    }).finally(function () {\n      if ($event && $event.model) $event.model.busy = false;\n    });\n  };\n\n  KaTable.prototype.add = function add() {\n    var _this10 = this;\n\n    if (this.routes.edit === false) return;\n    if (this.routes.dialog) {\n      var childRoute = this.router.routes.filter(function (x) {\n        return x.name == (_this10.routes.add || _this10.router.currentInstruction.config.name);\n      })[0];\n      this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: 'new', data: this.routes.data || {} }\n      }, true).whenClosed(function (response) {\n        if (!response.wasCancelled) {\n          _this10.load();\n        }\n      });\n    } else this.router.navigateToRoute(this.routes.add || this.router.currentInstruction.config.name, { id: 'new' });\n  };\n\n  KaTable.prototype.edit = function edit(record) {\n    var _this11 = this;\n\n    var listRefQuery = this.reference_query + '&fields=id&limit=1&offset=' + (parseInt(this.settings.offset || 0, 10) + this.records.indexOf(record));\n    if (this.actions.indexOf('edit') < 0) return;\n    if (this.routes.edit === false) return;\n    if (this.routes.dialog) {\n      var childRoute = this.router.routes.filter(function (x) {\n        return x.name == (_this11.routes.edit || _this11.router.currentInstruction.config.name);\n      })[0];\n      this.dialog.open({\n        title: childRoute.title,\n        viewModel: childRoute.moduleId,\n        viewModelParams: { id: record.id || record.uuid, listRefQuery: btoa(listRefQuery) }\n      }, true).whenClosed(function (response) {\n        if (!response.wasCancelled) {\n          _this11.load();\n        }\n      });\n    } else this.router.navigateToRoute(this.routes.edit || this.router.currentInstruction.config.name, { id: record.id || record.uuid, listRefQuery: btoa(listRefQuery) });\n  };\n\n  KaTable.prototype.copy = function copy(record) {\n    var _this12 = this;\n\n    var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n    if (this.routes.edit === false) return;\n    if (deep) {\n      var fields = this.dataset.filter(function (x) {\n        return x.unique;\n      });\n      var duplicate = function duplicate(data) {\n        var d = _this12.params && _this12.params.deepcopy ? JSON.parse(JSON.stringify(_this12.params.deepcopy)) : { depth: 1 };\n        d.data = data;\n        _this12.client.post('duplicate/' + (record.id || record.uuid), d).then(function (x) {\n          _this12.toast.show('<strong>Record duplicato</strong>', 'success');\n          _this12.load();\n        }).catch(function (x) {\n          var error = JSON.parse(x.response).errors[0].msg;\n          _this12.toast.show('<strong>' + error + '</strong>', 'error');\n        });\n      };\n      if (fields.length) {\n        var template = '',\n            config = {},\n            model = {};\n        for (var _iterator20 = fields, _isArray20 = Array.isArray(_iterator20), _i20 = 0, _iterator20 = _isArray20 ? _iterator20 : _iterator20[Symbol.iterator]();;) {\n          var _ref20;\n\n          if (_isArray20) {\n            if (_i20 >= _iterator20.length) break;\n            _ref20 = _iterator20[_i20++];\n          } else {\n            _i20 = _iterator20.next();\n            if (_i20.done) break;\n            _ref20 = _i20.value;\n          }\n\n          var _field8 = _ref20;\n\n          config[_field8.field] = _field8;\n          model[_field8.field] = null;\n          template += '<ka-input config.bind=\"params.viewStrategyParams.config.' + _field8.field + '\" value.bind=\"params.viewStrategyParams.model.' + _field8.field + '\"></ka-input>';\n        }\n        var viewStrategy = new _aureliaFramework.InlineViewStrategy('<template>' + template + '</template>');\n        var viewStrategyParams = { config: config, model: model };\n        this.dialog.open({\n          type: 'confirm',\n          title: 'Duplica record',\n          viewStrategy: viewStrategy,\n          viewStrategyParams: viewStrategyParams\n        }, true).whenClosed(function (response) {\n          console.log(viewStrategyParams.model);\n          if (!response.wasCancelled) {\n            duplicate(viewStrategyParams.model);\n          }\n        });\n      } else duplicate();\n    } else {\n      this.client.get(this.endpoint + '/' + (record.id || record.uuid), { meta: 0, depth: 0 }).then(function (x) {\n        var data = x.response;\n        delete data.id;\n        delete data.uuid;\n\n        if (_this12.routes.dialog) {\n          var childRoute = _this12.router.routes.filter(function (x) {\n            return x.name == (_this12.routes.edit || _this12.router.currentInstruction.config.name);\n          })[0];\n          _this12.dialog.open({\n            title: childRoute.title,\n            viewModel: childRoute.moduleId,\n            viewModelParams: { id: 'new', data: data }\n          }, true).whenClosed(function (response) {\n            if (!response.wasCancelled) {\n              _this12.load();\n            }\n          });\n        } else _this12.router.navigateToRoute(_this12.routes.edit || _this12.router.currentInstruction.config.name, { id: 'new', data: data });\n      });\n    }\n  };\n\n  KaTable.prototype.delete = function _delete(record) {\n    var _this13 = this;\n\n    if (this.routes.edit === false) return;\n    this.dialog.open({\n      type: 'confirm',\n      class: 'warning',\n      title: 'Elimina',\n      body: 'Eliminare definitivamente il record?'\n    }, true).whenClosed(function (response) {\n      if (!response.wasCancelled) {\n        _this13.client.delete(_this13.endpoint + '/' + (record.id || record.uuid)).then(function (x) {\n          _this13.toast.show('<strong>Record eliminato</strong>', 'success');\n          _this13.load();\n        }).catch(function (x) {\n          var error = JSON.parse(x.response).errors[0].msg;\n          _this13.toast.show('<strong>' + error + '</strong>', 'error');\n        });\n      }\n    });\n  };\n\n  KaTable.prototype.parse_response = function parse_response(msg) {\n    if (msg.responseType === 'json' && typeof msg.response === 'string') msg.response = JSON.parse(msg.response);\n    return msg.response;\n  };\n\n  return KaTable;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'records', [_dec3], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'export_schema', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'columns_schema', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'filters', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'endpoint', [_dec8], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'limit', [_dec9], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, 'depth', [_dec10], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, 'client', [_dec11], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, 'columns', [_dec12], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, 'filtrables', [_dec13], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, 'sortables', [_dec14], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor13 = _applyDecoratedDescriptor(_class2.prototype, 'editables', [_dec15], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, 'exportables', [_dec16], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, 'prefilter', [_dec17], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, 'sort', [_dec18], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor17 = _applyDecoratedDescriptor(_class2.prototype, 'routes', [_dec19], {\n  enumerable: true,\n  initializer: function initializer() {\n    return { add: null, edit: null, dialog: false, data: {} };\n  }\n}), _descriptor18 = _applyDecoratedDescriptor(_class2.prototype, 'actions', [_dec20], {\n  enumerable: true,\n  initializer: function initializer() {\n    return [\"filter\", \"export\", \"add\", \"edit\"];\n  }\n}), _descriptor19 = _applyDecoratedDescriptor(_class2.prototype, 'params', [_dec21], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor20 = _applyDecoratedDescriptor(_class2.prototype, 'query', [_dec22], {\n  enumerable: true,\n  initializer: function initializer() {\n    return '';\n  }\n})), _class2)) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaTableFilters = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaTableFilters = exports.KaTableFilters = (_dec = (0, _aureliaFramework.customElement)('ka-table-filters'), _dec2 = (0, _aureliaFramework.containerless)(), _dec3 = (0, _aureliaFramework.inject)(Element), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)({ defaultBindingMode: _aureliaFramework.bindingMode.twoWay }), _dec6 = (0, _aureliaFramework.bindable)(), _dec7 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = _dec3(_class = (_class2 = function () {\n  function KaTableFilters(element) {\n    _classCallCheck(this, KaTableFilters);\n\n    _initDefineProp(this, 'schema', _descriptor, this);\n\n    _initDefineProp(this, 'filters', _descriptor2, this);\n\n    _initDefineProp(this, 'apply', _descriptor3, this);\n\n    _initDefineProp(this, 'reset', _descriptor4, this);\n\n    this._schema = null;\n\n    this.element = element;\n  }\n\n  KaTableFilters.prototype.schemaChanged = function schemaChanged(schema) {\n    schema = JSON.parse(JSON.stringify(schema));\n\n    if (!schema) {\n      konsole.warn('ka-table-filters: missing schema!', schema);\n      return;\n    }\n    if (typeof schema === 'string') {\n      try {\n        schema = JSON.parse(schema);\n      } catch (error) {\n        konsole.error('ka-table-filters: invalid schema provided!', schema);\n        return;\n      }\n    }\n    if (!Array.isArray(schema) || !schema.length) {\n      konsole.error('ka-table-filters: schema must be an array of objects!', schema);\n      return;\n    }\n\n    for (var _iterator = schema, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref = _i.value;\n      }\n\n      var item = _ref;\n\n      item.placeholder = 'Filtra per ' + item.label.toLowerCase();\n      item.label = null;\n      item.required = false;\n    }\n\n    this._schema = schema;\n  };\n\n  return KaTableFilters;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'schema', [_dec4], {\n  enumerable: true,\n  initializer: function initializer() {\n    return null;\n  }\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'filters', [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return {};\n  }\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'apply', [_dec6], {\n  enumerable: true,\n  initializer: function initializer() {\n    return function () {};\n  }\n}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'reset', [_dec7], {\n  enumerable: true,\n  initializer: function initializer() {\n    return function () {};\n  }\n})), _class2)) || _class) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaTabs = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dec, _dec2, _class;\n\nvar _aureliaFramework = require('aurelia-framework');\n\nvar _aureliaRouter = require('aurelia-router');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaTabs = exports.KaTabs = (_dec = (0, _aureliaFramework.customElement)('ka-tabs'), _dec2 = (0, _aureliaFramework.inject)(Element, _aureliaRouter.Router), _dec(_class = _dec2(_class = function () {\n  function KaTabs(element, router) {\n    _classCallCheck(this, KaTabs);\n\n    this.tabs = [];\n\n    this.element = element;\n    this.name = 'ka-tab-' + this.element.id;\n    this.router = router;\n  }\n\n  KaTabs.prototype.bind = function bind(bindingContext, overrideContext) {\n    this.parent = bindingContext;\n  };\n\n  KaTabs.prototype.attached = function attached() {\n    var _this = this;\n\n    this.init().then(function (tabs) {\n      var tab = tabs[0];\n      var queryParams = _this.router.currentInstruction.queryParams;\n      if (queryParams[_this.name]) tab = _this.tabs.find(function (item) {\n        return item.name === queryParams[_this.name];\n      }) || tab;\n      _this.select(tab);\n    });\n    this.element.style.display = 'block';\n    this.contents.style.display = 'block';\n    this.contents.style.position = 'relative';\n    this.contents.style.width = '100%';\n    this.contents.style.whiteSpace = 'nowrap';\n    this.contents.style.overflow = 'hidden';\n  };\n\n  KaTabs.prototype.init = function init() {\n    var _this2 = this;\n\n    this.tabs = [];\n    return new Promise(function (resolve, reject) {\n      var elements = Array.from(_this2.contents.children).filter(function (x) {\n        return x.matches('ka-tab');\n      });\n      for (var _iterator = elements, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n        var _ref;\n\n        if (_isArray) {\n          if (_i >= _iterator.length) break;\n          _ref = _iterator[_i++];\n        } else {\n          _i = _iterator.next();\n          if (_i.done) break;\n          _ref = _i.value;\n        }\n\n        var element = _ref;\n\n        element.style.opacity = '0';\n        element.style.width = '100%';\n        element.style.position = 'absolute';\n        element.style.top = '0';\n        element.style.left = '0';\n        element.style.transition = 'left 0.3s ease-in-out';\n        _this2.tabs.push({\n          element: element,\n          label: element.getAttribute('label') || element.dataset.label || element.id || 'tab-' + elements.indexOf(element),\n          name: element.id,\n          readonly: true,\n          visible: false\n        });\n      }\n      resolve(_this2.tabs);\n    });\n  };\n\n  KaTabs.prototype.isDialog = function isDialog() {\n    return this.parent && this.parent.params && this.parent.params.dialog;\n  };\n\n  KaTabs.prototype.select = function select(tab) {\n    var currentTab = this.current;\n    var current = this.tabs.indexOf(currentTab);\n    var index = this.tabs.indexOf(tab);\n\n    if (tab.element.id && !this.isDialog()) {\n      var queryParams = Object.assign({}, this.router.currentInstruction.params, this.router.currentInstruction.queryParams);\n      var route = this.router.currentInstruction.config;\n      queryParams[this.name] = tab.name;\n      this.router.navigateToRoute(route.name, queryParams, { trigger: false, replace: false });\n    }\n\n    for (var i in this.tabs) {\n      i = parseInt(i, 10);\n      var element = this.tabs[i].element;\n      if (i === index) {\n        element.style.position = 'relative';\n        element.style.left = '0';\n        this.tabs[i].visible = true;\n      } else if (i < index) {\n        element.style.position = 'absolute';\n        element.style.left = '-100%';\n        this.tabs[i].visible = false;\n      } else if (i > index) {\n        element.style.position = 'absolute';\n        element.style.left = '100%';\n        this.tabs[i].visible = false;\n      }\n      if (i === current || i === index) element.style.opacity = '1';else element.style.opacity = '0';\n    }\n  };\n\n  _createClass(KaTabs, [{\n    key: 'current',\n    get: function get() {\n      return this.tabs.find(function (item) {\n        return item.visible;\n      });\n    }\n  }]);\n\n  return KaTabs;\n}()) || _class) || _class);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar KaToast = exports.KaToast = function () {\n  function KaToast() {\n    _classCallCheck(this, KaToast);\n\n    this.duration = 4000;\n    this.transition = 500;\n    this.hold = false;\n    this.stack = [];\n  }\n\n  KaToast.prototype.show = function show() {\n    var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    var elementClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n    var hold = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    this.stack.push({ message: message, elementClass: elementClass, hold: hold });\n    this.consume();\n  };\n\n  KaToast.prototype.consume = function consume() {\n    var _this = this;\n\n    if (this.holdedElement) {\n      this.holdedElement.remove();\n      this.hold = false;\n      this.holdedElement = null;\n    }\n    if (this.stack.length && !this.hold) {\n      this.hold = true;\n      var current = this.stack.shift();\n      var element = document.createElement('div');\n      element.classList.add('ka-toast');\n      element.classList.add('ka-toast-' + current.elementClass);\n      element.innerHTML = current.message;\n      document.body.append(element);\n\n      setTimeout(function () {\n        element.classList.add('visible');\n      }, this.transition);\n\n      if (!current.hold) {\n        this.holdedElement = null;\n        setTimeout(function () {\n          element.classList.remove('visible');\n          setTimeout(function () {\n            element.remove();\n            _this.hold = false;\n            _this.consume();\n          }, _this.transition);\n        }, this.duration - this.transition);\n      } else {\n        this.holdedElement = element;\n      }\n    }\n  };\n\n  return KaToast;\n}();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.KaTooltipCustomAttribute = undefined;\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3;\n\nvar _aureliaFramework = require(\"aurelia-framework\");\n\nvar _dom = require(\"@floating-ui/dom\");\n\nfunction _initDefineProp(target, property, descriptor, context) {\n  if (!descriptor) return;\n  Object.defineProperty(target, property, {\n    enumerable: descriptor.enumerable,\n    configurable: descriptor.configurable,\n    writable: descriptor.writable,\n    value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n  });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object['ke' + 'ys'](descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object['define' + 'Property'](target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n  throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar KaTooltipCustomAttribute = exports.KaTooltipCustomAttribute = (_dec = (0, _aureliaFramework.customAttribute)(\"ka-tooltip\"), _dec2 = (0, _aureliaFramework.inject)(Element), _dec3 = (0, _aureliaFramework.bindable)({ primaryProperty: true }), _dec4 = (0, _aureliaFramework.bindable)(), _dec5 = (0, _aureliaFramework.bindable)(), _dec(_class = _dec2(_class = (_class2 = function () {\n  function KaTooltipCustomAttribute(element) {\n    _classCallCheck(this, KaTooltipCustomAttribute);\n\n    _initDefineProp(this, \"value\", _descriptor, this);\n\n    _initDefineProp(this, \"style\", _descriptor2, this);\n\n    _initDefineProp(this, \"placement\", _descriptor3, this);\n\n    this.element = element;\n  }\n\n  KaTooltipCustomAttribute.prototype.attached = function attached() {\n    var _this = this;\n\n    this.element.addEventListener(\"mouseenter\", function (e) {\n      if (_this.tooltip || !_this.value || !_this.value.trim().length) return;\n      _this.tooltip = document.createElement(\"div\");\n      _this.tooltip.role = \"tooltip\";\n      _this.tooltip.classList.add(\"ka-tooltip\");\n      if (_this.style) _this.tooltip.classList.add(_this.style);\n      _this.tooltip.innerHTML = \"<div class=\\\"value\\\">\" + _this.value + \"</div><div class=\\\"arrow\\\"></div>\";\n      document.getElementsByTagName(\"body\")[0].insertBefore(_this.tooltip, document.getElementsByTagName(\"body\")[0].children[0]);\n\n      setTimeout(function () {\n        if (!_this.tooltip) return;\n        _this.tooltip.classList.add(\"visible\");\n        var arrowElement = _this.tooltip.querySelector(\"div.arrow\");\n        (0, _dom.computePosition)(e.target, _this.tooltip, {\n          placement: _this.placement,\n          middleware: [(0, _dom.offset)(5), (0, _dom.flip)(), (0, _dom.shift)({ padding: 5 }), (0, _dom.arrow)({ element: arrowElement, padding: 10 })]\n        }).then(function (_ref) {\n          var _Object$assign;\n\n          var x = _ref.x,\n              y = _ref.y,\n              placement = _ref.placement,\n              middlewareData = _ref.middlewareData;\n\n          Object.assign(_this.tooltip.style, {\n            left: x + \"px\",\n            top: y + \"px\"\n          });\n          var _middlewareData$arrow = middlewareData.arrow,\n              arrowX = _middlewareData$arrow.x,\n              arrowY = _middlewareData$arrow.y;\n\n          var staticSide = {\n            top: 'bottom',\n            right: 'left',\n            bottom: 'top',\n            left: 'right'\n          }[placement.split('-')[0]];\n          Object.assign(arrowElement.style, (_Object$assign = {\n            left: arrowX != null ? arrowX + \"px\" : '',\n            top: arrowY != null ? arrowY + \"px\" : '',\n            right: '',\n            bottom: ''\n          }, _Object$assign[staticSide] = '-4px', _Object$assign));\n        });\n      }, 1000);\n    });\n    this.element.addEventListener(\"mouseleave\", function (e) {\n      if (!_this.tooltip) return;\n      document.getElementsByTagName(\"body\")[0].removeChild(_this.tooltip);\n      _this.tooltip = null;\n    });\n  };\n\n  KaTooltipCustomAttribute.prototype.detached = function detached() {\n    if (!this.tooltip) return;\n    document.getElementsByTagName(\"body\")[0].removeChild(this.tooltip);\n    this.tooltip = null;\n  };\n\n  return KaTooltipCustomAttribute;\n}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"value\", [_dec3], {\n  enumerable: true,\n  initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, \"style\", [_dec4], {\n  enumerable: true,\n  initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, \"placement\", [_dec5], {\n  enumerable: true,\n  initializer: function initializer() {\n    return \"top\";\n  }\n})), _class2)) || _class) || _class);","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      ...clippingAncestor,\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n      // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n  let htmlX = 0;\n  let htmlY = 0;\n  if (documentElement && !isOffsetParentAnElement && !isFixed) {\n    const htmlRect = documentElement.getBoundingClientRect();\n    htmlY = htmlRect.top + scroll.scrollTop;\n    htmlX = htmlRect.left + scroll.scrollLeft -\n    // RTL <body> scrollbar.\n    getWindowScrollBarX(documentElement, htmlRect);\n  }\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlX;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlY;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = element.getBoundingClientRect();\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/*!\n * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md.\n */\n(function(t){const e=t[\"it\"]=t[\"it\"]||{};e.dictionary=Object.assign(e.dictionary||{},{\"%0 of %1\":\"%0 di %1\",\"Align center\":\"Allinea al centro\",\"Align left\":\"Allinea a sinistra\",\"Align right\":\"Allinea a destra\",\"Block quote\":\"Blocco citazione\",Bold:\"Grassetto\",\"Bulleted List\":\"Elenco puntato\",Cancel:\"Annulla\",\"Centered image\":\"Immagine centrata\",\"Change image text alternative\":\"Cambia testo alternativo dell'immagine\",\"Choose heading\":\"Seleziona intestazione\",Code:\"Codice\",Column:\"Colonna\",\"Decrease indent\":\"Riduci rientro\",\"Delete column\":\"Elimina colonna\",\"Delete row\":\"Elimina riga\",Downloadable:\"Scaricabile\",\"Dropdown toolbar\":\"Barra degli strumenti del menu a discesa\",\"Edit link\":\"Modifica collegamento\",\"Editor toolbar\":\"Barra degli strumenti dell'editor\",\"Enter image caption\":\"inserire didascalia dell'immagine\",\"Full size image\":\"Immagine a dimensione intera\",\"Header column\":\"Intestazione colonna\",\"Header row\":\"Riga d'intestazione\",Heading:\"Intestazione\",\"Heading 1\":\"Intestazione 1\",\"Heading 2\":\"Intestazione 2\",\"Heading 3\":\"Intestazione 3\",\"Heading 4\":\"Intestazione 4\",\"Heading 5\":\"Intestazione 5\",\"Heading 6\":\"Intestazione 6\",\"Image toolbar\":\"Barra degli strumenti dell'immagine\",\"image widget\":\"Widget immagine\",\"Increase indent\":\"Aumenta rientro\",\"Insert column left\":\"Inserisci colonna a sinistra\",\"Insert column right\":\"Inserisci colonna a destra\",\"Insert image\":\"Inserisci immagine\",\"Insert media\":\"Inserisci media\",\"Insert paragraph after block\":\"\",\"Insert paragraph before block\":\"\",\"Insert row above\":\"Inserisci riga sopra\",\"Insert row below\":\"Inserisci riga sotto\",\"Insert table\":\"Inserisci tabella\",Italic:\"Corsivo\",Justify:\"Giustifica\",\"Left aligned image\":\"Immagine allineata a sinistra\",Link:\"Collegamento\",\"Link URL\":\"URL del collegamento\",\"Media URL\":\"URL media\",\"media widget\":\"widget media\",\"Merge cell down\":\"Unisci cella sotto\",\"Merge cell left\":\"Unisci cella a sinistra\",\"Merge cell right\":\"Unisci cella a destra\",\"Merge cell up\":\"Unisci cella sopra\",\"Merge cells\":\"Unisci celle\",Next:\"Avanti\",\"Numbered List\":\"Elenco numerato\",\"Open in a new tab\":\"Apri in una nuova scheda\",\"Open link in new tab\":\"Apri collegamento in nuova scheda\",Paragraph:\"Paragrafo\",\"Paste the media URL in the input.\":\"Incolla l'URL del file multimediale nell'input.\",Previous:\"Indietro\",Redo:\"Ripristina\",\"Remove Format\":\"Rimuovi formato\",\"Rich Text Editor\":\"Editor di testo formattato\",\"Rich Text Editor, %0\":\"Editor di testo formattato, %0\",\"Right aligned image\":\"Immagine allineata a destra\",Row:\"Riga\",Save:\"Salva\",\"Select all\":\"Seleziona tutto\",\"Select column\":\"Seleziona colonna\",\"Select row\":\"Seleziona riga\",\"Show more items\":\"Mostra più elementi\",\"Side image\":\"Immagine laterale\",\"Split cell horizontally\":\"Dividi cella orizzontalmente\",\"Split cell vertically\":\"Dividi cella verticalmente\",Strikethrough:\"Barrato\",Subscript:\"Pedice\",Superscript:\"Apice\",\"Table toolbar\":\"Barra degli strumenti della tabella\",\"Text alignment\":\"Allineamento del testo\",\"Text alignment toolbar\":\"Barra degli strumenti dell'allineamento\",\"Text alternative\":\"Testo alternativo\",\"The URL must not be empty.\":\"L'URL non può essere vuoto.\",\"This link has no URL\":\"Questo collegamento non ha un URL\",\"This media URL is not supported.\":\"Questo URL di file multimediali non è supportato.\",\"Tip: Paste the URL into the content to embed faster.\":\"Consiglio: incolla l'URL nel contenuto per un'incorporazione più veloce.\",Undo:\"Annulla\",Unlink:\"Elimina collegamento\",\"Upload failed\":\"Caricamento fallito\",\"Upload in progress\":\"Caricamento in corso\",\"Widget toolbar\":\"Barra degli strumenti del widget\"});e.getPluralForm=function(t){return t!=1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));(function t(e,n){if(typeof exports===\"object\"&&typeof module===\"object\")module.exports=n();else if(typeof define===\"function\"&&define.amd)define([],n);else if(typeof exports===\"object\")exports[\"ClassicEditor\"]=n();else e[\"ClassicEditor\"]=n()})(window,(function(){return function(t){var e={};function n(i){if(e[i]){return e[i].exports}var o=e[i]={i:i,l:false,exports:{}};t[i].call(o.exports,o,o.exports,n);o.l=true;return o.exports}n.m=t;n.c=e;n.d=function(t,e,i){if(!n.o(t,e)){Object.defineProperty(t,e,{enumerable:true,get:i})}};n.r=function(t){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(t,\"__esModule\",{value:true})};n.t=function(t,e){if(e&1)t=n(t);if(e&8)return t;if(e&4&&typeof t===\"object\"&&t&&t.__esModule)return t;var i=Object.create(null);n.r(i);Object.defineProperty(i,\"default\",{enumerable:true,value:t});if(e&2&&typeof t!=\"string\")for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i};n.n=function(t){var e=t&&t.__esModule?function e(){return t[\"default\"]}:function e(){return t};n.d(e,\"a\",e);return e};n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};n.p=\"\";return n(n.s=102)}([function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return o}));n.d(e,\"a\",(function(){return s}));const i=\"https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html\";class o extends Error{constructor(t,e,n){t=s(t);if(n){t+=\" \"+JSON.stringify(n)}super(t);this.name=\"CKEditorError\";this.context=e;this.data=n}is(t){return t===\"CKEditorError\"}static rethrowUnexpectedError(t,e){if(t.is&&t.is(\"CKEditorError\")){throw t}const n=new o(t.message,e);n.stack=t.stack;throw n}}function s(t){const e=t.match(/^([^:]+):/);if(!e){return t}return t+` Read more: ${i}#error-${e[1]}\\n`}},function(t,e,n){\"use strict\";var i=function t(){var e;return function t(){if(typeof e===\"undefined\"){e=Boolean(window&&document&&document.all&&!window.atob)}return e}}();var o=function t(){var e={};return function t(n){if(typeof e[n]===\"undefined\"){var i=document.querySelector(n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement){try{i=i.contentDocument.head}catch(t){i=null}}e[n]=i}return e[n]}}();var s=[];function r(t){var e=-1;for(var n=0;n<s.length;n++){if(s[n].identifier===t){e=n;break}}return e}function a(t,e){var n={};var i=[];for(var o=0;o<t.length;o++){var a=t[o];var c=e.base?a[0]+e.base:a[0];var l=n[c]||0;var d=\"\".concat(c,\" \").concat(l);n[c]=l+1;var u=r(d);var h={css:a[1],media:a[2],sourceMap:a[3]};if(u!==-1){s[u].references++;s[u].updater(h)}else{s.push({identifier:d,updater:m(h,e),references:1})}i.push(d)}return i}function c(t){var e=document.createElement(\"style\");var i=t.attributes||{};if(typeof i.nonce===\"undefined\"){var s=true?n.nc:undefined;if(s){i.nonce=s}}Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])}));if(typeof t.insert===\"function\"){t.insert(e)}else{var r=o(t.insert||\"head\");if(!r){throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\")}r.appendChild(e)}return e}function l(t){if(t.parentNode===null){return false}t.parentNode.removeChild(t)}var d=function t(){var e=[];return function t(n,i){e[n]=i;return e.filter(Boolean).join(\"\\n\")}}();function u(t,e,n,i){var o=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet){t.styleSheet.cssText=d(e,o)}else{var s=document.createTextNode(o);var r=t.childNodes;if(r[e]){t.removeChild(r[e])}if(r.length){t.insertBefore(s,r[e])}else{t.appendChild(s)}}}function h(t,e,n){var i=n.css;var o=n.media;var s=n.sourceMap;if(o){t.setAttribute(\"media\",o)}else{t.removeAttribute(\"media\")}if(s&&btoa){i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s)))),\" */\")}if(t.styleSheet){t.styleSheet.cssText=i}else{while(t.firstChild){t.removeChild(t.firstChild)}t.appendChild(document.createTextNode(i))}}var f=null;var g=0;function m(t,e){var n;var i;var o;if(e.singleton){var s=g++;n=f||(f=c(e));i=u.bind(null,n,s,false);o=u.bind(null,n,s,true)}else{n=c(e);i=h.bind(null,n,e);o=function t(){l(n)}}i(t);return function e(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap){return}i(t=n)}else{o()}}}t.exports=function(t,e){e=e||{};if(!e.singleton&&typeof e.singleton!==\"boolean\"){e.singleton=i()}t=t||[];var n=a(t,e);return function t(i){i=i||[];if(Object.prototype.toString.call(i)!==\"[object Array]\"){return}for(var o=0;o<n.length;o++){var c=n[o];var l=r(c);s[l].references--}var d=a(i,e);for(var u=0;u<n.length;u++){var h=n[u];var f=r(h);if(s[f].references===0){s[f].updater();s.splice(f,1)}}n=d}}},,function(t,e,n){\"use strict\";var i=n(7);var o=typeof self==\"object\"&&self&&self.Object===Object&&self;var s=i[\"a\"]||o||Function(\"return this\")();e[\"a\"]=s},function(t,e,n){\"use strict\";(function(t){var i=n(3);var o=n(13);var s=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var r=s&&typeof t==\"object\"&&t&&!t.nodeType&&t;var a=r&&r.exports===s;var c=a?i[\"a\"].Buffer:undefined;var l=c?c.isBuffer:undefined;var d=l||o[\"a\"];e[\"a\"]=d}).call(this,n(9)(t))},function(t,e,n){\"use strict\";(function(t){var i=n(7);var o=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var s=o&&typeof t==\"object\"&&t&&!t.nodeType&&t;var r=s&&s.exports===o;var a=r&&i[\"a\"].process;var c=function(){try{var t=s&&s.require&&s.require(\"util\").types;if(t){return t}return a&&a.binding&&a.binding(\"util\")}catch(t){}}();e[\"a\"]=c}).call(this,n(9)(t))},function(t,e,n){\"use strict\";(function(t){var e=n(0);const i=\"19.1.1\";const o=typeof window===\"object\"?window:t;if(o.CKEDITOR_VERSION){throw new e[\"b\"](\"ckeditor-duplicated-modules: Some CKEditor 5 modules are duplicated.\",null)}else{o.CKEDITOR_VERSION=i}}).call(this,n(10))},function(t,e,n){\"use strict\";(function(t){var n=typeof t==\"object\"&&t&&t.Object===Object&&t;e[\"a\"]=n}).call(this,n(10))},function(t,e,n){\"use strict\";(function(t){var i=n(3);var o=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var s=o&&typeof t==\"object\"&&t&&!t.nodeType&&t;var r=s&&s.exports===o;var a=r?i[\"a\"].Buffer:undefined,c=a?a.allocUnsafe:undefined;function l(t,e){if(e){return t.slice()}var n=t.length,i=c?c(n):new t.constructor(n);t.copy(i);return i}e[\"a\"]=l}).call(this,n(9)(t))},function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);if(!e.children)e.children=[];Object.defineProperty(e,\"loaded\",{enumerable:true,get:function(){return e.l}});Object.defineProperty(e,\"id\",{enumerable:true,get:function(){return e.i}});Object.defineProperty(e,\"exports\",{enumerable:true});e.webpackPolyfill=1}return e}},function(t,e){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){if(typeof window===\"object\")n=window}t.exports=n},function(t,e,n){var i=n(1);var o=n(46);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e,n){var i=n(1);var o=n(47);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e,n){\"use strict\";function i(){return false}e[\"a\"]=i},function(t,e,n){var i=n(1);var o=n(15);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-placeholder:before,.ck .ck-placeholder:before{content:attr(data-placeholder);pointer-events:none}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-placeholder:before,.ck .ck-placeholder:before{cursor:text;color:var(--ck-color-engine-placeholder-text)}\"},function(t,e,n){var i=n(1);var o=n(17);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-hidden{display:none!important}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{box-sizing:border-box;width:auto;height:auto;position:static}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999);--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#c4c4c4;--ck-color-base-action:#61b045;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#198cf0;--ck-color-base-active-focus:#0e7fe1;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:208,79%,51%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#bcdefb;--ck-color-focus-disabled-shadow:rgba(119,186,248,0.3);--ck-color-focus-error-shadow:rgba(255,64,31,0.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,0.15);--ck-color-shadow-drop-active:rgba(0,0,0,0.2);--ck-color-shadow-inner:rgba(0,0,0,0.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#e6e6e6;--ck-color-button-default-active-background:#d9d9d9;--ck-color-button-default-active-shadow:#bfbfbf;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#dedede;--ck-color-button-on-hover-background:#c4c4c4;--ck-color-button-on-active-background:#bababa;--ck-color-button-on-active-shadow:#a1a1a1;--ck-color-button-on-disabled-background:#dedede;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#579e3d;--ck-color-button-action-active-background:#53973b;--ck-color-button-action-active-shadow:#498433;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#b0b0b0;--ck-color-switch-button-off-hover-background:#a3a3a3;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#579e3d;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,0.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:#c7c7c7;--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:#c7c7c7;--ck-color-input-disabled-text:#5c5c5c;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-base-active);--ck-color-list-button-on-background-focus:var(--ck-color-base-active-focus);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-foreground);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,177,255,0.1);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;vertical-align:middle;transition:none;word-wrap:break-word}.ck.ck-reset_all,.ck.ck-reset_all *{border-collapse:collapse;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);color:var(--ck-color-text);text-align:left;white-space:nowrap;cursor:auto;float:none}.ck.ck-reset_all .ck-rtl *{text-align:right}.ck.ck-reset_all iframe{vertical-align:inherit}.ck.ck-reset_all textarea{white-space:pre-wrap}.ck.ck-reset_all input[type=password],.ck.ck-reset_all input[type=text],.ck.ck-reset_all textarea{cursor:text}.ck.ck-reset_all input[type=password][disabled],.ck.ck-reset_all input[type=text][disabled],.ck.ck-reset_all textarea[disabled]{cursor:default}.ck.ck-reset_all fieldset{padding:10px;border:2px groove #dfdee3}.ck.ck-reset_all button::-moz-focus-inner{padding:0;border:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}\"},function(t,e,n){var i=n(1);var o=n(19);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}.ck.ck-editor__editable_inline{overflow:auto;padding:0 var(--ck-spacing-standard);border:1px solid transparent}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}\"},function(t,e,n){var i=n(1);var o=n(21);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}\"},function(t,e,n){var i=n(1);var o=n(23);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{z-index:var(--ck-z-modal);position:fixed;top:0}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{top:auto;position:absolute}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:var(--ck-drop-shadow),0 0;border-width:0 1px 1px;border-top-left-radius:0;border-top-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(25);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip{display:none}.ck.ck-dropdown .ck-dropdown__panel{-webkit-backface-visibility:hidden;display:none;z-index:var(--ck-z-modal);position:absolute}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{top:100%;bottom:auto}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}:root{--ck-dropdown-arrow-size:calc(0.5*var(--ck-icon-size))}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{width:7em;overflow:hidden;text-overflow:ellipsis}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0;background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(27);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{width:var(--ck-icon-size);height:var(--ck-icon-size);font-size:.8333350694em;will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}\"},function(t,e,n){var i=n(1);var o=n(29);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck.ck-tooltip,.ck.ck-tooltip .ck-tooltip__text:after{position:absolute;pointer-events:none;-webkit-backface-visibility:hidden}.ck.ck-tooltip{visibility:hidden;opacity:0;display:none;z-index:var(--ck-z-modal)}.ck.ck-tooltip .ck-tooltip__text{display:inline-block}.ck.ck-tooltip .ck-tooltip__text:after{content:\"\";width:0;height:0}:root{--ck-tooltip-arrow-size:5px}.ck.ck-tooltip{left:50%;top:0;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip .ck-tooltip__text{border-radius:0}.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text,.ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-tooltip .ck-tooltip__text{font-size:.9em;line-height:1.5;color:var(--ck-color-tooltip-text);padding:var(--ck-spacing-small) var(--ck-spacing-medium);background:var(--ck-color-tooltip-background);position:relative;left:-50%}.ck.ck-tooltip .ck-tooltip__text:after{transition:opacity .2s ease-in-out .2s;border-style:solid;left:50%}.ck.ck-tooltip.ck-tooltip_s{bottom:calc(-1*var(--ck-tooltip-arrow-size));transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after{top:calc(-1*var(--ck-tooltip-arrow-size));transform:translateX(-50%);border-left-color:transparent;border-bottom-color:var(--ck-color-tooltip-background);border-right-color:transparent;border-top-color:transparent;border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:var(--ck-tooltip-arrow-size);border-top-width:0}.ck.ck-tooltip.ck-tooltip_n{top:calc(-1*var(--ck-tooltip-arrow-size));transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{bottom:calc(-1*var(--ck-tooltip-arrow-size));transform:translateX(-50%);border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;border-top-color:var(--ck-color-tooltip-background);border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:0;border-right-width:var(--ck-tooltip-arrow-size);border-top-width:var(--ck-tooltip-arrow-size)}'},function(t,e,n){var i=n(1);var o=n(31);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-button,a.ck.ck-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:block}@media (hover:none){.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:none}}.ck.ck-button,a.ck.ck-button{position:relative;display:inline-flex;align-items:center;justify-content:left}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button:hover .ck-tooltip,a.ck.ck-button:hover .ck-tooltip{visibility:visible;opacity:1}.ck.ck-button:focus:not(:hover) .ck-tooltip,a.ck.ck-button:focus:not(:hover) .ck-tooltip{display:none}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-default-active-shadow)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{white-space:nowrap;cursor:default;vertical-align:middle;padding:var(--ck-spacing-tiny);text-align:center;min-width:var(--ck-ui-component-min-height);min-height:var(--ck-ui-component-min-height);line-height:1;font-size:inherit;border:1px solid transparent;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;-webkit-appearance:none}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__icon{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(-1*var(--ck-spacing-small));margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:calc(-1*var(--ck-spacing-small));margin-left:var(--ck-spacing-small)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-on-active-shadow)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-action-active-shadow)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}\"},function(t,e,n){var i=n(1);var o=n(33);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-list{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{list-style-type:none;background:var(--ck-color-list-background)}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{min-height:unset;width:100%;text-align:left;border-radius:0;padding:calc(0.2*var(--ck-line-height-base)*var(--ck-font-size-base)) calc(0.4*var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(1.2*var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{height:1px;width:100%;background:var(--ck-color-base-border)}\"},function(t,e,n){var i=n(1);var o=n(35);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:1.0769230769em;--ck-switch-button-toggle-spacing:1px;--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2*var(--ck-switch-button-toggle-spacing))}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(2*var(--ck-spacing-large))}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(2*var(--ck-spacing-large))}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{transition:background .4s ease;width:var(--ck-switch-button-toggle-width);background:var(--ck-color-switch-button-off-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(0.5*var(--ck-border-radius))}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{margin:var(--ck-switch-button-toggle-spacing);width:var(--ck-switch-button-toggle-inner-size);height:var(--ck-switch-button-toggle-inner-size);background:var(--ck-color-switch-button-inner-background);transition:all .3s ease}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var(--ck-switch-button-translation))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(-1*var(--ck-switch-button-translation)))}\"},function(t,e,n){var i=n(1);var o=n(37);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-toolbar-dropdown .ck.ck-toolbar .ck.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar-dropdown .ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}\"},function(t,e,n){var i=n(1);var o=n(39);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(41);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-toolbar{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-flow:row nowrap;align-items:center}.ck.ck-toolbar>.ck-toolbar__items{display:flex;flex-flow:row wrap;align-items:center;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);padding:0 var(--ck-spacing-small);border:1px solid var(--ck-color-toolbar-border)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;width:1px;min-width:1px;margin-top:0;margin-bottom:0;background:var(--ck-color-toolbar-border)}.ck.ck-toolbar>.ck-toolbar__items>*{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>*,.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{width:100%;margin:0;border-radius:0;border:0}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-right:var(--ck-spacing-small)}\"},function(t,e,n){var i=n(1);var o=n(43);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}\"},function(t,e,n){var i=n(1);var o=n(45);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content blockquote{overflow:hidden;padding-right:1.5em;padding-left:1.5em;margin-left:0;margin-right:0;font-style:italic;border-left:5px solid #ccc}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}\"},function(t,e){t.exports=\".ck-content code{background-color:hsla(0,0%,78%,.3);padding:.15em;border-radius:2px}\"},function(t,e){t.exports=\".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}\"},function(t,e,n){var i=n(1);var o=n(49);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:\"\";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{width:0;height:0;border-style:solid}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:var(--ck-balloon-arrow-height);border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:0}.ck.ck-balloon-panel[class*=arrow_n]:before{border-bottom-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background);margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:0;border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-top-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.ck.ck-balloon-panel[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background);margin-bottom:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(-1*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{left:50%;margin-left:calc(-1*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{left:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{right:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{right:25%;margin-right:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{left:25%;margin-left:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{right:25%;margin-right:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}'},function(t,e,n){var i=n(1);var o=n(51);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck .ck-widget .ck-widget__type-around__button{display:block;position:absolute;overflow:hidden;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{position:absolute;top:50%;left:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{top:calc(-0.5*var(--ck-widget-outline-thickness));left:min(10%,30px);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(-0.5*var(--ck-widget-outline-thickness));right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget:not(.ck-widget_can-type-around_after)>.ck-widget__type-around>.ck-widget__type-around__button_after,.ck .ck-widget:not(.ck-widget_can-type-around_before)>.ck-widget__type-around>.ck-widget__type-around__button_before{display:none}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:\"\";display:block;position:absolute;top:1px;left:1px;z-index:calc(var(--ck-z-default) + 1)}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{width:var(--ck-widget-type-around-button-size);height:var(--ck-widget-type-around-button-size);background:var(--ck-color-widget-type-around-button);border-radius:100px;pointer-events:none;opacity:0;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget .ck-widget__type-around__button svg{width:10px;height:8px;transform:translate(-50%,-50%);transition:transform .5s ease;margin-top:1px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{pointer-events:auto;opacity:1}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{width:calc(var(--ck-widget-type-around-button-size) - 2px);height:calc(var(--ck-widget-type-around-button-size) - 2px);border-radius:100px;background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3))}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{pointer-events:none;opacity:0}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}'},function(t,e,n){var i=n(1);var o=n(53);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-resizer-size:10px;--ck-resizer-border-width:1px;--ck-resizer-border-radius:2px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-tooltip-offset:10px;--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);color:var(--ck-color-resizer-tooltip-text);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);font-size:var(--ck-font-size-tiny);display:block;padding:var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{top:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{top:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-width:var(--ck-widget-outline-thickness);outline-style:solid;outline-color:transparent;transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;background-color:var(--ck-color-widget-editable-focus-background)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{padding:4px;box-sizing:border-box;background-color:transparent;opacity:0;transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;transform:translateY(-100%);left:calc(0px - var(--ck-widget-outline-thickness))}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{width:var(--ck-widget-handler-icon-size);height:var(--ck-widget-handler-icon-size);color:var(--ck-color-widget-drag-handler-icon-color)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-focus-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}\"},function(t,e,n){var i=n(1);var o=n(55);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view>.ck.ck-label{width:100%;text-overflow:ellipsis;overflow:hidden}\"},function(t,e,n){var i=n(1);var o=n(57);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-input-text-width:18em}.ck.ck-input-text{border-radius:0}.ck-rounded-corners .ck.ck-input-text,.ck.ck-input-text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-text{box-shadow:var(--ck-inner-shadow),0 0;background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);min-width:var(--ck-input-text-width);min-height:var(--ck-ui-component-min-height);transition:box-shadow .2s ease-in-out,border .2s ease-in-out}.ck.ck-input-text:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),var(--ck-inner-shadow)}.ck.ck-input-text[readonly]{border:1px solid var(--ck-color-input-disabled-border);background:var(--ck-color-input-disabled-background);color:var(--ck-color-input-disabled-text)}.ck.ck-input-text[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),var(--ck-inner-shadow)}.ck.ck-input-text.ck-error{border-color:var(--ck-color-input-error-border);animation:ck-text-input-shake .3s ease both}.ck.ck-input-text.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),var(--ck-inner-shadow)}@keyframes ck-text-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}\"},function(t,e,n){var i=n(1);var o=n(59);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}.ck.ck-text-alternative-form{padding:var(--ck-spacing-standard)}.ck.ck-text-alternative-form:focus{outline:none}[dir=ltr] .ck.ck-text-alternative-form>:not(:first-child),[dir=rtl] .ck.ck-text-alternative-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-text-alternative-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-text-alternative-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-text-alternative-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-text-alternative-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-text-alternative-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-text-alternative-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-text-alternative-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-text-alternative-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(61);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-balloon-rotator__navigation{display:flex;align-items:center;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-small)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}\"},function(t,e,n){var i=n(1);var o=n(63);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);width:100%;height:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}\"},function(t,e,n){var i=n(1);var o=n(65);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image{display:table;clear:both;text-align:center;margin:1em auto}.ck-content .image>img{display:block;margin:0 auto;max-width:100%;min-width:50px}\"},function(t,e,n){var i=n(1);var o=n(67);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:#333;background-color:#f7f7f7;padding:.6em;font-size:.75em;outline-offset:-1px}\"},function(t,e,n){var i=n(1);var o=n(69);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;position:absolute;pointer-events:none;left:0;top:0;outline:1px solid var(--ck-color-resizer)}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{position:absolute;pointer-events:all;width:var(--ck-resizer-size);height:var(--ck-resizer-size);background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{top:var(--ck-resizer-offset);left:var(--ck-resizer-offset);cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{top:var(--ck-resizer-offset);right:var(--ck-resizer-offset);cursor:nesw-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset);cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset);cursor:nesw-resize}\"},function(t,e,n){var i=n(1);var o=n(71);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .image.image_resized{max-width:100%;display:block;box-sizing:border-box}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}\"},function(t,e,n){var i=n(1);var o=n(73);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-image-style-spacing:1.5em}.ck-content .image-style-align-center,.ck-content .image-style-align-left,.ck-content .image-style-align-right,.ck-content .image-style-side{max-width:50%}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}\"},function(t,e,n){var i=n(1);var o=n(75);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-editor__editable .image{position:relative}.ck.ck-editor__editable .image .ck-progress-bar{position:absolute;top:0;left:0}.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar{height:2px;width:0;background:var(--ck-color-upload-bar-background);transition:width .1s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\"},function(t,e,n){var i=n(1);var o=n(77);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck-image-upload-complete-icon{display:block;position:absolute;top:10px;right:10px;border-radius:50%}.ck-image-upload-complete-icon:after{content:\"\";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20px;--ck-image-upload-icon-width:2px}.ck-image-upload-complete-icon{width:var(--ck-image-upload-icon-size);height:var(--ck-image-upload-icon-size);opacity:0;background:var(--ck-color-image-upload-icon-background);animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;animation-fill-mode:forwards,forwards;animation-duration:.5s,.5s;font-size:var(--ck-image-upload-icon-size);animation-delay:0ms,3s}.ck-image-upload-complete-icon:after{left:25%;top:50%;opacity:0;height:0;width:0;transform:scaleX(-1) rotate(135deg);transform-origin:left top;border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);animation-name:ck-upload-complete-icon-check;animation-duration:.5s;animation-delay:.5s;animation-fill-mode:forwards;box-sizing:border-box}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{opacity:1;width:0;height:0}33%{width:.3em;height:0}to{opacity:1;width:.3em;height:.45em}}'},function(t,e,n){var i=n(1);var o=n(79);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck .ck-upload-placeholder-loader{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0}.ck .ck-upload-placeholder-loader:before{content:\"\";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px}.ck .ck-image-upload-placeholder{width:100%;margin:0}.ck .ck-upload-placeholder-loader{width:100%;height:100%}.ck .ck-upload-placeholder-loader:before{width:var(--ck-upload-placeholder-loader-size);height:var(--ck-upload-placeholder-loader-size);border-radius:50%;border-top:3px solid var(--ck-color-upload-placeholder-loader);border-right:2px solid transparent;animation:ck-upload-placeholder-loader 1s linear infinite}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}'},function(t,e,n){var i=n(1);var o=n(81);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}\"},function(t,e,n){var i=n(1);var o=n(83);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form{padding:var(--ck-spacing-standard)}.ck.ck-link-form:focus{outline:none}[dir=ltr] .ck.ck-link-form>:not(:first-child),[dir=rtl] .ck.ck-link-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-link-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-link-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}.ck.ck-link-form_layout-vertical{padding:0;min-width:var(--ck-input-text-width)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical .ck-button{padding:var(--ck-spacing-standard);margin:0;border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border);width:50%}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin-left:0}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}\"},function(t,e,n){var i=n(1);var o=n(85);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions{padding:var(--ck-spacing-standard)}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{padding:0 var(--ck-spacing-medium);color:var(--ck-color-link-default);text-overflow:ellipsis;cursor:pointer;max-width:var(--ck-input-text-width);min-width:3em;text-align:center}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}.ck.ck-link-actions:focus{outline:none}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{min-width:0;max-width:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(87);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports='.ck-media__wrapper .ck-media__placeholder{display:flex;flex-direction:column;align-items:center}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:block}@media (hover:none){.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:none}}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip{visibility:visible;opacity:1}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{overflow:hidden;display:block}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{padding:calc(3*var(--ck-spacing-standard));background:var(--ck-color-base-foreground)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{min-width:var(--ck-media-embed-placeholder-icon-size);height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);background-position:50%;background-size:cover}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{width:100%;height:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);white-space:nowrap;text-align:center;font-style:italic;text-overflow:ellipsis}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*=\"open.spotify.com\"]{max-width:300px;max-height:380px}.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMDAzLjc4IDEuNjFoNDkuNjIxYzEuNjk0IDAgMy4xOS0uNzk4IDQuMTQ2LTIuMDM3eiIgZmlsbD0iIzVjODhjNSIvPjxwYXRoIGQ9Ik0yMjYuNzQyIDIyMi45ODhjLTkuMjY2IDAtMTYuNzc3IDcuMTctMTYuNzc3IDE2LjAxNC4wMDcgMi43NjIuNjYzIDUuNDc0IDIuMDkzIDcuODc1LjQzLjcwMy44MyAxLjQwOCAxLjE5IDIuMTA3LjMzMy41MDIuNjUgMS4wMDUuOTUgMS41MDguMzQzLjQ3Ny42NzMuOTU3Ljk4OCAxLjQ0IDEuMzEgMS43NjkgMi41IDMuNTAyIDMuNjM3IDUuMTY4Ljc5MyAxLjI3NSAxLjY4MyAyLjY0IDIuNDY2IDMuOTkgMi4zNjMgNC4wOTQgNC4wMDcgOC4wOTIgNC42IDEzLjkxNHYuMDEyYy4xODIuNDEyLjUxNi42NjYuODc5LjY2Ny40MDMtLjAwMS43NjgtLjMxNC45My0uNzk5LjYwMy01Ljc1NiAyLjIzOC05LjcyOSA0LjU4NS0xMy43OTQuNzgyLTEuMzUgMS42NzMtMi43MTUgMi40NjUtMy45OSAxLjEzNy0xLjY2NiAyLjMyOC0zLjQgMy42MzgtNS4xNjkuMzE1LS40ODIuNjQ1LS45NjIuOTg4LTEuNDM5LjMtLjUwMy42MTctMS4wMDYuOTUtMS41MDguMzU5LS43Ljc2LTEuNDA0IDEuMTktMi4xMDcgMS40MjYtMi40MDIgMi01LjExNCAyLjAwNC03Ljg3NSAwLTguODQ0LTcuNTExLTE2LjAxNC0xNi43NzYtMTYuMDE0eiIgZmlsbD0iI2RkNGIzZSIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48ZWxsaXBzZSByeT0iNS41NjQiIHJ4PSI1LjgyOCIgY3k9IjIzOS4wMDIiIGN4PSIyMjYuNzQyIiBmaWxsPSIjODAyZDI3IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0xOTAuMzAxIDIzNy4yODNjLTQuNjcgMC04LjQ1NyAzLjg1My04LjQ1NyA4LjYwNnMzLjc4NiA4LjYwNyA4LjQ1NyA4LjYwN2MzLjA0MyAwIDQuODA2LS45NTggNi4zMzctMi41MTYgMS41My0xLjU1NyAyLjA4Ny0zLjkxMyAyLjA4Ny02LjI5IDAtLjM2Mi0uMDIzLS43MjItLjA2NC0xLjA3OWgtOC4yNTd2My4wNDNoNC44NWMtLjE5Ny43NTktLjUzMSAxLjQ1LTEuMDU4IDEuOTg2LS45NDIuOTU4LTIuMDI4IDEuNTQ4LTMuOTAxIDEuNTQ4LTIuODc2IDAtNS4yMDgtMi4zNzItNS4yMDgtNS4yOTkgMC0yLjkyNiAyLjMzMi01LjI5OSA1LjIwOC01LjI5OSAxLjM5OSAwIDIuNjE4LjQwNyAzLjU4NCAxLjI5M2wyLjM4MS0yLjM4YzAtLjAwMi0uMDAzLS4wMDQtLjAwNC0uMDA1LTEuNTg4LTEuNTI0LTMuNjItMi4yMTUtNS45NTUtMi4yMTV6bTQuNDMgNS42NmwuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxNS4xODQgMjUxLjkyOWwtNy45OCA3Ljk3OSAyOC40NzcgMjguNDc1YTUuMjMzIDUuMjMzIDAgMDAuNDQ5LTIuMTIzdi0zMS4xNjVjLS40NjkuNjc1LS45MzQgMS4zNDktMS4zODIgMi4wMDUtLjc5MiAxLjI3NS0xLjY4MiAyLjY0LTIuNDY1IDMuOTktMi4zNDcgNC4wNjUtMy45ODIgOC4wMzgtNC41ODUgMTMuNzk0LS4xNjIuNDg1LS41MjcuNzk4LS45My43OTktLjM2My0uMDAxLS42OTctLjI1NS0uODc5LS42Njd2LS4wMTJjLS41OTMtNS44MjItMi4yMzctOS44Mi00LjYtMTMuOTE0LS43ODMtMS4zNS0xLjY3My0yLjcxNS0yLjQ2Ni0zLjk5LTEuMTM3LTEuNjY2LTIuMzI3LTMuNC0zLjYzNy01LjE2OWwtLjAwMi0uMDAzeiIgZmlsbD0iI2MzYzNjMyIvPjxwYXRoIGQ9Ik0yMTIuOTgzIDI0OC40OTVsLTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAwNS4yMzggNS4yMzhoMS4wMTVsMzUuNjY2LTM1LjY2NmExMzYuMjc1IDEzNi4yNzUgMCAwMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAwLS45ODktMS40NCAzNS4xMjcgMzUuMTI3IDAgMDAtLjk1LTEuNTA4Yy0uMDgzLS4xNjItLjE3Ni0uMzI2LS4yNjQtLjQ4OXoiIGZpbGw9IiNmZGRjNGYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxMS45OTggMjYxLjA4M2wtNi4xNTIgNi4xNTEgMjQuMjY0IDI0LjI2NGguNzgxYTUuMjI3IDUuMjI3IDAgMDA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OXptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OXoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzN6bTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1ek00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIGZpbGw9IiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}'},function(t,e,n){var i=n(1);var o=n(89);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-media-form{display:flex;align-items:flex-start;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}.ck.ck-media-form{padding:var(--ck-spacing-standard)}.ck.ck-media-form:focus{outline:none}[dir=ltr] .ck.ck-media-form>:not(:first-child),[dir=rtl] .ck.ck-media-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-media-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-media-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-media-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-media-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-media-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-media-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-media-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-media-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-media-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}\"},function(t,e,n){var i=n(1);var o=n(91);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .media{clear:both;margin:1em 0;display:block;min-width:15em}\"},function(t,e,n){var i=n(1);var o=n(93);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\":root{--ck-color-table-focused-cell-background:rgba(158,207,250,0.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}\"},function(t,e,n){var i=n(1);var o=n(95);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button .ck-tooltip{display:none}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-right-radius:unset;border-bottom-right-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-left-radius:unset;border-bottom-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-radius:0}.ck-rounded-corners [dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow,[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:unset;border-bottom-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-right-radius:unset;border-bottom-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-left-color:var(--ck-color-split-button-hover-border)}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-right-color:var(--ck-color-split-button-hover-border)}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}\"},function(t,e,n){var i=n(1);var o=n(97);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2);padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{width:var(--ck-insert-table-dropdown-box-width);height:var(--ck-insert-table-dropdown-box-height);margin:var(--ck-insert-table-dropdown-box-margin);border:1px solid var(--ck-color-base-border);border-radius:1px}.ck .ck-insert-table-dropdown-grid-box.ck-on{border-color:var(--ck-color-focus-border);background:var(--ck-color-focus-outer-shadow)}\"},function(t,e,n){var i=n(1);var o=n(99);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-table-selected-cell-background:rgba(158,207,250,0.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{position:relative;caret-color:transparent;outline:unset;box-shadow:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{content:\"\";pointer-events:none;background-color:var(--ck-table-selected-cell-background);position:absolute;top:0;left:0;right:0;bottom:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget_selected{outline:unset}'},function(t,e,n){var i=n(1);var o=n(101);o=o.__esModule?o.default:o;if(typeof o===\"string\"){o=[[t.i,o,\"\"]]}var s={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};s.insert=\"head\";s.singleton=true;var r=i(o,s);t.exports=o.locals||{}},function(t,e){t.exports=\".ck-content .table{margin:1em auto;display:table}.ck-content .table table{border-collapse:collapse;border-spacing:0;width:100%;height:100%;border:1px double #b3b3b3}.ck-content .table table td,.ck-content .table table th{min-width:2em;padding:.4em;border:1px solid #bfbfbf}.ck-content .table table th{font-weight:700;background:hsla(0,0%,0%,5%)}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}\"},function(t,e,n){\"use strict\";n.r(e);var i=n(3);var o=i[\"a\"].Symbol;var s=o;var r=Object.prototype;var a=r.hasOwnProperty;var c=r.toString;var l=s?s.toStringTag:undefined;function d(t){var e=a.call(t,l),n=t[l];try{t[l]=undefined;var i=true}catch(t){}var o=c.call(t);if(i){if(e){t[l]=n}else{delete t[l]}}return o}var u=d;var h=Object.prototype;var f=h.toString;function g(t){return f.call(t)}var m=g;var p=\"[object Null]\",b=\"[object Undefined]\";var w=s?s.toStringTag:undefined;function _(t){if(t==null){return t===undefined?b:p}return w&&w in Object(t)?u(t):m(t)}var k=_;function v(t,e){return function(n){return t(e(n))}}var y=v;var x=y(Object.getPrototypeOf,Object);var A=x;function T(t){return t!=null&&typeof t==\"object\"}var C=T;var S=\"[object Object]\";var P=Function.prototype,E=Object.prototype;var M=P.toString;var I=E.hasOwnProperty;var N=M.call(Object);function O(t){if(!C(t)||k(t)!=S){return false}var e=A(t);if(e===null){return true}var n=I.call(e,\"constructor\")&&e.constructor;return typeof n==\"function\"&&n instanceof n&&M.call(n)==N}var R=O;function D(){this.__data__=[];this.size=0}var L=D;function z(t,e){return t===e||t!==t&&e!==e}var V=z;function j(t,e){var n=t.length;while(n--){if(V(t[n][0],e)){return n}}return-1}var B=j;var F=Array.prototype;var H=F.splice;function U(t){var e=this.__data__,n=B(e,t);if(n<0){return false}var i=e.length-1;if(n==i){e.pop()}else{H.call(e,n,1)}--this.size;return true}var W=U;function q(t){var e=this.__data__,n=B(e,t);return n<0?undefined:e[n][1]}var $=q;function Y(t){return B(this.__data__,t)>-1}var G=Y;function Q(t,e){var n=this.__data__,i=B(n,t);if(i<0){++this.size;n.push([t,e])}else{n[i][1]=e}return this}var K=Q;function J(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}J.prototype.clear=L;J.prototype[\"delete\"]=W;J.prototype.get=$;J.prototype.has=G;J.prototype.set=K;var Z=J;function X(){this.__data__=new Z;this.size=0}var tt=X;function et(t){var e=this.__data__,n=e[\"delete\"](t);this.size=e.size;return n}var nt=et;function it(t){return this.__data__.get(t)}var ot=it;function st(t){return this.__data__.has(t)}var rt=st;function at(t){var e=typeof t;return t!=null&&(e==\"object\"||e==\"function\")}var ct=at;var lt=\"[object AsyncFunction]\",dt=\"[object Function]\",ut=\"[object GeneratorFunction]\",ht=\"[object Proxy]\";function ft(t){if(!ct(t)){return false}var e=k(t);return e==dt||e==ut||e==lt||e==ht}var gt=ft;var mt=i[\"a\"][\"__core-js_shared__\"];var pt=mt;var bt=function(){var t=/[^.]+$/.exec(pt&&pt.keys&&pt.keys.IE_PROTO||\"\");return t?\"Symbol(src)_1.\"+t:\"\"}();function wt(t){return!!bt&&bt in t}var _t=wt;var kt=Function.prototype;var vt=kt.toString;function yt(t){if(t!=null){try{return vt.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}var xt=yt;var At=/[\\\\^$.*+?()[\\]{}|]/g;var Tt=/^\\[object .+?Constructor\\]$/;var Ct=Function.prototype,St=Object.prototype;var Pt=Ct.toString;var Et=St.hasOwnProperty;var Mt=RegExp(\"^\"+Pt.call(Et).replace(At,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");function It(t){if(!ct(t)||_t(t)){return false}var e=gt(t)?Mt:Tt;return e.test(xt(t))}var Nt=It;function Ot(t,e){return t==null?undefined:t[e]}var Rt=Ot;function Dt(t,e){var n=Rt(t,e);return Nt(n)?n:undefined}var Lt=Dt;var zt=Lt(i[\"a\"],\"Map\");var Vt=zt;var jt=Lt(Object,\"create\");var Bt=jt;function Ft(){this.__data__=Bt?Bt(null):{};this.size=0}var Ht=Ft;function Ut(t){var e=this.has(t)&&delete this.__data__[t];this.size-=e?1:0;return e}var Wt=Ut;var qt=\"__lodash_hash_undefined__\";var $t=Object.prototype;var Yt=$t.hasOwnProperty;function Gt(t){var e=this.__data__;if(Bt){var n=e[t];return n===qt?undefined:n}return Yt.call(e,t)?e[t]:undefined}var Qt=Gt;var Kt=Object.prototype;var Jt=Kt.hasOwnProperty;function Zt(t){var e=this.__data__;return Bt?e[t]!==undefined:Jt.call(e,t)}var Xt=Zt;var te=\"__lodash_hash_undefined__\";function ee(t,e){var n=this.__data__;this.size+=this.has(t)?0:1;n[t]=Bt&&e===undefined?te:e;return this}var ne=ee;function ie(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}ie.prototype.clear=Ht;ie.prototype[\"delete\"]=Wt;ie.prototype.get=Qt;ie.prototype.has=Xt;ie.prototype.set=ne;var oe=ie;function se(){this.size=0;this.__data__={hash:new oe,map:new(Vt||Z),string:new oe}}var re=se;function ae(t){var e=typeof t;return e==\"string\"||e==\"number\"||e==\"symbol\"||e==\"boolean\"?t!==\"__proto__\":t===null}var ce=ae;function le(t,e){var n=t.__data__;return ce(e)?n[typeof e==\"string\"?\"string\":\"hash\"]:n.map}var de=le;function ue(t){var e=de(this,t)[\"delete\"](t);this.size-=e?1:0;return e}var he=ue;function fe(t){return de(this,t).get(t)}var ge=fe;function me(t){return de(this,t).has(t)}var pe=me;function be(t,e){var n=de(this,t),i=n.size;n.set(t,e);this.size+=n.size==i?0:1;return this}var we=be;function _e(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}_e.prototype.clear=re;_e.prototype[\"delete\"]=he;_e.prototype.get=ge;_e.prototype.has=pe;_e.prototype.set=we;var ke=_e;var ve=200;function ye(t,e){var n=this.__data__;if(n instanceof Z){var i=n.__data__;if(!Vt||i.length<ve-1){i.push([t,e]);this.size=++n.size;return this}n=this.__data__=new ke(i)}n.set(t,e);this.size=n.size;return this}var xe=ye;function Ae(t){var e=this.__data__=new Z(t);this.size=e.size}Ae.prototype.clear=tt;Ae.prototype[\"delete\"]=nt;Ae.prototype.get=ot;Ae.prototype.has=rt;Ae.prototype.set=xe;var Te=Ae;function Ce(t,e){var n=-1,i=t==null?0:t.length;while(++n<i){if(e(t[n],n,t)===false){break}}return t}var Se=Ce;var Pe=function(){try{var t=Lt(Object,\"defineProperty\");t({},\"\",{});return t}catch(t){}}();var Ee=Pe;function Me(t,e,n){if(e==\"__proto__\"&&Ee){Ee(t,e,{configurable:true,enumerable:true,value:n,writable:true})}else{t[e]=n}}var Ie=Me;var Ne=Object.prototype;var Oe=Ne.hasOwnProperty;function Re(t,e,n){var i=t[e];if(!(Oe.call(t,e)&&V(i,n))||n===undefined&&!(e in t)){Ie(t,e,n)}}var De=Re;function Le(t,e,n,i){var o=!n;n||(n={});var s=-1,r=e.length;while(++s<r){var a=e[s];var c=i?i(n[a],t[a],a,n,t):undefined;if(c===undefined){c=t[a]}if(o){Ie(n,a,c)}else{De(n,a,c)}}return n}var ze=Le;function Ve(t,e){var n=-1,i=Array(t);while(++n<t){i[n]=e(n)}return i}var je=Ve;var Be=\"[object Arguments]\";function Fe(t){return C(t)&&k(t)==Be}var He=Fe;var Ue=Object.prototype;var We=Ue.hasOwnProperty;var qe=Ue.propertyIsEnumerable;var $e=He(function(){return arguments}())?He:function(t){return C(t)&&We.call(t,\"callee\")&&!qe.call(t,\"callee\")};var Ye=$e;var Ge=Array.isArray;var Qe=Ge;var Ke=n(4);var Je=9007199254740991;var Ze=/^(?:0|[1-9]\\d*)$/;function Xe(t,e){var n=typeof t;e=e==null?Je:e;return!!e&&(n==\"number\"||n!=\"symbol\"&&Ze.test(t))&&(t>-1&&t%1==0&&t<e)}var tn=Xe;var en=9007199254740991;function nn(t){return typeof t==\"number\"&&t>-1&&t%1==0&&t<=en}var on=nn;var sn=\"[object Arguments]\",rn=\"[object Array]\",an=\"[object Boolean]\",cn=\"[object Date]\",ln=\"[object Error]\",dn=\"[object Function]\",un=\"[object Map]\",hn=\"[object Number]\",fn=\"[object Object]\",gn=\"[object RegExp]\",mn=\"[object Set]\",pn=\"[object String]\",bn=\"[object WeakMap]\";var wn=\"[object ArrayBuffer]\",_n=\"[object DataView]\",kn=\"[object Float32Array]\",vn=\"[object Float64Array]\",yn=\"[object Int8Array]\",xn=\"[object Int16Array]\",An=\"[object Int32Array]\",Tn=\"[object Uint8Array]\",Cn=\"[object Uint8ClampedArray]\",Sn=\"[object Uint16Array]\",Pn=\"[object Uint32Array]\";var En={};En[kn]=En[vn]=En[yn]=En[xn]=En[An]=En[Tn]=En[Cn]=En[Sn]=En[Pn]=true;En[sn]=En[rn]=En[wn]=En[an]=En[_n]=En[cn]=En[ln]=En[dn]=En[un]=En[hn]=En[fn]=En[gn]=En[mn]=En[pn]=En[bn]=false;function Mn(t){return C(t)&&on(t.length)&&!!En[k(t)]}var In=Mn;function Nn(t){return function(e){return t(e)}}var On=Nn;var Rn=n(5);var Dn=Rn[\"a\"]&&Rn[\"a\"].isTypedArray;var Ln=Dn?On(Dn):In;var zn=Ln;var Vn=Object.prototype;var jn=Vn.hasOwnProperty;function Bn(t,e){var n=Qe(t),i=!n&&Ye(t),o=!n&&!i&&Object(Ke[\"a\"])(t),s=!n&&!i&&!o&&zn(t),r=n||i||o||s,a=r?je(t.length,String):[],c=a.length;for(var l in t){if((e||jn.call(t,l))&&!(r&&(l==\"length\"||o&&(l==\"offset\"||l==\"parent\")||s&&(l==\"buffer\"||l==\"byteLength\"||l==\"byteOffset\")||tn(l,c)))){a.push(l)}}return a}var Fn=Bn;var Hn=Object.prototype;function Un(t){var e=t&&t.constructor,n=typeof e==\"function\"&&e.prototype||Hn;return t===n}var Wn=Un;var qn=y(Object.keys,Object);var $n=qn;var Yn=Object.prototype;var Gn=Yn.hasOwnProperty;function Qn(t){if(!Wn(t)){return $n(t)}var e=[];for(var n in Object(t)){if(Gn.call(t,n)&&n!=\"constructor\"){e.push(n)}}return e}var Kn=Qn;function Jn(t){return t!=null&&on(t.length)&&!gt(t)}var Zn=Jn;function Xn(t){return Zn(t)?Fn(t):Kn(t)}var ti=Xn;function ei(t,e){return t&&ze(e,ti(e),t)}var ni=ei;function ii(t){var e=[];if(t!=null){for(var n in Object(t)){e.push(n)}}return e}var oi=ii;var si=Object.prototype;var ri=si.hasOwnProperty;function ai(t){if(!ct(t)){return oi(t)}var e=Wn(t),n=[];for(var i in t){if(!(i==\"constructor\"&&(e||!ri.call(t,i)))){n.push(i)}}return n}var ci=ai;function li(t){return Zn(t)?Fn(t,true):ci(t)}var di=li;function ui(t,e){return t&&ze(e,di(e),t)}var hi=ui;var fi=n(8);function gi(t,e){var n=-1,i=t.length;e||(e=Array(i));while(++n<i){e[n]=t[n]}return e}var mi=gi;function pi(t,e){var n=-1,i=t==null?0:t.length,o=0,s=[];while(++n<i){var r=t[n];if(e(r,n,t)){s[o++]=r}}return s}var bi=pi;function wi(){return[]}var _i=wi;var ki=Object.prototype;var vi=ki.propertyIsEnumerable;var yi=Object.getOwnPropertySymbols;var xi=!yi?_i:function(t){if(t==null){return[]}t=Object(t);return bi(yi(t),(function(e){return vi.call(t,e)}))};var Ai=xi;function Ti(t,e){return ze(t,Ai(t),e)}var Ci=Ti;function Si(t,e){var n=-1,i=e.length,o=t.length;while(++n<i){t[o+n]=e[n]}return t}var Pi=Si;var Ei=Object.getOwnPropertySymbols;var Mi=!Ei?_i:function(t){var e=[];while(t){Pi(e,Ai(t));t=A(t)}return e};var Ii=Mi;function Ni(t,e){return ze(t,Ii(t),e)}var Oi=Ni;function Ri(t,e,n){var i=e(t);return Qe(t)?i:Pi(i,n(t))}var Di=Ri;function Li(t){return Di(t,ti,Ai)}var zi=Li;function Vi(t){return Di(t,di,Ii)}var ji=Vi;var Bi=Lt(i[\"a\"],\"DataView\");var Fi=Bi;var Hi=Lt(i[\"a\"],\"Promise\");var Ui=Hi;var Wi=Lt(i[\"a\"],\"Set\");var qi=Wi;var $i=Lt(i[\"a\"],\"WeakMap\");var Yi=$i;var Gi=\"[object Map]\",Qi=\"[object Object]\",Ki=\"[object Promise]\",Ji=\"[object Set]\",Zi=\"[object WeakMap]\";var Xi=\"[object DataView]\";var to=xt(Fi),eo=xt(Vt),no=xt(Ui),io=xt(qi),oo=xt(Yi);var so=k;if(Fi&&so(new Fi(new ArrayBuffer(1)))!=Xi||Vt&&so(new Vt)!=Gi||Ui&&so(Ui.resolve())!=Ki||qi&&so(new qi)!=Ji||Yi&&so(new Yi)!=Zi){so=function(t){var e=k(t),n=e==Qi?t.constructor:undefined,i=n?xt(n):\"\";if(i){switch(i){case to:return Xi;case eo:return Gi;case no:return Ki;case io:return Ji;case oo:return Zi}}return e}}var ro=so;var ao=Object.prototype;var co=ao.hasOwnProperty;function lo(t){var e=t.length,n=new t.constructor(e);if(e&&typeof t[0]==\"string\"&&co.call(t,\"index\")){n.index=t.index;n.input=t.input}return n}var uo=lo;var ho=i[\"a\"].Uint8Array;var fo=ho;function go(t){var e=new t.constructor(t.byteLength);new fo(e).set(new fo(t));return e}var mo=go;function po(t,e){var n=e?mo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var bo=po;var wo=/\\w*$/;function _o(t){var e=new t.constructor(t.source,wo.exec(t));e.lastIndex=t.lastIndex;return e}var ko=_o;var vo=s?s.prototype:undefined,yo=vo?vo.valueOf:undefined;function xo(t){return yo?Object(yo.call(t)):{}}var Ao=xo;function To(t,e){var n=e?mo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var Co=To;var So=\"[object Boolean]\",Po=\"[object Date]\",Eo=\"[object Map]\",Mo=\"[object Number]\",Io=\"[object RegExp]\",No=\"[object Set]\",Oo=\"[object String]\",Ro=\"[object Symbol]\";var Do=\"[object ArrayBuffer]\",Lo=\"[object DataView]\",zo=\"[object Float32Array]\",Vo=\"[object Float64Array]\",jo=\"[object Int8Array]\",Bo=\"[object Int16Array]\",Fo=\"[object Int32Array]\",Ho=\"[object Uint8Array]\",Uo=\"[object Uint8ClampedArray]\",Wo=\"[object Uint16Array]\",qo=\"[object Uint32Array]\";function $o(t,e,n){var i=t.constructor;switch(e){case Do:return mo(t);case So:case Po:return new i(+t);case Lo:return bo(t,n);case zo:case Vo:case jo:case Bo:case Fo:case Ho:case Uo:case Wo:case qo:return Co(t,n);case Eo:return new i;case Mo:case Oo:return new i(t);case Io:return ko(t);case No:return new i;case Ro:return Ao(t)}}var Yo=$o;var Go=Object.create;var Qo=function(){function t(){}return function(e){if(!ct(e)){return{}}if(Go){return Go(e)}t.prototype=e;var n=new t;t.prototype=undefined;return n}}();var Ko=Qo;function Jo(t){return typeof t.constructor==\"function\"&&!Wn(t)?Ko(A(t)):{}}var Zo=Jo;var Xo=\"[object Map]\";function ts(t){return C(t)&&ro(t)==Xo}var es=ts;var ns=Rn[\"a\"]&&Rn[\"a\"].isMap;var is=ns?On(ns):es;var os=is;var ss=\"[object Set]\";function rs(t){return C(t)&&ro(t)==ss}var as=rs;var cs=Rn[\"a\"]&&Rn[\"a\"].isSet;var ls=cs?On(cs):as;var ds=ls;var us=1,hs=2,fs=4;var gs=\"[object Arguments]\",ms=\"[object Array]\",ps=\"[object Boolean]\",bs=\"[object Date]\",ws=\"[object Error]\",_s=\"[object Function]\",ks=\"[object GeneratorFunction]\",vs=\"[object Map]\",ys=\"[object Number]\",xs=\"[object Object]\",As=\"[object RegExp]\",Ts=\"[object Set]\",Cs=\"[object String]\",Ss=\"[object Symbol]\",Ps=\"[object WeakMap]\";var Es=\"[object ArrayBuffer]\",Ms=\"[object DataView]\",Is=\"[object Float32Array]\",Ns=\"[object Float64Array]\",Os=\"[object Int8Array]\",Rs=\"[object Int16Array]\",Ds=\"[object Int32Array]\",Ls=\"[object Uint8Array]\",zs=\"[object Uint8ClampedArray]\",Vs=\"[object Uint16Array]\",js=\"[object Uint32Array]\";var Bs={};Bs[gs]=Bs[ms]=Bs[Es]=Bs[Ms]=Bs[ps]=Bs[bs]=Bs[Is]=Bs[Ns]=Bs[Os]=Bs[Rs]=Bs[Ds]=Bs[vs]=Bs[ys]=Bs[xs]=Bs[As]=Bs[Ts]=Bs[Cs]=Bs[Ss]=Bs[Ls]=Bs[zs]=Bs[Vs]=Bs[js]=true;Bs[ws]=Bs[_s]=Bs[Ps]=false;function Fs(t,e,n,i,o,s){var r,a=e&us,c=e&hs,l=e&fs;if(n){r=o?n(t,i,o,s):n(t)}if(r!==undefined){return r}if(!ct(t)){return t}var d=Qe(t);if(d){r=uo(t);if(!a){return mi(t,r)}}else{var u=ro(t),h=u==_s||u==ks;if(Object(Ke[\"a\"])(t)){return Object(fi[\"a\"])(t,a)}if(u==xs||u==gs||h&&!o){r=c||h?{}:Zo(t);if(!a){return c?Oi(t,hi(r,t)):Ci(t,ni(r,t))}}else{if(!Bs[u]){return o?t:{}}r=Yo(t,u,a)}}s||(s=new Te);var f=s.get(t);if(f){return f}s.set(t,r);if(ds(t)){t.forEach((function(i){r.add(Fs(i,e,n,i,t,s))}))}else if(os(t)){t.forEach((function(i,o){r.set(o,Fs(i,e,n,o,t,s))}))}var g=l?c?ji:zi:c?keysIn:ti;var m=d?undefined:g(t);Se(m||t,(function(i,o){if(m){o=i;i=t[o]}De(r,o,Fs(i,e,n,o,t,s))}));return r}var Hs=Fs;var Us=1,Ws=4;function qs(t,e){e=typeof e==\"function\"?e:undefined;return Hs(t,Us|Ws,e)}var $s=qs;function Ys(t){return C(t)&&t.nodeType===1&&!R(t)}var Gs=Ys;class Qs{constructor(t,e){this._config={};if(e){this.define(Ks(e))}if(t){this._setObjectToTarget(this._config,t)}}set(t,e){this._setToTarget(this._config,t,e)}define(t,e){const n=true;this._setToTarget(this._config,t,e,n)}get(t){return this._getFromSource(this._config,t)}*names(){for(const t of Object.keys(this._config)){yield t}}_setToTarget(t,e,n,i=false){if(R(e)){this._setObjectToTarget(t,e,i);return}const o=e.split(\".\");e=o.pop();for(const e of o){if(!R(t[e])){t[e]={}}t=t[e]}if(R(n)){if(!R(t[e])){t[e]={}}t=t[e];this._setObjectToTarget(t,n,i);return}if(i&&typeof t[e]!=\"undefined\"){return}t[e]=n}_getFromSource(t,e){const n=e.split(\".\");e=n.pop();for(const e of n){if(!R(t[e])){t=null;break}t=t[e]}return t?Ks(t[e]):undefined}_setObjectToTarget(t,e,n){Object.keys(e).forEach(i=>{this._setToTarget(t,i,e[i],n)})}}function Ks(t){return $s(t,Js)}function Js(t){return Gs(t)?t:undefined}function Zs(){return function t(){t.called=true}}var Xs=Zs;class tr{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=Xs();this.off=Xs()}}const er=new Array(256).fill().map((t,e)=>(\"0\"+e.toString(16)).slice(-2));function nr(){const t=Math.random()*4294967296>>>0;const e=Math.random()*4294967296>>>0;const n=Math.random()*4294967296>>>0;const i=Math.random()*4294967296>>>0;return\"e\"+er[t>>0&255]+er[t>>8&255]+er[t>>16&255]+er[t>>24&255]+er[e>>0&255]+er[e>>8&255]+er[e>>16&255]+er[e>>24&255]+er[n>>0&255]+er[n>>8&255]+er[n>>16&255]+er[n>>24&255]+er[i>>0&255]+er[i>>8&255]+er[i>>16&255]+er[i>>24&255]}const ir={get(t){if(typeof t!=\"number\"){return this[t]||this.normal}else{return t}},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};var or=ir;var sr=n(6);var rr=n(0);const ar=Symbol(\"listeningTo\");const cr=Symbol(\"emitterId\");const lr={on(t,e,n={}){this.listenTo(this,t,e,n)},once(t,e,n){let i=false;const o=function(t,...n){if(!i){i=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,o,n)},off(t,e){this.stopListening(this,t,e)},listenTo(t,e,n,i={}){let o,s;if(!this[ar]){this[ar]={}}const r=this[ar];if(!fr(t)){hr(t)}const a=fr(t);if(!(o=r[a])){o=r[a]={emitter:t,callbacks:{}}}if(!(s=o.callbacks[e])){s=o.callbacks[e]=[]}s.push(n);pr(t,e);const c=br(t,e);const l=or.get(i.priority);const d={callback:n,priority:l};for(const t of c){let e=false;for(let n=0;n<t.length;n++){if(t[n].priority<l){t.splice(n,0,d);e=true;break}}if(!e){t.push(d)}}},stopListening(t,e,n){const i=this[ar];let o=t&&fr(t);const s=i&&o&&i[o];const r=s&&e&&s.callbacks[e];if(!i||t&&!s||e&&!r){return}if(n){kr(t,e,n)}else if(r){while(n=r.pop()){kr(t,e,n)}delete s.callbacks[e]}else if(s){for(e in s.callbacks){this.stopListening(t,e)}delete i[o]}else{for(o in i){this.stopListening(i[o].emitter)}delete this[ar]}},fire(t,...e){try{const n=t instanceof tr?t:new tr(this,t);const i=n.name;let o=wr(this,i);n.path.push(this);if(o){const t=[n,...e];o=Array.from(o);for(let e=0;e<o.length;e++){o[e].callback.apply(this,t);if(n.off.called){delete n.off.called;kr(this,i,o[e].callback)}if(n.stop.called){break}}}if(this._delegations){const t=this._delegations.get(i);const o=this._delegations.get(\"*\");if(t){_r(t,n,e)}if(o){_r(o,n,e)}}return n.return}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}},delegate(...t){return{to:(e,n)=>{if(!this._delegations){this._delegations=new Map}t.forEach(t=>{const i=this._delegations.get(t);if(!i){this._delegations.set(t,new Map([[e,n]]))}else{i.set(e,n)}})}}},stopDelegating(t,e){if(!this._delegations){return}if(!t){this._delegations.clear()}else if(!e){this._delegations.delete(t)}else{const n=this._delegations.get(t);if(n){n.delete(e)}}}};var dr=lr;function ur(t,e){if(t[ar]&&t[ar][e]){return t[ar][e].emitter}return null}function hr(t,e){if(!t[cr]){t[cr]=e||nr()}}function fr(t){return t[cr]}function gr(t){if(!t._events){Object.defineProperty(t,\"_events\",{value:{}})}return t._events}function mr(){return{callbacks:[],childEvents:[]}}function pr(t,e){const n=gr(t);if(n[e]){return}let i=e;let o=null;const s=[];while(i!==\"\"){if(n[i]){break}n[i]=mr();s.push(n[i]);if(o){n[i].childEvents.push(o)}o=i;i=i.substr(0,i.lastIndexOf(\":\"))}if(i!==\"\"){for(const t of s){t.callbacks=n[i].callbacks.slice()}n[i].childEvents.push(o)}}function br(t,e){const n=gr(t)[e];if(!n){return[]}let i=[n.callbacks];for(let e=0;e<n.childEvents.length;e++){const o=br(t,n.childEvents[e]);i=i.concat(o)}return i}function wr(t,e){let n;if(!t._events||!(n=t._events[e])||!n.callbacks.length){if(e.indexOf(\":\")>-1){return wr(t,e.substr(0,e.lastIndexOf(\":\")))}else{return null}}return n.callbacks}function _r(t,e,n){for(let[i,o]of t){if(!o){o=e.name}else if(typeof o==\"function\"){o=o(e.name)}const t=new tr(e.source,o);t.path=[...e.path];i.fire(t,...n)}}function kr(t,e,n){const i=br(t,e);for(const t of i){for(let e=0;e<t.length;e++){if(t[e].callback==n){t.splice(e,1);e--}}}}function vr(t){return!!(t&&t[Symbol.iterator])}function yr(t,...e){e.forEach(e=>{Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)).forEach(n=>{if(n in t.prototype){return}const i=Object.getOwnPropertyDescriptor(e,n);i.enumerable=false;Object.defineProperty(t.prototype,n,i)})})}class xr{constructor(t={},e={}){const n=vr(t);if(!n){e=t}this._items=[];this._itemMap=new Map;this._idProperty=e.idProperty||\"id\";this._bindToExternalToInternalMap=new WeakMap;this._bindToInternalToExternalMap=new WeakMap;this._skippedIndexesFromExternal=[];if(n){for(const e of t){this._items.push(e);this._itemMap.set(this._getItemIdBeforeAdding(e),e)}}}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(t,e){const n=this._getItemIdBeforeAdding(t);if(e===undefined){e=this._items.length}else if(e>this._items.length||e<0){throw new rr[\"b\"](\"collection-add-item-invalid-index\",this)}this._items.splice(e,0,t);this._itemMap.set(n,t);this.fire(\"add\",t,e);return this}get(t){let e;if(typeof t==\"string\"){e=this._itemMap.get(t)}else if(typeof t==\"number\"){e=this._items[t]}else{throw new rr[\"b\"](\"collection-get-invalid-arg: Index or id must be given.\",this)}return e||null}has(t){if(typeof t==\"string\"){return this._itemMap.has(t)}else{const e=this._idProperty;const n=t[e];return this._itemMap.has(n)}}getIndex(t){let e;if(typeof t==\"string\"){e=this._itemMap.get(t)}else{e=t}return this._items.indexOf(e)}remove(t){let e,n,i;let o=false;const s=this._idProperty;if(typeof t==\"string\"){n=t;i=this._itemMap.get(n);o=!i;if(i){e=this._items.indexOf(i)}}else if(typeof t==\"number\"){e=t;i=this._items[e];o=!i;if(i){n=i[s]}}else{i=t;n=i[s];e=this._items.indexOf(i);o=e==-1||!this._itemMap.get(n)}if(o){throw new rr[\"b\"](\"collection-remove-404: Item not found.\",this)}this._items.splice(e,1);this._itemMap.delete(n);const r=this._bindToInternalToExternalMap.get(i);this._bindToInternalToExternalMap.delete(i);this._bindToExternalToInternalMap.delete(r);this.fire(\"remove\",i,e);return i}map(t,e){return this._items.map(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){if(this._bindToCollection){this.stopListening(this._bindToCollection);this._bindToCollection=null}while(this.length){this.remove(0)}}bindTo(t){if(this._bindToCollection){throw new rr[\"b\"](\"collection-bind-to-rebind: The collection cannot be bound more than once.\",this)}this._bindToCollection=t;return{as:t=>{this._setUpBindToBinding(e=>new t(e))},using:t=>{if(typeof t==\"function\"){this._setUpBindToBinding(e=>t(e))}else{this._setUpBindToBinding(e=>e[t])}}}}_setUpBindToBinding(t){const e=this._bindToCollection;const n=(n,i,o)=>{const s=e._bindToCollection==this;const r=e._bindToInternalToExternalMap.get(i);if(s&&r){this._bindToExternalToInternalMap.set(i,r);this._bindToInternalToExternalMap.set(r,i)}else{const n=t(i);if(!n){this._skippedIndexesFromExternal.push(o);return}let s=o;for(const t of this._skippedIndexesFromExternal){if(o>t){s--}}for(const t of e._skippedIndexesFromExternal){if(s>=t){s++}}this._bindToExternalToInternalMap.set(i,n);this._bindToInternalToExternalMap.set(n,i);this.add(n,s);for(let t=0;t<e._skippedIndexesFromExternal.length;t++){if(s<=e._skippedIndexesFromExternal[t]){e._skippedIndexesFromExternal[t]++}}}};for(const t of e){n(null,t,e.getIndex(t))}this.listenTo(e,\"add\",n);this.listenTo(e,\"remove\",(t,e,n)=>{const i=this._bindToExternalToInternalMap.get(e);if(i){this.remove(i)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((t,e)=>{if(n<e){t.push(e-1)}if(n>e){t.push(e)}return t},[])})}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){n=t[e];if(typeof n!=\"string\"){throw new rr[\"b\"](\"collection-add-invalid-id\",this)}if(this.get(n)){throw new rr[\"b\"](\"collection-add-item-already-exists\",this)}}else{t[e]=n=nr()}return n}[Symbol.iterator](){return this._items[Symbol.iterator]()}}yr(xr,dr);class Ar{constructor(t,e=[],n=[]){this._context=t;this._plugins=new Map;this._availablePlugins=new Map;for(const t of e){if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}this._contextPlugins=new Map;for(const[t,e]of n){this._contextPlugins.set(t,e);this._contextPlugins.set(e,t);if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}}*[Symbol.iterator](){for(const t of this._plugins){if(typeof t[0]==\"function\"){yield t}}}get(t){const e=this._plugins.get(t);if(!e){const e=\"plugincollection-plugin-not-loaded: The requested plugin is not loaded.\";let n=t;if(typeof t==\"function\"){n=t.pluginName||t.name}throw new rr[\"b\"](e,this._context,{plugin:n})}return e}has(t){return this._plugins.has(t)}init(t,e=[]){const n=this;const i=this._context;const o=new Set;const s=[];const r=g(t);const a=g(e);const c=f(t);if(c){const t=\"plugincollection-plugin-not-found: Some plugins are not available and could not be loaded.\";console.error(Object(rr[\"a\"])(t),{plugins:c});return Promise.reject(new rr[\"b\"](t,i,{plugins:c}))}return Promise.all(r.map(l)).then(()=>d(s,\"init\")).then(()=>d(s,\"afterInit\")).then(()=>s);function l(t){if(a.includes(t)){return}if(n._plugins.has(t)||o.has(t)){return}return u(t).catch(e=>{console.error(Object(rr[\"a\"])(\"plugincollection-load: It was not possible to load the plugin.\"),{plugin:t});throw e})}function d(t,e){return t.reduce((t,i)=>{if(!i[e]){return t}if(n._contextPlugins.has(i)){return t}return t.then(i[e].bind(i))},Promise.resolve())}function u(t){return new Promise(r=>{o.add(t);if(t.requires){t.requires.forEach(n=>{const o=h(n);if(t.isContextPlugin&&!o.isContextPlugin){throw new rr[\"b\"](\"plugincollection-context-required: Context plugin can not require plugin which is not a context plugin\",null,{plugin:o.name,requiredBy:t.name})}if(e.includes(o)){throw new rr[\"b\"](\"plugincollection-required: Cannot load a plugin because one of its dependencies is listed in\"+\"the `removePlugins` option.\",i,{plugin:o.name,requiredBy:t.name})}l(o)})}const a=n._contextPlugins.get(t)||new t(i);n._add(t,a);s.push(a);r()})}function h(t){if(typeof t==\"function\"){return t}return n._availablePlugins.get(t)}function f(t){const e=[];for(const n of t){if(!h(n)){e.push(n)}}return e.length?e:null}function g(t){return t.map(t=>h(t)).filter(t=>!!t)}}destroy(){const t=[];for(const[,e]of this){if(typeof e.destroy==\"function\"&&!this._contextPlugins.has(e)){t.push(e.destroy())}}return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(!n){return}if(this._plugins.has(n)){throw new rr[\"b\"](\"plugincollection-plugin-name-conflict: Two plugins with the same name were loaded.\",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}yr(Ar,dr);if(!window.CKEDITOR_TRANSLATIONS){window.CKEDITOR_TRANSLATIONS={}}function Tr(t,e,n){if(!window.CKEDITOR_TRANSLATIONS[t]){window.CKEDITOR_TRANSLATIONS[t]={}}const i=window.CKEDITOR_TRANSLATIONS[t];i.dictionary=i.dictionary||{};i.getPluralForm=n||i.getPluralForm;Object.assign(i.dictionary,e)}function Cr(t,e,n=1){if(typeof n!==\"number\"){throw new rr[\"b\"](\"translation-service-quantity-not-a-number: Expecting `quantity` to be a number.\",null,{quantity:n})}const i=Er();if(i===1){t=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]}const o=e.id||e.string;if(i===0||!Pr(t,o)){if(n!==1){return e.plural}return e.string}const s=window.CKEDITOR_TRANSLATIONS[t].dictionary;const r=window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>t===1?0:1);if(typeof s[o]===\"string\"){return s[o]}const a=Number(r(n));return s[o][a]}function Sr(){window.CKEDITOR_TRANSLATIONS={}}function Pr(t,e){return!!window.CKEDITOR_TRANSLATIONS[t]&&!!window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}function Er(){return Object.keys(window.CKEDITOR_TRANSLATIONS).length}const Mr=[\"ar\",\"fa\",\"he\",\"ku\",\"ug\"];class Ir{constructor(t={}){this.uiLanguage=t.uiLanguage||\"en\";this.contentLanguage=t.contentLanguage||this.uiLanguage;this.uiLanguageDirection=Or(this.uiLanguage);this.contentLanguageDirection=Or(this.contentLanguage);this.t=(t,e)=>this._t(t,e)}get language(){console.warn(\"locale-deprecated-language-property: \"+\"The Locale#language property has been deprecated and will be removed in the near future. \"+\"Please use #uiLanguage and #contentLanguage properties instead.\");return this.uiLanguage}_t(t,e=[]){if(!Array.isArray(e)){e=[e]}if(typeof t===\"string\"){t={string:t}}const n=!!t.plural;const i=n?e[0]:1;const o=Cr(this.uiLanguage,t,i);return Nr(o,e)}}function Nr(t,e){return t.replace(/%(\\d+)/g,(t,n)=>n<e.length?e[n]:t)}function Or(t){return Mr.includes(t)?\"rtl\":\"ltr\"}class Rr{constructor(t){this.config=new Qs(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define(\"plugins\",e);this.plugins=new Ar(this,e);const n=this.config.get(\"language\")||{};this.locale=new Ir({uiLanguage:typeof n===\"string\"?n:n.ui,contentLanguage:this.config.get(\"language.content\")});this.t=this.locale.t;this.editors=new xr;this._contextOwner=null}initPlugins(){const t=this.config.get(\"plugins\")||[];for(const e of t){if(typeof e!=\"function\"){throw new rr[\"b\"](\"context-initplugins-constructor-only: Only a constructor function is allowed as a context plugin.\",null,{Plugin:e})}if(e.isContextPlugin!==true){throw new rr[\"b\"](\"context-initplugins-invalid-plugin: Only a plugin marked as a context plugin is allowed to be used with a context.\",null,{Plugin:e})}}return this.plugins.init(t)}destroy(){return Promise.all(Array.from(this.editors,t=>t.destroy())).then(()=>this.plugins.destroy())}_addEditor(t,e){if(this._contextOwner){throw new rr[\"b\"](\"context-addEditor-private-context: Cannot add multiple editors to the context which is created by the editor.\")}this.editors.add(t);if(e){this._contextOwner=t}}_removeEditor(t){if(this.editors.has(t)){this.editors.remove(t)}if(this._contextOwner===t){return this.destroy()}return Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names()){if(![\"plugins\",\"removePlugins\",\"extraPlugins\"].includes(e)){t[e]=this.config.get(e)}}return t}static create(t){return new Promise(e=>{const n=new this(t);e(n.initPlugins().then(()=>n))})}}function Dr(t,e){const n=Math.min(t.length,e.length);for(let i=0;i<n;i++){if(t[i]!=e[i]){return i}}if(t.length==e.length){return\"same\"}else if(t.length<e.length){return\"prefix\"}else{return\"extension\"}}var Lr=4;function zr(t){return Hs(t,Lr)}var Vr=zr;class jr{constructor(t){this.document=t;this.parent=null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))==-1){throw new rr[\"b\"](\"view-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.index);e=e.parent}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Dr(e,n);switch(i){case\"prefix\":return true;case\"extension\":return false;default:return e[i]<n[i]}}isAfter(t){if(this==t){return false}if(this.root!==t.root){return false}return!this.isBefore(t)}_remove(){this.parent._removeChildren(this.index)}_fireChange(t,e){this.fire(\"change:\"+t,e);if(this.parent){this.parent._fireChange(t,e)}}toJSON(){const t=Vr(this);delete t.parent;return t}is(t){return t===\"node\"||t===\"view:node\"}}yr(jr,dr);class Br extends jr{constructor(t,e){super(t);this._textData=e}is(t){return t===\"text\"||t===\"view:text\"||t===\"node\"||t===\"view:node\"}get data(){return this._textData}get _data(){return this.data}set _data(t){this._fireChange(\"text\",this);this._textData=t}isSimilar(t){if(!(t instanceof Br)){return false}return this===t||this.data===t.data}_clone(){return new Br(this.document,this.data)}}class Fr{constructor(t,e,n){this.textNode=t;if(e<0||e>t.data.length){throw new rr[\"b\"](\"view-textproxy-wrong-offsetintext: Given offsetInText value is incorrect.\",this)}if(n<0||e+n>t.data.length){throw new rr[\"b\"](\"view-textproxy-wrong-length: Given length value is incorrect.\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}is(t){return t===\"textProxy\"||t===\"view:textProxy\"}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this.textNode:this.parent;while(n!==null){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}}function Hr(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function Ur(t){if(vr(t)){return new Map(t)}else{return Hr(t)}}class Wr{constructor(...t){this._patterns=[];this.add(...t)}add(...t){for(let e of t){if(typeof e==\"string\"||e instanceof RegExp){e={name:e}}if(e.classes&&(typeof e.classes==\"string\"||e.classes instanceof RegExp)){e.classes=[e.classes]}this._patterns.push(e)}}match(...t){for(const e of t){for(const t of this._patterns){const n=qr(e,t);if(n){return{element:e,pattern:t,match:n}}}}return null}matchAll(...t){const e=[];for(const n of t){for(const t of this._patterns){const i=qr(n,t);if(i){e.push({element:n,pattern:t,match:i})}}}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1){return null}const t=this._patterns[0];const e=t.name;return typeof t!=\"function\"&&e&&!(e instanceof RegExp)?e:null}}function qr(t,e){if(typeof e==\"function\"){return e(t)}const n={};if(e.name){n.name=$r(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=Yr(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=Gr(e.classes,t);if(!n.classes){return false}}if(e.styles){n.styles=Qr(e.styles,t);if(!n.styles){return false}}return n}function $r(t,e){if(t instanceof RegExp){return t.test(e)}return t===e}function Yr(t,e){const n=[];for(const i in t){const o=t[i];if(e.hasAttribute(i)){const t=e.getAttribute(i);if(o===true){n.push(i)}else if(o instanceof RegExp){if(o.test(t)){n.push(i)}else{return null}}else if(t===o){n.push(i)}else{return null}}else{return null}}return n}function Gr(t,e){const n=[];for(const i of t){if(i instanceof RegExp){const t=e.getClassNames();for(const e of t){if(i.test(e)){n.push(e)}}if(n.length===0){return null}}else if(e.hasClass(i)){n.push(i)}else{return null}}return n}function Qr(t,e){const n=[];for(const i in t){const o=t[i];if(e.hasStyle(i)){const t=e.getStyle(i);if(o instanceof RegExp){if(o.test(t)){n.push(i)}else{return null}}else if(t===o){n.push(i)}else{return null}}else{return null}}return n}var Kr=\"[object Symbol]\";function Jr(t){return typeof t==\"symbol\"||C(t)&&k(t)==Kr}var Zr=Jr;var Xr=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,ta=/^\\w*$/;function ea(t,e){if(Qe(t)){return false}var n=typeof t;if(n==\"number\"||n==\"symbol\"||n==\"boolean\"||t==null||Zr(t)){return true}return ta.test(t)||!Xr.test(t)||e!=null&&t in Object(e)}var na=ea;var ia=\"Expected a function\";function oa(t,e){if(typeof t!=\"function\"||e!=null&&typeof e!=\"function\"){throw new TypeError(ia)}var n=function(){var i=arguments,o=e?e.apply(this,i):i[0],s=n.cache;if(s.has(o)){return s.get(o)}var r=t.apply(this,i);n.cache=s.set(o,r)||s;return r};n.cache=new(oa.Cache||ke);return n}oa.Cache=ke;var sa=oa;var ra=500;function aa(t){var e=sa(t,(function(t){if(n.size===ra){n.clear()}return t}));var n=e.cache;return e}var ca=aa;var la=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;var da=/\\\\(\\\\)?/g;var ua=ca((function(t){var e=[];if(t.charCodeAt(0)===46){e.push(\"\")}t.replace(la,(function(t,n,i,o){e.push(i?o.replace(da,\"$1\"):n||t)}));return e}));var ha=ua;function fa(t,e){var n=-1,i=t==null?0:t.length,o=Array(i);while(++n<i){o[n]=e(t[n],n,t)}return o}var ga=fa;var ma=1/0;var pa=s?s.prototype:undefined,ba=pa?pa.toString:undefined;function wa(t){if(typeof t==\"string\"){return t}if(Qe(t)){return ga(t,wa)+\"\"}if(Zr(t)){return ba?ba.call(t):\"\"}var e=t+\"\";return e==\"0\"&&1/t==-ma?\"-0\":e}var _a=wa;function ka(t){return t==null?\"\":_a(t)}var va=ka;function ya(t,e){if(Qe(t)){return t}return na(t,e)?[t]:ha(va(t))}var xa=ya;function Aa(t){var e=t==null?0:t.length;return e?t[e-1]:undefined}var Ta=Aa;var Ca=1/0;function Sa(t){if(typeof t==\"string\"||Zr(t)){return t}var e=t+\"\";return e==\"0\"&&1/t==-Ca?\"-0\":e}var Pa=Sa;function Ea(t,e){e=xa(e,t);var n=0,i=e.length;while(t!=null&&n<i){t=t[Pa(e[n++])]}return n&&n==i?t:undefined}var Ma=Ea;function Ia(t,e,n){var i=-1,o=t.length;if(e<0){e=-e>o?0:o+e}n=n>o?o:n;if(n<0){n+=o}o=e>n?0:n-e>>>0;e>>>=0;var s=Array(o);while(++i<o){s[i]=t[i+e]}return s}var Na=Ia;function Oa(t,e){return e.length<2?t:Ma(t,Na(e,0,-1))}var Ra=Oa;function Da(t,e){e=xa(e,t);t=Ra(t,e);return t==null||delete t[Pa(Ta(e))]}var La=Da;function za(t,e){return t==null?true:La(t,e)}var Va=za;function ja(t,e,n){var i=t==null?undefined:Ma(t,e);return i===undefined?n:i}var Ba=ja;function Fa(t,e,n){if(n!==undefined&&!V(t[e],n)||n===undefined&&!(e in t)){Ie(t,e,n)}}var Ha=Fa;function Ua(t){return function(e,n,i){var o=-1,s=Object(e),r=i(e),a=r.length;while(a--){var c=r[t?a:++o];if(n(s[c],c,s)===false){break}}return e}}var Wa=Ua;var qa=Wa();var $a=qa;function Ya(t){return C(t)&&Zn(t)}var Ga=Ya;function Qa(t,e){if(e===\"constructor\"&&typeof t[e]===\"function\"){return}if(e==\"__proto__\"){return}return t[e]}var Ka=Qa;function Ja(t){return ze(t,di(t))}var Za=Ja;function Xa(t,e,n,i,o,s,r){var a=Ka(t,n),c=Ka(e,n),l=r.get(c);if(l){Ha(t,n,l);return}var d=s?s(a,c,n+\"\",t,e,r):undefined;var u=d===undefined;if(u){var h=Qe(c),f=!h&&Object(Ke[\"a\"])(c),g=!h&&!f&&zn(c);d=c;if(h||f||g){if(Qe(a)){d=a}else if(Ga(a)){d=mi(a)}else if(f){u=false;d=Object(fi[\"a\"])(c,true)}else if(g){u=false;d=Co(c,true)}else{d=[]}}else if(R(c)||Ye(c)){d=a;if(Ye(a)){d=Za(a)}else if(!ct(a)||gt(a)){d=Zo(c)}}else{u=false}}if(u){r.set(c,d);o(d,c,i,s,r);r[\"delete\"](c)}Ha(t,n,d)}var tc=Xa;function ec(t,e,n,i,o){if(t===e){return}$a(e,(function(s,r){o||(o=new Te);if(ct(s)){tc(t,e,r,n,ec,i,o)}else{var a=i?i(Ka(t,r),s,r+\"\",t,e,o):undefined;if(a===undefined){a=s}Ha(t,r,a)}}),di)}var nc=ec;function ic(t){return t}var oc=ic;function sc(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var rc=sc;var ac=Math.max;function cc(t,e,n){e=ac(e===undefined?t.length-1:e,0);return function(){var i=arguments,o=-1,s=ac(i.length-e,0),r=Array(s);while(++o<s){r[o]=i[e+o]}o=-1;var a=Array(e+1);while(++o<e){a[o]=i[o]}a[e]=n(r);return rc(t,this,a)}}var lc=cc;function dc(t){return function(){return t}}var uc=dc;var hc=!Ee?oc:function(t,e){return Ee(t,\"toString\",{configurable:true,enumerable:false,value:uc(e),writable:true})};var fc=hc;var gc=800,mc=16;var pc=Date.now;function bc(t){var e=0,n=0;return function(){var i=pc(),o=mc-(i-n);n=i;if(o>0){if(++e>=gc){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}var wc=bc;var _c=wc(fc);var kc=_c;function vc(t,e){return kc(lc(t,e,oc),t+\"\")}var yc=vc;function xc(t,e,n){if(!ct(n)){return false}var i=typeof e;if(i==\"number\"?Zn(n)&&tn(e,n.length):i==\"string\"&&e in n){return V(n[e],t)}return false}var Ac=xc;function Tc(t){return yc((function(e,n){var i=-1,o=n.length,s=o>1?n[o-1]:undefined,r=o>2?n[2]:undefined;s=t.length>3&&typeof s==\"function\"?(o--,s):undefined;if(r&&Ac(n[0],n[1],r)){s=o<3?undefined:s;o=1}e=Object(e);while(++i<o){var a=n[i];if(a){t(e,a,i,s)}}return e}))}var Cc=Tc;var Sc=Cc((function(t,e,n){nc(t,e,n)}));var Pc=Sc;function Ec(t,e,n,i){if(!ct(t)){return t}e=xa(e,t);var o=-1,s=e.length,r=s-1,a=t;while(a!=null&&++o<s){var c=Pa(e[o]),l=n;if(o!=r){var d=a[c];l=i?i(d,c,a):undefined;if(l===undefined){l=ct(d)?d:tn(e[o+1])?[]:{}}}De(a,c,l);a=a[c]}return t}var Mc=Ec;function Ic(t,e,n){return t==null?t:Mc(t,e,n)}var Nc=Ic;class Oc{constructor(t){this._styles={};this._styleProcessor=t}get isEmpty(){const t=Object.entries(this._styles);const e=Array.from(t);return!e.length}get size(){if(this.isEmpty){return 0}return this.getStyleNames().length}setTo(t){this.clear();const e=Array.from(Dc(t).entries());for(const[t,n]of e){this._styleProcessor.toNormalizedForm(t,n,this._styles)}}has(t){if(this.isEmpty){return false}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find(([e])=>e===t);return Array.isArray(n)}set(t,e){if(ct(t)){for(const[e,n]of Object.entries(t)){this._styleProcessor.toNormalizedForm(e,n,this._styles)}}else{this._styleProcessor.toNormalizedForm(t,e,this._styles)}}remove(t){const e=Lc(t);Va(this._styles,e);delete this._styles[t];this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){if(this.isEmpty){return\"\"}return this._getStylesEntries().map(t=>t.join(\":\")).sort().join(\";\")+\";\"}getAsString(t){if(this.isEmpty){return}if(this._styles[t]&&!ct(this._styles[t])){return this._styles[t]}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find(([e])=>e===t);if(Array.isArray(n)){return n[1]}}getStyleNames(){if(this.isEmpty){return[]}const t=this._getStylesEntries();return t.map(([t])=>t)}clear(){this._styles={}}_getStylesEntries(){const t=[];const e=Object.keys(this._styles);for(const n of e){t.push(...this._styleProcessor.getReducedForm(n,this._styles))}return t}_cleanEmptyObjectsOnPath(t){const e=t.split(\".\");const n=e.length>1;if(!n){return}const i=e.splice(0,e.length-1).join(\".\");const o=Ba(this._styles,i);if(!o){return}const s=!Array.from(Object.keys(o)).length;if(s){this.remove(i)}}}class Rc{constructor(){this._normalizers=new Map;this._extractors=new Map;this._reducers=new Map;this._consumables=new Map}toNormalizedForm(t,e,n){if(ct(e)){zc(n,Lc(t),e);return}if(this._normalizers.has(t)){const i=this._normalizers.get(t);const{path:o,value:s}=i(e);zc(n,o,s)}else{zc(n,t,e)}}getNormalized(t,e){if(!t){return Pc({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n===\"string\"){return Ba(e,n)}const i=n(t,e);if(i){return i}}return Ba(e,Lc(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(n===undefined){return[]}if(this._reducers.has(t)){const e=this._reducers.get(t);return e(n)}return[[t,n]]}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e){this._mapStyleNames(n,[t])}}_mapStyleNames(t,e){if(!this._consumables.has(t)){this._consumables.set(t,[])}this._consumables.get(t).push(...e)}}function Dc(t){let e=null;let n=0;let i=0;let o=null;const s=new Map;if(t===\"\"){return s}if(t.charAt(t.length-1)!=\";\"){t=t+\";\"}for(let r=0;r<t.length;r++){const a=t.charAt(r);if(e===null){switch(a){case\":\":if(!o){o=t.substr(n,r-n);i=r+1}break;case'\"':case\"'\":e=a;break;case\";\":{const e=t.substr(i,r-i);if(o){s.set(o.trim(),e.trim())}o=null;n=r+1;break}}}else if(a===e){e=null}}return s}function Lc(t){return t.replace(\"-\",\".\")}function zc(t,e,n){let i=n;if(ct(n)){i=Pc({},Ba(t,e),n)}Nc(t,e,i)}class Vc extends jr{constructor(t,e,n,i){super(t);this.name=e;this._attrs=jc(n);this._children=[];if(i){this._insertChild(0,i)}this._classes=new Set;if(this._attrs.has(\"class\")){const t=this._attrs.get(\"class\");Bc(this._classes,t);this._attrs.delete(\"class\")}this._styles=new Oc(this.document.stylesProcessor);if(this._attrs.has(\"style\")){this._styles.setTo(this._attrs.get(\"style\"));this._attrs.delete(\"style\")}this._customProperties=new Map}get childCount(){return this._children.length}get isEmpty(){return this._children.length===0}is(t,e=null){if(!e){return t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"element\"||t===\"view:element\")}}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){if(this._classes.size>0){yield\"class\"}if(!this._styles.isEmpty){yield\"style\"}yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries();if(this._classes.size>0){yield[\"class\",this.getAttribute(\"class\")]}if(!this._styles.isEmpty){yield[\"style\",this.getAttribute(\"style\")]}}getAttribute(t){if(t==\"class\"){if(this._classes.size>0){return[...this._classes].join(\" \")}return undefined}if(t==\"style\"){const t=this._styles.toString();return t==\"\"?undefined:t}return this._attrs.get(t)}hasAttribute(t){if(t==\"class\"){return this._classes.size>0}if(t==\"style\"){return!this._styles.isEmpty}return this._attrs.has(t)}isSimilar(t){if(!(t instanceof Vc)){return false}if(this===t){return true}if(this.name!=t.name){return false}if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size){return false}for(const[e,n]of this._attrs){if(!t._attrs.has(e)||t._attrs.get(e)!==n){return false}}for(const e of this._classes){if(!t._classes.has(e)){return false}}for(const e of this._styles.getStyleNames()){if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e)){return false}}return true}hasClass(...t){for(const e of t){if(!this._classes.has(e)){return false}}return true}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(){return this._styles.getStyleNames()}hasStyle(...t){for(const e of t){if(!this._styles.has(e)){return false}}return true}findAncestor(...t){const e=new Wr(...t);let n=this.parent;while(n){if(e.match(n)){return n}n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(\",\");const e=this._styles.toString();const n=Array.from(this._attrs).map(t=>`${t[0]}=\"${t[1]}\"`).sort().join(\" \");return this.name+(t==\"\"?\"\":` class=\"${t}\"`)+(!e?\"\":` style=\"${e}\"`)+(n==\"\"?\"\":` ${n}`)}_clone(t=false){const e=[];if(t){for(const n of this.getChildren()){e.push(n._clone(t))}}const n=new this.constructor(this.document,this.name,this._attrs,e);n._classes=new Set(this._classes);n._styles.set(this._styles.getNormalized());n._customProperties=new Map(this._customProperties);n.getFillerOffset=this.getFillerOffset;return n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const i=Fc(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;e.document=this.document;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n<t+e;n++){this._children[n].parent=null}return this._children.splice(t,e)}_setAttribute(t,e){e=String(e);this._fireChange(\"attributes\",this);if(t==\"class\"){Bc(this._classes,e)}else if(t==\"style\"){this._styles.setTo(e)}else{this._attrs.set(t,e)}}_removeAttribute(t){this._fireChange(\"attributes\",this);if(t==\"class\"){if(this._classes.size>0){this._classes.clear();return true}return false}if(t==\"style\"){if(!this._styles.isEmpty){this._styles.clear();return true}return false}return this._attrs.delete(t)}_addClass(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._classes.add(t))}_removeClass(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._classes.delete(t))}_setStyle(t,e){this._fireChange(\"attributes\",this);this._styles.set(t,e)}_removeStyle(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach(t=>this._styles.remove(t))}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function jc(t){t=Ur(t);for(const[e,n]of t){if(n===null){t.delete(e)}else if(typeof n!=\"string\"){t.set(e,String(n))}}return t}function Bc(t,e){const n=e.split(/\\s+/);t.clear();n.forEach(e=>t.add(e))}function Fc(t,e){if(typeof e==\"string\"){return[new Br(t,e)]}if(!vr(e)){e=[e]}return Array.from(e).map(e=>{if(typeof e==\"string\"){return new Br(t,e)}if(e instanceof Fr){return new Br(t,e.data)}return e})}class Hc extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Uc}is(t,e=null){if(!e){return t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}}function Uc(){const t=[...this.getChildren()];const e=t[this.childCount-1];if(e&&e.is(\"element\",\"br\")){return this.childCount}for(const e of t){if(!e.is(\"uiElement\")){return null}}return this.childCount}var Wc=Cc((function(t,e){ze(e,di(e),t)}));var qc=Wc;const $c=Symbol(\"observableProperties\");const Yc=Symbol(\"boundObservables\");const Gc=Symbol(\"boundProperties\");const Qc={set(t,e){if(ct(t)){Object.keys(t).forEach(e=>{this.set(e,t[e])},this);return}Jc(this);const n=this[$c];if(t in this&&!n.has(t)){throw new rr[\"b\"](\"observable-set-cannot-override: Cannot override an existing property.\",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const i=n.get(t);let o=this.fire(\"set:\"+t,t,e,i);if(o===undefined){o=e}if(i!==o||!n.has(t)){n.set(t,o);this.fire(\"change:\"+t,t,o,i)}}});this[t]=e},bind(...t){if(!t.length||!el(t)){throw new rr[\"b\"](\"observable-bind-wrong-properties: All properties must be strings.\",this)}if(new Set(t).size!==t.length){throw new rr[\"b\"](\"observable-bind-duplicate-properties: Properties must be unique.\",this)}Jc(this);const e=this[Gc];t.forEach(t=>{if(e.has(t)){throw new rr[\"b\"](\"observable-bind-rebind: Cannot bind the same property more than once.\",this)}});const n=new Map;t.forEach(t=>{const i={property:t,to:[]};e.set(t,i);n.set(t,i)});return{to:Zc,toMany:Xc,_observable:this,_bindProperties:t,_to:[],_bindings:n}},unbind(...t){if(!this[$c]){return}const e=this[Gc];const n=this[Yc];if(t.length){if(!el(t)){throw new rr[\"b\"](\"observable-unbind-wrong-properties: Properties must be strings.\",this)}t.forEach(t=>{const i=e.get(t);if(!i){return}let o,s,r,a;i.to.forEach(t=>{o=t[0];s=t[1];r=n.get(o);a=r[s];a.delete(i);if(!a.size){delete r[s]}if(!Object.keys(r).length){n.delete(o);this.stopListening(o,\"change\")}});e.delete(t)})}else{n.forEach((t,e)=>{this.stopListening(e,\"change\")});n.clear();e.clear()}},decorate(t){const e=this[t];if(!e){throw new rr[\"b\"](\"observablemixin-cannot-decorate-undefined: Cannot decorate an undefined method.\",this,{object:this,methodName:t})}this.on(t,(t,n)=>{t.return=e.apply(this,n)});this[t]=function(...e){return this.fire(t,e)}}};qc(Qc,dr);var Kc=Qc;function Jc(t){if(t[$c]){return}Object.defineProperty(t,$c,{value:new Map});Object.defineProperty(t,Yc,{value:new Map});Object.defineProperty(t,Gc,{value:new Map})}function Zc(...t){const e=nl(...t);const n=Array.from(this._bindings.keys());const i=n.length;if(!e.callback&&e.to.length>1){throw new rr[\"b\"](\"observable-bind-to-no-callback: Binding multiple observables only possible with callback.\",this)}if(i>1&&e.callback){throw new rr[\"b\"](\"observable-bind-to-extra-callback: Cannot bind multiple properties and use a callback in one binding.\",this)}e.to.forEach(t=>{if(t.properties.length&&t.properties.length!==i){throw new rr[\"b\"](\"observable-bind-to-properties-length: The number of properties must match.\",this)}if(!t.properties.length){t.properties=this._bindProperties}});this._to=e.to;if(e.callback){this._bindings.get(n[0]).callback=e.callback}rl(this._observable,this._to);ol(this);this._bindProperties.forEach(t=>{sl(this._observable,t)})}function Xc(t,e,n){if(this._bindings.size>1){throw new rr[\"b\"](\"observable-bind-to-many-not-one-binding: Cannot bind multiple properties with toMany().\",this)}this.to(...tl(t,e),n)}function tl(t,e){const n=t.map(t=>[t,e]);return Array.prototype.concat.apply([],n)}function el(t){return t.every(t=>typeof t==\"string\")}function nl(...t){if(!t.length){throw new rr[\"b\"](\"observable-bind-to-parse-error: Invalid argument syntax in `to()`.\",null)}const e={to:[]};let n;if(typeof t[t.length-1]==\"function\"){e.callback=t.pop()}t.forEach(t=>{if(typeof t==\"string\"){n.properties.push(t)}else if(typeof t==\"object\"){n={observable:t,properties:[]};e.to.push(n)}else{throw new rr[\"b\"](\"observable-bind-to-parse-error: Invalid argument syntax in `to()`.\",null)}});return e}function il(t,e,n,i){const o=t[Yc];const s=o.get(n);const r=s||{};if(!r[i]){r[i]=new Set}r[i].add(e);if(!s){o.set(n,r)}}function ol(t){let e;t._bindings.forEach((n,i)=>{t._to.forEach(o=>{e=o.properties[n.callback?0:t._bindProperties.indexOf(i)];n.to.push([o.observable,e]);il(t._observable,n,o.observable,e)})})}function sl(t,e){const n=t[Gc];const i=n.get(e);let o;if(i.callback){o=i.callback.apply(t,i.to.map(t=>t[0][t[1]]))}else{o=i.to[0];o=o[0][o[1]]}if(t.hasOwnProperty(e)){t[e]=o}else{t.set(e,o)}}function rl(t,e){e.forEach(e=>{const n=t[Yc];let i;if(!n.get(e.observable)){t.listenTo(e.observable,\"change\",(o,s)=>{i=n.get(e.observable)[s];if(i){i.forEach(e=>{sl(t,e.property)})}})}})}class al extends Hc{constructor(t,e,n,i){super(t,e,n,i);this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.bind(\"isReadOnly\").to(t);this.bind(\"isFocused\").to(t,\"isFocused\",e=>e&&t.selection.editableElement==this);this.listenTo(t.selection,\"change\",()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this})}is(t,e=null){if(!e){return t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}destroy(){this.stopListening()}}yr(al,Kc);const cl=Symbol(\"rootName\");class ll extends al{constructor(t,e){super(t,e);this.rootName=\"main\"}is(t,e=null){if(!e){return t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}get rootName(){return this.getCustomProperty(cl)}set rootName(t){this._setCustomProperty(cl,t)}set _name(t){this.name=t}}class dl{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new rr[\"b\"](\"view-tree-walker-no-start-position: Neither boundaries nor starting position have been defined.\",null)}if(t.direction&&t.direction!=\"forward\"&&t.direction!=\"backward\"){throw new rr[\"b\"](\"view-tree-walker-unknown-direction: Only `backward` and `forward` direction allowed.\",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this.position=ul._createAt(t.startPosition)}else{this.position=ul._createAt(t.boundaries[t.direction==\"backward\"?\"end\":\"start\"])}this.direction=t.direction||\"forward\";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(t){let e,n,i;do{i=this.position;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=i}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===n.childCount){return{done:true}}if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset){return{done:true}}let i;if(n instanceof Br){if(t.isAtEnd){this.position=ul._createAfter(n);return this._next()}i=n.data[t.offset]}else{i=n.getChild(t.offset)}if(i instanceof Vc){if(!this.shallow){t=new ul(i,0)}else{t.offset++}this.position=t;return this._formatReturnValue(\"elementStart\",i,e,t,1)}else if(i instanceof Br){if(this.singleCharacters){t=new ul(i,0);this.position=t;return this._next()}else{let n=i.data.length;let o;if(i==this._boundaryEndParent){n=this.boundaries.end.offset;o=new Fr(i,0,n);t=ul._createAfter(o)}else{o=new Fr(i,0,i.data.length);t.offset++}this.position=t;return this._formatReturnValue(\"text\",o,e,t,n)}}else if(typeof i==\"string\"){let i;if(this.singleCharacters){i=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;i=e-t.offset}const o=new Fr(n,t.offset,i);t.offset+=i;this.position=t;return this._formatReturnValue(\"text\",o,e,t,i)}else{t=ul._createAfter(n);this.position=t;if(this.ignoreElementEnd){return this._next()}else{return this._formatReturnValue(\"elementEnd\",n,e,t)}}}_previous(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===0){return{done:true}}if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset){return{done:true}}let i;if(n instanceof Br){if(t.isAtStart){this.position=ul._createBefore(n);return this._previous()}i=n.data[t.offset-1]}else{i=n.getChild(t.offset-1)}if(i instanceof Vc){if(!this.shallow){t=new ul(i,i.childCount);this.position=t;if(this.ignoreElementEnd){return this._previous()}else{return this._formatReturnValue(\"elementEnd\",i,e,t)}}else{t.offset--;this.position=t;return this._formatReturnValue(\"elementStart\",i,e,t,1)}}else if(i instanceof Br){if(this.singleCharacters){t=new ul(i,i.data.length);this.position=t;return this._previous()}else{let n=i.data.length;let o;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;o=new Fr(i,e,i.data.length-e);n=o.data.length;t=ul._createBefore(o)}else{o=new Fr(i,0,i.data.length);t.offset--}this.position=t;return this._formatReturnValue(\"text\",o,e,t,n)}}else if(typeof i==\"string\"){let i;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}else{i=1}t.offset-=i;const o=new Fr(n,t.offset,i);this.position=t;return this._formatReturnValue(\"text\",o,e,t,i)}else{t=ul._createBefore(n);this.position=t;return this._formatReturnValue(\"elementStart\",n,e,t,1)}}_formatReturnValue(t,e,n,i,o){if(e instanceof Fr){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction==\"forward\"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){i=ul._createAfter(e.textNode);this.position=i}else{n=ul._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction==\"backward\"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){i=ul._createBefore(e.textNode);this.position=i}else{n=ul._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}}class ul{constructor(t,e){this.parent=t;this.offset=e}get nodeAfter(){if(this.parent.is(\"text\")){return null}return this.parent.getChild(this.offset)||null}get nodeBefore(){if(this.parent.is(\"text\")){return null}return this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is(\"text\")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;while(!(t instanceof al)){if(t.parent){t=t.parent}else{return null}}return t}getShiftedBy(t){const e=ul._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new dl(e);n.skip(t);return n.position}getAncestors(){if(this.parent.is(\"documentFragment\")){return[this.parent]}else{return this.parent.getAncestors({includeSelf:true})}}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}is(t){return t===\"position\"||t===\"view:position\"}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)==\"before\"}isAfter(t){return this.compareWith(t)==\"after\"}compareWith(t){if(this.root!==t.root){return\"different\"}if(this.isEqual(t)){return\"same\"}const e=this.parent.is(\"node\")?this.parent.getPath():[];const n=t.parent.is(\"node\")?t.parent.getPath():[];e.push(this.offset);n.push(t.offset);const i=Dr(e,n);switch(i){case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return e[i]<n[i]?\"before\":\"after\"}}getWalker(t={}){t.startPosition=this;return new dl(t)}clone(){return new ul(this.parent,this.offset)}static _createAt(t,e){if(t instanceof ul){return new this(t.parent,t.offset)}else{const n=t;if(e==\"end\"){e=n.is(\"text\")?n.data.length:n.childCount}else if(e==\"before\"){return this._createBefore(n)}else if(e==\"after\"){return this._createAfter(n)}else if(e!==0&&!e){throw new rr[\"b\"](\"view-createPositionAt-offset-required: \"+\"View#createPositionAt() requires the offset when the first parameter is a view item.\",n)}return new ul(n,e)}}static _createAfter(t){if(t.is(\"textProxy\")){return new ul(t.textNode,t.offsetInText+t.data.length)}if(!t.parent){throw new rr[\"b\"](\"view-position-after-root: You can not make position after root.\",t,{root:t})}return new ul(t.parent,t.index+1)}static _createBefore(t){if(t.is(\"textProxy\")){return new ul(t.textNode,t.offsetInText)}if(!t.parent){throw new rr[\"b\"](\"view-position-before-root: You can not make position before root.\",t,{root:t})}return new ul(t.parent,t.index)}}class hl{constructor(t,e=null){this.start=t.clone();this.end=e?e.clone():t.clone()}*[Symbol.iterator](){yield*new dl({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){return this.start.parent===this.end.parent}get root(){return this.start.root}getEnlarged(){let t=this.start.getLastMatchingPosition(fl,{direction:\"backward\"});let e=this.end.getLastMatchingPosition(fl);if(t.parent.is(\"text\")&&t.isAtStart){t=ul._createBefore(t.parent)}if(e.parent.is(\"text\")&&e.isAtEnd){e=ul._createAfter(e.parent)}return new hl(t,e)}getTrimmed(){let t=this.start.getLastMatchingPosition(fl);if(t.isAfter(this.end)||t.isEqual(this.end)){return new hl(t,t)}let e=this.end.getLastMatchingPosition(fl,{direction:\"backward\"});const n=t.nodeAfter;const i=e.nodeBefore;if(n&&n.is(\"text\")){t=new ul(n,0)}if(i&&i.is(\"text\")){e=new ul(i,i.data.length)}return new hl(t,e)}isEqual(t){return this==t||this.start.isEqual(t.start)&&this.end.isEqual(t.end)}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new hl(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new hl(t.end,this.end))}}else{e.push(this.clone())}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new hl(e,n)}return null}getWalker(t={}){t.boundaries=this;return new dl(t)}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed){return null}let t=this.start.nodeAfter;let e=this.end.nodeBefore;if(this.start.parent.is(\"text\")&&this.start.isAtEnd&&this.start.parent.nextSibling){t=this.start.parent.nextSibling}if(this.end.parent.is(\"text\")&&this.end.isAtStart&&this.end.parent.previousSibling){e=this.end.parent.previousSibling}if(t&&t.is(\"element\")&&t===e){return t}return null}clone(){return new hl(this.start,this.end)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new dl(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new dl(t);yield e.position;for(const t of e){yield t.nextPosition}}is(t){return t===\"range\"||t===\"view:range\"}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}static _createFromParentsAndOffsets(t,e,n,i){return new this(new ul(t,e),new ul(n,i))}static _createFromPositionAndShift(t,e){const n=t;const i=t.getShiftedBy(e);return e>0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is(\"textProxy\")?t.offsetSize:1;return this._createFromPositionAndShift(ul._createBefore(t),e)}}function fl(t){if(t.item.is(\"attributeElement\")||t.item.is(\"uiElement\")){return true}return false}function gl(t){let e=0;for(const n of t){e++}return e}class ml{constructor(t=null,e,n){this._ranges=[];this._lastRangeBackward=false;this._isFake=false;this._fakeSelectionLabel=\"\";this.setTo(t,e,n)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.end:t.start;return e.clone()}get focus(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.start:t.end;return e.clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){if(this.anchor){return this.anchor.editableElement}return null}*getRanges(){for(const t of this._ranges){yield t.clone()}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake){return false}if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel){return false}if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}isSimilar(t){if(this.isBackward!=t.isBackward){return false}const e=gl(this.getRanges());const n=gl(t.getRanges());if(e!=n){return false}if(e==0){return true}for(let e of this.getRanges()){e=e.getTrimmed();let n=false;for(let i of t.getRanges()){i=i.getTrimmed();if(e.start.isEqual(i.start)&&e.end.isEqual(i.end)){n=true;break}}if(!n){return false}}return true}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}setTo(t,e,n){if(t===null){this._setRanges([]);this._setFakeOptions(e)}else if(t instanceof ml||t instanceof pl){this._setRanges(t.getRanges(),t.isBackward);this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel})}else if(t instanceof hl){this._setRanges([t],e&&e.backward);this._setFakeOptions(e)}else if(t instanceof ul){this._setRanges([new hl(t)]);this._setFakeOptions(e)}else if(t instanceof jr){const i=!!n&&!!n.backward;let o;if(e===undefined){throw new rr[\"b\"](\"view-selection-setTo-required-second-parameter: \"+\"selection.setTo requires the second parameter when the first parameter is a node.\",this)}else if(e==\"in\"){o=hl._createIn(t)}else if(e==\"on\"){o=hl._createOn(t)}else{o=new hl(ul._createAt(t,e))}this._setRanges([o],i);this._setFakeOptions(n)}else if(vr(t)){this._setRanges(t,e&&e.backward);this._setFakeOptions(e)}else{throw new rr[\"b\"](\"view-selection-setTo-not-selectable: Cannot set selection to given place.\",this)}this.fire(\"change\")}setFocus(t,e){if(this.anchor===null){throw new rr[\"b\"](\"view-selection-setFocus-no-ranges: Cannot set selection focus if there are no ranges in selection.\",this)}const n=ul._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const i=this.anchor;this._ranges.pop();if(n.compareWith(i)==\"before\"){this._addRange(new hl(n,i),true)}else{this._addRange(new hl(i,n))}this.fire(\"change\")}is(t){return t===\"selection\"||t===\"view:selection\"}_setRanges(t,e=false){t=Array.from(t);this._ranges=[];for(const e of t){this._addRange(e)}this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake;this._fakeSelectionLabel=t.fake?t.label||\"\":\"\"}_addRange(t,e=false){if(!(t instanceof hl)){throw new rr[\"b\"](\"view-selection-add-range-not-range: \"+\"Selection range set to an object that is not an instance of view.Range\",this)}this._pushRange(t);this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges){if(t.isIntersecting(e)){throw new rr[\"b\"](\"view-selection-range-intersects: Trying to add a range that intersects with another range from selection.\",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new hl(t.start,t.end))}}yr(ml,dr);class pl{constructor(t=null,e,n){this._selection=new ml;this._selection.delegate(\"change\").to(this);this._selection.setTo(t,e,n)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}is(t){return t===\"selection\"||t==\"documentSelection\"||t==\"view:selection\"||t==\"view:documentSelection\"}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setFocus(t,e){this._selection.setFocus(t,e)}}yr(pl,dr);class bl{constructor(t){this.selection=new pl;this.roots=new xr({idProperty:\"rootName\"});this.stylesProcessor=t;this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.set(\"isComposing\",false);this._postFixers=new Set}getRoot(t=\"main\"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.map(t=>t.destroy());this.stopListening()}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){e=n(t);if(e){break}}}while(e)}}yr(bl,Kc);const wl=10;class _l extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=kl;this._priority=wl;this._id=null;this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null){throw new rr[\"b\"](\"attribute-element-get-elements-with-same-id-no-id: \"+\"Cannot get elements with the same id for an attribute element without id.\",this)}return new Set(this._clonesGroup)}is(t,e=null){if(!e){return t===\"attributeElement\"||t===\"view:attributeElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"attributeElement\"||t===\"view:attributeElement\"||t===\"element\"||t===\"view:element\")}}isSimilar(t){if(this.id!==null||t.id!==null){return this.id===t.id}return super.isSimilar(t)&&this.priority==t.priority}_clone(t){const e=super._clone(t);e._priority=this._priority;e._id=this._id;return e}}_l.DEFAULT_PRIORITY=wl;function kl(){if(vl(this)){return null}let t=this.parent;while(t&&t.is(\"attributeElement\")){if(vl(t)>1){return null}t=t.parent}if(!t||vl(t)>1){return null}return this.childCount}function vl(t){return Array.from(t.getChildren()).filter(t=>!t.is(\"uiElement\")).length}class yl extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=xl}is(t,e=null){if(!e){return t===\"emptyElement\"||t===\"view:emptyElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"emptyElement\"||t===\"view:emptyElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof jr||Array.from(e).length>0)){throw new rr[\"b\"](\"view-emptyelement-cannot-add: Cannot add child nodes to EmptyElement instance.\",[this,e])}}}function xl(){return null}const Al=navigator.userAgent.toLowerCase();const Tl={isMac:Sl(Al),isGecko:Pl(Al),isSafari:El(Al),isAndroid:Ml(Al),features:{isRegExpUnicodePropertySupported:Il()}};var Cl=Tl;function Sl(t){return t.indexOf(\"macintosh\")>-1}function Pl(t){return!!t.match(/gecko\\/\\d+/)}function El(t){return t.indexOf(\" applewebkit/\")>-1&&t.indexOf(\"chrome\")===-1}function Ml(t){return t.indexOf(\"android\")>-1}function Il(){let t=false;try{t=\"ć\".search(new RegExp(\"[\\\\p{L}]\",\"u\"))===0}catch(t){}return t}const Nl={\"⌘\":\"ctrl\",\"⇧\":\"shift\",\"⌥\":\"alt\"};const Ol={ctrl:\"⌘\",shift:\"⇧\",alt:\"⌥\"};const Rl=Vl();function Dl(t){let e;if(typeof t==\"string\"){e=Rl[t.toLowerCase()];if(!e){throw new rr[\"b\"](\"keyboard-unknown-key: Unknown key name.\",null,{key:t})}}else{e=t.keyCode+(t.altKey?Rl.alt:0)+(t.ctrlKey?Rl.ctrl:0)+(t.shiftKey?Rl.shift:0)}return e}function Ll(t){if(typeof t==\"string\"){t=jl(t)}return t.map(t=>typeof t==\"string\"?Dl(t):t).reduce((t,e)=>e+t,0)}function zl(t){if(!Cl.isMac){return t}return jl(t).map(t=>Ol[t.toLowerCase()]||t).reduce((t,e)=>{if(t.slice(-1)in Nl){return t+e}else{return t+\"+\"+e}})}function Vl(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,cmd:1114112,shift:2228224,alt:4456448};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++){t[e-48]=e}for(let e=112;e<=123;e++){t[\"f\"+(e-111)]=e}return t}function jl(t){return t.split(/\\s*\\+\\s*/)}class Bl extends Vc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Hl}is(t,e=null){if(!e){return t===\"uiElement\"||t===\"view:uiElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"uiElement\"||t===\"view:uiElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof jr||Array.from(e).length>0)){throw new rr[\"b\"](\"view-uielement-cannot-add: Cannot add child nodes to UIElement instance.\",this)}}render(t){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys()){e.setAttribute(t,this.getAttribute(t))}return e}}function Fl(t){t.document.on(\"keydown\",(e,n)=>Ul(e,n,t.domConverter))}function Hl(){return null}function Ul(t,e,n){if(e.keyCode==Rl.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const i=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode;const o=t.focusOffset;const s=n.domPositionToView(e,o);if(s===null){return}let r=false;const a=s.getLastMatchingPosition(t=>{if(t.item.is(\"uiElement\")){r=true}if(t.item.is(\"uiElement\")||t.item.is(\"attributeElement\")){return true}return false});if(r){const e=n.viewPositionToDom(a);if(i){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class Wl{constructor(t,e){this.document=t;this._children=[];if(e){this._insertChild(0,e)}}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t===\"documentFragment\"||t===\"view:documentFragment\"}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const i=ql(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n<t+e;n++){this._children[n].parent=null}return this._children.splice(t,e)}_fireChange(t,e){this.fire(\"change:\"+t,e)}}yr(Wl,dr);function ql(t,e){if(typeof e==\"string\"){return[new Br(t,e)]}if(!vr(e)){e=[e]}return Array.from(e).map(e=>{if(typeof e==\"string\"){return new Br(t,e)}if(e instanceof Fr){return new Br(t,e.data)}return e})}class $l{constructor(t){this.document=t;this._cloneGroups=new Map}setSelection(t,e,n){this.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createText(t){return new Br(this.document,t)}createAttributeElement(t,e,n={}){const i=new _l(this.document,t,e);if(n.priority){i._priority=n.priority}if(n.id){i._id=n.id}return i}createContainerElement(t,e){return new Hc(this.document,t,e)}createEditableElement(t,e){const n=new al(this.document,t,e);n._document=this.document;return n}createEmptyElement(t,e){return new yl(this.document,t,e)}createUIElement(t,e,n){const i=new Bl(this.document,t,e);if(n){i.render=n}return i}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(R(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){if(t instanceof ul){return this._breakAttributes(t)}else{return this._breakAttributesRange(t)}}breakContainer(t){const e=t.parent;if(!e.is(\"containerElement\")){throw new rr[\"b\"](\"view-writer-break-non-container-element: Trying to break an element which is not a container element.\",this.document)}if(!e.parent){throw new rr[\"b\"](\"view-writer-break-root: Trying to break root element.\",this.document)}if(t.isAtStart){return ul._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(ul._createAfter(e),n);const i=new hl(t,ul._createAt(e,\"end\"));const o=new ul(n,0);this.move(i,o)}return ul._createAfter(e)}mergeAttributes(t){const e=t.offset;const n=t.parent;if(n.is(\"text\")){return t}if(n.is(\"attributeElement\")&&n.childCount===0){const t=n.parent;const e=n.index;n._remove();this._removeFromClonedElementsGroup(n);return this.mergeAttributes(new ul(t,e))}const i=n.getChild(e-1);const o=n.getChild(e);if(!i||!o){return t}if(i.is(\"text\")&&o.is(\"text\")){return Zl(i,o)}else if(i.is(\"attributeElement\")&&o.is(\"attributeElement\")&&i.isSimilar(o)){const t=i.childCount;i._appendChild(o.getChildren());o._remove();this._removeFromClonedElementsGroup(o);return this.mergeAttributes(new ul(i,t))}return t}mergeContainers(t){const e=t.nodeBefore;const n=t.nodeAfter;if(!e||!n||!e.is(\"containerElement\")||!n.is(\"containerElement\")){throw new rr[\"b\"](\"view-writer-merge-containers-invalid-position: \"+\"Element before and after given position cannot be merged.\",this.document)}const i=e.getChild(e.childCount-1);const o=i instanceof Br?ul._createAt(i,\"end\"):ul._createAt(e,\"end\");this.move(hl._createIn(n),ul._createAt(e,\"end\"));this.remove(hl._createOn(n));return o}insert(t,e){e=vr(e)?[...e]:[e];Xl(e,this.document);const n=Gl(t);if(!n){throw new rr[\"b\"](\"view-writer-invalid-position-container\",this.document)}const i=this._breakAttributes(t,true);const o=n._insertChild(i.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const s=i.getShiftedBy(o);const r=this.mergeAttributes(i);if(o===0){return new hl(r,r)}else{if(!r.isEqual(i)){s.offset--}const t=this.mergeAttributes(s);return new hl(r,t)}}remove(t){const e=t instanceof hl?t:hl._createOn(t);nd(e,this.document);if(e.isCollapsed){return new Wl(this.document)}const{start:n,end:i}=this._breakAttributesRange(e,true);const o=n.parent;const s=i.offset-n.offset;const r=o._removeChildren(n.offset,s);for(const t of r){this._removeFromClonedElementsGroup(t)}const a=this.mergeAttributes(n);e.start=a;e.end=a.clone();return new Wl(this.document,r)}clear(t,e){nd(t,this.document);const n=t.getWalker({direction:\"backward\",ignoreElementEnd:true});for(const i of n){const n=i.item;let o;if(n.is(\"element\")&&e.isSimilar(n)){o=hl._createOn(n)}else if(!i.nextPosition.isAfter(t.start)&&n.is(\"textProxy\")){const t=n.getAncestors().find(t=>t.is(\"element\")&&e.isSimilar(t));if(t){o=hl._createIn(t)}}if(o){if(o.end.isAfter(t.end)){o.end=t.end}if(o.start.isBefore(t.start)){o.start=t.start}this.remove(o)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const i=e.parent;const o=i.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=i.childCount-o}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof _l)){throw new rr[\"b\"](\"view-writer-wrap-invalid-attribute\",this.document)}nd(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is(\"element\")&&!Yl(n.parent)){n=n.getLastMatchingPosition(t=>t.item.is(\"uiElement\"))}n=this._wrapPosition(n,e);const i=this.document.selection;if(i.isCollapsed&&i.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new hl(n)}}unwrap(t,e){if(!(e instanceof _l)){throw new rr[\"b\"](\"view-writer-unwrap-invalid-attribute\",this.document)}nd(t,this.document);if(t.isCollapsed){return t}const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const s=this._unwrapChildren(o,n.offset,i.offset,e);const r=this.mergeAttributes(s.start);if(!r.isEqual(s.start)){s.end.offset--}const a=this.mergeAttributes(s.end);return new hl(r,a)}rename(t,e){const n=new Hc(this.document,t,e.getAttributes());this.insert(ul._createAfter(e),n);this.move(hl._createIn(e),ul._createAt(n,0));this.remove(hl._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}_wrapChildren(t,e,n,i){let o=e;const s=[];while(o<n){const e=t.getChild(o);const n=e.is(\"text\");const r=e.is(\"attributeElement\");const a=e.is(\"emptyElement\");const c=e.is(\"uiElement\");if(r&&this._wrapAttributeElement(i,e)){s.push(new ul(t,o))}else if(n||a||c||r&&Ql(i,e)){const n=i._clone();e._remove();n._appendChild(e);t._insertChild(o,n);this._addToClonedElementsGroup(n);s.push(new ul(t,o))}else if(r){this._wrapChildren(e,0,e.childCount,i)}o++}let r=0;for(const t of s){t.offset-=r;if(t.offset==e){continue}const i=this.mergeAttributes(t);if(!i.isEqual(t)){r++;n--}}return hl._createFromParentsAndOffsets(t,e,t,n)}_unwrapChildren(t,e,n,i){let o=e;const s=[];while(o<n){const e=t.getChild(o);if(!e.is(\"attributeElement\")){o++;continue}if(e.isSimilar(i)){const i=e.getChildren();const r=e.childCount;e._remove();t._insertChild(o,i);this._removeFromClonedElementsGroup(e);s.push(new ul(t,o),new ul(t,o+r));o+=r;n+=r-1;continue}if(this._unwrapAttributeElement(i,e)){s.push(new ul(t,o),new ul(t,o+1));o++;continue}this._unwrapChildren(e,0,e.childCount,i);o++}let r=0;for(const t of s){t.offset-=r;if(t.offset==e||t.offset==n){continue}const i=this.mergeAttributes(t);if(!i.isEqual(t)){r++;n--}}return hl._createFromParentsAndOffsets(t,e,t,n)}_wrapRange(t,e){const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const s=this._wrapChildren(o,n.offset,i.offset,e);const r=this.mergeAttributes(s.start);if(!r.isEqual(s.start)){s.end.offset--}const a=this.mergeAttributes(s.end);return new hl(r,a)}_wrapPosition(t,e){if(e.isSimilar(t.parent)){return Kl(t.clone())}if(t.parent.is(\"text\")){t=Jl(t)}const n=this.createAttributeElement();n._priority=Number.POSITIVE_INFINITY;n.isSimilar=()=>false;t.parent._insertChild(t.offset,n);const i=new hl(t,t.getShiftedBy(1));this.wrap(i,e);const o=new ul(n.parent,n.index);n._remove();const s=o.nodeBefore;const r=o.nodeAfter;if(s instanceof Br&&r instanceof Br){return Zl(s,r)}return Kl(o)}_wrapAttributeElement(t,e){if(!id(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n)){return false}}for(const n of t.getStyleNames()){if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)){this.setAttribute(n,t.getAttribute(n),e)}}for(const n of t.getStyleNames()){if(!e.hasStyle(n)){this.setStyle(n,t.getStyle(n),e)}}for(const n of t.getClassNames()){if(!e.hasClass(n)){this.addClass(n,e)}}return true}_unwrapAttributeElement(t,e){if(!id(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)){return false}}if(!e.hasClass(...t.getClassNames())){return false}for(const n of t.getStyleNames()){if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}this.removeAttribute(n,e)}this.removeClass(Array.from(t.getClassNames()),e);this.removeStyle(Array.from(t.getStyleNames()),e);return true}_breakAttributesRange(t,e=false){const n=t.start;const i=t.end;nd(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new hl(n,n)}const o=this._breakAttributes(i,e);const s=o.parent.childCount;const r=this._breakAttributes(n,e);o.offset+=o.parent.childCount-s;return new hl(r,o)}_breakAttributes(t,e=false){const n=t.offset;const i=t.parent;if(t.parent.is(\"emptyElement\")){throw new rr[\"b\"](\"view-writer-cannot-break-empty-element\",this.document)}if(t.parent.is(\"uiElement\")){throw new rr[\"b\"](\"view-writer-cannot-break-ui-element\",this.document)}if(!e&&i.is(\"text\")&&ed(i.parent)){return t.clone()}if(ed(i)){return t.clone()}if(i.is(\"text\")){return this._breakAttributes(Jl(t),e)}const o=i.childCount;if(n==o){const t=new ul(i.parent,i.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new ul(i.parent,i.index);return this._breakAttributes(t,e)}else{const t=i.index+1;const o=i._clone();i.parent._insertChild(t,o);this._addToClonedElementsGroup(o);const s=i.childCount-n;const r=i._removeChildren(n,s);o._appendChild(r);const a=new ul(i.parent,t);return this._breakAttributes(a,e)}}}_addToClonedElementsGroup(t){if(!t.root.is(\"rootElement\")){return}if(t.is(\"element\")){for(const e of t.getChildren()){this._addToClonedElementsGroup(e)}}const e=t.id;if(!e){return}let n=this._cloneGroups.get(e);if(!n){n=new Set;this._cloneGroups.set(e,n)}n.add(t);t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is(\"element\")){for(const e of t.getChildren()){this._removeFromClonedElementsGroup(e)}}const e=t.id;if(!e){return}const n=this._cloneGroups.get(e);if(!n){return}n.delete(t)}}function Yl(t){return Array.from(t.getChildren()).some(t=>!t.is(\"uiElement\"))}function Gl(t){let e=t.parent;while(!ed(e)){if(!e){return undefined}e=e.parent}return e}function Ql(t,e){if(t.priority<e.priority){return true}else if(t.priority>e.priority){return false}return t.getIdentity()<e.getIdentity()}function Kl(t){const e=t.nodeBefore;if(e&&e.is(\"text\")){return new ul(e,e.data.length)}const n=t.nodeAfter;if(n&&n.is(\"text\")){return new ul(n,0)}return t}function Jl(t){if(t.offset==t.parent.data.length){return new ul(t.parent.parent,t.parent.index+1)}if(t.offset===0){return new ul(t.parent.parent,t.parent.index)}const e=t.parent.data.slice(t.offset);t.parent._data=t.parent.data.slice(0,t.offset);t.parent.parent._insertChild(t.parent.index+1,new Br(t.root.document,e));return new ul(t.parent.parent,t.parent.index+1)}function Zl(t,e){const n=t.data.length;t._data+=e.data;e._remove();return new ul(t,n)}function Xl(t,e){for(const n of t){if(!td.some(t=>n instanceof t)){throw new rr[\"b\"](\"view-writer-insert-invalid-node\",e)}if(!n.is(\"text\")){Xl(n.getChildren(),e)}}}const td=[Br,_l,Hc,yl,Bl];function ed(t){return t&&(t.is(\"containerElement\")||t.is(\"documentFragment\"))}function nd(t,e){const n=Gl(t.start);const i=Gl(t.end);if(!n||!i||n!==i){throw new rr[\"b\"](\"view-writer-invalid-range-container\",e)}}function id(t,e){return t.id===null&&e.id===null}function od(t){return Object.prototype.toString.call(t)==\"[object Text]\"}const sd=t=>t.createTextNode(\" \");const rd=t=>{const e=t.createElement(\"br\");e.dataset.ckeFiller=true;return e};const ad=7;const cd=(()=>{let t=\"\";for(let e=0;e<ad;e++){t+=\"​\"}return t})();function ld(t){return od(t)&&t.data.substr(0,ad)===cd}function dd(t){return t.data.length==ad&&ld(t)}function ud(t){if(ld(t)){return t.data.slice(ad)}else{return t.data}}function hd(t){t.document.on(\"keydown\",fd)}function fd(t,e){if(e.keyCode==Rl.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(t.rangeCount==1&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer;const n=t.getRangeAt(0).startOffset;if(ld(e)&&n<=ad){t.collapse(e,0)}}}}function gd(t,e,n,i=false){n=n||function(t,e){return t===e};if(!Array.isArray(t)){t=Array.prototype.slice.call(t)}if(!Array.isArray(e)){e=Array.prototype.slice.call(e)}const o=md(t,e,n);return i?_d(o,e.length):wd(e,o)}function md(t,e,n){const i=pd(t,e,n);if(i===-1){return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1}}const o=bd(t,i);const s=bd(e,i);const r=pd(o,s,n);const a=t.length-r;const c=e.length-r;return{firstIndex:i,lastIndexOld:a,lastIndexNew:c}}function pd(t,e,n){for(let i=0;i<Math.max(t.length,e.length);i++){if(t[i]===undefined||e[i]===undefined||!n(t[i],e[i])){return i}}return-1}function bd(t,e){return t.slice(e).reverse()}function wd(t,e){const n=[];const{firstIndex:i,lastIndexOld:o,lastIndexNew:s}=e;if(s-i>0){n.push({index:i,type:\"insert\",values:t.slice(i,s)})}if(o-i>0){n.push({index:i+(s-i),type:\"delete\",howMany:o-i})}return n}function _d(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:o}=t;if(n===-1){return Array(e).fill(\"equal\")}let s=[];if(n>0){s=s.concat(Array(n).fill(\"equal\"))}if(o-n>0){s=s.concat(Array(o-n).fill(\"insert\"))}if(i-n>0){s=s.concat(Array(i-n).fill(\"delete\"))}if(o<e){s=s.concat(Array(e-o).fill(\"equal\"))}return s}function kd(t,e,n){n=n||function(t,e){return t===e};const i=t.length;const o=e.length;if(i>200||o>200||i+o>300){return kd.fastDiff(t,e,n,true)}let s,r;if(o<i){const n=t;t=e;e=n;s=\"delete\";r=\"insert\"}else{s=\"insert\";r=\"delete\"}const a=t.length;const c=e.length;const l=c-a;const d={};const u={};function h(i){const o=(u[i-1]!==undefined?u[i-1]:-1)+1;const l=u[i+1]!==undefined?u[i+1]:-1;const h=o>l?-1:1;if(d[i+h]){d[i]=d[i+h].slice(0)}if(!d[i]){d[i]=[]}d[i].push(o>l?s:r);let f=Math.max(o,l);let g=f-i;while(g<a&&f<c&&n(t[g],e[f])){g++;f++;d[i].push(\"equal\")}return f}let f=0;let g;do{for(g=-f;g<l;g++){u[g]=h(g)}for(g=l+f;g>l;g--){u[g]=h(g)}u[l]=h(l);f++}while(u[l]!==c);return d[l].slice(1)}kd.fastDiff=gd;function vd(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function yd(t){const e=t.parentNode;if(e){e.removeChild(t)}}function xd(t){if(t){if(t.defaultView){return t instanceof t.defaultView.Document}else if(t.ownerDocument&&t.ownerDocument.defaultView){return t instanceof t.ownerDocument.defaultView.Node}}return false}class Ad{constructor(t,e){this.domDocuments=new Set;this.domConverter=t;this.markedAttributes=new Set;this.markedChildren=new Set;this.markedTexts=new Set;this.selection=e;this.isFocused=false;this._inlineFiller=null;this._fakeSelectionContainer=null}markToSync(t,e){if(t===\"text\"){if(this.domConverter.mapViewToDom(e.parent)){this.markedTexts.add(e)}}else{if(!this.domConverter.mapViewToDom(e)){return}if(t===\"attributes\"){this.markedAttributes.add(e)}else if(t===\"children\"){this.markedChildren.add(e)}else{throw new rr[\"b\"](\"view-renderer-unknown-type: Unknown type passed to Renderer.markToSync.\",this)}}}render(){let t;for(const t of this.markedChildren){this._updateChildrenMappings(t)}if(this._inlineFiller&&!this._isSelectionInInlineFiller()){this._removeInlineFiller()}if(this._inlineFiller){t=this._getInlineFillerPosition()}else if(this._needsInlineFillerAtSelection()){t=this.selection.getFirstPosition();this.markedChildren.add(t.parent)}for(const t of this.markedAttributes){this._updateAttrs(t)}for(const e of this.markedChildren){this._updateChildren(e,{inlineFillerPosition:t})}for(const e of this.markedTexts){if(!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)){this._updateText(e,{inlineFillerPosition:t})}}if(t){const e=this.domConverter.viewPositionToDom(t);const n=e.parent.ownerDocument;if(!ld(e.parent)){this._inlineFiller=Cd(n,e.parent,e.offset)}else{this._inlineFiller=e.parent}}else{this._inlineFiller=null}this._updateSelection();this._updateFocus();this.markedTexts.clear();this.markedAttributes.clear();this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=this.domConverter.mapViewToDom(t).childNodes;const i=Array.from(this.domConverter.viewChildrenToDom(t,e.ownerDocument,{withChildren:false}));const o=this._diffNodeLists(n,i);const s=this._findReplaceActions(o,n,i);if(s.indexOf(\"replace\")!==-1){const e={equal:0,insert:0,delete:0};for(const o of s){if(o===\"replace\"){const o=e.equal+e.insert;const s=e.equal+e.delete;const r=t.getChild(o);if(r&&!r.is(\"uiElement\")){this._updateElementMappings(r,n[s])}yd(i[o]);e.equal++}else{e[o]++}}}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e);this.domConverter.bindElements(e,t);this.markedChildren.add(t);this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();if(t.parent.is(\"text\")){return ul._createBefore(this.selection.getFirstPosition().parent)}else{return t}}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=this.domConverter.viewPositionToDom(t);if(e&&od(e.parent)&&ld(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!ld(t)){throw new rr[\"b\"](\"view-renderer-filler-was-lost: The inline filler node was lost.\",this)}if(dd(t)){t.parentNode.removeChild(t)}else{t.data=t.data.substr(ad)}this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=t.parent;const n=t.offset;if(!this.domConverter.mapViewToDom(e.root)){return false}if(!e.is(\"element\")){return false}if(!Td(e)){return false}if(n===e.getFillerOffset()){return false}const i=t.nodeBefore;const o=t.nodeAfter;if(i instanceof Br||o instanceof Br){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const i=this.domConverter.viewToDom(t,n.ownerDocument);const o=n.data;let s=i.data;const r=e.inlineFillerPosition;if(r&&r.parent==t.parent&&r.offset==t.index){s=cd+s}if(o!=s){const t=gd(o,s);for(const e of t){if(e.type===\"insert\"){n.insertData(e.index,e.values.join(\"\"))}else{n.deleteData(e.index,e.howMany)}}}}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.attributes).map(t=>t.name);const i=t.getAttributeKeys();for(const n of i){e.setAttribute(n,t.getAttribute(n))}for(const i of n){if(!t.hasAttribute(i)){e.removeAttribute(i)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}const i=e.inlineFillerPosition;const o=this.domConverter.mapViewToDom(t).childNodes;const s=Array.from(this.domConverter.viewChildrenToDom(t,n.ownerDocument,{bind:true,inlineFillerPosition:i}));if(i&&i.parent===t){Cd(n.ownerDocument,s,i.offset)}const r=this._diffNodeLists(o,s);let a=0;const c=new Set;for(const t of r){if(t===\"delete\"){c.add(o[a]);yd(o[a])}else if(t===\"equal\"){a++}}a=0;for(const t of r){if(t===\"insert\"){vd(n,a,s[a]);a++}else if(t===\"equal\"){this._markDescendantTextToSync(this.domConverter.domToView(s[a]));a++}}for(const t of c){if(!t.parentNode){this.domConverter.unbindDomElement(t)}}}_diffNodeLists(t,e){t=Md(t,this._fakeSelectionContainer);return kd(t,e,Pd.bind(null,this.domConverter))}_findReplaceActions(t,e,n){if(t.indexOf(\"insert\")===-1||t.indexOf(\"delete\")===-1){return t}let i=[];let o=[];let s=[];const r={equal:0,insert:0,delete:0};for(const a of t){if(a===\"insert\"){s.push(n[r.equal+r.insert])}else if(a===\"delete\"){o.push(e[r.equal+r.delete])}else{i=i.concat(kd(o,s,Sd).map(t=>t===\"equal\"?\"replace\":t));i.push(\"equal\");o=[];s=[]}r[a]++}return i.concat(kd(o,s,Sd).map(t=>t===\"equal\"?\"replace\":t))}_markDescendantTextToSync(t){if(!t){return}if(t.is(\"text\")){this.markedTexts.add(t)}else if(t.is(\"element\")){for(const e of t.getChildren()){this._markDescendantTextToSync(e)}}}_updateSelection(){if(this.selection.rangeCount===0){this._removeDomSelection();this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);if(!this.isFocused||!t){return}if(this.selection.isFake){this._updateFakeSelection(t)}else{this._removeFakeSelection();this._updateDomSelection(t)}}_updateFakeSelection(t){const e=t.ownerDocument;if(!this._fakeSelectionContainer){this._fakeSelectionContainer=Id(e)}const n=this._fakeSelectionContainer;this.domConverter.bindFakeSelection(n,this.selection);if(!this._fakeSelectionNeedsUpdate(t)){return}if(!n.parentElement||n.parentElement!=t){t.appendChild(n)}n.textContent=this.selection.fakeSelectionLabel||\" \";const i=e.getSelection();const o=e.createRange();i.removeAllRanges();o.selectNodeContents(n);i.addRange(o)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const i=this.domConverter.viewPositionToDom(this.selection.focus);t.focus();e.collapse(n.parent,n.offset);e.extend(i.parent,i.offset);if(Cl.isGecko){Ed(i,e)}}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t)){return true}const e=t&&this.domConverter.domSelectionToView(t);if(e&&this.selection.isEqual(e)){return false}if(!this.selection.isCollapsed&&this.selection.isSimilar(e)){return false}return true}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer;const n=t.ownerDocument.getSelection();if(!e||e.parentElement!==t){return true}if(n.anchorNode!==e&&!e.contains(n.anchorNode)){return true}return e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const e=t.activeElement;const n=this.domConverter.mapDomToView(e);if(e&&n){t.getSelection().removeAllRanges()}}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;if(t){t.remove()}}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;if(t){this.domConverter.focus(t)}}}}yr(Ad,Kc);function Td(t){if(t.getAttribute(\"contenteditable\")==\"false\"){return false}const e=t.findAncestor(t=>t.hasAttribute(\"contenteditable\"));return!e||e.getAttribute(\"contenteditable\")==\"true\"}function Cd(t,e,n){const i=e instanceof Array?e:e.childNodes;const o=i[n];if(od(o)){o.data=cd+o.data;return o}else{const o=t.createTextNode(cd);if(Array.isArray(e)){i.splice(n,0,o)}else{vd(e,n,o)}return o}}function Sd(t,e){return xd(t)&&xd(e)&&!od(t)&&!od(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Pd(t,e,n){if(e===n){return true}else if(od(e)&&od(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function Ed(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const i=n.childNodes[t.offset];if(i&&i.tagName==\"BR\"){e.addRange(e.getRangeAt(0))}}function Md(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const i=n[n.length-1];if(i==e){n.pop()}return n}function Id(t){const e=t.createElement(\"div\");Object.assign(e.style,{position:\"fixed\",top:0,left:\"-9999px\",width:\"42px\"});e.textContent=\" \";return e}var Nd={window:window,document:document};function Od(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function Rd(t){const e=[];while(t&&t.nodeType!=Node.DOCUMENT_NODE){e.unshift(t);t=t.parentNode}return e}function Dd(t,e){const n=Rd(t);const i=Rd(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}const Ld=rd(document);class zd{constructor(t,e={}){this.document=t;this.blockFillerMode=e.blockFillerMode||\"br\";this.preElements=[\"pre\"];this.blockElements=[\"p\",\"div\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"dd\",\"dt\",\"figcaption\"];this._blockFiller=this.blockFillerMode==\"br\"?rd:sd;this._domToViewMapping=new WeakMap;this._viewToDomMapping=new WeakMap;this._fakeSelectionMapping=new WeakMap}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new ml(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t);this._viewToDomMapping.delete(e);for(const e of t.childNodes){this.unbindDomElement(e)}}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}viewToDom(t,e,n={}){if(t.is(\"text\")){const n=this._processDataFromViewText(t);return e.createTextNode(n)}else{if(this.mapViewToDom(t)){return this.mapViewToDom(t)}let i;if(t.is(\"documentFragment\")){i=e.createDocumentFragment();if(n.bind){this.bindDocumentFragments(i,t)}}else if(t.is(\"uiElement\")){i=t.render(e);if(n.bind){this.bindElements(i,t)}return i}else{if(t.hasAttribute(\"xmlns\")){i=e.createElementNS(t.getAttribute(\"xmlns\"),t.name)}else{i=e.createElement(t.name)}if(n.bind){this.bindElements(i,t)}for(const e of t.getAttributeKeys()){i.setAttribute(e,t.getAttribute(e))}}if(n.withChildren||n.withChildren===undefined){for(const o of this.viewChildrenToDom(t,e,n)){i.appendChild(o)}}return i}}*viewChildrenToDom(t,e,n={}){const i=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const s of t.getChildren()){if(i===o){yield this._blockFiller(e)}yield this.viewToDom(s,e,n);o++}if(i===o){yield this._blockFiller(e)}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const i=document.createRange();i.setStart(e.parent,e.offset);i.setEnd(n.parent,n.offset);return i}viewPositionToDom(t){const e=t.parent;if(e.is(\"text\")){const n=this.findCorrespondingDomText(e);if(!n){return null}let i=t.offset;if(ld(n)){i+=ad}return{parent:n,offset:i}}else{let n,i,o;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}o=n.childNodes[0]}else{const e=t.nodeBefore;i=e.is(\"text\")?this.findCorrespondingDomText(e):this.mapViewToDom(t.nodeBefore);if(!i){return null}n=i.parentNode;o=i.nextSibling}if(od(o)&&ld(o)){return{parent:o,offset:ad}}const s=i?Od(i)+1:0;return{parent:n,offset:s}}}domToView(t,e={}){if(this.isBlockFiller(t,this.blockFillerMode)){return null}const n=this.getParentUIElement(t,this._domToViewMapping);if(n){return n}if(od(t)){if(dd(t)){return null}else{const e=this._processDataFromDomText(t);return e===\"\"?null:new Br(this.document,e)}}else if(this.isComment(t)){return null}else{if(this.mapDomToView(t)){return this.mapDomToView(t)}let n;if(this.isDocumentFragment(t)){n=new Wl(this.document);if(e.bind){this.bindDocumentFragments(t,n)}}else{const i=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();n=new Vc(this.document,i);if(e.bind){this.bindElements(t,n)}const o=t.attributes;for(let t=o.length-1;t>=0;t--){n._setAttribute(o[t].name,o[t].value)}}if(e.withChildren||e.withChildren===undefined){for(const i of this.domChildrenToView(t,e)){n._appendChild(i)}}return n}}*domChildrenToView(t,e={}){for(let n=0;n<t.childNodes.length;n++){const i=t.childNodes[n];const o=this.domToView(i,e);if(o!==null){yield o}}}domSelectionToView(t){if(t.rangeCount===1){let e=t.getRangeAt(0).startContainer;if(od(e)){e=e.parentNode}const n=this.fakeSelectionToView(e);if(n){return n}}const e=this.isDomSelectionBackward(t);const n=[];for(let e=0;e<t.rangeCount;e++){const i=t.getRangeAt(e);const o=this.domRangeToView(i);if(o){n.push(o)}}return new ml(n,{backward:e})}domRangeToView(t){const e=this.domPositionToView(t.startContainer,t.startOffset);const n=this.domPositionToView(t.endContainer,t.endOffset);if(e&&n){return new hl(e,n)}return null}domPositionToView(t,e){if(this.isBlockFiller(t,this.blockFillerMode)){return this.domPositionToView(t.parentNode,Od(t))}const n=this.mapDomToView(t);if(n&&n.is(\"uiElement\")){return ul._createBefore(n)}if(od(t)){if(dd(t)){return this.domPositionToView(t.parentNode,Od(t))}const n=this.findCorrespondingViewText(t);let i=e;if(!n){return null}if(ld(t)){i-=ad;i=i<0?0:i}return new ul(n,i)}else{if(e===0){const e=this.mapDomToView(t);if(e){return new ul(e,0)}}else{const n=t.childNodes[e-1];const i=od(n)?this.findCorrespondingViewText(n):this.mapDomToView(n);if(i&&i.parent){return new ul(i.parent,i.index+1)}}return null}}mapDomToView(t){return this.getParentUIElement(t)||this._domToViewMapping.get(t)}findCorrespondingViewText(t){if(dd(t)){return null}const e=this.getParentUIElement(t);if(e){return e}const n=t.previousSibling;if(n){if(!this.isElement(n)){return null}const t=this.mapDomToView(n);if(t){const e=t.nextSibling;if(e instanceof Br){return t.nextSibling}else{return null}}}else{const e=this.mapDomToView(t.parentNode);if(e){const t=e.getChild(0);if(t instanceof Br){return t}else{return null}}}return null}mapViewToDom(t){return this._viewToDomMapping.get(t)}findCorrespondingDomText(t){const e=t.previousSibling;if(e&&this.mapViewToDom(e)){return this.mapViewToDom(e).nextSibling}if(!e&&t.parent&&this.mapViewToDom(t.parent)){return this.mapViewToDom(t.parent).childNodes[0]}return null}focus(t){const e=this.mapViewToDom(t);if(e&&e.ownerDocument.activeElement!==e){const{scrollX:t,scrollY:n}=Nd.window;const i=[];jd(e,t=>{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])});e.focus();jd(e,t=>{const[e,n]=i.shift();t.scrollLeft=e;t.scrollTop=n});Nd.window.scrollTo(t,n)}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isComment(t){return t&&t.nodeType==Node.COMMENT_NODE}isBlockFiller(t){if(this.blockFillerMode==\"br\"){return t.isEqualNode(Ld)}if(t.tagName===\"BR\"&&Fd(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return Bd(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed){return false}const e=document.createRange();e.setStart(t.anchorNode,t.anchorOffset);e.setEnd(t.focusNode,t.focusOffset);const n=e.collapsed;e.detach();return n}getParentUIElement(t){const e=Rd(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&n.is(\"uiElement\")){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}_isDomSelectionPositionCorrect(t,e){if(od(t)&&ld(t)&&e<ad){return false}if(this.isElement(t)&&ld(t.childNodes[e])){return false}const n=this.mapDomToView(t);if(n&&n.is(\"uiElement\")){return false}return true}_processDataFromViewText(t){let e=t.data;if(t.getAncestors().some(t=>this.preElements.includes(t.name))){return e}if(e.charAt(0)==\" \"){const n=this._getTouchingViewTextNode(t,false);const i=n&&this._nodeEndsWithSpace(n);if(i||!n){e=\" \"+e.substr(1)}}if(e.charAt(e.length-1)==\" \"){const n=this._getTouchingViewTextNode(t,true);if(e.charAt(e.length-2)==\" \"||!n||n.data.charAt(0)==\" \"){e=e.substr(0,e.length-1)+\" \"}}return e.replace(/ {2}/g,\"  \")}_nodeEndsWithSpace(t){if(t.getAncestors().some(t=>this.preElements.includes(t.name))){return false}const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==\" \"}_processDataFromDomText(t){let e=t.data;if(Vd(t,this.preElements)){return ud(t)}e=e.replace(/[ \\n\\t\\r]{1,}/g,\" \");const n=this._getTouchingInlineDomNode(t,false);const i=this._getTouchingInlineDomNode(t,true);const o=this._checkShouldLeftTrimDomText(n);const s=this._checkShouldRightTrimDomText(t,i);if(o){e=e.replace(/^ /,\"\")}if(s){e=e.replace(/ $/,\"\")}e=ud(new Text(e));e=e.replace(/ \\u00A0/g,\"  \");if(/( |\\u00A0)\\u00A0$/.test(e)||!i||i.data&&i.data.charAt(0)==\" \"){e=e.replace(/\\u00A0$/,\" \")}if(o){e=e.replace(/^\\u00A0/,\" \")}return e}_checkShouldLeftTrimDomText(t){if(!t){return true}if(Gs(t)){return true}return/[^\\S\\u00A0]/.test(t.data.charAt(t.data.length-1))}_checkShouldRightTrimDomText(t,e){if(e){return false}return!ld(t)}_getTouchingViewTextNode(t,e){const n=new dl({startPosition:e?ul._createAfter(t):ul._createBefore(t),direction:e?\"forward\":\"backward\"});for(const t of n){if(t.item.is(\"containerElement\")){return null}else if(t.item.is(\"br\")){return null}else if(t.item.is(\"textProxy\")){return t.item}}return null}_getTouchingInlineDomNode(t,e){if(!t.parentNode){return null}const n=e?\"nextNode\":\"previousNode\";const i=t.ownerDocument;const o=Rd(t)[0];const s=i.createTreeWalker(o,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT,{acceptNode(t){if(od(t)){return NodeFilter.FILTER_ACCEPT}if(t.tagName==\"BR\"){return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP}});s.currentNode=t;const r=s[n]();if(r!==null){const e=Dd(t,r);if(e&&!Vd(t,this.blockElements,e)&&!Vd(r,this.blockElements,e)){return r}}return null}}function Vd(t,e,n){let i=Rd(t);if(n){i=i.slice(i.indexOf(n)+1)}return i.some(t=>t.tagName&&e.includes(t.tagName.toLowerCase()))}function jd(t,e){while(t&&t!=Nd.document){e(t);t=t.parentNode}}function Bd(t,e){const n=od(t)&&t.data==\" \";return n&&Fd(t,e)&&t.parentNode.childNodes.length===1}function Fd(t,e){const n=t.parentNode;return n&&n.tagName&&e.includes(n.tagName.toLowerCase())}function Hd(t){const e=Object.prototype.toString.apply(t);if(e==\"[object Window]\"){return true}if(e==\"[object global]\"){return true}return false}const Ud=qc({},dr,{listenTo(t,...e){if(xd(t)||Hd(t)){const n=this._getProxyEmitter(t)||new qd(t);n.attach(...e);t=n}dr.listenTo.call(this,t,...e)},stopListening(t,e,n){if(xd(t)||Hd(t)){const e=this._getProxyEmitter(t);if(!e){return}t=e}dr.stopListening.call(this,t,e,n);if(t instanceof qd){t.detach(e)}},_getProxyEmitter(t){return ur(this,$d(t))}});var Wd=Ud;class qd{constructor(t){hr(this,$d(t));this._domNode=t}}qc(qd.prototype,dr,{attach(t,e,n={}){if(this._domListeners&&this._domListeners[t]){return}const i=this._createDomListener(t,!!n.useCapture);this._domNode.addEventListener(t,i,!!n.useCapture);if(!this._domListeners){this._domListeners={}}this._domListeners[t]=i},detach(t){let e;if(this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)){this._domListeners[t].removeListener()}},_createDomListener(t,e){const n=e=>{this.fire(t,e)};n.removeListener=()=>{this._domNode.removeEventListener(t,n,e);delete this._domListeners[t]};return n}});function $d(t){return t[\"data-ck-expando\"]||(t[\"data-ck-expando\"]=nr())}class Yd{constructor(t){this.view=t;this.document=t.document;this.isEnabled=false}enable(){this.isEnabled=true}disable(){this.isEnabled=false}destroy(){this.disable();this.stopListening()}}yr(Yd,Wd);var Gd=\"__lodash_hash_undefined__\";function Qd(t){this.__data__.set(t,Gd);return this}var Kd=Qd;function Jd(t){return this.__data__.has(t)}var Zd=Jd;function Xd(t){var e=-1,n=t==null?0:t.length;this.__data__=new ke;while(++e<n){this.add(t[e])}}Xd.prototype.add=Xd.prototype.push=Kd;Xd.prototype.has=Zd;var tu=Xd;function eu(t,e){var n=-1,i=t==null?0:t.length;while(++n<i){if(e(t[n],n,t)){return true}}return false}var nu=eu;function iu(t,e){return t.has(e)}var ou=iu;var su=1,ru=2;function au(t,e,n,i,o,s){var r=n&su,a=t.length,c=e.length;if(a!=c&&!(r&&c>a)){return false}var l=s.get(t);if(l&&s.get(e)){return l==e}var d=-1,u=true,h=n&ru?new tu:undefined;s.set(t,e);s.set(e,t);while(++d<a){var f=t[d],g=e[d];if(i){var m=r?i(g,f,d,e,t,s):i(f,g,d,t,e,s)}if(m!==undefined){if(m){continue}u=false;break}if(h){if(!nu(e,(function(t,e){if(!ou(h,e)&&(f===t||o(f,t,n,i,s))){return h.push(e)}}))){u=false;break}}else if(!(f===g||o(f,g,n,i,s))){u=false;break}}s[\"delete\"](t);s[\"delete\"](e);return u}var cu=au;function lu(t){var e=-1,n=Array(t.size);t.forEach((function(t,i){n[++e]=[i,t]}));return n}var du=lu;function uu(t){var e=-1,n=Array(t.size);t.forEach((function(t){n[++e]=t}));return n}var hu=uu;var fu=1,gu=2;var mu=\"[object Boolean]\",pu=\"[object Date]\",bu=\"[object Error]\",wu=\"[object Map]\",_u=\"[object Number]\",ku=\"[object RegExp]\",vu=\"[object Set]\",yu=\"[object String]\",xu=\"[object Symbol]\";var Au=\"[object ArrayBuffer]\",Tu=\"[object DataView]\";var Cu=s?s.prototype:undefined,Su=Cu?Cu.valueOf:undefined;function Pu(t,e,n,i,o,s,r){switch(n){case Tu:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset){return false}t=t.buffer;e=e.buffer;case Au:if(t.byteLength!=e.byteLength||!s(new fo(t),new fo(e))){return false}return true;case mu:case pu:case _u:return V(+t,+e);case bu:return t.name==e.name&&t.message==e.message;case ku:case yu:return t==e+\"\";case wu:var a=du;case vu:var c=i&fu;a||(a=hu);if(t.size!=e.size&&!c){return false}var l=r.get(t);if(l){return l==e}i|=gu;r.set(t,e);var d=cu(a(t),a(e),i,o,s,r);r[\"delete\"](t);return d;case xu:if(Su){return Su.call(t)==Su.call(e)}}return false}var Eu=Pu;var Mu=1;var Iu=Object.prototype;var Nu=Iu.hasOwnProperty;function Ou(t,e,n,i,o,s){var r=n&Mu,a=zi(t),c=a.length,l=zi(e),d=l.length;if(c!=d&&!r){return false}var u=c;while(u--){var h=a[u];if(!(r?h in e:Nu.call(e,h))){return false}}var f=s.get(t);if(f&&s.get(e)){return f==e}var g=true;s.set(t,e);s.set(e,t);var m=r;while(++u<c){h=a[u];var p=t[h],b=e[h];if(i){var w=r?i(b,p,h,e,t,s):i(p,b,h,t,e,s)}if(!(w===undefined?p===b||o(p,b,n,i,s):w)){g=false;break}m||(m=h==\"constructor\")}if(g&&!m){var _=t.constructor,k=e.constructor;if(_!=k&&(\"constructor\"in t&&\"constructor\"in e)&&!(typeof _==\"function\"&&_ instanceof _&&typeof k==\"function\"&&k instanceof k)){g=false}}s[\"delete\"](t);s[\"delete\"](e);return g}var Ru=Ou;var Du=1;var Lu=\"[object Arguments]\",zu=\"[object Array]\",Vu=\"[object Object]\";var ju=Object.prototype;var Bu=ju.hasOwnProperty;function Fu(t,e,n,i,o,s){var r=Qe(t),a=Qe(e),c=r?zu:ro(t),l=a?zu:ro(e);c=c==Lu?Vu:c;l=l==Lu?Vu:l;var d=c==Vu,u=l==Vu,h=c==l;if(h&&Object(Ke[\"a\"])(t)){if(!Object(Ke[\"a\"])(e)){return false}r=true;d=false}if(h&&!d){s||(s=new Te);return r||zn(t)?cu(t,e,n,i,o,s):Eu(t,e,c,n,i,o,s)}if(!(n&Du)){var f=d&&Bu.call(t,\"__wrapped__\"),g=u&&Bu.call(e,\"__wrapped__\");if(f||g){var m=f?t.value():t,p=g?e.value():e;s||(s=new Te);return o(m,p,n,i,s)}}if(!h){return false}s||(s=new Te);return Ru(t,e,n,i,o,s)}var Hu=Fu;function Uu(t,e,n,i,o){if(t===e){return true}if(t==null||e==null||!C(t)&&!C(e)){return t!==t&&e!==e}return Hu(t,e,n,i,Uu,o)}var Wu=Uu;function qu(t,e,n){n=typeof n==\"function\"?n:undefined;var i=n?n(t,e):undefined;return i===undefined?Wu(t,e,undefined,n):!!i}var $u=qu;class Yu extends Yd{constructor(t){super(t);this._config={childList:true,characterData:true,characterDataOldValue:true,subtree:true};this.domConverter=t.domConverter;this.renderer=t._renderer;this._domElements=[];this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(t){this._domElements.push(t);if(this.isEnabled){this._mutationObserver.observe(t,this._config)}}enable(){super.enable();for(const t of this._domElements){this._mutationObserver.observe(t,this._config)}}disable(){super.disable();this._mutationObserver.disconnect()}destroy(){super.destroy();this._mutationObserver.disconnect()}_onMutations(t){if(t.length===0){return}const e=this.domConverter;const n=new Map;const i=new Set;for(const n of t){if(n.type===\"childList\"){const t=e.mapDomToView(n.target);if(t&&t.is(\"uiElement\")){continue}if(t&&!this._isBogusBrMutation(n)){i.add(t)}}}for(const o of t){const t=e.mapDomToView(o.target);if(t&&t.is(\"uiElement\")){continue}if(o.type===\"characterData\"){const t=e.findCorrespondingViewText(o.target);if(t&&!i.has(t.parent)){n.set(t,{type:\"text\",oldText:t.data,newText:ud(o.target),node:t})}else if(!t&&ld(o.target)){i.add(e.mapDomToView(o.target.parentNode))}}}const o=[];for(const t of n.values()){this.renderer.markToSync(\"text\",t.node);o.push(t)}for(const t of i){const n=e.mapViewToDom(t);const i=Array.from(t.getChildren());const s=Array.from(e.domChildrenToView(n,{withChildren:false}));if(!$u(i,s,a)){this.renderer.markToSync(\"children\",t);o.push({type:\"children\",oldChildren:i,newChildren:s,node:t})}}const s=t[0].target.ownerDocument.getSelection();let r=null;if(s&&s.anchorNode){const t=e.domPositionToView(s.anchorNode,s.anchorOffset);const n=e.domPositionToView(s.focusNode,s.focusOffset);if(t&&n){r=new ml(t);r.setFocus(n)}}if(o.length){this.document.fire(\"mutations\",o,r);this.view.forceRender()}function a(t,e){if(Array.isArray(t)){return}if(t===e){return true}else if(t.is(\"text\")&&e.is(\"text\")){return t.data===e.data}return false}}_isBogusBrMutation(t){let e=null;if(t.nextSibling===null&&t.removedNodes.length===0&&t.addedNodes.length==1){e=this.domConverter.domToView(t.addedNodes[0],{withChildren:false})}return e&&e.is(\"element\",\"br\")}}class Gu{constructor(t,e,n){this.view=t;this.document=t.document;this.domEvent=e;this.domTarget=e.target;qc(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class Qu extends Yd{constructor(t){super(t);this.useCapture=false}observe(t){const e=typeof this.domEventType==\"string\"?[this.domEventType]:this.domEventType;e.forEach(e=>{this.listenTo(t,e,(t,e)=>{if(this.isEnabled){this.onDomEvent(e)}},{useCapture:this.useCapture})})}fire(t,e,n){if(this.isEnabled){this.document.fire(t,new Gu(this.view,e,n))}}}class Ku extends Qu{constructor(t){super(t);this.domEventType=[\"keydown\",\"keyup\"]}onDomEvent(t){this.fire(t.type,t,{keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey||t.metaKey,shiftKey:t.shiftKey,get keystroke(){return Dl(this)}})}}var Ju=function(){return i[\"a\"].Date.now()};var Zu=Ju;var Xu=0/0;var th=/^\\s+|\\s+$/g;var eh=/^[-+]0x[0-9a-f]+$/i;var nh=/^0b[01]+$/i;var ih=/^0o[0-7]+$/i;var oh=parseInt;function sh(t){if(typeof t==\"number\"){return t}if(Zr(t)){return Xu}if(ct(t)){var e=typeof t.valueOf==\"function\"?t.valueOf():t;t=ct(e)?e+\"\":e}if(typeof t!=\"string\"){return t===0?t:+t}t=t.replace(th,\"\");var n=nh.test(t);return n||ih.test(t)?oh(t.slice(2),n?2:8):eh.test(t)?Xu:+t}var rh=sh;var ah=\"Expected a function\";var ch=Math.max,lh=Math.min;function dh(t,e,n){var i,o,s,r,a,c,l=0,d=false,u=false,h=true;if(typeof t!=\"function\"){throw new TypeError(ah)}e=rh(e)||0;if(ct(n)){d=!!n.leading;u=\"maxWait\"in n;s=u?ch(rh(n.maxWait)||0,e):s;h=\"trailing\"in n?!!n.trailing:h}function f(e){var n=i,s=o;i=o=undefined;l=e;r=t.apply(s,n);return r}function g(t){l=t;a=setTimeout(b,e);return d?f(t):r}function m(t){var n=t-c,i=t-l,o=e-n;return u?lh(o,s-i):o}function p(t){var n=t-c,i=t-l;return c===undefined||n>=e||n<0||u&&i>=s}function b(){var t=Zu();if(p(t)){return w(t)}a=setTimeout(b,m(t))}function w(t){a=undefined;if(h&&i){return f(t)}i=o=undefined;return r}function _(){if(a!==undefined){clearTimeout(a)}l=0;i=c=o=a=undefined}function k(){return a===undefined?r:w(Zu())}function v(){var t=Zu(),n=p(t);i=arguments;o=this;c=t;if(n){if(a===undefined){return g(c)}if(u){clearTimeout(a);a=setTimeout(b,e);return f(c)}}if(a===undefined){a=setTimeout(b,e)}return r}v.cancel=_;v.flush=k;return v}var uh=dh;class hh extends Yd{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=uh(t=>this.document.fire(\"selectionChangeDone\",t),200)}observe(){const t=this.document;t.on(\"keydown\",(e,n)=>{const i=t.selection;if(i.isFake&&fh(n.keyCode)&&this.isEnabled){n.preventDefault();this._handleSelectionMove(n.keyCode)}},{priority:\"lowest\"})}destroy(){super.destroy();this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection;const n=new ml(e.getRanges(),{backward:e.isBackward,fake:false});if(t==Rl.arrowleft||t==Rl.arrowup){n.setTo(n.getFirstPosition())}if(t==Rl.arrowright||t==Rl.arrowdown){n.setTo(n.getLastPosition())}const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire(\"selectionChange\",i);this._fireSelectionChangeDoneDebounced(i)}}function fh(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}class gh extends Yd{constructor(t){super(t);this.mutationObserver=t.getObserver(Yu);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=uh(t=>this.document.fire(\"selectionChangeDone\",t),200);this._clearInfiniteLoopInterval=setInterval(()=>this._clearInfiniteLoop(),1e3);this._loopbackCounter=0}observe(t){const e=t.ownerDocument;if(this._documents.has(e)){return}this.listenTo(e,\"selectionchange\",()=>{this._handleSelectionChange(e)});this._documents.add(e)}destroy(){super.destroy();clearInterval(this._clearInfiniteLoopInterval);this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionChange(t){if(!this.isEnabled){return}this.mutationObserver.flush();const e=t.defaultView.getSelection();const n=this.domConverter.domSelectionToView(e);if(n.rangeCount==0){this.view.hasDomSelection=false;return}this.view.hasDomSelection=true;if(this.selection.isEqual(n)&&this.domConverter.isDomSelectionCorrect(e)){return}if(++this._loopbackCounter>60){return}if(this.selection.isSimilar(n)){this.view.forceRender()}else{const t={oldSelection:this.selection,newSelection:n,domSelection:e};this.document.fire(\"selectionChange\",t);this._fireSelectionChangeDoneDebounced(t)}}_clearInfiniteLoop(){this._loopbackCounter=0}}class mh extends Qu{constructor(t){super(t);this.domEventType=[\"focus\",\"blur\"];this.useCapture=true;const e=this.document;e.on(\"focus\",()=>{e.isFocused=true;this._renderTimeoutId=setTimeout(()=>t.forceRender(),50)});e.on(\"blur\",(n,i)=>{const o=e.selection.editableElement;if(o===null||o===i.target){e.isFocused=false;t.forceRender()}})}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class ph extends Qu{constructor(t){super(t);this.domEventType=[\"compositionstart\",\"compositionupdate\",\"compositionend\"];const e=this.document;e.on(\"compositionstart\",()=>{e.isComposing=true});e.on(\"compositionend\",()=>{e.isComposing=false})}onDomEvent(t){this.fire(t.type,t)}}class bh extends Qu{constructor(t){super(t);this.domEventType=[\"beforeinput\"]}onDomEvent(t){this.fire(t.type,t)}}function wh(t){return Object.prototype.toString.apply(t)==\"[object Range]\"}function _h(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}const kh=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\"];class vh{constructor(t){const e=wh(t);Object.defineProperty(this,\"_source\",{value:t._source||t,writable:true,enumerable:false});if(Gs(t)||e){if(e){yh(this,vh.getDomRangeRects(t)[0])}else{yh(this,t.getBoundingClientRect())}}else if(Hd(t)){const{innerWidth:e,innerHeight:n}=t;yh(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{yh(this,t)}}clone(){return new vh(this)}moveTo(t,e){this.top=e;this.right=t+this.width;this.bottom=e+this.height;this.left=t;return this}moveBy(t,e){this.top+=e;this.right+=t;this.left+=t;this.bottom+=e;return this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left)};e.width=e.right-e.left;e.height=e.bottom-e.top;if(e.width<0||e.height<0){return null}else{return new vh(e)}}getIntersectionArea(t){const e=this.getIntersection(t);if(e){return e.getArea()}else{return 0}}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(!xh(t)){let n=t.parentNode||t.commonAncestorContainer;while(n&&!xh(n)){const t=new vh(n);const i=e.getIntersection(t);if(i){if(i.getArea()<e.getArea()){e=i}}else{return null}n=n.parentNode}}return e}isEqual(t){for(const e of kh){if(this[e]!==t[e]){return false}}return true}contains(t){const e=this.getIntersection(t);return!!(e&&e.isEqual(t))}excludeScrollbarsAndBorders(){const t=this._source;let e,n,i;if(Hd(t)){e=t.innerWidth-t.document.documentElement.clientWidth;n=t.innerHeight-t.document.documentElement.clientHeight;i=t.getComputedStyle(t.document.documentElement).direction}else{const o=_h(this._source);e=t.offsetWidth-t.clientWidth-o.left-o.right;n=t.offsetHeight-t.clientHeight-o.top-o.bottom;i=t.ownerDocument.defaultView.getComputedStyle(t).direction;this.left+=o.left;this.top+=o.top;this.right-=o.right;this.bottom-=o.bottom;this.width=this.right-this.left;this.height=this.bottom-this.top}this.width-=e;if(i===\"ltr\"){this.right-=e}else{this.left+=e}this.height-=n;this.bottom-=n;return this}static getDomRangeRects(t){const e=[];const n=Array.from(t.getClientRects());if(n.length){for(const t of n){e.push(new vh(t))}}else{let n=t.startContainer;if(od(n)){n=n.parentNode}const i=new vh(n.getBoundingClientRect());i.right=i.left;i.width=0;e.push(i)}return e}}function yh(t,e){for(const n of kh){t[n]=e[n]}}function xh(t){if(!Gs(t)){return false}return t===t.ownerDocument.body}const Ah={};function Th({target:t,viewportOffset:e=0}){const n=Oh(t);let i=n;let o=null;while(i){let s;if(i==n){s=Rh(t)}else{s=Rh(o)}Ph(s,()=>Dh(t,i));const r=Dh(t,i);Sh(i,r,e);if(i.parent!=i){o=i.frameElement;i=i.parent;if(!o){return}}else{i=null}}}function Ch(t){const e=Rh(t);Ph(e,()=>new vh(t))}Object.assign(Ah,{scrollViewportToShowTarget:Th,scrollAncestorsToShowTarget:Ch});function Sh(t,e,n){const i=e.clone().moveBy(0,n);const o=e.clone().moveBy(0,-n);const s=new vh(t).excludeScrollbarsAndBorders();const r=[o,i];if(!r.every(t=>s.contains(t))){let{scrollX:r,scrollY:a}=t;if(Mh(o,s)){a-=s.top-e.top+n}else if(Eh(i,s)){a+=e.bottom-s.bottom+n}if(Ih(e,s)){r-=s.left-e.left+n}else if(Nh(e,s)){r+=e.right-s.right+n}t.scrollTo(r,a)}}function Ph(t,e){const n=Oh(t);let i,o;while(t!=n.document.body){o=e();i=new vh(t).excludeScrollbarsAndBorders();if(!i.contains(o)){if(Mh(o,i)){t.scrollTop-=i.top-o.top}else if(Eh(o,i)){t.scrollTop+=o.bottom-i.bottom}if(Ih(o,i)){t.scrollLeft-=i.left-o.left}else if(Nh(o,i)){t.scrollLeft+=o.right-i.right}}t=t.parentNode}}function Eh(t,e){return t.bottom>e.bottom}function Mh(t,e){return t.top<e.top}function Ih(t,e){return t.left<e.left}function Nh(t,e){return t.right>e.right}function Oh(t){if(wh(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function Rh(t){if(wh(t)){let e=t.commonAncestorContainer;if(od(e)){e=e.parentNode}return e}else{return t.parentNode}}function Dh(t,e){const n=Oh(t);const i=new vh(t);if(n===e){return i}else{let t=n;while(t!=e){const e=t.frameElement;const n=new vh(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top);t=t.parent}}return i}class Lh{constructor(t){this.document=new bl(t);this.domConverter=new zd(this.document);this.domRoots=new Map;this.set(\"isRenderingInProgress\",false);this.set(\"hasDomSelection\",false);this._renderer=new Ad(this.domConverter,this.document.selection);this._renderer.bind(\"isFocused\").to(this.document);this._initialDomRootAttributes=new WeakMap;this._observers=new Map;this._ongoingChange=false;this._postFixersInProgress=false;this._renderingDisabled=false;this._hasChangedSinceTheLastRendering=false;this._writer=new $l(this.document);this.addObserver(Yu);this.addObserver(gh);this.addObserver(mh);this.addObserver(Ku);this.addObserver(hh);this.addObserver(ph);if(Cl.isAndroid){this.addObserver(bh)}hd(this);Fl(this);this.on(\"render\",()=>{this._render();this.document.fire(\"layoutChanged\");this._hasChangedSinceTheLastRendering=false});this.listenTo(this.document.selection,\"change\",()=>{this._hasChangedSinceTheLastRendering=true})}attachDomRoot(t,e=\"main\"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:e,value:o}of Array.from(t.attributes)){i[e]=o;if(e===\"class\"){this._writer.addClass(o.split(\" \"),n)}else{this._writer.setAttribute(e,o,n)}}this._initialDomRootAttributes.set(t,i);const o=()=>{this._writer.setAttribute(\"contenteditable\",!n.isReadOnly,n);if(n.isReadOnly){this._writer.addClass(\"ck-read-only\",n)}else{this._writer.removeClass(\"ck-read-only\",n)}};o();this.domRoots.set(e,t);this.domConverter.bindElements(t,n);this._renderer.markToSync(\"children\",n);this._renderer.markToSync(\"attributes\",n);this._renderer.domDocuments.add(t.ownerDocument);n.on(\"change:children\",(t,e)=>this._renderer.markToSync(\"children\",e));n.on(\"change:attributes\",(t,e)=>this._renderer.markToSync(\"attributes\",e));n.on(\"change:text\",(t,e)=>this._renderer.markToSync(\"text\",e));n.on(\"change:isReadOnly\",()=>this.change(o));n.on(\"change\",()=>{this._hasChangedSinceTheLastRendering=true});for(const n of this._observers.values()){n.observe(t,e)}}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach(({name:t})=>e.removeAttribute(t));const n=this._initialDomRootAttributes.get(e);for(const t in n){e.setAttribute(t,n[t])}this.domRoots.delete(t);this.domConverter.unbindDomElement(e)}getDomRoot(t=\"main\"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e){return e}e=new t(this);this._observers.set(t,e);for(const[t,n]of this.domRoots){e.observe(n,t)}e.enable();return e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values()){t.disable()}}enableObservers(){for(const t of this._observers.values()){t.enable()}}scrollToTheSelection(){const t=this.document.selection.getFirstRange();if(t){Th({target:this.domConverter.viewRangeToDom(t),viewportOffset:20})}}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;if(t){this.domConverter.focus(t);this.forceRender()}else{}}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress){throw new rr[\"b\"](\"cannot-change-view-tree: \"+\"Attempting to make changes to the view when it is in an incorrect state: rendering or post-fixers are in progress. \"+\"This may cause some unexpected behavior and inconsistency between the DOM and the view.\",this)}try{if(this._ongoingChange){return t(this._writer)}this._ongoingChange=true;const e=t(this._writer);this._ongoingChange=false;if(!this._renderingDisabled&&this._hasChangedSinceTheLastRendering){this._postFixersInProgress=true;this.document._callPostFixers(this._writer);this._postFixersInProgress=false;this.fire(\"render\")}return e}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=true;this.change(()=>{})}destroy(){for(const t of this._observers.values()){t.destroy()}this.document.destroy();this.stopListening()}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}_disableRendering(t){this._renderingDisabled=t;if(t==false){this.change(()=>{})}}_render(){this.isRenderingInProgress=true;this.disableObservers();this._renderer.render();this.enableObservers();this.isRenderingInProgress=false}}yr(Lh,Kc);class zh{constructor(t){this.parent=null;this._attrs=Ur(t)}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))===null){throw new rr[\"b\"](\"model-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get startOffset(){let t;if(!this.parent){return null}if((t=this.parent.getChildStartOffset(this))===null){throw new rr[\"b\"](\"model-node-not-found-in-parent: The node's parent does not contain this node.\",this)}return t}get offsetSize(){return 1}get endOffset(){if(!this.parent){return null}return this.startOffset+this.offsetSize}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.startOffset);e=e.parent}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Dr(e,n);switch(i){case\"prefix\":return true;case\"extension\":return false;default:return e[i]<n[i]}}isAfter(t){if(this==t){return false}if(this.root!==t.root){return false}return!this.isBefore(t)}hasAttribute(t){return this._attrs.has(t)}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}toJSON(){const t={};if(this._attrs.size){t.attributes=Array.from(this._attrs).reduce((t,e)=>{t[e[0]]=e[1];return t},{})}return t}is(t){return t===\"node\"||t===\"model:node\"}_clone(){return new zh(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Ur(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}class Vh extends zh{constructor(t,e){super(e);this._data=t||\"\"}get offsetSize(){return this.data.length}get data(){return this._data}is(t){return t===\"text\"||t===\"model:text\"||t===\"node\"||t===\"model:node\"}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new Vh(this.data,this.getAttributes())}static fromJSON(t){return new Vh(t.data,t.attributes)}}class jh{constructor(t,e,n){this.textNode=t;if(e<0||e>t.offsetSize){throw new rr[\"b\"](\"model-textproxy-wrong-offsetintext: Given offsetInText value is incorrect.\",this)}if(n<0||e+n>t.offsetSize){throw new rr[\"b\"](\"model-textproxy-wrong-length: Given length value is incorrect.\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}is(t){return t===\"textProxy\"||t===\"model:textProxy\"}getPath(){const t=this.textNode.getPath();if(t.length>0){t[t.length-1]+=this.offsetInText}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}class Bh{constructor(t){this._nodes=[];if(t){this._insertNodes(0,t)}}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce((t,e)=>t+e.offsetSize,0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce((t,e)=>t+e.offsetSize,0)}indexToOffset(t){if(t==this._nodes.length){return this.maxOffset}const e=this._nodes[t];if(!e){throw new rr[\"b\"](\"model-nodelist-index-out-of-bounds: Given index cannot be found in the node list.\",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&t<e+n.offsetSize){return this.getNodeIndex(n)}e+=n.offsetSize}if(e!=t){throw new rr[\"b\"](\"model-nodelist-offset-out-of-bounds: Given offset cannot be found in the node list.\",this,{offset:t,nodeList:this})}return this.length}_insertNodes(t,e){for(const t of e){if(!(t instanceof zh)){throw new rr[\"b\"](\"model-nodelist-insertNodes-not-node: Trying to insert an object which is not a Node instance.\",this)}}this._nodes.splice(t,0,...e)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map(t=>t.toJSON())}}class Fh extends zh{constructor(t,e,n){super(e);this.name=t;this._children=new Bh;if(n){this._insertChild(0,n)}}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}is(t,e=null){if(!e){return t===\"element\"||t===\"model:element\"||t===this.name||t===\"model:\"+this.name||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"element\"||t===\"model:element\")}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}toJSON(){const t=super.toJSON();t.name=this.name;if(this._children.length>0){t.children=[];for(const e of this._children){t.children.push(e.toJSON())}}return t}_clone(t=false){const e=t?Array.from(this._children).map(t=>t._clone(true)):null;return new Fh(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Hh(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}static fromJSON(t){let e=null;if(t.children){e=[];for(const n of t.children){if(n.name){e.push(Fh.fromJSON(n))}else{e.push(Vh.fromJSON(n))}}}return new Fh(t.name,t.attributes,e)}}function Hh(t){if(typeof t==\"string\"){return[new Vh(t)]}if(!vr(t)){t=[t]}return Array.from(t).map(t=>{if(typeof t==\"string\"){return new Vh(t)}if(t instanceof jh){return new Vh(t.data,t.getAttributes())}return t})}class Uh{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new rr[\"b\"](\"model-tree-walker-no-start-position: Neither boundaries nor starting position have been defined.\",null)}const e=t.direction||\"forward\";if(e!=\"forward\"&&e!=\"backward\"){throw new rr[\"b\"](\"model-tree-walker-unknown-direction: Only `backward` and `forward` direction allowed.\",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this.position=t.startPosition.clone()}else{this.position=qh._createAt(this.boundaries[this.direction==\"backward\"?\"end\":\"start\"])}this.position.stickiness=\"toNone\";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null;this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(t){let e,n,i,o;do{i=this.position;o=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=i;this._visitedParent=o}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset){return{done:true}}if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset){return{done:true}}const i=e.parent;const o=$h(e,i);const s=o?o:Yh(e,i,o);if(s instanceof Fh){if(!this.shallow){e.path.push(0);this._visitedParent=s}else{e.offset++}this.position=e;return Wh(\"elementStart\",s,t,e,1)}else if(s instanceof Vh){let i;if(this.singleCharacters){i=1}else{let t=s.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offset<t){t=this.boundaries.end.offset}i=t-e.offset}const o=e.offset-s.startOffset;const r=new jh(s,o,i);e.offset+=i;this.position=e;return Wh(\"text\",r,t,e,i)}else{e.path.pop();e.offset++;this.position=e;this._visitedParent=n.parent;if(this.ignoreElementEnd){return this._next()}else{return Wh(\"elementEnd\",n,t,e)}}}_previous(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===0){return{done:true}}if(n==this._boundaryStartParent&&e.offset==this.boundaries.start.offset){return{done:true}}const i=e.parent;const o=$h(e,i);const s=o?o:Gh(e,i,o);if(s instanceof Fh){e.offset--;if(!this.shallow){e.path.push(s.maxOffset);this.position=e;this._visitedParent=s;if(this.ignoreElementEnd){return this._previous()}else{return Wh(\"elementEnd\",s,t,e)}}else{this.position=e;return Wh(\"elementStart\",s,t,e,1)}}else if(s instanceof Vh){let i;if(this.singleCharacters){i=1}else{let t=s.startOffset;if(this._boundaryStartParent==n&&this.boundaries.start.offset>t){t=this.boundaries.start.offset}i=e.offset-t}const o=e.offset-s.startOffset;const r=new jh(s,o-i,i);e.offset-=i;this.position=e;return Wh(\"text\",r,t,e,i)}else{e.path.pop();this.position=e;this._visitedParent=n.parent;return Wh(\"elementStart\",n,t,e,1)}}}function Wh(t,e,n,i,o){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}class qh{constructor(t,e,n=\"toNone\"){if(!t.is(\"element\")&&!t.is(\"documentFragment\")){throw new rr[\"b\"](\"model-position-root-invalid: Position root invalid.\",t)}if(!(e instanceof Array)||e.length===0){throw new rr[\"b\"](\"model-position-path-incorrect-format: Position path must be an array with at least one item.\",t,{path:e})}if(t.is(\"rootElement\")){e=e.slice()}else{e=[...t.getPath(),...e];t=t.root}this.root=t;this.path=e;this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e<this.path.length-1;e++){t=t.getChild(t.offsetToIndex(this.path[e]));if(!t){throw new rr[\"b\"](\"model-position-path-incorrect: The position's path is incorrect.\",this,{position:this})}}if(t.is(\"text\")){throw new rr[\"b\"](\"model-position-path-incorrect: The position's path is incorrect.\",this,{position:this})}return t}get index(){return this.parent.offsetToIndex(this.offset)}get textNode(){return $h(this,this.parent)}get nodeAfter(){const t=this.parent;return Yh(this,t,$h(this,t))}get nodeBefore(){const t=this.parent;return Gh(this,t,$h(this,t))}get isAtStart(){return this.offset===0}get isAtEnd(){return this.offset==this.parent.maxOffset}compareWith(t){if(this.root!=t.root){return\"different\"}const e=Dr(this.path,t.path);switch(e){case\"same\":return\"same\";case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return this.path[e]<t.path[e]?\"before\":\"after\"}}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Uh(e);n.skip(t);return n.position}getParentPath(){return this.path.slice(0,-1)}getAncestors(){const t=this.parent;if(t.is(\"documentFragment\")){return[t]}else{return t.getAncestors({includeSelf:true})}}getCommonPath(t){if(this.root!=t.root){return[]}const e=Dr(this.path,t.path);const n=typeof e==\"string\"?Math.min(this.path.length,t.path.length):e;return this.path.slice(0,n)}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}getShiftedBy(t){const e=this.clone();const n=e.offset+t;e.offset=n<0?0:n;return e}isAfter(t){return this.compareWith(t)==\"after\"}isBefore(t){return this.compareWith(t)==\"before\"}isEqual(t){return this.compareWith(t)==\"same\"}isTouching(t){let e=null;let n=null;const i=this.compareWith(t);switch(i){case\"same\":return true;case\"before\":e=qh._createAt(this);n=qh._createAt(t);break;case\"after\":e=qh._createAt(t);n=qh._createAt(this);break;default:return false}let o=e.parent;while(e.path.length+n.path.length){if(e.isEqual(n)){return true}if(e.path.length>n.path.length){if(e.offset!==o.maxOffset){return false}e.path=e.path.slice(0,-1);o=o.parent;e.offset++}else{if(n.offset!==0){return false}n.path=n.path.slice(0,-1)}}}is(t){return t===\"position\"||t===\"model:position\"}hasSameParentAs(t){if(this.root!==t.root){return false}const e=this.getParentPath();const n=t.getParentPath();return Dr(e,n)==\"same\"}getTransformedByOperation(t){let e;switch(t.type){case\"insert\":e=this._getTransformedByInsertOperation(t);break;case\"move\":case\"remove\":case\"reinsert\":e=this._getTransformedByMoveOperation(t);break;case\"split\":e=this._getTransformedBySplitOperation(t);break;case\"merge\":e=this._getTransformedByMergeOperation(t);break;default:e=qh._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness==\"toNext\";if(n){return this._getCombined(t.splitPosition,t.moveTargetPosition)}else{if(t.graveyardPosition){return this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1)}else{return this._getTransformedByInsertion(t.insertionPosition,1)}}}_getTransformedByMergeOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this);let i;if(n){i=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){i=i._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){i=qh._createAt(t.deletionPosition)}else{i=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return i}_getTransformedByDeletion(t,e){const n=qh._createAt(this);if(this.root!=t.root){return n}if(Dr(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offset<this.offset){if(t.offset+e>this.offset){return null}else{n.offset-=e}}}else if(Dr(t.getParentPath(),this.getParentPath())==\"prefix\"){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i]){return null}else{n.path[i]-=e}}}return n}_getTransformedByInsertion(t,e){const n=qh._createAt(this);if(this.root!=t.root){return n}if(Dr(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offset<this.offset||t.offset==this.offset&&this.stickiness!=\"toPrevious\"){n.offset+=e}}else if(Dr(t.getParentPath(),this.getParentPath())==\"prefix\"){const i=t.path.length-1;if(t.offset<=this.path[i]){n.path[i]+=e}}return n}_getTransformedByMove(t,e,n){e=e._getTransformedByDeletion(t,n);if(t.isEqual(e)){return qh._createAt(this)}const i=this._getTransformedByDeletion(t,n);const o=i===null||t.isEqual(this)&&this.stickiness==\"toNext\"||t.getShiftedBy(n).isEqual(this)&&this.stickiness==\"toPrevious\";if(o){return this._getCombined(t,e)}else{return i._getTransformedByInsertion(e,n)}}_getCombined(t,e){const n=t.path.length-1;const i=qh._createAt(e);i.stickiness=this.stickiness;i.offset=i.offset+this.path[n]-t.offset;i.path=[...i.path,...this.path.slice(n+1)];return i}toJSON(){return{root:this.root.toJSON(),path:Array.from(this.path),stickiness:this.stickiness}}clone(){return new this.constructor(this.root,this.path,this.stickiness)}static _createAt(t,e,n=\"toNone\"){if(t instanceof qh){return new qh(t.root,t.path,t.stickiness)}else{const i=t;if(e==\"end\"){e=i.maxOffset}else if(e==\"before\"){return this._createBefore(i,n)}else if(e==\"after\"){return this._createAfter(i,n)}else if(e!==0&&!e){throw new rr[\"b\"](\"model-createPositionAt-offset-required: \"+\"Model#createPositionAt() requires the offset when the first parameter is a model item.\",[this,t])}if(!i.is(\"element\")&&!i.is(\"documentFragment\")){throw new rr[\"b\"](\"model-position-parent-incorrect: Position parent have to be a element or document fragment.\",[this,t])}const o=i.getPath();o.push(e);return new this(i.root,o,n)}}static _createAfter(t,e){if(!t.parent){throw new rr[\"b\"](\"model-position-after-root: You cannot make a position after root.\",[this,t],{root:t})}return this._createAt(t.parent,t.endOffset,e)}static _createBefore(t,e){if(!t.parent){throw new rr[\"b\"](\"model-position-before-root: You cannot make a position before root.\",t,{root:t})}return this._createAt(t.parent,t.startOffset,e)}static fromJSON(t,e){if(t.root===\"$graveyard\"){const n=new qh(e.graveyard,t.path);n.stickiness=t.stickiness;return n}if(!e.getRoot(t.root)){throw new rr[\"b\"](\"model-position-fromjson-no-root: Cannot create position for document. Root with specified name does not exist.\",e,{rootName:t.root})}return new qh(e.getRoot(t.root),t.path,t.stickiness)}}function $h(t,e){const n=e.getChild(e.offsetToIndex(t.offset));if(n&&n.is(\"text\")&&n.startOffset<t.offset){return n}return null}function Yh(t,e,n){if(n!==null){return null}return e.getChild(e.offsetToIndex(t.offset))}function Gh(t,e,n){if(n!==null){return null}return e.getChild(e.offsetToIndex(t.offset)-1)}class Qh{constructor(t,e=null){this.start=qh._createAt(t);this.end=e?qh._createAt(e):qh._createAt(t);this.start.stickiness=this.isCollapsed?\"toNone\":\"toNext\";this.end.stickiness=this.isCollapsed?\"toNone\":\"toPrevious\"}*[Symbol.iterator](){yield*new Uh({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath();const e=this.end.getParentPath();return Dr(t,e)==\"same\"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}containsItem(t){const e=qh._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}is(t){return t===\"range\"||t===\"model:range\"}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new Qh(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new Qh(t.end,this.end))}}else{e.push(new Qh(this.start,this.end))}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new Qh(e,n)}return null}getMinimalFlatRanges(){const t=[];const e=this.start.getCommonPath(this.end).length;const n=qh._createAt(this.start);let i=n.parent;while(n.path.length>e+1){const e=i.maxOffset-n.offset;if(e!==0){t.push(new Qh(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;i=i.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const i=e-n.offset;if(i!==0){t.push(new Qh(n,n.getShiftedBy(i)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Uh(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Uh(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Uh(t);yield e.position;for(const t of e){yield t.nextPosition}}getTransformedByOperation(t){switch(t.type){case\"insert\":return this._getTransformedByInsertOperation(t);case\"move\":case\"remove\":case\"reinsert\":return this._getTransformedByMoveOperation(t);case\"split\":return[this._getTransformedBySplitOperation(t)];case\"merge\":return[this._getTransformedByMergeOperation(t)]}return[new Qh(this.start,this.end)]}getTransformedByOperations(t){const e=[new Qh(this.start,this.end)];for(const n of t){for(let t=0;t<e.length;t++){const i=e[t].getTransformedByOperation(n);e.splice(t,1,...i);t+=i.length-1}}for(let t=0;t<e.length;t++){const n=e[t];for(let i=t+1;i<e.length;i++){const t=e[i];if(n.containsRange(t)||t.containsRange(n)||n.isEqual(t)){e.splice(i,1)}}}return e}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed){return null}const t=this.start.nodeAfter;const e=this.end.nodeBefore;if(t&&t.is(\"element\")&&t===e){return t}return null}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}clone(){return new this.constructor(this.start,this.end)}_getTransformedByInsertOperation(t,e=false){return this._getTransformedByInsertion(t.position,t.howMany,e)}_getTransformedByMoveOperation(t,e=false){const n=t.sourcePosition;const i=t.howMany;const o=t.targetPosition;return this._getTransformedByMove(n,o,i,e)}_getTransformedBySplitOperation(t){const e=this.start._getTransformedBySplitOperation(t);let n=this.end._getTransformedBySplitOperation(t);if(this.end.isEqual(t.insertionPosition)){n=this.end.getShiftedBy(1)}if(e.root!=n.root){n=this.end.getShiftedBy(-1)}return new Qh(e,n)}_getTransformedByMergeOperation(t){if(this.start.isEqual(t.targetPosition)&&this.end.isEqual(t.deletionPosition)){return new Qh(this.start)}let e=this.start._getTransformedByMergeOperation(t);let n=this.end._getTransformedByMergeOperation(t);if(e.root!=n.root){n=this.end.getShiftedBy(-1)}if(e.isAfter(n)){if(t.sourcePosition.isBefore(t.targetPosition)){e=qh._createAt(n);e.offset=0}else{if(!t.deletionPosition.isEqual(e)){n=t.deletionPosition}e=t.targetPosition}return new Qh(e,n)}return new Qh(e,n)}_getTransformedByInsertion(t,e,n=false){if(n&&this.containsPosition(t)){return[new Qh(this.start,t),new Qh(t.getShiftedBy(e),this.end._getTransformedByInsertion(t,e))]}else{const n=new Qh(this.start,this.end);n.start=n.start._getTransformedByInsertion(t,e);n.end=n.end._getTransformedByInsertion(t,e);return[n]}}_getTransformedByMove(t,e,n,i=false){if(this.isCollapsed){const i=this.start._getTransformedByMove(t,e,n);return[new Qh(i)]}const o=Qh._createFromPositionAndShift(t,n);const s=e._getTransformedByDeletion(t,n);if(this.containsPosition(e)&&!i){if(o.containsPosition(this.start)||o.containsPosition(this.end)){const i=this.start._getTransformedByMove(t,e,n);const o=this.end._getTransformedByMove(t,e,n);return[new Qh(i,o)]}}let r;const a=this.getDifference(o);let c=null;const l=this.getIntersection(o);if(a.length==1){c=new Qh(a[0].start._getTransformedByDeletion(t,n),a[0].end._getTransformedByDeletion(t,n))}else if(a.length==2){c=new Qh(this.start,this.end._getTransformedByDeletion(t,n))}if(c){r=c._getTransformedByInsertion(s,n,l!==null||i)}else{r=[]}if(l){const t=new Qh(l.start._getCombined(o.start,s),l.end._getCombined(o.start,s));if(r.length==2){r.splice(1,0,t)}else{r.push(t)}}return r}_getTransformedByDeletion(t,e){let n=this.start._getTransformedByDeletion(t,e);let i=this.end._getTransformedByDeletion(t,e);if(n==null&&i==null){return null}if(n==null){n=t}if(i==null){i=t}return new Qh(n,i)}static _createFromPositionAndShift(t,e){const n=t;const i=t.getShiftedBy(e);return e>0?new this(n,i):new this(i,n)}static _createIn(t){return new this(qh._createAt(t,0),qh._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(qh._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new rr[\"b\"](\"range-create-from-ranges-empty-array: At least one range has to be passed.\",null)}else if(t.length==1){return t[0].clone()}const e=t[0];t.sort((t,e)=>t.start.isAfter(e.start)?1:-1);const n=t.indexOf(e);const i=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(i.start)){i.start=qh._createAt(t[e].start)}else{break}}}for(let e=n+1;e<t.length;e++){if(t[e].start.isEqual(i.end)){i.end=qh._createAt(t[e].end)}else{break}}return i}static fromJSON(t,e){return new this(qh.fromJSON(t.start,e),qh.fromJSON(t.end,e))}}class Kh{constructor(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._viewToModelLengthCallbacks=new Map;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set;this.on(\"modelToViewPosition\",(t,e)=>{if(e.viewPosition){return}const n=this._modelToViewMapping.get(e.modelPosition.parent);e.viewPosition=this._findPositionIn(n,e.modelPosition.offset)},{priority:\"low\"});this.on(\"viewToModelPosition\",(t,e)=>{if(e.modelPosition){return}const n=this.findMappedViewAncestor(e.viewPosition);const i=this._viewToModelMapping.get(n);const o=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=qh._createAt(i,o)},{priority:\"low\"})}bindElements(t,e){this._modelToViewMapping.set(t,e);this._viewToModelMapping.set(e,t)}unbindViewElement(t){const e=this.toModelElement(t);this._viewToModelMapping.delete(t);if(this._elementToMarkerNames.has(t)){for(const e of this._elementToMarkerNames.get(t)){this._unboundMarkerNames.add(e)}}if(this._modelToViewMapping.get(e)==t){this._modelToViewMapping.delete(e)}}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t);if(this._viewToModelMapping.get(e)==t){this._viewToModelMapping.delete(e)}}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const i=this._elementToMarkerNames.get(t);if(i){i.delete(e);if(i.size==0){this._elementToMarkerNames.delete(t)}}}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);this._unboundMarkerNames.clear();return t}clearBindings(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Qh(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new hl(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};this.fire(\"viewToModelPosition\",e);return e.modelPosition}toViewPosition(t,e={isPhantom:false}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};this.fire(\"modelToViewPosition\",n);return n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e){return null}const n=new Set;for(const t of e){if(t.is(\"attributeElement\")){for(const e of t.getElementsWithSameId()){n.add(e)}}else{n.add(t)}}return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;while(!this._viewToModelMapping.has(e)){e=e.parent}return e}_toModelOffset(t,e,n){if(n!=t){const i=this._toModelOffset(t.parent,t.index,n);const o=this._toModelOffset(t,e,t);return i+o}if(t.is(\"text\")){return e}let i=0;for(let n=0;n<e;n++){i+=this.getModelLength(t.getChild(n))}return i}getModelLength(t){if(this._viewToModelLengthCallbacks.get(t.name)){const e=this._viewToModelLengthCallbacks.get(t.name);return e(t)}else if(this._viewToModelMapping.has(t)){return 1}else if(t.is(\"text\")){return t.data.length}else if(t.is(\"uiElement\")){return 0}else{let e=0;for(const n of t.getChildren()){e+=this.getModelLength(n)}return e}}_findPositionIn(t,e){let n;let i=0;let o=0;let s=0;if(t.is(\"text\")){return new ul(t,e)}while(o<e){n=t.getChild(s);i=this.getModelLength(n);o+=i;s++}if(o==e){return this._moveViewPositionToTextNode(new ul(t,s))}else{return this._findPositionIn(n,e-(o-i))}}_moveViewPositionToTextNode(t){const e=t.nodeBefore;const n=t.nodeAfter;if(e instanceof Br){return new ul(e,e.data.length)}else if(n instanceof Br){return new ul(n,0)}return t}}yr(Kh,dr);class Jh{constructor(){this._consumable=new Map;this._textProxyRegistry=new Map}add(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}if(!this._consumable.has(t)){this._consumable.set(t,new Map)}this._consumable.get(t).set(e,true)}consume(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}if(this.test(t,e)){this._consumable.get(t).set(e,false);return true}else{return false}}test(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}const n=this._consumable.get(t);if(n===undefined){return null}const i=n.get(e);if(i===undefined){return null}return i}revert(t,e){e=Zh(e);if(t instanceof jh){t=this._getSymbolForTextProxy(t)}const n=this.test(t,e);if(n===false){this._consumable.get(t).set(e,true);return true}else if(n===true){return false}return null}_getSymbolForTextProxy(t){let e=null;const n=this._textProxyRegistry.get(t.startOffset);if(n){const i=n.get(t.endOffset);if(i){e=i.get(t.parent)}}if(!e){e=this._addSymbolForTextProxy(t.startOffset,t.endOffset,t.parent)}return e}_addSymbolForTextProxy(t,e,n){const i=Symbol(\"textProxySymbol\");let o,s;o=this._textProxyRegistry.get(t);if(!o){o=new Map;this._textProxyRegistry.set(t,o)}s=o.get(e);if(!s){s=new Map;o.set(e,s)}s.set(n,i);return i}}function Zh(t){const e=t.split(\":\");return e.length>1?e[0]+\":\"+e[1]:e[0]}class Xh{constructor(t){this.conversionApi=qc({dispatcher:this},t)}convertChanges(t,e,n){for(const e of t.getMarkersToRemove()){this.convertMarkerRemove(e.name,e.range,n)}for(const e of t.getChanges()){if(e.type==\"insert\"){this.convertInsert(Qh._createFromPositionAndShift(e.position,e.length),n)}else if(e.type==\"remove\"){this.convertRemove(e.position,e.length,e.name,n)}else{this.convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,n)}}for(const t of this.conversionApi.mapper.flushUnboundMarkerNames()){const i=e.get(t).getRange();this.convertMarkerRemove(t,i,n);this.convertMarkerAdd(t,i,n)}for(const e of t.getMarkersToAdd()){this.convertMarkerAdd(e.name,e.range,n)}}convertInsert(t,e){this.conversionApi.writer=e;this.conversionApi.consumable=this._createInsertConsumable(t);for(const e of t){const t=e.item;const n=Qh._createFromPositionAndShift(e.previousPosition,e.length);const i={item:t,range:n};this._testAndFire(\"insert\",i);for(const e of t.getAttributeKeys()){i.attributeKey=e;i.attributeOldValue=null;i.attributeNewValue=t.getAttribute(e);this._testAndFire(`attribute:${e}`,i)}}this._clearConversionApi()}convertRemove(t,e,n,i){this.conversionApi.writer=i;this.fire(\"remove:\"+n,{position:t,length:e},this.conversionApi);this._clearConversionApi()}convertAttribute(t,e,n,i,o){this.conversionApi.writer=o;this.conversionApi.consumable=this._createConsumableForRange(t,`attribute:${e}`);for(const o of t){const t=o.item;const s=Qh._createFromPositionAndShift(o.previousPosition,o.length);const r={item:t,range:s,attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,r)}this._clearConversionApi()}convertSelection(t,e,n){const i=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this.conversionApi.writer=n;this.conversionApi.consumable=this._createSelectionConsumable(t,i);this.fire(\"selection\",{selection:t},this.conversionApi);if(!t.isCollapsed){return}for(const e of i){const n=e.getRange();if(!tf(t.getFirstPosition(),e,this.conversionApi.mapper)){continue}const i={item:t,markerName:e.name,markerRange:n};if(this.conversionApi.consumable.test(t,\"addMarker:\"+e.name)){this.fire(\"addMarker:\"+e.name,i,this.conversionApi)}}for(const e of t.getAttributeKeys()){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};if(this.conversionApi.consumable.test(t,\"attribute:\"+n.attributeKey)){this.fire(\"attribute:\"+n.attributeKey+\":$text\",n,this.conversionApi)}}this._clearConversionApi()}convertMarkerAdd(t,e,n){if(!e.root.document||e.root.rootName==\"$graveyard\"){return}this.conversionApi.writer=n;const i=\"addMarker:\"+t;const o=new Jh;o.add(e,i);this.conversionApi.consumable=o;this.fire(i,{markerName:t,markerRange:e},this.conversionApi);if(!o.test(e,i)){return}this.conversionApi.consumable=this._createConsumableForRange(e,i);for(const n of e.getItems()){if(!this.conversionApi.consumable.test(n,i)){continue}const o={item:n,range:Qh._createOn(n),markerName:t,markerRange:e};this.fire(i,o,this.conversionApi)}this._clearConversionApi()}convertMarkerRemove(t,e,n){if(!e.root.document||e.root.rootName==\"$graveyard\"){return}this.conversionApi.writer=n;this.fire(\"removeMarker:\"+t,{markerName:t,markerRange:e},this.conversionApi);this._clearConversionApi()}_createInsertConsumable(t){const e=new Jh;for(const n of t){const t=n.item;e.add(t,\"insert\");for(const n of t.getAttributeKeys()){e.add(t,\"attribute:\"+n)}}return e}_createConsumableForRange(t,e){const n=new Jh;for(const i of t.getItems()){n.add(i,e)}return n}_createSelectionConsumable(t,e){const n=new Jh;n.add(t,\"selection\");for(const i of e){n.add(t,\"addMarker:\"+i.name)}for(const e of t.getAttributeKeys()){n.add(t,\"attribute:\"+e)}return n}_testAndFire(t,e){if(!this.conversionApi.consumable.test(e.item,t)){return}const n=e.item.name||\"$text\";this.fire(t+\":\"+n,e,this.conversionApi)}_clearConversionApi(){delete this.conversionApi.writer;delete this.conversionApi.consumable}}yr(Xh,dr);function tf(t,e,n){const i=e.getRange();const o=Array.from(t.getAncestors());o.shift();o.reverse();const s=o.some(t=>{if(i.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty(\"addHighlight\")}});return!s}class ef{constructor(t,e,n){this._lastRangeBackward=false;this._ranges=[];this._attrs=new Map;if(t){this.setTo(t,e,n)}}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){const t=this._ranges.length;if(t===1){return this._ranges[0].isCollapsed}else{return false}}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new Qh(t.start,t.end)}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?new Qh(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?new Qh(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(t,e,n){if(t===null){this._setRanges([])}else if(t instanceof ef){this._setRanges(t.getRanges(),t.isBackward)}else if(t&&typeof t.getRanges==\"function\"){this._setRanges(t.getRanges(),t.isBackward)}else if(t instanceof Qh){this._setRanges([t],!!e&&!!e.backward)}else if(t instanceof qh){this._setRanges([new Qh(t)])}else if(t instanceof zh){const i=!!n&&!!n.backward;let o;if(e==\"in\"){o=Qh._createIn(t)}else if(e==\"on\"){o=Qh._createOn(t)}else if(e!==undefined){o=new Qh(qh._createAt(t,e))}else{throw new rr[\"b\"](\"model-selection-setTo-required-second-parameter: \"+\"selection.setTo requires the second parameter when the first parameter is a node.\",[this,t])}this._setRanges([o],i)}else if(vr(t)){this._setRanges(t,e&&!!e.backward)}else{throw new rr[\"b\"](\"model-selection-setTo-not-selectable: Cannot set the selection to the given place.\",[this,t])}}_setRanges(t,e=false){t=Array.from(t);const n=t.some(e=>{if(!(e instanceof Qh)){throw new rr[\"b\"](\"model-selection-set-ranges-not-range: \"+\"Selection range set to an object that is not an instance of model.Range.\",[this,t])}return this._ranges.every(t=>!t.isEqual(e))});if(t.length===this._ranges.length&&!n){return}this._removeAllRanges();for(const e of t){this._pushRange(e)}this._lastRangeBackward=!!e;this.fire(\"change:range\",{directChange:true})}setFocus(t,e){if(this.anchor===null){throw new rr[\"b\"](\"model-selection-setFocus-no-ranges: Cannot set selection focus if there are no ranges in selection.\",[this,t])}const n=qh._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const i=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(i)==\"before\"){this._pushRange(new Qh(n,i));this._lastRangeBackward=true}else{this._pushRange(new Qh(i,n));this._lastRangeBackward=false}this.fire(\"change:range\",{directChange:true})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){if(this.hasAttribute(t)){this._attrs.delete(t);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}setAttribute(t,e){if(this.getAttribute(t)!==e){this._attrs.set(t,e);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}is(t){return t===\"selection\"||t===\"model:selection\"}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=sf(e.start,t);if(n&&rf(n,e)){yield n}for(const n of e.getWalker()){const i=n.item;if(n.type==\"elementEnd\"&&of(i,t,e)){yield i}}const i=sf(e.end,t);if(i&&!e.end.isTouching(qh._createAt(i,0))&&rf(i,e)){yield i}}}containsEntireContent(t=this.anchor.root){const e=qh._createAt(t,0);const n=qh._createAt(t,\"end\");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new Qh(t.start,t.end))}_checkRange(t){for(let e=0;e<this._ranges.length;e++){if(t.isIntersecting(this._ranges[e])){throw new rr[\"b\"](\"model-selection-range-intersects: Trying to add a range that intersects with another range in the selection.\",[this,t],{addedRange:t,intersectingRange:this._ranges[e]})}}}_removeAllRanges(){while(this._ranges.length>0){this._popRange()}}_popRange(){this._ranges.pop()}}yr(ef,dr);function nf(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&t.parent}function of(t,e,n){return nf(t,e)&&rf(t,n)}function sf(t,e){const n=t.parent;const i=n.root.document.model.schema;const o=t.parent.getAncestors({parentFirst:true,includeSelf:true});let s=false;const r=o.find(t=>{if(s){return false}s=i.isLimit(t);return!s&&nf(t,e)});o.forEach(t=>e.add(t));return r}function rf(t,e){const n=af(t);if(!n){return true}const i=e.containsRange(Qh._createOn(n),true);return!i}function af(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class cf extends Qh{constructor(t,e){super(t,e);lf.call(this)}detach(){this.stopListening()}is(t){return t===\"liveRange\"||t===\"model:liveRange\"||t==\"range\"||t===\"model:range\"}toRange(){return new Qh(this.start,this.end)}static fromRange(t){return new cf(t.start,t.end)}}function lf(){this.listenTo(this.root.document.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}df.call(this,n)},{priority:\"low\"})}function df(t){const e=this.getTransformedByOperation(t);const n=Qh._createFromRanges(e);const i=!n.isEqual(this);const o=uf(this,t);let s=null;if(i){if(n.root.rootName==\"$graveyard\"){if(t.type==\"remove\"){s=t.sourcePosition}else{s=t.deletionPosition}}const e=this.toRange();this.start=n.start;this.end=n.end;this.fire(\"change:range\",e,{deletionPosition:s})}else if(o){this.fire(\"change:content\",this.toRange(),{deletionPosition:s})}}function uf(t,e){switch(e.type){case\"insert\":return t.containsPosition(e.position);case\"move\":case\"remove\":case\"reinsert\":case\"merge\":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case\"split\":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return false}yr(cf,dr);const hf=\"selection:\";class ff{constructor(t){this._selection=new gf(t);this._selection.delegate(\"change:range\").to(this);this._selection.delegate(\"change:attribute\").to(this);this._selection.delegate(\"change:marker\").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection._updateMarkers();this._selection._updateAttributes(false)}is(t){return t===\"selection\"||t==\"model:selection\"||t==\"documentSelection\"||t==\"model:documentSelection\"}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return hf+t}static _isStoreAttributeKey(t){return t.startsWith(hf)}}yr(ff,dr);class gf extends ef{constructor(t){super();this.markers=new xr({idProperty:\"name\"});this._model=t.model;this._document=t;this._attributePriority=new Map;this._fixGraveyardRangesData=[];this._hasChangedRange=false;this._overriddenGravityRegister=new Set;this.listenTo(this._model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation||n.type==\"marker\"||n.type==\"rename\"||n.type==\"noop\"){return}while(this._fixGraveyardRangesData.length){const{liveRange:t,sourcePosition:e}=this._fixGraveyardRangesData.shift();this._fixGraveyardSelection(t,e)}if(this._hasChangedRange){this._hasChangedRange=false;this.fire(\"change:range\",{directChange:false})}},{priority:\"lowest\"});this.on(\"change:range\",()=>{for(const t of this.getRanges()){if(!this._document._validateSelectionRange(t)){throw new rr[\"b\"](\"document-selection-wrong-position: Range from document selection starts or ends at incorrect position.\",this,{range:t})}}});this.listenTo(this._model.markers,\"update\",()=>this._updateMarkers());this.listenTo(this._document,\"change\",(t,e)=>{pf(this._model,e)})}get isCollapsed(){const t=this._ranges.length;return t===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t<this._ranges.length;t++){this._ranges[t].detach()}this.stopListening()}*getRanges(){if(this._ranges.length){yield*super.getRanges()}else{yield this._document._getDefaultRange()}}getFirstRange(){return super.getFirstRange()||this._document._getDefaultRange()}getLastRange(){return super.getLastRange()||this._document._getDefaultRange()}setTo(t,e,n){super.setTo(t,e,n);this._updateAttributes(true);this._updateMarkers()}setFocus(t,e){super.setFocus(t,e);this._updateAttributes(true);this._updateMarkers()}setAttribute(t,e){if(this._setAttribute(t,e)){const e=[t];this.fire(\"change:attribute\",{attributeKeys:e,directChange:true})}}removeAttribute(t){if(this._removeAttribute(t)){const e=[t];this.fire(\"change:attribute\",{attributeKeys:e,directChange:true})}}overrideGravity(){const t=nr();this._overriddenGravityRegister.add(t);if(this._overriddenGravityRegister.size===1){this._updateAttributes(true)}return t}restoreGravity(t){if(!this._overriddenGravityRegister.has(t)){throw new rr[\"b\"](\"document-selection-gravity-wrong-restore: Attempting to restore the selection gravity for an unknown UID.\",this,{uid:t})}this._overriddenGravityRegister.delete(t);if(!this.isGravityOverridden){this._updateAttributes(true)}}_popRange(){this._ranges.pop().detach()}_pushRange(t){const e=this._prepareRange(t);if(e){this._ranges.push(e)}}_prepareRange(t){this._checkRange(t);if(t.root==this._document.graveyard){return}const e=cf.fromRange(t);e.on(\"change:range\",(t,n,i)=>{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._fixGraveyardRangesData.push({liveRange:e,sourcePosition:i.deletionPosition})}});return e}_updateMarkers(){const t=[];let e=false;for(const e of this._model.markers){const n=e.getRange();for(const i of this.getRanges()){if(n.containsRange(i,!i.isCollapsed)){t.push(e)}}}const n=Array.from(this.markers);for(const n of t){if(!this.markers.has(n)){this.markers.add(n);e=true}}for(const n of Array.from(this.markers)){if(!t.includes(n)){this.markers.remove(n);e=true}}if(e){this.fire(\"change:marker\",{oldMarkers:n,directChange:false})}}_updateAttributes(t){const e=Ur(this._getSurroundingAttributes());const n=Ur(this.getAttributes());if(t){this._attributePriority=new Map;this._attrs=new Map}else{for(const[t,e]of this._attributePriority){if(e==\"low\"){this._attrs.delete(t);this._attributePriority.delete(t)}}}this._setAttributesTo(e);const i=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){i.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){i.push(t)}}if(i.length>0){this.fire(\"change:attribute\",{attributeKeys:i,directChange:false})}}_setAttribute(t,e,n=true){const i=n?\"normal\":\"low\";if(i==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}const o=super.getAttribute(t);if(o===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,i);return true}_removeAttribute(t,e=true){const n=e?\"normal\":\"low\";if(n==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}this._attributePriority.set(t,n);if(!super.hasAttribute(t)){return false}this._attrs.delete(t);return true}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes()){if(t.get(e)===n){continue}this._removeAttribute(e,false)}for(const[n,i]of t){const t=this._setAttribute(n,i,false);if(t){e.add(n)}}return e}*_getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty){for(const e of t.getAttributeKeys()){if(e.startsWith(hf)){const n=e.substr(hf.length);yield[n,t.getAttribute(e)]}}}}_getSurroundingAttributes(){const t=this.getFirstPosition();const e=this._model.schema;let n=null;if(!this.isCollapsed){const t=this.getFirstRange();for(const i of t){if(i.item.is(\"element\")&&e.isObject(i.item)){break}if(i.type==\"text\"){n=i.item.getAttributes();break}}}else{const e=t.textNode?t.textNode:t.nodeBefore;const i=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=mf(e)}if(!n){n=mf(i)}if(!this.isGravityOverridden&&!n){let t=e;while(t&&!n){t=t.previousSibling;n=mf(t)}}if(!n){let t=i;while(t&&!n){t=t.nextSibling;n=mf(t)}}if(!n){n=this._getStoredAttributes()}}return n}_fixGraveyardSelection(t,e){const n=e.clone();const i=this._model.schema.getNearestSelectionRange(n);const o=this._ranges.indexOf(t);this._ranges.splice(o,1);t.detach();if(i&&!bf(i,this)){const t=this._prepareRange(i);this._ranges.splice(o,0,t)}}}function mf(t){if(t instanceof jh||t instanceof Vh){return t.getAttributes()}return null}function pf(t,e){const n=t.document.differ;for(const i of n.getChanges()){if(i.type!=\"insert\"){continue}const n=i.position.parent;const o=i.length===n.maxOffset;if(o){t.enqueueChange(e,t=>{const e=Array.from(n.getAttributeKeys()).filter(t=>t.startsWith(hf));for(const i of e){t.removeAttribute(i,n)}})}}}function bf(t,e){return!e._ranges.every(e=>!t.isEqual(e))}class wf{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}var _f=1,kf=4;function vf(t){return Hs(t,_f|kf)}var yf=vf;class xf extends wf{elementToElement(t){return this.add(Vf(t))}attributeToElement(t){return this.add(jf(t))}attributeToAttribute(t){return this.add(Bf(t))}markerToElement(t){return this.add(Ff(t))}markerToHighlight(t){return this.add(Hf(t))}}function Af(){return(t,e,n)=>{if(!n.consumable.consume(e.item,\"insert\")){return}const i=n.writer;const o=n.mapper.toViewPosition(e.range.start);const s=i.createText(e.item.data);i.insert(o,s)}}function Tf(){return(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=e.position.getShiftedBy(e.length);const s=n.mapper.toViewPosition(o,{isPhantom:true});const r=n.writer.createRange(i,s);const a=n.writer.remove(r.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t)}}}function Cf(t,e){const n=t.createAttributeElement(\"span\",e.attributes);if(e.classes){n._addClass(e.classes)}if(e.priority){n._priority=e.priority}n._id=e.id;return n}function Sf(){return(t,e,n)=>{const i=e.selection;if(i.isCollapsed){return}if(!n.consumable.consume(i,\"selection\")){return}const o=[];for(const t of i.getRanges()){const e=n.mapper.toViewRange(t);o.push(e)}n.writer.setSelection(o,{backward:i.isBackward})}}function Pf(){return(t,e,n)=>{const i=e.selection;if(!i.isCollapsed){return}if(!n.consumable.consume(i,\"selection\")){return}const o=n.writer;const s=i.getFirstPosition();const r=n.mapper.toViewPosition(s);const a=o.breakAttributes(r);o.setSelection(a)}}function Ef(){return(t,e,n)=>{const i=n.writer;const o=i.document.selection;for(const t of o.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}i.setSelection(null)}}function Mf(t){return(e,n,i)=>{const o=t(n.attributeOldValue,i.writer);const s=t(n.attributeNewValue,i.writer);if(!o&&!s){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.writer;const a=r.document.selection;if(n.item instanceof ef||n.item instanceof ff){r.wrap(a.getFirstRange(),s)}else{let t=i.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&o){t=r.unwrap(t,o)}if(n.attributeNewValue!==null&&s){r.wrap(t,s)}}}}function If(t){return(e,n,i)=>{const o=t(n.item,i.writer);if(!o){return}if(!i.consumable.consume(n.item,\"insert\")){return}const s=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,o);i.writer.insert(s,o)}}function Nf(t){return(e,n,i)=>{n.isOpening=true;const o=t(n,i.writer);n.isOpening=false;const s=t(n,i.writer);if(!o||!s){return}const r=n.markerRange;if(r.isCollapsed&&!i.consumable.consume(r,e.name)){return}for(const t of r){if(!i.consumable.consume(t.item,e.name)){return}}const a=i.mapper;const c=i.writer;c.insert(a.toViewPosition(r.start),o);i.mapper.bindElementToMarker(o,n.markerName);if(!r.isCollapsed){c.insert(a.toViewPosition(r.end),s);i.mapper.bindElementToMarker(s,n.markerName)}e.stop()}}function Of(){return(t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(!i){return}for(const t of i){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function Rf(t){return(e,n,i)=>{const o=t(n.attributeOldValue,n);const s=t(n.attributeNewValue,n);if(!o&&!s){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.mapper.toViewElement(n.item);const a=i.writer;if(!r){throw new rr[\"b\"](\"conversion-attribute-to-attribute-on-text: \"+\"Trying to convert text node's attribute with attribute-to-attribute converter.\",[n,i])}if(n.attributeOldValue!==null&&o){if(o.key==\"class\"){const t=Array.isArray(o.value)?o.value:[o.value];for(const e of t){a.removeClass(e,r)}}else if(o.key==\"style\"){const t=Object.keys(o.value);for(const e of t){a.removeStyle(e,r)}}else{a.removeAttribute(o.key,r)}}if(n.attributeNewValue!==null&&s){if(s.key==\"class\"){const t=Array.isArray(s.value)?s.value:[s.value];for(const e of t){a.addClass(e,r)}}else if(s.key==\"style\"){const t=Object.keys(s.value);for(const e of t){a.setStyle(e,s.value[e],r)}}else{a.setAttribute(s.key,s.value,r)}}}}function Df(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof ef||n.item instanceof ff)&&!n.item.is(\"textProxy\")){return}const o=Yf(t,n,i);if(!o){return}if(!i.consumable.consume(n.item,e.name)){return}const s=i.writer;const r=Cf(s,o);const a=s.document.selection;if(n.item instanceof ef||n.item instanceof ff){s.wrap(a.getFirstRange(),r,a)}else{const t=i.mapper.toViewRange(n.range);const e=s.wrap(t,r);for(const t of e.getItems()){if(t.is(\"attributeElement\")&&t.isSimilar(r)){i.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Lf(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof Fh)){return}const o=Yf(t,n,i);if(!o){return}if(!i.consumable.test(n.item,e.name)){return}const s=i.mapper.toViewElement(n.item);if(s&&s.getCustomProperty(\"addHighlight\")){i.consumable.consume(n.item,e.name);for(const t of Qh._createIn(n.item)){i.consumable.consume(t.item,e.name)}s.getCustomProperty(\"addHighlight\")(s,o,i.writer);i.mapper.bindElementToMarker(s,n.markerName)}}}function zf(t){return(e,n,i)=>{if(n.markerRange.isCollapsed){return}const o=Yf(t,n,i);if(!o){return}const s=Cf(i.writer,o);const r=i.mapper.markerNameToElements(n.markerName);if(!r){return}for(const t of r){i.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is(\"attributeElement\")){i.writer.unwrap(i.writer.createRangeOn(t),s)}else{t.getCustomProperty(\"removeHighlight\")(t,o.id,i.writer)}}i.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function Vf(t){t=yf(t);t.view=Uf(t.view,\"container\");return e=>{e.on(\"insert:\"+t.model,If(t.view),{priority:t.converterPriority||\"normal\"})}}function jf(t){t=yf(t);const e=t.model.key?t.model.key:t.model;let n=\"attribute:\"+e;if(t.model.name){n+=\":\"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=Uf(t.view[e],\"attribute\")}}else{t.view=Uf(t.view,\"attribute\")}const i=qf(t);return e=>{e.on(n,Mf(i),{priority:t.converterPriority||\"normal\"})}}function Bf(t){t=yf(t);const e=t.model.key?t.model.key:t.model;let n=\"attribute:\"+e;if(t.model.name){n+=\":\"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=$f(t.view[e])}}else{t.view=$f(t.view)}const i=qf(t);return e=>{e.on(n,Rf(i),{priority:t.converterPriority||\"normal\"})}}function Ff(t){t=yf(t);t.view=Uf(t.view,\"ui\");return e=>{e.on(\"addMarker:\"+t.model,Nf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"removeMarker:\"+t.model,Of(t.view),{priority:t.converterPriority||\"normal\"})}}function Hf(t){return e=>{e.on(\"addMarker:\"+t.model,Df(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"addMarker:\"+t.model,Lf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"removeMarker:\"+t.model,zf(t.view),{priority:t.converterPriority||\"normal\"})}}function Uf(t,e){if(typeof t==\"function\"){return t}return(n,i)=>Wf(t,i,e)}function Wf(t,e,n){if(typeof t==\"string\"){t={name:t}}let i;const o=Object.assign({},t.attributes);if(n==\"container\"){i=e.createContainerElement(t.name,o)}else if(n==\"attribute\"){const n={priority:t.priority||_l.DEFAULT_PRIORITY};i=e.createAttributeElement(t.name,o,n)}else{i=e.createUIElement(t.name,o)}if(t.styles){const n=Object.keys(t.styles);for(const o of n){e.setStyle(o,t.styles[o],i)}}if(t.classes){const n=t.classes;if(typeof n==\"string\"){e.addClass(n,i)}else{for(const t of n){e.addClass(t,i)}}}return i}function qf(t){if(t.model.values){return(e,n)=>{const i=t.view[e];if(i){return i(e,n)}return null}}else{return t.view}}function $f(t){if(typeof t==\"string\"){return e=>({key:t,value:e})}else if(typeof t==\"object\"){if(t.value){return()=>t}else{return e=>({key:t.key,value:e})}}else{return t}}function Yf(t,e,n){const i=typeof t==\"function\"?t(e,n):t;if(!i){return null}if(!i.priority){i.priority=10}if(!i.id){i.id=e.markerName}return i}class Gf extends wf{elementToElement(t){return this.add(Zf(t))}elementToAttribute(t){return this.add(Xf(t))}attributeToAttribute(t){return this.add(tg(t))}elementToMarker(t){return this.add(eg(t))}}function Qf(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=i}}}function Kf(){return(t,e,n)=>{if(n.schema.checkChild(e.modelCursor,\"$text\")){if(n.consumable.consume(e.viewItem)){const t=n.writer.createText(e.viewItem.data);n.writer.insert(t,e.modelCursor);e.modelRange=Qh._createFromPositionAndShift(e.modelCursor,t.offsetSize);e.modelCursor=e.modelRange.end}}}}function Jf(t,e){return(n,i)=>{const o=i.newSelection;const s=new ef;const r=[];for(const t of o.getRanges()){r.push(e.toModelRange(t))}s.setTo(r,{backward:o.isBackward});if(!s.isEqual(t.document.selection)){t.change(t=>{t.setSelection(s)})}}}function Zf(t){t=yf(t);const e=ig(t);const n=ng(t.view);const i=n?\"element:\"+n:\"element\";return n=>{n.on(i,e,{priority:t.converterPriority||\"normal\"})}}function Xf(t){t=yf(t);rg(t);const e=ag(t,false);const n=ng(t.view);const i=n?\"element:\"+n:\"element\";return n=>{n.on(i,e,{priority:t.converterPriority||\"low\"})}}function tg(t){t=yf(t);let e=null;if(typeof t.view==\"string\"||t.view.key){e=sg(t)}rg(t,e);const n=ag(t,true);return e=>{e.on(\"element\",n,{priority:t.converterPriority||\"low\"})}}function eg(t){t=yf(t);dg(t);return Zf(t)}function ng(t){if(typeof t==\"string\"){return t}if(typeof t==\"object\"&&typeof t.name==\"string\"){return t.name}return null}function ig(t){const e=t.view?new Wr(t.view):null;return(n,i,o)=>{let s={};if(e){const t=e.match(i.viewItem);if(!t){return}s=t.match}s.name=true;const r=og(t.model,i.viewItem,o.writer);if(!r){return}if(!o.consumable.test(i.viewItem,s)){return}const a=o.splitToAllowedParent(r,i.modelCursor);if(!a){return}o.writer.insert(r,a.position);o.convertChildren(i.viewItem,o.writer.createPositionAt(r,0));o.consumable.consume(i.viewItem,s);const c=o.getSplitParts(r);i.modelRange=new Qh(o.writer.createPositionBefore(r),o.writer.createPositionAfter(c[c.length-1]));if(a.cursorParent){i.modelCursor=o.writer.createPositionAt(a.cursorParent,0)}else{i.modelCursor=i.modelRange.end}}}function og(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.createElement(t)}}function sg(t){if(typeof t.view==\"string\"){t.view={key:t.view}}const e=t.view.key;let n;if(e==\"class\"||e==\"style\"){const i=e==\"class\"?\"classes\":\"styles\";n={[i]:t.view.value}}else{const i=typeof t.view.value==\"undefined\"?/[\\s\\S]*/:t.view.value;n={attributes:{[e]:i}}}if(t.view.name){n.name=t.view.name}t.view=n;return e}function rg(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const i=typeof t.model!=\"object\"?t.model:t.model.key;const o=typeof t.model!=\"object\"||typeof t.model.value==\"undefined\"?n:t.model.value;t.model={key:i,value:o}}function ag(t,e){const n=new Wr(t.view);return(i,o,s)=>{const r=n.match(o.viewItem);if(!r){return}const a=t.model.key;const c=typeof t.model.value==\"function\"?t.model.value(o.viewItem):t.model.value;if(c===null){return}if(cg(t.view,o.viewItem)){r.match.name=true}else{delete r.match.name}if(!s.consumable.test(o.viewItem,r.match)){return}if(!o.modelRange){o=Object.assign(o,s.convertChildren(o.viewItem,o.modelCursor))}const l=lg(o.modelRange,{key:a,value:c},e,s);if(l){s.consumable.consume(o.viewItem,r.match)}}}function cg(t,e){const n=typeof t==\"function\"?t(e):t;if(typeof n==\"object\"&&!ng(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function lg(t,e,n,i){let o=false;for(const s of Array.from(t.getItems({shallow:n}))){if(i.schema.checkAttribute(s,e.key)){i.writer.setAttribute(e.key,e.value,s);o=true}}return o}function dg(t){const e=t.model;t.model=(t,n)=>{const i=typeof e==\"string\"?e:e(t);return n.createElement(\"$marker\",{\"data-name\":i})}}class ug{constructor(t,e){this.model=t;this.view=new Lh(e);this.mapper=new Kh;this.downcastDispatcher=new Xh({mapper:this.mapper});const n=this.model.document;const i=n.selection;const o=this.model.markers;this.listenTo(this.model,\"_beforeChanges\",()=>{this.view._disableRendering(true)},{priority:\"highest\"});this.listenTo(this.model,\"_afterChanges\",()=>{this.view._disableRendering(false)},{priority:\"lowest\"});this.listenTo(n,\"change\",()=>{this.view.change(t=>{this.downcastDispatcher.convertChanges(n.differ,o,t);this.downcastDispatcher.convertSelection(i,o,t)})},{priority:\"low\"});this.listenTo(this.view.document,\"selectionChange\",Jf(this.model,this.mapper));this.downcastDispatcher.on(\"insert:$text\",Af(),{priority:\"lowest\"});this.downcastDispatcher.on(\"remove\",Tf(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Ef(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Sf(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Pf(),{priority:\"low\"});this.view.document.roots.bindTo(this.model.document.roots).using(t=>{if(t.rootName==\"$graveyard\"){return null}const e=new ll(this.view.document,t.name);e.rootName=t.rootName;this.mapper.bindElements(t,e);return e})}destroy(){this.view.destroy();this.stopListening()}}yr(ug,Kc);class hg{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n){throw new rr[\"b\"](\"commandcollection-command-not-found: Command does not exist.\",this,{commandName:t})}n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands()){t.destroy()}}}class fg{constructor(){this._consumables=new Map}add(t,e){let n;if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,true);return}if(!this._consumables.has(t)){n=new gg(t);this._consumables.set(t,n)}else{n=this._consumables.get(t)}n.add(e)}test(t,e){const n=this._consumables.get(t);if(n===undefined){return null}if(t.is(\"text\")||t.is(\"documentFragment\")){return n}return n.test(e)}consume(t,e){if(this.test(t,e)){if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,false)}else{this._consumables.get(t).consume(e)}return true}return false}revert(t,e){const n=this._consumables.get(t);if(n!==undefined){if(t.is(\"text\")||t.is(\"documentFragment\")){this._consumables.set(t,true)}else{n.revert(e)}}}static consumablesFromElement(t){const e={element:t,name:true,attributes:[],classes:[],styles:[]};const n=t.getAttributeKeys();for(const t of n){if(t==\"style\"||t==\"class\"){continue}e.attributes.push(t)}const i=t.getClassNames();for(const t of i){e.classes.push(t)}const o=t.getStyleNames();for(const t of o){e.styles.push(t)}return e}static createFrom(t,e){if(!e){e=new fg(t)}if(t.is(\"text\")){e.add(t);return e}if(t.is(\"element\")){e.add(t,fg.consumablesFromElement(t))}if(t.is(\"documentFragment\")){e.add(t)}for(const n of t.getChildren()){e=fg.createFrom(n,e)}return e}}class gg{constructor(t){this.element=t;this._canConsumeName=null;this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._add(e,t[e])}}}test(t){if(t.name&&!this._canConsumeName){return this._canConsumeName}for(const e in this._consumables){if(e in t){const n=this._test(e,t[e]);if(n!==true){return n}}}return true}consume(t){if(t.name){this._canConsumeName=false}for(const e in this._consumables){if(e in t){this._consume(e,t[e])}}}revert(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._revert(e,t[e])}}}_add(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){throw new rr[\"b\"](\"viewconsumable-invalid-attribute: Classes and styles should be handled separately.\",this)}i.set(e,true);if(t===\"styles\"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){i.set(t,true)}}}}_test(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";const n=this._test(t,[...this._consumables[t].keys()]);if(n!==true){return n}}else{const t=i.get(e);if(t===undefined){return null}if(!t){return false}}}return true}_consume(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";this._consume(t,[...this._consumables[t].keys()])}else{i.set(e,false);if(t==\"styles\"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){i.set(t,false)}}}}}_revert(t,e){const n=Qe(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";this._revert(t,[...this._consumables[t].keys()])}else{const t=i.get(e);if(t===false){i.set(e,true)}}}}}class mg{constructor(){this._sourceDefinitions={};this._attributeProperties={};this.decorate(\"checkChild\");this.decorate(\"checkAttribute\");this.on(\"checkAttribute\",(t,e)=>{e[0]=new pg(e[0])},{priority:\"highest\"});this.on(\"checkChild\",(t,e)=>{e[0]=new pg(e[0]);e[1]=this.getDefinition(e[1])},{priority:\"highest\"})}register(t,e){if(this._sourceDefinitions[t]){throw new rr[\"b\"](\"schema-cannot-register-item-twice: A single item cannot be registered twice in the schema.\",this,{itemName:t})}this._sourceDefinitions[t]=[Object.assign({},e)];this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t]){throw new rr[\"b\"](\"schema-cannot-extend-missing-item: Cannot extend an item which was not registered yet.\",this,{itemName:t})}this._sourceDefinitions[t].push(Object.assign({},e));this._clearCache()}getDefinitions(){if(!this._compiledDefinitions){this._compile()}return this._compiledDefinitions}getDefinition(t){let e;if(typeof t==\"string\"){e=t}else if(t.is&&(t.is(\"text\")||t.is(\"textProxy\"))){e=\"$text\"}else{e=t.name}return this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isLimit||e.isObject)}isObject(t){const e=this.getDefinition(t);return!!(e&&e.isObject)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}checkChild(t,e){if(!e){return false}return this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n){return false}return n.allowAttributes.includes(e)}checkMerge(t,e=null){if(t instanceof qh){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Fh)){throw new rr[\"b\"](\"schema-check-merge-no-element-before: The node before the merge position must be an element.\",this)}if(!(n instanceof Fh)){throw new rr[\"b\"](\"schema-check-merge-no-element-after: The node after the merge position must be an element.\",this)}return this.checkMerge(e,n)}for(const n of e.getChildren()){if(!this.checkChild(t,n)){return false}}return true}addChildCheck(t){this.on(\"checkChild\",(e,[n,i])=>{if(!i){return}const o=t(n,i);if(typeof o==\"boolean\"){e.stop();e.return=o}},{priority:\"high\"})}addAttributeCheck(t){this.on(\"checkAttribute\",(e,[n,i])=>{const o=t(n,i);if(typeof o==\"boolean\"){e.stop();e.return=o}},{priority:\"high\"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof qh){e=t.parent}else{const n=t instanceof Qh?[t]:Array.from(t.getRanges());e=n.reduce((t,e)=>{const n=e.getCommonAncestor();if(!t){return n}return t.getCommonAncestor(n,{includeSelf:true})},null)}while(!this.isLimit(e)){if(e.parent){e=e.parent}else{break}}return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=t.getFirstPosition();const i=[...n.getAncestors(),new Vh(\"\",t.getAttributes())];return this.checkAttribute(i,e)}else{const n=t.getRanges();for(const t of n){for(const n of t){if(this.checkAttribute(n.item,e)){return true}}}}return false}*getValidRanges(t,e){t=Ig(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e=\"both\"){if(this.checkChild(t,\"$text\")){return new Qh(t)}let n,i;const o=t.getAncestors().reverse().find(t=>this.isLimit(t))||t.root;if(e==\"both\"||e==\"backward\"){n=new Uh({boundaries:Qh._createIn(o),startPosition:t,direction:\"backward\"})}if(e==\"both\"||e==\"forward\"){i=new Uh({boundaries:Qh._createIn(o),startPosition:t})}for(const t of Mg(n,i)){const e=t.walker==n?\"elementEnd\":\"elementStart\";const i=t.value;if(i.type==e&&this.isObject(i.item)){return Qh._createOn(i.item)}if(this.checkChild(i.nextPosition,\"$text\")){return new Qh(i.nextPosition)}}return null}findAllowedParent(t,e){let n=t.parent;while(n){if(this.checkChild(n,e)){return n}if(this.isLimit(n)){return null}n=n.parent}return null}removeDisallowedAttributes(t,e){for(const n of t){if(n.is(\"text\")){Ng(this,n,e)}else{const t=Qh._createIn(n);const i=t.getPositions();for(const t of i){const n=t.nodeBefore||t.parent;Ng(this,n,e)}}}}createContext(t){return new pg(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const i of n){t[i]=bg(e[i],i)}for(const e of n){wg(t,e)}for(const e of n){_g(t,e)}for(const e of n){kg(t,e);vg(t,e)}for(const e of n){yg(t,e);xg(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(n==0){return true}else{const t=this.getDefinition(i);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let i=t.start;for(const o of t.getItems({shallow:true})){if(o.is(\"element\")){yield*this._getValidRangesForRange(Qh._createIn(o),e)}if(!this.checkAttribute(o,e)){if(!n.isEqual(i)){yield new Qh(n,i)}n=qh._createAfter(o)}i=qh._createAfter(o)}if(!n.isEqual(i)){yield new Qh(n,i)}}}yr(mg,Kc);class pg{constructor(t){if(t instanceof pg){return t}if(typeof t==\"string\"){t=[t]}else if(!Array.isArray(t)){t=t.getAncestors({includeSelf:true})}if(t[0]&&typeof t[0]!=\"string\"&&t[0].is(\"documentFragment\")){t.shift()}this._items=t.map(Eg)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new pg([t]);e._items=[...this._items,...e._items];return e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map(t=>t.name)}endsWith(t){return Array.from(this.getNames()).join(\" \").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(\" \").startsWith(t)}}function bg(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],inheritTypesFrom:[]};Ag(t,n);Tg(t,n,\"allowIn\");Tg(t,n,\"allowContentOf\");Tg(t,n,\"allowWhere\");Tg(t,n,\"allowAttributes\");Tg(t,n,\"allowAttributesOf\");Tg(t,n,\"inheritTypesFrom\");Cg(t,n);return n}function wg(t,e){for(const n of t[e].allowContentOf){if(t[n]){const i=Sg(t,n);i.forEach(t=>{t.allowIn.push(e)})}}delete t[e].allowContentOf}function _g(t,e){for(const n of t[e].allowWhere){const i=t[n];if(i){const n=i.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function kg(t,e){for(const n of t[e].allowAttributesOf){const i=t[n];if(i){const n=i.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function vg(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const i=t[e];if(i){const t=Object.keys(i).filter(t=>t.startsWith(\"is\"));for(const e of t){if(!(e in n)){n[e]=i[e]}}}}delete n.inheritTypesFrom}function yg(t,e){const n=t[e];const i=n.allowIn.filter(e=>t[e]);n.allowIn=Array.from(new Set(i))}function xg(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function Ag(t,e){for(const n of t){const t=Object.keys(n).filter(t=>t.startsWith(\"is\"));for(const i of t){e[i]=n[i]}}}function Tg(t,e,n){for(const i of t){if(typeof i[n]==\"string\"){e[n].push(i[n])}else if(Array.isArray(i[n])){e[n].push(...i[n])}}}function Cg(t,e){for(const n of t){const t=n.inheritAllFrom;if(t){e.allowContentOf.push(t);e.allowWhere.push(t);e.allowAttributesOf.push(t);e.inheritTypesFrom.push(t)}}}function Sg(t,e){const n=t[e];return Pg(t).filter(t=>t.allowIn.includes(n.name))}function Pg(t){return Object.keys(t).map(e=>t[e])}function Eg(t){if(typeof t==\"string\"){return{name:t,*getAttributeKeys(){},getAttribute(){}}}else{return{name:t.is(\"element\")?t.name:\"$text\",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute(e){return t.getAttribute(e)}}}}function*Mg(t,e){let n=false;while(!n){n=true;if(t){const e=t.next();if(!e.done){n=false;yield{walker:t,value:e.value}}}if(e){const t=e.next();if(!t.done){n=false;yield{walker:e,value:t.value}}}}}function*Ig(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function Ng(t,e,n){for(const i of e.getAttributeKeys()){if(!t.checkAttribute(e,i)){n.removeAttribute(i,e)}}}class Og{constructor(t={}){this._splitParts=new Map;this._modelCursor=null;this.conversionApi=Object.assign({},t);this.conversionApi.convertItem=this._convertItem.bind(this);this.conversionApi.convertChildren=this._convertChildren.bind(this);this.conversionApi.splitToAllowedParent=this._splitToAllowedParent.bind(this);this.conversionApi.getSplitParts=this._getSplitParts.bind(this)}convert(t,e,n=[\"$root\"]){this.fire(\"viewCleanup\",t);this._modelCursor=Dg(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=fg.createFrom(t);this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor);const o=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,o)}o.markers=Rg(o,e)}this._modelCursor=null;this._splitParts.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return o}_convertItem(t,e){const n=Object.assign({viewItem:t,modelCursor:e,modelRange:null});if(t.is(\"element\")){this.fire(\"element:\"+t.name,n,this.conversionApi)}else if(t.is(\"text\")){this.fire(\"text\",n,this.conversionApi)}else{this.fire(\"documentFragment\",n,this.conversionApi)}if(n.modelRange&&!(n.modelRange instanceof Qh)){throw new rr[\"b\"](\"view-conversion-dispatcher-incorrect-result: Incorrect conversion result was dropped.\",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){const n=new Qh(e);let i=e;for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,i);if(t.modelRange instanceof Qh){n.end=t.modelRange.end;i=t.modelCursor}}return{modelRange:n,modelCursor:i}}_splitToAllowedParent(t,e){const n=this.conversionApi.schema.findAllowedParent(e,t);if(!n){return null}if(n===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(n)){return null}const i=this.conversionApi.writer.split(e,n);const o=[];for(const t of i.range.getWalker()){if(t.type==\"elementEnd\"){o.push(t.item)}else{const e=o.pop();const n=t.item;this._registerSplitPair(e,n)}}return{position:i.position,cursorParent:i.range.end.parent}}_registerSplitPair(t,e){if(!this._splitParts.has(t)){this._splitParts.set(t,[t])}const n=this._splitParts.get(t);this._splitParts.set(e,n);n.push(e)}_getSplitParts(t){let e;if(!this._splitParts.has(t)){e=[t]}else{e=this._splitParts.get(t)}return e}_removeEmptyElements(){let t=false;for(const e of this._splitParts.keys()){if(e.isEmpty){this.conversionApi.writer.remove(e);this._splitParts.delete(e);t=true}}if(t){this._removeEmptyElements()}}}yr(Og,dr);function Rg(t,e){const n=new Set;const i=new Map;const o=Qh._createIn(t).getItems();for(const t of o){if(t.name==\"$marker\"){n.add(t)}}for(const t of n){const n=t.getAttribute(\"data-name\");const o=e.createPositionBefore(t);if(!i.has(n)){i.set(n,new Qh(o.clone()))}else{i.get(n).end=o.clone()}e.remove(t)}return i}function Dg(t,e){let n;for(const i of new pg(t)){const t={};for(const e of i.getAttributeKeys()){t[e]=i.getAttribute(e)}const o=e.createElement(i.name,t);if(n){e.append(o,n)}n=qh._createAt(o,0)}return n}class Lg{constructor(t,e){this.model=t;this.stylesProcessor=e;this.processor;this.mapper=new Kh;this.downcastDispatcher=new Xh({mapper:this.mapper});this.downcastDispatcher.on(\"insert:$text\",Af(),{priority:\"lowest\"});this.upcastDispatcher=new Og({schema:t.schema});this.viewDocument=new bl(e);this._viewWriter=new $l(this.viewDocument);this.upcastDispatcher.on(\"text\",Kf(),{priority:\"lowest\"});this.upcastDispatcher.on(\"element\",Qf(),{priority:\"lowest\"});this.upcastDispatcher.on(\"documentFragment\",Qf(),{priority:\"lowest\"});this.decorate(\"init\");this.on(\"init\",()=>{this.fire(\"ready\")},{priority:\"lowest\"})}get(t){const{rootName:e=\"main\",trim:n=\"empty\"}=t||{};if(!this._checkIfRootsExists([e])){throw new rr[\"b\"](\"datacontroller-get-non-existent-root: Attempting to get data from a non-existing root.\",this)}const i=this.model.document.getRoot(e);if(n===\"empty\"&&!this.model.hasContent(i,{ignoreWhitespaces:true})){return\"\"}return this.stringify(i)}stringify(t){const e=this.toView(t);return this.processor.toData(e)}toView(t){const e=this.viewDocument;const n=this._viewWriter;this.mapper.clearBindings();const i=Qh._createIn(t);const o=new Wl(e);this.mapper.bindElements(t,o);this.downcastDispatcher.convertInsert(i,n);if(!t.is(\"documentFragment\")){const e=zg(t);for(const[t,i]of e){this.downcastDispatcher.convertMarkerAdd(t,i,n)}}return o}init(t){if(this.model.document.version){throw new rr[\"b\"](\"datacontroller-init-document-not-empty: Trying to set initial data to not empty document.\",this)}let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new rr[\"b\"](\"datacontroller-init-non-existent-root: Attempting to init data on a non-existing root.\",this)}this.model.enqueueChange(\"transparent\",t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,0)}});return Promise.resolve()}set(t){let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new rr[\"b\"](\"datacontroller-set-non-existent-root: Attempting to set data on a non-existing root.\",this)}this.model.enqueueChange(\"transparent\",t=>{t.setSelection(null);t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.remove(t.createRangeIn(i));t.insert(this.parse(e[n],i),i,0)}})}parse(t,e=\"$root\"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e=\"$root\"){return this.model.change(n=>this.upcastDispatcher.convert(t,n,e))}addStyleProcessorRules(t){t(this.stylesProcessor)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t){if(!this.model.document.getRootNames().includes(e)){return false}}return true}}yr(Lg,Kc);function zg(t){const e=[];const n=t.root.document;if(!n){return[]}const i=Qh._createIn(t);for(const t of n.model.markers){const n=i.getIntersection(t.getRange());if(n){e.push([t.name,n])}}return e}class Vg{constructor(t,e){this._helpers=new Map;this._downcast=Array.isArray(t)?t:[t];this._createConversionHelpers({name:\"downcast\",dispatchers:this._downcast,isDowncast:true});this._upcast=Array.isArray(e)?e:[e];this._createConversionHelpers({name:\"upcast\",dispatchers:this._upcast,isDowncast:false})}addAlias(t,e){const n=this._downcast.includes(e);const i=this._upcast.includes(e);if(!i&&!n){throw new rr[\"b\"](\"conversion-add-alias-dispatcher-not-registered: \"+\"Trying to register and alias for a dispatcher that nas not been registered.\",this)}this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t)){throw new rr[\"b\"](\"conversion-for-unknown-group: Trying to add a converter to an unknown dispatchers group.\",this)}return this._helpers.get(t)}elementToElement(t){this.for(\"downcast\").elementToElement(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}}attributeToElement(t){this.for(\"downcast\").attributeToElement(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}}attributeToAttribute(t){this.for(\"downcast\").attributeToAttribute(t);for(const{model:e,view:n}of jg(t)){this.for(\"upcast\").attributeToAttribute({view:n,model:e})}}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t)){throw new rr[\"b\"](\"conversion-group-exists: Trying to register a group name that has already been registered.\",this)}const i=n?new xf(e):new Gf(e);this._helpers.set(t,i)}}function*jg(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const i=t.view[e];const o=t.upcastAlso?t.upcastAlso[e]:undefined;yield*Bg(n,i,o)}}else{yield*Bg(t.model,t.view,t.upcastAlso)}}function*Bg(t,e,n){yield{model:t,view:e};if(n){n=Array.isArray(n)?n:[n];for(const e of n){yield{model:t,view:e}}}}class Fg{constructor(t=\"default\"){this.operations=[];this.type=t}get baseVersion(){for(const t of this.operations){if(t.baseVersion!==null){return t.baseVersion}}return null}addOperation(t){t.batch=this;this.operations.push(t);return t}}class Hg{constructor(t){this.baseVersion=t;this.isDocumentOperation=this.baseVersion!==null;this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);t.__className=this.constructor.className;delete t.batch;delete t.isDocumentOperation;return t}static get className(){return\"Operation\"}static fromJSON(t){return new this(t.baseVersion)}}class Ug{constructor(t){this.markers=new Map;this._children=new Bh;if(t){this._insertChild(0,t)}}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t===\"documentFragment\"||t===\"model:documentFragment\"}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children){t.push(e.toJSON())}return t}static fromJSON(t){const e=[];for(const n of t){if(n.name){e.push(Fh.fromJSON(n))}else{e.push(Vh.fromJSON(n))}}return new Ug(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Wg(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}}function Wg(t){if(typeof t==\"string\"){return[new Vh(t)]}if(!vr(t)){t=[t]}return Array.from(t).map(t=>{if(typeof t==\"string\"){return new Vh(t)}if(t instanceof jh){return new Vh(t.data,t.getAttributes())}return t})}function qg(t,e){e=Qg(e);const n=e.reduce((t,e)=>t+e.offsetSize,0);const i=t.parent;Jg(t);const o=t.index;i._insertChild(o,e);Kg(i,o+e.length);Kg(i,o);return new Qh(t,t.getShiftedBy(n))}function $g(t){if(!t.isFlat){throw new rr[\"b\"](\"operation-utils-remove-range-not-flat: \"+\"Trying to remove a range which starts and ends in different element.\",this)}const e=t.start.parent;Jg(t.start);Jg(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);Kg(e,t.start.index);return n}function Yg(t,e){if(!t.isFlat){throw new rr[\"b\"](\"operation-utils-move-range-not-flat: \"+\"Trying to move a range which starts and ends in different element.\",this)}const n=$g(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return qg(e,n)}function Gg(t,e,n){Jg(t.start);Jg(t.end);for(const i of t.getItems({shallow:true})){const t=i.is(\"textProxy\")?i.textNode:i;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}Kg(t.parent,t.index)}Kg(t.end.parent,t.end.index)}function Qg(t){const e=[];if(!(t instanceof Array)){t=[t]}for(let n=0;n<t.length;n++){if(typeof t[n]==\"string\"){e.push(new Vh(t[n]))}else if(t[n]instanceof jh){e.push(new Vh(t[n].data,t[n].getAttributes()))}else if(t[n]instanceof Ug||t[n]instanceof Bh){for(const i of t[n]){e.push(i)}}else if(t[n]instanceof zh){e.push(t[n])}}for(let t=1;t<e.length;t++){const n=e[t];const i=e[t-1];if(n instanceof Vh&&i instanceof Vh&&Zg(n,i)){e.splice(t-1,2,new Vh(i.data+n.data,i.getAttributes()));t--}}return e}function Kg(t,e){const n=t.getChild(e-1);const i=t.getChild(e);if(n&&i&&n.is(\"text\")&&i.is(\"text\")&&Zg(n,i)){const o=new Vh(n.data+i.data,n.getAttributes());t._removeChildren(e-1,2);t._insertChild(e-1,o)}}function Jg(t){const e=t.textNode;const n=t.parent;if(e){const i=t.offset-e.startOffset;const o=e.index;n._removeChildren(o,1);const s=new Vh(e.data.substr(0,i),e.getAttributes());const r=new Vh(e.data.substr(i),e.getAttributes());n._insertChild(o,[s,r])}}function Zg(t,e){const n=t.getAttributes();const i=e.getAttributes();for(const t of n){if(t[1]!==e.getAttribute(t[0])){return false}i.next()}return i.next().done}function Xg(t,e){return Wu(t,e)}var tm=Xg;class em extends Hg{constructor(t,e,n,i,o){super(o);this.range=t.clone();this.key=e;this.oldValue=n===undefined?null:n;this.newValue=i===undefined?null:i}get type(){if(this.oldValue===null){return\"addAttribute\"}else if(this.newValue===null){return\"removeAttribute\"}else{return\"changeAttribute\"}}clone(){return new em(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new em(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const t=super.toJSON();t.range=this.range.toJSON();return t}_validate(){if(!this.range.isFlat){throw new rr[\"b\"](\"attribute-operation-range-not-flat: The range to change is not flat.\",this)}for(const t of this.range.getItems({shallow:true})){if(this.oldValue!==null&&!tm(t.getAttribute(this.key),this.oldValue)){throw new rr[\"b\"](\"attribute-operation-wrong-old-value: Changed node has different attribute value than operation's \"+\"old attribute value.\",this,{item:t,key:this.key,value:this.oldValue})}if(this.oldValue===null&&this.newValue!==null&&t.hasAttribute(this.key)){throw new rr[\"b\"](\"attribute-operation-attribute-exists: The attribute with given key already exists.\",this,{node:t,key:this.key})}}}_execute(){if(!tm(this.oldValue,this.newValue)){Gg(this.range,this.key,this.newValue)}}static get className(){return\"AttributeOperation\"}static fromJSON(t,e){return new em(Qh.fromJSON(t.range,e),t.key,t.oldValue,t.newValue,t.baseVersion)}}class nm extends Hg{constructor(t,e){super(null);this.sourcePosition=t.clone();this.howMany=e}get type(){return\"detach\"}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();return t}_validate(){if(this.sourcePosition.root.document){throw new rr[\"b\"](\"detach-operation-on-document-node: Cannot detach document node.\",this)}}_execute(){$g(Qh._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return\"DetachOperation\"}}class im extends Hg{constructor(t,e,n,i){super(i);this.sourcePosition=t.clone();this.sourcePosition.stickiness=\"toNext\";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness=\"toNone\"}get type(){if(this.targetPosition.root.rootName==\"$graveyard\"){return\"remove\"}else if(this.sourcePosition.root.rootName==\"$graveyard\"){return\"reinsert\"}return\"move\"}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.baseVersion)}getMovedRangeStart(){return this.targetPosition._getTransformedByDeletion(this.sourcePosition,this.howMany)}getReversed(){const t=this.sourcePosition._getTransformedByInsertion(this.targetPosition,this.howMany);return new this.constructor(this.getMovedRangeStart(),this.howMany,t,this.baseVersion+1)}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;const n=this.sourcePosition.offset;const i=this.targetPosition.offset;if(n+this.howMany>t.maxOffset){throw new rr[\"b\"](\"move-operation-nodes-do-not-exist: The nodes which should be moved do not exist.\",this)}else if(t===e&&n<i&&i<n+this.howMany){throw new rr[\"b\"](\"move-operation-range-into-itself: Trying to move a range of nodes to the inside of that range.\",this)}else if(this.sourcePosition.root==this.targetPosition.root){if(Dr(this.sourcePosition.getParentPath(),this.targetPosition.getParentPath())==\"prefix\"){const t=this.sourcePosition.path.length-1;if(this.targetPosition.path[t]>=n&&this.targetPosition.path[t]<n+this.howMany){throw new rr[\"b\"](\"move-operation-node-into-itself: Trying to move a range of nodes into one of nodes from that range.\",this)}}}}_execute(){Yg(Qh._createFromPositionAndShift(this.sourcePosition,this.howMany),this.targetPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();t.targetPosition=this.targetPosition.toJSON();return t}static get className(){return\"MoveOperation\"}static fromJSON(t,e){const n=qh.fromJSON(t.sourcePosition,e);const i=qh.fromJSON(t.targetPosition,e);return new this(n,t.howMany,i,t.baseVersion)}}class om extends Hg{constructor(t,e,n){super(n);this.position=t.clone();this.position.stickiness=\"toNone\";this.nodes=new Bh(Qg(e));this.shouldReceiveAttributes=false}get type(){return\"insert\"}get howMany(){return this.nodes.maxOffset}clone(){const t=new Bh([...this.nodes].map(t=>t._clone(true)));const e=new om(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new qh(t,[0]);return new im(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffset<this.position.offset){throw new rr[\"b\"](\"insert-operation-position-invalid: Insertion position is invalid.\",this)}}_execute(){const t=this.nodes;this.nodes=new Bh([...t].map(t=>t._clone(true)));qg(this.position,t)}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();t.nodes=this.nodes.toJSON();return t}static get className(){return\"InsertOperation\"}static fromJSON(t,e){const n=[];for(const e of t.nodes){if(e.name){n.push(Fh.fromJSON(e))}else{n.push(Vh.fromJSON(e))}}const i=new om(qh.fromJSON(t.position,e),n,t.baseVersion);i.shouldReceiveAttributes=t.shouldReceiveAttributes;return i}}class sm extends Hg{constructor(t,e,n,i,o,s){super(s);this.name=t;this.oldRange=e?e.clone():null;this.newRange=n?n.clone():null;this.affectsData=o;this._markers=i}get type(){return\"marker\"}clone(){return new sm(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new sm(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const t=this.newRange?\"_set\":\"_remove\";this._markers[t](this.name,this.newRange,true,this.affectsData)}toJSON(){const t=super.toJSON();if(this.oldRange){t.oldRange=this.oldRange.toJSON()}if(this.newRange){t.newRange=this.newRange.toJSON()}delete t._markers;return t}static get className(){return\"MarkerOperation\"}static fromJSON(t,e){return new sm(t.name,t.oldRange?Qh.fromJSON(t.oldRange,e):null,t.newRange?Qh.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}class rm extends Hg{constructor(t,e,n,i){super(i);this.position=t;this.position.stickiness=\"toNext\";this.oldName=e;this.newName=n}get type(){return\"rename\"}clone(){return new rm(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new rm(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof Fh)){throw new rr[\"b\"](\"rename-operation-wrong-position: Given position is invalid or node after it is not an instance of Element.\",this)}else if(t.name!==this.oldName){throw new rr[\"b\"](\"rename-operation-wrong-name: Element to change has different name than operation's old name.\",this)}}_execute(){const t=this.position.nodeAfter;t.name=this.newName}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();return t}static get className(){return\"RenameOperation\"}static fromJSON(t,e){return new rm(qh.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class am extends Hg{constructor(t,e,n,i,o){super(o);this.root=t;this.key=e;this.oldValue=n;this.newValue=i}get type(){if(this.oldValue===null){return\"addRootAttribute\"}else if(this.newValue===null){return\"removeRootAttribute\"}else{return\"changeRootAttribute\"}}clone(){return new am(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new am(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is(\"documentFragment\")){throw new rr[\"b\"](\"rootattribute-operation-not-a-root: The element to change is not a root element.\",this,{root:this.root,key:this.key})}if(this.oldValue!==null&&this.root.getAttribute(this.key)!==this.oldValue){throw new rr[\"b\"](\"rootattribute-operation-wrong-old-value: Changed node has different attribute value than operation's \"+\"old attribute value.\",this,{root:this.root,key:this.key})}if(this.oldValue===null&&this.newValue!==null&&this.root.hasAttribute(this.key)){throw new rr[\"b\"](\"rootattribute-operation-attribute-exists: The attribute with given key already exists.\",this,{root:this.root,key:this.key})}}_execute(){if(this.newValue!==null){this.root._setAttribute(this.key,this.newValue)}else{this.root._removeAttribute(this.key)}}toJSON(){const t=super.toJSON();t.root=this.root.toJSON();return t}static get className(){return\"RootAttributeOperation\"}static fromJSON(t,e){if(!e.getRoot(t.root)){throw new rr[\"b\"](\"rootattribute-operation-fromjson-no-root: Cannot create RootAttributeOperation. Root with specified name does not exist.\",this,{rootName:t.root})}return new am(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class cm extends Hg{constructor(t,e,n,i,o){super(o);this.sourcePosition=t.clone();this.sourcePosition.stickiness=\"toPrevious\";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness=\"toNext\";this.graveyardPosition=i.clone()}get type(){return\"merge\"}get deletionPosition(){return new qh(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Qh(this.sourcePosition,t)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.targetPosition._getTransformedByMergeOperation(this);const e=this.sourcePosition.path.slice(0,-1);const n=new qh(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);const i=new lm(t,this.howMany,this.graveyardPosition,this.baseVersion+1);i.insertionPosition=n;return i}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;if(!t.parent){throw new rr[\"b\"](\"merge-operation-source-position-invalid: Merge source position is invalid.\",this)}else if(!e.parent){throw new rr[\"b\"](\"merge-operation-target-position-invalid: Merge target position is invalid.\",this)}else if(this.howMany!=t.maxOffset){throw new rr[\"b\"](\"merge-operation-how-many-invalid: Merge operation specifies wrong number of nodes to move.\",this)}}_execute(){const t=this.sourcePosition.parent;const e=Qh._createIn(t);Yg(e,this.targetPosition);Yg(Qh._createOn(t),this.graveyardPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=t.sourcePosition.toJSON();t.targetPosition=t.targetPosition.toJSON();t.graveyardPosition=t.graveyardPosition.toJSON();return t}static get className(){return\"MergeOperation\"}static fromJSON(t,e){const n=qh.fromJSON(t.sourcePosition,e);const i=qh.fromJSON(t.targetPosition,e);const o=qh.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,i,o,t.baseVersion)}}class lm extends Hg{constructor(t,e,n,i){super(i);this.splitPosition=t.clone();this.splitPosition.stickiness=\"toNext\";this.howMany=e;this.insertionPosition=lm.getInsertionPosition(t);this.insertionPosition.stickiness=\"toNone\";this.graveyardPosition=n?n.clone():null;if(this.graveyardPosition){this.graveyardPosition.stickiness=\"toNext\"}}get type(){return\"split\"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();t.push(0);return new qh(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Qh(this.splitPosition,t)}clone(){const t=new this.constructor(this.splitPosition,this.howMany,this.graveyardPosition,this.baseVersion);t.insertionPosition=this.insertionPosition;return t}getReversed(){const t=this.splitPosition.root.document.graveyard;const e=new qh(t,[0]);return new cm(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;const e=this.splitPosition.offset;if(!t||t.maxOffset<e){throw new rr[\"b\"](\"split-operation-position-invalid: Split position is invalid.\",this)}else if(!t.parent){throw new rr[\"b\"](\"split-operation-split-in-root: Cannot split root element.\",this)}else if(this.howMany!=t.maxOffset-this.splitPosition.offset){throw new rr[\"b\"](\"split-operation-how-many-invalid: Split operation specifies wrong number of nodes to move.\",this)}else if(this.graveyardPosition&&!this.graveyardPosition.nodeAfter){throw new rr[\"b\"](\"split-operation-graveyard-position-invalid: Graveyard position invalid.\",this)}}_execute(){const t=this.splitPosition.parent;if(this.graveyardPosition){Yg(Qh._createFromPositionAndShift(this.graveyardPosition,1),this.insertionPosition)}else{const e=t._clone();qg(this.insertionPosition,e)}const e=new Qh(qh._createAt(t,this.splitPosition.offset),qh._createAt(t,t.maxOffset));Yg(e,this.moveTargetPosition)}toJSON(){const t=super.toJSON();t.splitPosition=this.splitPosition.toJSON();t.insertionPosition=this.insertionPosition.toJSON();if(this.graveyardPosition){t.graveyardPosition=this.graveyardPosition.toJSON()}return t}static get className(){return\"SplitOperation\"}static getInsertionPosition(t){const e=t.path.slice(0,-1);e[e.length-1]++;return new qh(t.root,e)}static fromJSON(t,e){const n=qh.fromJSON(t.splitPosition,e);const i=qh.fromJSON(t.insertionPosition,e);const o=t.graveyardPosition?qh.fromJSON(t.graveyardPosition,e):null;const s=new this(n,t.howMany,o,t.baseVersion);s.insertionPosition=i;return s}}class dm extends Fh{constructor(t,e,n=\"main\"){super(e);this._document=t;this.rootName=n}get document(){return this._document}is(t,e){if(!e){return t===\"rootElement\"||t===\"model:rootElement\"||t===\"element\"||t===\"model:element\"||t===this.name||t===\"model:\"+this.name||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"rootElement\"||t===\"model:rootElement\"||t===\"element\"||t===\"model:element\")}toJSON(){return this.rootName}}class um{constructor(t,e){this.model=t;this.batch=e}createText(t,e){return new Vh(t,e)}createElement(t,e){return new Fh(t,e)}createDocumentFragment(){return new Ug}insert(t,e,n=0){this._assertWriterUsedCorrectly();if(t instanceof Vh&&t.data==\"\"){return}const i=qh._createAt(e,n);if(t.parent){if(pm(t.root,i.root)){this.move(Qh._createOn(t),i);return}else{if(t.root.document){throw new rr[\"b\"](\"model-writer-insert-forbidden-move: \"+\"Cannot move a node from a document to a different tree. \"+\"It is forbidden to move a node that was already in a document outside of it.\",this)}else{this.remove(t)}}}const o=i.root.document?i.root.document.version:null;const s=new om(i,t,o);if(t instanceof Vh){s.shouldReceiveAttributes=true}this.batch.addOperation(s);this.model.applyOperation(s);if(t instanceof Ug){for(const[e,n]of t.markers){const t=qh._createAt(n.root,0);const o=new Qh(n.start._getCombined(t,i),n.end._getCombined(t,i));const s={range:o,usingOperation:true,affectsData:true};if(this.model.markers.has(e)){this.updateMarker(e,s)}else{this.addMarker(e,s)}}}}insertText(t,e,n,i){if(e instanceof Ug||e instanceof Fh||e instanceof qh){this.insert(this.createText(t),e,n)}else{this.insert(this.createText(t,e),n,i)}}insertElement(t,e,n,i){if(e instanceof Ug||e instanceof Fh||e instanceof qh){this.insert(this.createElement(t),e,n)}else{this.insert(this.createElement(t,e),n,i)}}append(t,e){this.insert(t,e,\"end\")}appendText(t,e,n){if(e instanceof Ug||e instanceof Fh){this.insert(this.createText(t),e,\"end\")}else{this.insert(this.createText(t,e),n,\"end\")}}appendElement(t,e,n){if(e instanceof Ug||e instanceof Fh){this.insert(this.createElement(t),e,\"end\")}else{this.insert(this.createElement(t,e),n,\"end\")}}setAttribute(t,e,n){this._assertWriterUsedCorrectly();if(n instanceof Qh){const i=n.getMinimalFlatRanges();for(const n of i){hm(this,t,e,n)}}else{fm(this,t,e,n)}}setAttributes(t,e){for(const[n,i]of Ur(t)){this.setAttribute(n,i,e)}}removeAttribute(t,e){this._assertWriterUsedCorrectly();if(e instanceof Qh){const n=e.getMinimalFlatRanges();for(const e of n){hm(this,t,null,e)}}else{fm(this,t,null,e)}}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof Qh)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof Qh)){throw new rr[\"b\"](\"writer-move-invalid-range: Invalid range to move.\",this)}if(!t.isFlat){throw new rr[\"b\"](\"writer-move-range-not-flat: Range to move is not flat.\",this)}const i=qh._createAt(e,n);if(i.isEqual(t.start)){return}this._addOperationForAffectedMarkers(\"move\",t);if(!pm(t.root,i.root)){throw new rr[\"b\"](\"writer-move-different-document: Range is going to be moved between different documents.\",this)}const o=t.root.document?t.root.document.version:null;const s=new im(t.start,t.end.offset-t.start.offset,i,o);this.batch.addOperation(s);this.model.applyOperation(s)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof Qh?t:Qh._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers(\"move\",t);mm(t.start,t.end.offset-t.start.offset,this.batch,this.model)}}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore;const n=t.nodeAfter;this._addOperationForAffectedMarkers(\"merge\",t);if(!(e instanceof Fh)){throw new rr[\"b\"](\"writer-merge-no-element-before: Node before merge position must be an element.\",this)}if(!(n instanceof Fh)){throw new rr[\"b\"](\"writer-merge-no-element-after: Node after merge position must be an element.\",this)}if(!t.root.document){this._mergeDetached(t)}else{this._merge(t)}}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(t,e,n){return this.model.createSelection(t,e,n)}_mergeDetached(t){const e=t.nodeBefore;const n=t.nodeAfter;this.move(Qh._createIn(n),qh._createAt(e,\"end\"));this.remove(n)}_merge(t){const e=qh._createAt(t.nodeBefore,\"end\");const n=qh._createAt(t.nodeAfter,0);const i=t.root.document.graveyard;const o=new qh(i,[0]);const s=t.root.document.version;const r=new cm(n,t.nodeAfter.maxOffset,e,o,s);this.batch.addOperation(r);this.model.applyOperation(r)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Fh)){throw new rr[\"b\"](\"writer-rename-not-element-instance: Trying to rename an object which is not an instance of Element.\",this)}const n=t.root.document?t.root.document.version:null;const i=new rm(qh._createBefore(t),t.name,e,n);this.batch.addOperation(i);this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new rr[\"b\"](\"writer-split-element-no-parent: Element with no parent can not be split.\",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new rr[\"b\"](\"writer-split-invalid-limit-element: Limit element is not a position ancestor.\",this)}let i,o;do{const e=n.root.document?n.root.document.version:null;const s=n.maxOffset-t.offset;const r=new lm(t,s,null,e);this.batch.addOperation(r);this.model.applyOperation(r);if(!i&&!o){i=n;o=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new Qh(qh._createAt(i,\"end\"),qh._createAt(o,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new rr[\"b\"](\"writer-wrap-range-not-flat: Range to wrap is not flat.\",this)}const n=e instanceof Fh?e:new Fh(e);if(n.childCount>0){throw new rr[\"b\"](\"writer-wrap-element-not-empty: Element to wrap with is not empty.\",this)}if(n.parent!==null){throw new rr[\"b\"](\"writer-wrap-element-attached: Element to wrap with is already attached to tree model.\",this)}this.insert(n,t.start);const i=new Qh(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,qh._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new rr[\"b\"](\"writer-unwrap-element-no-parent: Trying to unwrap an element which has no parent.\",this)}this.move(Qh._createIn(t),this.createPositionAfter(t));this.remove(t)}addMarker(t,e){this._assertWriterUsedCorrectly();if(!e||typeof e.usingOperation!=\"boolean\"){throw new rr[\"b\"](\"writer-addMarker-no-usingOperation: The options.usingOperation parameter is required when adding a new marker.\",this)}const n=e.usingOperation;const i=e.range;const o=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new rr[\"b\"](\"writer-addMarker-marker-exists: Marker with provided name already exists.\",this)}if(!i){throw new rr[\"b\"](\"writer-addMarker-no-range: Range parameter is required when adding a new marker.\",this)}if(!n){return this.model.markers._set(t,i,n,o)}gm(this,t,null,i,o);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t==\"string\"?t:t.name;const i=this.model.markers.get(n);if(!i){throw new rr[\"b\"](\"writer-updateMarker-marker-not-exists: Marker with provided name does not exists.\",this)}if(!e){this.model.markers._refresh(i);return}const o=typeof e.usingOperation==\"boolean\";const s=typeof e.affectsData==\"boolean\";const r=s?e.affectsData:i.affectsData;if(!o&&!e.range&&!s){throw new rr[\"b\"](\"writer-updateMarker-wrong-options: One of the options is required - provide range, usingOperations or affectsData.\",this)}const a=i.getRange();const c=e.range?e.range:a;if(o&&e.usingOperation!==i.managedUsingOperations){if(e.usingOperation){gm(this,n,null,c,r)}else{gm(this,n,a,null,r);this.model.markers._set(n,c,undefined,r)}return}if(i.managedUsingOperations){gm(this,n,a,c,r)}else{this.model.markers._set(n,c,undefined,r)}}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t==\"string\"?t:t.name;if(!this.model.markers.has(e)){throw new rr[\"b\"](\"writer-removeMarker-no-marker: Trying to remove marker which does not exist.\",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const i=n.getRange();gm(this,e,i,null,n.affectsData)}setSelection(t,e,n){this._assertWriterUsedCorrectly();this.model.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly();this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._setSelectionAttribute(t,e)}else{for(const[e,n]of Ur(t)){this._setSelectionAttribute(e,n)}}}removeSelectionAttribute(t){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._removeSelectionAttribute(t)}else{for(const e of t){this._removeSelectionAttribute(e)}}}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=ff._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=ff._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new rr[\"b\"](\"writer-incorrect-use: Trying to use a writer outside the change() block.\",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const i=n.getRange();let o=false;if(t===\"move\"){o=e.containsPosition(i.start)||e.start.isEqual(i.start)||e.containsPosition(i.end)||e.end.isEqual(i.end)}else{const t=e.nodeBefore;const n=e.nodeAfter;const s=i.start.parent==t&&i.start.isAtEnd;const r=i.end.parent==n&&i.end.offset==0;const a=i.end.nodeAfter==n;const c=i.start.nodeAfter==n;o=s||r||a||c}if(o){this.updateMarker(n.name,{range:i})}}}}function hm(t,e,n,i){const o=t.model;const s=o.document;let r=i.start;let a;let c;let l;for(const t of i.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){d()}r=a}a=t.nextPosition;c=l}if(a instanceof qh&&a!=r&&c!=n){d()}function d(){const i=new Qh(r,a);const l=i.root.document?s.version:null;const d=new em(i,e,c,n,l);t.batch.addOperation(d);o.applyOperation(d)}}function fm(t,e,n,i){const o=t.model;const s=o.document;const r=i.getAttribute(e);let a,c;if(r!=n){const l=i.root===i;if(l){const t=i.document?s.version:null;c=new am(i,e,r,n,t)}else{a=new Qh(qh._createBefore(i),t.createPositionAfter(i));const o=a.root.document?s.version:null;c=new em(a,e,r,n,o)}t.batch.addOperation(c);o.applyOperation(c)}}function gm(t,e,n,i,o){const s=t.model;const r=s.document;const a=new sm(e,n,i,s.markers,o,r.version);t.batch.addOperation(a);s.applyOperation(a)}function mm(t,e,n,i){let o;if(t.root.document){const n=i.document;const s=new qh(n.graveyard,[0]);o=new im(t,e,s,n.version)}else{o=new nm(t,e)}n.addOperation(o);i.applyOperation(o)}function pm(t,e){if(t===e){return true}if(t instanceof dm&&e instanceof dm){return true}return false}class bm{constructor(t){this._markerCollection=t;this._changesInElement=new Map;this._elementSnapshots=new Map;this._changedMarkers=new Map;this._changeCount=0;this._cachedChanges=null;this._cachedChangesWithGraveyard=null}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0}refreshItem(t){if(this._isInInsertedElement(t.parent)){return}this._markRemove(t.parent,t.startOffset,t.offsetSize);this._markInsert(t.parent,t.startOffset,t.offsetSize);const e=Qh._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}this._cachedChanges=null}bufferOperation(t){switch(t.type){case\"insert\":{if(this._isInInsertedElement(t.position.parent)){return}this._markInsert(t.position.parent,t.position.offset,t.nodes.maxOffset);break}case\"addAttribute\":case\"removeAttribute\":case\"changeAttribute\":{for(const e of t.range.getItems({shallow:true})){if(this._isInInsertedElement(e.parent)){continue}this._markAttribute(e)}break}case\"remove\":case\"move\":case\"reinsert\":{if(t.sourcePosition.isEqual(t.targetPosition)||t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition)){return}const e=this._isInInsertedElement(t.sourcePosition.parent);const n=this._isInInsertedElement(t.targetPosition.parent);if(!e){this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany)}if(!n){this._markInsert(t.targetPosition.parent,t.getMovedRangeStart().offset,t.howMany)}break}case\"rename\":{if(this._isInInsertedElement(t.position.parent)){return}this._markRemove(t.position.parent,t.position.offset,1);this._markInsert(t.position.parent,t.position.offset,1);const e=Qh._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}break}case\"split\":{const e=t.splitPosition.parent;if(!this._isInInsertedElement(e)){this._markRemove(e,t.splitPosition.offset,t.howMany)}if(!this._isInInsertedElement(t.insertionPosition.parent)){this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1)}if(t.graveyardPosition){this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1)}break}case\"merge\":{const e=t.sourcePosition.parent;if(!this._isInInsertedElement(e.parent)){this._markRemove(e.parent,e.startOffset,1)}const n=t.graveyardPosition.parent;this._markInsert(n,t.graveyardPosition.offset,1);const i=t.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,t.targetPosition.offset,e.maxOffset)}break}}this._cachedChanges=null}bufferMarkerChange(t,e,n,i){const o=this._changedMarkers.get(t);if(!o){this._changedMarkers.set(t,{oldRange:e,newRange:n,affectsData:i})}else{o.newRange=n;o.affectsData=i;if(o.oldRange==null&&o.newRange==null){this._changedMarkers.delete(t)}}}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers){if(n.oldRange!=null){t.push({name:e,range:n.oldRange})}}return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers){if(n.newRange!=null){t.push({name:e,range:n.newRange})}}return t}getChangedMarkers(){return Array.from(this._changedMarkers).map(t=>({name:t[0],data:{oldRange:t[1].oldRange,newRange:t[1].newRange}}))}hasDataChanges(){for(const[,t]of this._changedMarkers){if(t.affectsData){return true}}return this._changesInElement.size>0}getChanges(t={includeChangesInGraveyard:false}){if(this._cachedChanges){if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}const e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort((t,e)=>{if(t.offset===e.offset){if(t.type!=e.type){return t.type==\"remove\"?-1:1}return 0}return t.offset<e.offset?-1:1});const i=this._elementSnapshots.get(t);const o=wm(t.getChildren());const s=_m(i.length,n);let r=0;let a=0;for(const n of s){if(n===\"i\"){e.push(this._getInsertDiff(t,r,o[r].name));r++}else if(n===\"r\"){e.push(this._getRemoveDiff(t,r,i[a].name));a++}else if(n===\"a\"){const n=o[r].attributes;const s=i[a].attributes;let c;if(o[r].name==\"$text\"){c=new Qh(qh._createAt(t,r),qh._createAt(t,r+1))}else{const e=t.offsetToIndex(r);c=new Qh(qh._createAt(t,r),qh._createAt(t.getChild(e),0))}e.push(...this._getAttributesDiff(c,s,n));r++;a++}else{r++;a++}}}e.sort((t,e)=>{if(t.position.root!=e.position.root){return t.position.root.rootName<e.position.root.rootName?-1:1}if(t.position.isEqual(e.position)){return t.changeCount-e.changeCount}return t.position.isBefore(e.position)?-1:1});for(let t=1;t<e.length;t++){const n=e[t-1];const i=e[t];const o=n.type==\"remove\"&&i.type==\"remove\"&&n.name==\"$text\"&&i.name==\"$text\"&&n.position.isEqual(i.position);const s=n.type==\"insert\"&&i.type==\"insert\"&&n.name==\"$text\"&&i.name==\"$text\"&&n.position.parent==i.position.parent&&n.position.offset+n.length==i.position.offset;const r=n.type==\"attribute\"&&i.type==\"attribute\"&&n.position.parent==i.position.parent&&n.range.isFlat&&i.range.isFlat&&n.position.offset+n.length==i.position.offset&&n.attributeKey==i.attributeKey&&n.attributeOldValue==i.attributeOldValue&&n.attributeNewValue==i.attributeNewValue;if(o||s||r){e[t-1].length++;if(r){e[t-1].range.end=e[t-1].range.end.getShiftedBy(1)}e.splice(t,1);t--}}for(const t of e){delete t.changeCount;if(t.type==\"attribute\"){delete t.position;delete t.length}}this._changeCount=0;this._cachedChangesWithGraveyard=e.slice();this._cachedChanges=e.slice().filter(km);if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard}else{return this._cachedChanges}}reset(){this._changesInElement.clear();this._elementSnapshots.clear();this._changedMarkers.clear();this._cachedChanges=null}_markInsert(t,e,n){const i={type:\"insert\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){const i={type:\"remove\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i);this._removeAllNestedChanges(t,e,n)}_markAttribute(t){const e={type:\"attribute\",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n);n.push(e);for(let t=0;t<n.length;t++){if(n[t].howMany<1){n.splice(t,1);t--}}}_getChangesForElement(t){let e;if(this._changesInElement.has(t)){e=this._changesInElement.get(t)}else{e=[];this._changesInElement.set(t,e)}return e}_makeSnapshot(t){if(!this._elementSnapshots.has(t)){this._elementSnapshots.set(t,wm(t.getChildren()))}}_handleChange(t,e){t.nodesToHandle=t.howMany;for(const n of e){const i=t.offset+t.howMany;const o=n.offset+n.howMany;if(t.type==\"insert\"){if(n.type==\"insert\"){if(t.offset<=n.offset){n.offset+=t.howMany}else if(t.offset<o){n.howMany+=t.nodesToHandle;t.nodesToHandle=0}}if(n.type==\"remove\"){if(t.offset<n.offset){n.offset+=t.howMany}}if(n.type==\"attribute\"){if(t.offset<=n.offset){n.offset+=t.howMany}else if(t.offset<o){const o=n.howMany;n.howMany=t.offset-n.offset;e.unshift({type:\"attribute\",offset:i,howMany:o-n.howMany,count:this._changeCount++})}}}if(t.type==\"remove\"){if(n.type==\"insert\"){if(i<=n.offset){n.offset-=t.howMany}else if(i<=o){if(t.offset<n.offset){const e=i-n.offset;n.offset=t.offset;n.howMany-=e;t.nodesToHandle-=e}else{n.howMany-=t.nodesToHandle;t.nodesToHandle=0}}else{if(t.offset<=n.offset){t.nodesToHandle-=n.howMany;n.howMany=0}else if(t.offset<o){const e=o-t.offset;n.howMany-=e;t.nodesToHandle-=e}}}if(n.type==\"remove\"){if(i<=n.offset){n.offset-=t.howMany}else if(t.offset<n.offset){t.nodesToHandle+=n.howMany;n.howMany=0}}if(n.type==\"attribute\"){if(i<=n.offset){n.offset-=t.howMany}else if(t.offset<n.offset){const e=i-n.offset;n.offset=t.offset;n.howMany-=e}else if(t.offset<o){if(i<=o){const i=n.howMany;n.howMany=t.offset-n.offset;const o=i-n.howMany-t.nodesToHandle;e.unshift({type:\"attribute\",offset:t.offset,howMany:o,count:this._changeCount++})}else{n.howMany-=o-t.offset}}}}if(t.type==\"attribute\"){if(n.type==\"insert\"){if(t.offset<n.offset&&i>n.offset){if(i>o){const t={type:\"attribute\",offset:o,howMany:i-o,count:this._changeCount++};this._handleChange(t,e);e.push(t)}t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}else if(t.offset>=n.offset&&t.offset<o){if(i>o){t.nodesToHandle=i-o;t.offset=o}else{t.nodesToHandle=0}}}if(n.type==\"remove\"){if(t.offset<n.offset&&i>n.offset){const o={type:\"attribute\",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(o,e);e.push(o);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type==\"attribute\"){if(t.offset>=n.offset&&i<=o){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&i>=o){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:\"insert\",position:qh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:\"remove\",position:qh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[o,s]of e){const e=n.has(o)?n.get(o):null;if(e!==s){i.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:o,attributeOldValue:s,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(o)}for(const[e,o]of n){i.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:o,changeCount:this._changeCount++})}return i}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const i=t.startOffset;if(n){for(const t of n){if(t.type==\"insert\"&&i>=t.offset&&i<t.offset+t.howMany){return true}}}return this._isInInsertedElement(e)}_removeAllNestedChanges(t,e,n){const i=new Qh(qh._createAt(t,e),qh._createAt(t,e+n));for(const t of i.getItems({shallow:true})){if(t.is(\"element\")){this._elementSnapshots.delete(t);this._changesInElement.delete(t);this._removeAllNestedChanges(t,0,t.maxOffset)}}}}function wm(t){const e=[];for(const n of t){if(n.is(\"text\")){for(let t=0;t<n.data.length;t++){e.push({name:\"$text\",attributes:new Map(n.getAttributes())})}}else{e.push({name:n.name,attributes:new Map(n.getAttributes())})}}return e}function _m(t,e){const n=[];let i=0;let o=0;for(const t of e){if(t.offset>i){for(let e=0;e<t.offset-i;e++){n.push(\"e\")}o+=t.offset-i}if(t.type==\"insert\"){for(let e=0;e<t.howMany;e++){n.push(\"i\")}i=t.offset+t.howMany}else if(t.type==\"remove\"){for(let e=0;e<t.howMany;e++){n.push(\"r\")}i=t.offset;o+=t.howMany}else{n.push(...\"a\".repeat(t.howMany).split(\"\"));i=t.offset+t.howMany;o+=t.howMany}}if(o<t){for(let e=0;e<t-o-i;e++){n.push(\"e\")}}return n}function km(t){const e=t.position&&t.position.root.rootName==\"$graveyard\";const n=t.range&&t.range.root.rootName==\"$graveyard\";return!e&&!n}class vm{constructor(){this._operations=[];this._undoPairs=new Map;this._undoneOperations=new Set}addOperation(t){if(this._operations.includes(t)){return}this._operations.push(t)}getOperations(t=0,e=Number.POSITIVE_INFINITY){if(t<0){return[]}return this._operations.slice(t,e)}getOperation(t){return this._operations[t]}setOperationAsUndone(t,e){this._undoPairs.set(e,t);this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}}function ym(t){return!!t&&t.length==1&&/[\\u0300-\\u036f\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\u20d0-\\u20ff\\ufe20-\\ufe2f]/.test(t)}function xm(t){return!!t&&t.length==1&&/[\\ud800-\\udbff]/.test(t)}function Am(t){return!!t&&t.length==1&&/[\\udc00-\\udfff]/.test(t)}function Tm(t,e){return xm(t.charAt(e-1))&&Am(t.charAt(e))}function Cm(t,e){return ym(t.charAt(e))}const Sm=\"$graveyard\";class Pm{constructor(t){this.model=t;this.version=0;this.history=new vm(this);this.selection=new ff(this);this.roots=new xr({idProperty:\"rootName\"});this.differ=new bm(t.markers);this._postFixers=new Set;this._hasSelectionChangedFromTheLastChangeBlock=false;this.createRoot(\"$root\",Sm);this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation&&n.baseVersion!==this.version){throw new rr[\"b\"](\"model-document-applyOperation-wrong-version: Only operations with matching versions can be applied.\",this,{operation:n})}},{priority:\"highest\"});this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation){this.differ.bufferOperation(n)}},{priority:\"high\"});this.listenTo(t,\"applyOperation\",(t,e)=>{const n=e[0];if(n.isDocumentOperation){this.version++;this.history.addOperation(n)}},{priority:\"low\"});this.listenTo(this.selection,\"change\",()=>{this._hasSelectionChangedFromTheLastChangeBlock=true});this.listenTo(t.markers,\"update\",(t,e,n,i)=>{this.differ.bufferMarkerChange(e.name,n,i,e.affectsData);if(n===null){e.on(\"change\",(t,n)=>{this.differ.bufferMarkerChange(e.name,n,e.getRange(),e.affectsData)})}})}get graveyard(){return this.getRoot(Sm)}createRoot(t=\"$root\",e=\"main\"){if(this.roots.get(e)){throw new rr[\"b\"](\"model-document-createRoot-name-exists: Root with specified name already exists.\",this,{name:e})}const n=new dm(this,t,e);this.roots.add(n);return n}destroy(){this.selection.destroy();this.stopListening()}getRoot(t=\"main\"){return this.roots.get(t)}getRootNames(){return Array.from(this.roots,t=>t.rootName).filter(t=>t!=Sm)}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Vr(this);t.selection=\"[engine.model.DocumentSelection]\";t.model=\"[engine.model.Model]\";return t}_handleChangeBlock(t){if(this._hasDocumentChangedFromTheLastChangeBlock()){this._callPostFixers(t);this.selection.refresh();if(this.differ.hasDataChanges()){this.fire(\"change:data\",t.batch)}else{this.fire(\"change\",t.batch)}this.selection.refresh();this.differ.reset()}this._hasSelectionChangedFromTheLastChangeBlock=false}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const t of this.roots){if(t!==this.graveyard){return t}}return this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot();const e=this.model;const n=e.schema;const i=e.createPositionFromPath(t,[0]);const o=n.getNearestSelectionRange(i);return o||e.createRange(i)}_validateSelectionRange(t){return Em(t.start)&&Em(t.end)}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){this.selection.refresh();e=n(t);if(e){break}}}while(e)}}yr(Pm,dr);function Em(t){const e=t.textNode;if(e){const n=e.data;const i=t.offset-e.startOffset;return!Tm(n,i)&&!Cm(n,i)}return true}class Mm{constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){return this._markers.has(t)}get(t){return this._markers.get(t)||null}_set(t,e,n=false,i=false){const o=t instanceof Im?t.name:t;const s=this._markers.get(o);if(s){const t=s.getRange();let r=false;if(!t.isEqual(e)){s._attachLiveRange(cf.fromRange(e));r=true}if(n!=s.managedUsingOperations){s._managedUsingOperations=n;r=true}if(typeof i===\"boolean\"&&i!=s.affectsData){s._affectsData=i;r=true}if(r){this.fire(\"update:\"+o,s,t,e)}return s}const r=cf.fromRange(e);const a=new Im(o,r,n,i);this._markers.set(o,a);this.fire(\"update:\"+o,a,null,e);return a}_remove(t){const e=t instanceof Im?t.name:t;const n=this._markers.get(e);if(n){this._markers.delete(e);this.fire(\"update:\"+e,n,n.getRange(),null);this._destroyMarker(n);return true}return false}_refresh(t){const e=t instanceof Im?t.name:t;const n=this._markers.get(e);if(!n){throw new rr[\"b\"](\"markercollection-refresh-marker-not-exists: Marker with provided name does not exists.\",this)}const i=n.getRange();this.fire(\"update:\"+e,n,i,i,n.managedUsingOperations,n.affectsData)}*getMarkersAtPosition(t){for(const e of this){if(e.getRange().containsPosition(t)){yield e}}}*getMarkersIntersectingRange(t){for(const e of this){if(e.getRange().getIntersection(t)!==null){yield e}}}destroy(){for(const t of this._markers.values()){this._destroyMarker(t)}this._markers=null;this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values()){if(e.name.startsWith(t+\":\")){yield e}}}_destroyMarker(t){t.stopListening();t._detachLiveRange()}}yr(Mm,dr);class Im{constructor(t,e,n,i){this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=i}get managedUsingOperations(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._affectsData}getStart(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new rr[\"b\"](\"marker-destroyed: Cannot use a destroyed marker instance.\",this)}return this._liveRange.toRange()}is(t){return t===\"marker\"||t===\"model:marker\"}_attachLiveRange(t){if(this._liveRange){this._detachLiveRange()}t.delegate(\"change:range\").to(this);t.delegate(\"change:content\").to(this);this._liveRange=t;return t}_detachLiveRange(){this._liveRange.stopDelegating(\"change:range\",this);this._liveRange.stopDelegating(\"change:content\",this);this._liveRange.detach();this._liveRange=null}}yr(Im,dr);class Nm extends Hg{get type(){return\"noop\"}clone(){return new Nm(this.baseVersion)}getReversed(){return new Nm(this.baseVersion+1)}_execute(){}static get className(){return\"NoOperation\"}}const Om={};Om[em.className]=em;Om[om.className]=om;Om[sm.className]=sm;Om[im.className]=im;Om[Nm.className]=Nm;Om[Hg.className]=Hg;Om[rm.className]=rm;Om[am.className]=am;Om[lm.className]=lm;Om[cm.className]=cm;class Rm{static fromJSON(t,e){return Om[t.__className].fromJSON(t,e)}}class Dm extends qh{constructor(t,e,n=\"toNone\"){super(t,e,n);if(!this.root.is(\"rootElement\")){throw new rr[\"b\"](\"model-liveposition-root-not-rootelement: LivePosition's root has to be an instance of RootElement.\",t)}Lm.call(this)}detach(){this.stopListening()}is(t){return t===\"livePosition\"||t===\"model:livePosition\"||t==\"position\"||t===\"model:position\"}toPosition(){return new qh(this.root,this.path.slice(),this.stickiness)}static fromPosition(t,e){return new this(t.root,t.path.slice(),e?e:t.stickiness)}}function Lm(){this.listenTo(this.root.document.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}zm.call(this,n)},{priority:\"low\"})}function zm(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path;this.root=e.root;this.fire(\"change\",t)}}yr(Dm,dr);function Vm(t,e,n,i){return t.change(o=>{let s;if(!n){s=t.document.selection}else if(n instanceof ef||n instanceof ff){s=n}else{s=o.createSelection(n,i)}if(!s.isCollapsed){t.deleteContent(s,{doNotAutoparagraph:true})}const r=new jm(t,o,s.anchor);let a;if(e.is(\"documentFragment\")){a=e.getChildren()}else{a=[e]}r.handleNodes(a,{isFirst:true,isLast:true});const c=r.getSelectionRange();if(c){if(s instanceof ff){o.setSelection(c)}else{s.setTo(c)}}else{}const l=r.getAffectedRange()||t.createRange(s.anchor);r.destroy();return l})}class jm{constructor(t,e,n){this.model=t;this.writer=e;this.position=n;this.canMergeWith=new Set([this.position.parent]);this.schema=t.schema;this._filterAttributesOf=[];this._affectedStart=null;this._affectedEnd=null}handleNodes(t,e){t=Array.from(t);for(let n=0;n<t.length;n++){const i=t[n];this._handleNode(i,{isFirst:n===0&&e.isFirst,isLast:n===t.length-1&&e.isLast})}this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer);this._filterAttributesOf=[]}getSelectionRange(){if(this.nodeToSelect){return Qh._createOn(this.nodeToSelect)}return this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){if(!this._affectedStart){return null}return new Qh(this._affectedStart,this._affectedEnd)}destroy(){if(this._affectedStart){this._affectedStart.detach()}if(this._affectedEnd){this._affectedEnd.detach()}}_handleNode(t,e){if(this.schema.isObject(t)){this._handleObject(t,e);return}const n=this._checkAndSplitToAllowedPosition(t,e);if(!n){this._handleDisallowedNode(t,e);return}this._insert(t);this._mergeSiblingsOf(t,e)}_handleObject(t,e){if(this._checkAndSplitToAllowedPosition(t)){this._insert(t)}else{this._tryAutoparagraphing(t,e)}}_handleDisallowedNode(t,e){if(t.is(\"element\")){this.handleNodes(t.getChildren(),e)}else{this._tryAutoparagraphing(t,e)}}_insert(t){if(!this.schema.checkChild(this.position,t)){throw new rr[\"b\"](\"insertcontent-wrong-position: Given node cannot be inserted on the given position.\",this,{node:t,position:this.position})}const e=Dm.fromPosition(this.position,\"toNext\");this._setAffectedBoundaries(this.position);this.writer.insert(t,this.position);this.position=e.toPosition();e.detach();if(this.schema.isObject(t)&&!this.schema.checkChild(this.position,\"$text\")){this.nodeToSelect=t}else{this.nodeToSelect=null}this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){if(!this._affectedStart){this._affectedStart=Dm.fromPosition(t,\"toPrevious\")}if(!this._affectedEnd||this._affectedEnd.isBefore(t)){if(this._affectedEnd){this._affectedEnd.detach()}this._affectedEnd=Dm.fromPosition(t,\"toNext\")}}_mergeSiblingsOf(t,e){if(!(t instanceof Fh)){return}const n=this._canMergeLeft(t,e);const i=this._canMergeRight(t,e);const o=Dm._createBefore(t);o.stickiness=\"toNext\";const s=Dm._createAfter(t);s.stickiness=\"toNext\";if(n){const t=Dm.fromPosition(this.position);t.stickiness=\"toNext\";if(this._affectedStart.isEqual(o)){this._affectedStart.detach();this._affectedStart=Dm._createAt(o.nodeBefore,\"end\",\"toPrevious\")}this.writer.merge(o);if(o.isEqual(this._affectedEnd)&&e.isLast){this._affectedEnd.detach();this._affectedEnd=Dm._createAt(o.nodeBefore,\"end\",\"toNext\")}this.position=t.toPosition();t.detach()}if(i){if(!this.position.isEqual(s)){throw new rr[\"b\"](\"insertcontent-invalid-insertion-position\",this)}this.position=qh._createAt(s.nodeBefore,\"end\");const t=Dm.fromPosition(this.position,\"toPrevious\");if(this._affectedEnd.isEqual(s)){this._affectedEnd.detach();this._affectedEnd=Dm._createAt(s.nodeBefore,\"end\",\"toNext\")}this.writer.merge(s);if(s.getShiftedBy(-1).isEqual(this._affectedStart)&&e.isFirst){this._affectedStart.detach();this._affectedStart=Dm._createAt(s.nodeBefore,0,\"toPrevious\")}this.position=t.toPosition();t.detach()}if(n||i){this._filterAttributesOf.push(this.position.parent)}o.detach();s.detach()}_canMergeLeft(t,e){const n=t.previousSibling;return e.isFirst&&n instanceof Fh&&this.canMergeWith.has(n)&&this.model.schema.checkMerge(n,t)}_canMergeRight(t,e){const n=t.nextSibling;return e.isLast&&n instanceof Fh&&this.canMergeWith.has(n)&&this.model.schema.checkMerge(t,n)}_tryAutoparagraphing(t,e){const n=this.writer.createElement(\"paragraph\");if(this._getAllowedIn(n,this.position.parent)&&this.schema.checkChild(n,t)){n._appendChild(t);this._handleNode(n,e)}}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(t,this.position.parent);if(!e){return false}while(e!=this.position.parent){if(this.schema.isLimit(this.position.parent)){return false}if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t);if(t.isEmpty&&t.parent===e){this.writer.remove(t)}}else if(this.position.isAtEnd){this.position=this.writer.createPositionAfter(this.position.parent)}else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position);this.writer.split(this.position);this.position=t;this.canMergeWith.add(this.position.nodeAfter)}}return true}_getAllowedIn(t,e){if(this.schema.checkChild(e,t)){return e}if(e.parent){return this._getAllowedIn(t,e.parent)}return null}}function Bm(t,e,n={}){if(e.isCollapsed){return}const i=e.getFirstRange();if(i.root.rootName==\"$graveyard\"){return}const o=t.schema;t.change(t=>{if(!n.doNotResetEntireContent&&$m(o,e)){qm(t,e,o);return}const s=i.start;const r=Dm.fromPosition(i.end,\"toNext\");if(!i.start.isTouching(i.end)){t.remove(i)}if(!n.leaveUnmerged){Fm(t,s,r);o.removeDisallowedAttributes(s.parent.getChildren(),t)}Ym(t,e,s);if(!n.doNotAutoparagraph&&Hm(o,s)){Wm(t,s,e)}r.detach()})}function Fm(t,e,n){const i=e.parent;const o=n.parent;if(i==o){return}if(t.model.schema.isLimit(i)||t.model.schema.isLimit(o)){return}if(!Um(e,n,t.model.schema)){return}e=t.createPositionAfter(i);n=t.createPositionBefore(o);if(!n.isEqual(e)){t.insert(o,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}Fm(t,e,n)}function Hm(t,e){const n=t.checkChild(e,\"$text\");const i=t.checkChild(e,\"paragraph\");return!n&&i}function Um(t,e,n){const i=new Qh(t,e);for(const t of i.getWalker()){if(n.isLimit(t.item)){return false}}return true}function Wm(t,e,n){const i=t.createElement(\"paragraph\");t.insert(i,e);Ym(t,n,t.createPositionAt(i,0))}function qm(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));Wm(t,t.createPositionAt(n,0),e)}function $m(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const i=e.getFirstRange();if(i.start.parent==i.end.parent){return false}return t.checkChild(n,\"paragraph\")}function Ym(t,e,n){if(e instanceof ff){t.setSelection(n)}else{e.setTo(n)}}const Gm=' ,.?!:;\"-()';function Qm(t,e,n={}){const i=t.schema;const o=n.direction!=\"backward\";const s=n.unit?n.unit:\"character\";const r=e.focus;const a=new Uh({boundaries:Xm(r,o),singleCharacters:true,direction:o?\"forward\":\"backward\"});const c={walker:a,schema:i,isForward:o,unit:s};let l;while(l=a.next()){if(l.done){return}const n=Km(c,l.value);if(n){if(e instanceof ff){t.change(t=>{t.setSelectionFocus(n)})}else{e.setFocus(n)}return}}}function Km(t,e){if(e.type==\"text\"){if(t.unit===\"word\"){return Zm(t.walker,t.isForward)}return Jm(t.walker,t.unit,t.isForward)}if(e.type==(t.isForward?\"elementStart\":\"elementEnd\")){if(t.schema.isObject(e.item)){return qh._createAt(e.item,t.isForward?\"after\":\"before\")}if(t.schema.checkChild(e.nextPosition,\"$text\")){return e.nextPosition}}else{if(t.schema.isLimit(e.item)){t.walker.skip(()=>true);return}if(t.schema.checkChild(e.nextPosition,\"$text\")){return e.nextPosition}}}function Jm(t,e){const n=t.position.textNode;if(n){const i=n.data;let o=t.position.offset-n.startOffset;while(Tm(i,o)||e==\"character\"&&Cm(i,o)){t.next();o=t.position.offset-n.startOffset}}return t.position}function Zm(t,e){let n=t.position.textNode;if(n){let i=t.position.offset-n.startOffset;while(!tp(n.data,i,e)&&!ep(n,i,e)){t.next();const o=e?t.position.nodeAfter:t.position.nodeBefore;if(o&&o.is(\"text\")){const i=o.data.charAt(e?0:o.data.length-1);if(!Gm.includes(i)){t.next();n=t.position.textNode}}i=t.position.offset-n.startOffset}}return t.position}function Xm(t,e){const n=t.root;const i=qh._createAt(n,e?\"end\":0);if(e){return new Qh(t,i)}else{return new Qh(i,t)}}function tp(t,e,n){const i=e+(n?0:-1);return Gm.includes(t.charAt(i))}function ep(t,e,n){return e===(n?t.endOffset:0)}function np(t,e){return t.change(t=>{const n=t.createDocumentFragment();const i=e.getFirstRange();if(!i||i.isCollapsed){return n}const o=i.start.root;const s=i.start.getCommonPath(i.end);const r=o.getNodeByPath(s);let a;if(i.start.parent==i.end.parent){a=i}else{a=t.createRange(t.createPositionAt(r,i.start.path[s.length]),t.createPositionAt(r,i.end.path[s.length]+1))}const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:true})){if(e.is(\"textProxy\")){t.appendText(e.data,e.getAttributes(),n)}else{t.append(e._clone(true),n)}}if(a!=i){const e=i._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const o=t.createRange(t.createPositionAt(n,0),e.start);const s=t.createRange(e.end,t.createPositionAt(n,\"end\"));ip(s,t);ip(o,t)}return n})}function ip(t,e){const n=[];Array.from(t.getItems({direction:\"backward\"})).map(t=>e.createRangeOn(t)).filter(e=>{const n=(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end));return n}).forEach(t=>{n.push(t.start.parent);e.remove(t)});n.forEach(t=>{let n=t;while(n.parent&&n.isEmpty){const t=e.createRangeOn(n);n=n.parent;e.remove(t)}})}function op(t){t.document.registerPostFixer(e=>sp(e,t))}function sp(t,e){const n=e.document.selection;const i=e.schema;const o=[];let s=false;for(const t of n.getRanges()){const e=rp(t,i);if(e){o.push(e);s=true}else{o.push(t)}}if(s){t.setSelection(up(o),{backward:n.isBackward})}}function rp(t,e){if(t.isCollapsed){return ap(t,e)}return cp(t,e)}function ap(t,e){const n=t.start;const i=e.getNearestSelectionRange(n);if(!i){return null}if(!i.isCollapsed){return i}const o=i.start;if(n.isEqual(o)){return null}return new Qh(o)}function cp(t,e){const n=t.start;const i=t.end;const o=e.checkChild(n,\"$text\");const s=e.checkChild(i,\"$text\");const r=e.getLimitElement(n);const a=e.getLimitElement(i);if(r===a){if(o&&s){return null}if(dp(n,i,e)){const t=n.nodeAfter&&e.isObject(n.nodeAfter);const o=t?null:e.getNearestSelectionRange(n,\"forward\");const s=i.nodeBefore&&e.isObject(i.nodeBefore);const r=s?null:e.getNearestSelectionRange(i,\"backward\");const a=o?o.start:n;const c=r?r.start:i;return new Qh(a,c)}}const c=r&&!r.is(\"rootElement\");const l=a&&!a.is(\"rootElement\");if(c||l){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent;const o=c&&(!t||!hp(n.nodeAfter,e));const s=l&&(!t||!hp(i.nodeBefore,e));let d=n;let u=i;if(o){d=qh._createBefore(lp(r,e))}if(s){u=qh._createAfter(lp(a,e))}return new Qh(d,u)}return null}function lp(t,e){let n=t;let i=n;while(e.isLimit(i)&&i.parent){n=i;i=i.parent}return n}function dp(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,\"$text\");const o=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,\"$text\");return i||o}function up(t){const e=[];e.push(t.shift());for(const n of t){const t=e.pop();if(n.isIntersecting(t)){const i=t.start.isAfter(n.start)?n.start:t.start;const o=t.end.isAfter(n.end)?t.end:n.end;const s=new Qh(i,o);e.push(s)}else{e.push(t);e.push(n)}}return e}function hp(t,e){return t&&e.isObject(t)}class fp{constructor(){this.markers=new Mm;this.document=new Pm(this);this.schema=new mg;this._pendingChanges=[];this._currentWriter=null;[\"insertContent\",\"deleteContent\",\"modifySelection\",\"getSelectedContent\",\"applyOperation\"].forEach(t=>this.decorate(t));this.on(\"applyOperation\",(t,e)=>{const n=e[0];n._validate()},{priority:\"highest\"});this.schema.register(\"$root\",{isLimit:true});this.schema.register(\"$block\",{allowIn:\"$root\",isBlock:true});this.schema.register(\"$text\",{allowIn:\"$block\",isInline:true});this.schema.register(\"$clipboardHolder\",{allowContentOf:\"$root\",isLimit:true});this.schema.extend(\"$text\",{allowIn:\"$clipboardHolder\"});this.schema.register(\"$marker\");this.schema.addChildCheck((t,e)=>{if(e.name===\"$marker\"){return true}});op(this)}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new Fg,callback:t});return this._runPendingChanges()[0]}else{return t(this._currentWriter)}}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{if(typeof t===\"string\"){t=new Fg(t)}else if(typeof t==\"function\"){e=t;t=new Fg}this._pendingChanges.push({batch:t,callback:e});if(this._pendingChanges.length==1){this._runPendingChanges()}}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n){return Vm(this,t,e,n)}deleteContent(t,e){Bm(this,t,e)}modifySelection(t,e){Qm(this,t,e)}getSelectedContent(t){return np(this,t)}hasContent(t,e){const n=t instanceof Fh?Qh._createIn(t):t;if(n.isCollapsed){return false}for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}const{ignoreWhitespaces:i=false}=e||{};for(const t of n.getItems()){if(t.is(\"textProxy\")){if(!i){return true}else if(t.data.search(/\\S/)!==-1){return true}}else if(this.schema.isObject(t)){return true}}return false}createPositionFromPath(t,e,n){return new qh(t,e,n)}createPositionAt(t,e){return qh._createAt(t,e)}createPositionAfter(t){return qh._createAfter(t)}createPositionBefore(t){return qh._createBefore(t)}createRange(t,e){return new Qh(t,e)}createRangeIn(t){return Qh._createIn(t)}createRangeOn(t){return Qh._createOn(t)}createSelection(t,e,n){return new ef(t,e,n)}createBatch(t){return new Fg(t)}createOperationFromJSON(t){return Rm.fromJSON(t,this.document)}destroy(){this.document.destroy();this.stopListening()}_runPendingChanges(){const t=[];this.fire(\"_beforeChanges\");while(this._pendingChanges.length){const e=this._pendingChanges[0].batch;this._currentWriter=new um(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n);this.document._handleChangeBlock(this._currentWriter);this._pendingChanges.shift();this._currentWriter=null}this.fire(\"_afterChanges\");return t}}yr(fp,Kc);class gp{constructor(){this._listener=Object.create(Wd)}listenTo(t){this._listener.listenTo(t,\"keydown\",(t,e)=>{this._listener.fire(\"_keydown:\"+Dl(e),e)})}set(t,e,n={}){const i=Ll(t);const o=n.priority;this._listener.listenTo(this._listener,\"_keydown:\"+i,(t,n)=>{e(n,()=>{n.preventDefault();n.stopPropagation();t.stop()});t.return=true},{priority:o})}press(t){return!!this._listener.fire(\"_keydown:\"+Dl(t),t)}destroy(){this._listener.stopListening()}}class mp extends gp{constructor(t){super();this.editor=t}set(t,e,n={}){if(typeof e==\"string\"){const t=e;e=(e,n)=>{this.editor.execute(t);n()}}super.set(t,e,n)}}class pp{constructor(t={}){this._context=t.context||new Rr({language:t.language});this._context._addEditor(this,!t.context);const e=Array.from(this.constructor.builtinPlugins||[]);this.config=new Qs(t,this.constructor.defaultConfig);this.config.define(\"plugins\",e);this.config.define(this._context._getEditorConfig());this.plugins=new Ar(this,e,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this.commands=new hg;this.set(\"state\",\"initializing\");this.once(\"ready\",()=>this.state=\"ready\",{priority:\"high\"});this.once(\"destroy\",()=>this.state=\"destroyed\",{priority:\"high\"});this.set(\"isReadOnly\",false);this.model=new fp;const n=new Rc;this.data=new Lg(this.model,n);this.editing=new ug(this.model,n);this.editing.view.document.bind(\"isReadOnly\").to(this);this.conversion=new Vg([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher);this.conversion.addAlias(\"dataDowncast\",this.data.downcastDispatcher);this.conversion.addAlias(\"editingDowncast\",this.editing.downcastDispatcher);this.keystrokes=new mp(this);this.keystrokes.listenTo(this.editing.view.document)}initPlugins(){const t=this.config;const e=t.get(\"plugins\");const n=t.get(\"removePlugins\")||[];const i=t.get(\"extraPlugins\")||[];return this.plugins.init(e.concat(i),n)}destroy(){let t=Promise.resolve();if(this.state==\"initializing\"){t=new Promise(t=>this.once(\"ready\",t))}return t.then(()=>{this.fire(\"destroy\");this.stopListening();this.commands.destroy()}).then(()=>this.plugins.destroy()).then(()=>{this.model.destroy();this.data.destroy();this.editing.destroy();this.keystrokes.destroy()}).then(()=>this._context._removeEditor(this))}execute(...t){try{this.commands.execute(...t)}catch(t){rr[\"b\"].rethrowUnexpectedError(t,this)}}}yr(pp,Kc);const bp={setData(t){this.data.set(t)},getData(t){return this.data.get(t)}};var wp=bp;function _p(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}const kp={updateSourceElement(){if(!this.sourceElement){throw new rr[\"b\"](\"editor-missing-sourceelement: Cannot update the source element of a detached editor.\",this)}_p(this.sourceElement,this.data.get())}};var vp=kp;function yp(t){if(!gt(t.updateSourceElement)){throw new rr[\"b\"](\"attachtoform-missing-elementapi-interface: Editor passed to attachToForm() must implement ElementApi.\",t)}const e=t.sourceElement;if(e&&e.tagName.toLowerCase()===\"textarea\"&&e.form){let n;const i=e.form;const o=()=>t.updateSourceElement();if(gt(i.submit)){n=i.submit;i.submit=()=>{o();n.apply(i)}}i.addEventListener(\"submit\",o);t.on(\"destroy\",()=>{i.removeEventListener(\"submit\",o);if(n){i.submit=n}})}}class xp{getHtml(t){const e=document.implementation.createHTMLDocument(\"\");const n=e.createElement(\"div\");n.appendChild(t);return n.innerHTML}}class Ap{constructor(t){this._domParser=new DOMParser;this._domConverter=new zd(t,{blockFillerMode:\"nbsp\"});this._htmlWriter=new xp}toData(t){const e=this._domConverter.viewToDom(t,document);return this._htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this._domConverter.domToView(e)}_toDom(t){const e=this._domParser.parseFromString(t,\"text/html\");const n=e.createDocumentFragment();const i=e.body.childNodes;while(i.length>0){n.appendChild(i[0])}return n}}class Tp{constructor(t){this.editor=t;this._components=new Map}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){if(this.has(t)){throw new rr[\"b\"](\"componentfactory-item-exists: The item already exists in the component factory.\",this,{name:t})}this._components.set(Cp(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new rr[\"b\"](\"componentfactory-item-missing: The required component is not registered in the factory.\",this,{name:t})}return this._components.get(Cp(t)).callback(this.editor.locale)}has(t){return this._components.has(Cp(t))}}function Cp(t){return String(t).toLowerCase()}class Sp{constructor(){this.set(\"isFocused\",false);this.set(\"focusedElement\",null);this._elements=new Set;this._nextEventLoopTimeout=null}add(t){if(this._elements.has(t)){throw new rr[\"b\"](\"focusTracker-add-element-already-exist\",this)}this.listenTo(t,\"focus\",()=>this._focus(t),{useCapture:true});this.listenTo(t,\"blur\",()=>this._blur(),{useCapture:true});this._elements.add(t)}remove(t){if(t===this.focusedElement){this._blur(t)}if(this._elements.has(t)){this.stopListening(t);this._elements.delete(t)}}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout);this.focusedElement=t;this.isFocused=true}_blur(){clearTimeout(this._nextEventLoopTimeout);this._nextEventLoopTimeout=setTimeout(()=>{this.focusedElement=null;this.isFocused=false},0)}}yr(Sp,Wd);yr(Sp,Kc);class Pp{constructor(t){this.editor=t;this.componentFactory=new Tp(t);this.focusTracker=new Sp;this._editableElementsMap=new Map;this.listenTo(t.editing.view.document,\"layoutChanged\",()=>this.update())}get element(){return null}update(){this.fire(\"update\")}destroy(){this.stopListening();this.focusTracker.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null}this._editableElementsMap=new Map}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}}getEditableElement(t=\"main\"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){console.warn(\"editor-ui-deprecated-editable-elements: \"+\"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\",{editorUI:this});return this._editableElementsMap}}yr(Pp,dr);function Ep({origin:t,originKeystrokeHandler:e,originFocusTracker:n,toolbar:i,beforeFocus:o,afterBlur:s}){n.add(i.element);e.set(\"Alt+F10\",(t,e)=>{if(n.isFocused&&!i.focusTracker.isFocused){if(o){o()}i.focus();e()}});i.keystrokes.set(\"Esc\",(e,n)=>{if(i.focusTracker.isFocused){t.focus();if(s){s()}n()}})}function Mp(t){if(Array.isArray(t)){return{items:t}}if(!t){return{items:[]}}return Object.assign({items:[]},t)}var Ip=n(14);const Np=new WeakMap;function Op(t){const{view:e,element:n,text:i,isDirectHost:o=true}=t;const s=e.document;if(!Np.has(s)){Np.set(s,new Map);s.registerPostFixer(t=>Vp(s,t))}Np.get(s).set(n,{text:i,isDirectHost:o});e.change(t=>Vp(s,t))}function Rp(t,e){const n=e.document;t.change(t=>{if(!Np.has(n)){return}const i=Np.get(n);const o=i.get(e);t.removeAttribute(\"data-placeholder\",o.hostElement);Lp(t,o.hostElement);i.delete(e)})}function Dp(t,e){if(!e.hasClass(\"ck-placeholder\")){t.addClass(\"ck-placeholder\",e);return true}return false}function Lp(t,e){if(e.hasClass(\"ck-placeholder\")){t.removeClass(\"ck-placeholder\",e);return true}return false}function zp(t){if(!t.isAttached()){return false}const e=!Array.from(t.getChildren()).some(t=>!t.is(\"uiElement\"));const n=t.document;if(!n.isFocused&&e){return true}const i=n.selection;const o=i.anchor;if(e&&o&&o.parent!==t){return true}return false}function Vp(t,e){const n=Np.get(t);let i=false;for(const[t,o]of n){if(jp(e,t,o)){i=true}}return i}function jp(t,e,n){const{text:i,isDirectHost:o}=n;const s=o?e:Bp(e);let r=false;if(!s){return false}n.hostElement=s;if(s.getAttribute(\"data-placeholder\")!==i){t.setAttribute(\"data-placeholder\",i,s);r=true}if(zp(s)){if(Dp(t,s)){r=true}}else if(Lp(t,s)){r=true}return r}function Bp(t){if(t.childCount===1){const e=t.getChild(0);if(e.is(\"element\")&&!e.is(\"uiElement\")){return e}}return null}class Fp{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e});t.style.display=\"none\";if(e){t.parentNode.insertBefore(e,t.nextSibling)}}restore(){this._replacedElements.forEach(({element:t,newElement:e})=>{t.style.display=\"\";if(e){e.remove()}});this._replacedElements=[]}}class Hp extends Pp{constructor(t,e){super(t);this.view=e;this._toolbarConfig=Mp(t.config.get(\"toolbar\"));this._elementReplacer=new Fp}get element(){return this.view.element}init(t){const e=this.editor;const n=this.view;const i=e.editing.view;const o=n.editable;const s=i.document.getRoot();o.name=s.rootName;n.render();const r=o.element;this.setEditableElement(o.name,r);this.focusTracker.add(r);n.editable.bind(\"isFocused\").to(this.focusTracker);i.attachDomRoot(r);if(t){this._elementReplacer.replace(t,this.element)}this._initPlaceholder();this._initToolbar();this.fire(\"ready\")}destroy(){const t=this.view;const e=this.editor.editing.view;this._elementReplacer.restore();e.detachDomRoot(t.editable.name);t.destroy();super.destroy()}_initToolbar(){const t=this.editor;const e=this.view;const n=t.editing.view;e.stickyPanel.bind(\"isActive\").to(this.focusTracker,\"isFocused\");e.stickyPanel.limiterElement=e.element;if(this._toolbarConfig.viewportTopOffset){e.stickyPanel.viewportTopOffset=this._toolbarConfig.viewportTopOffset}e.toolbar.fillFromConfig(this._toolbarConfig.items,this.componentFactory);Ep({origin:n,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:e.toolbar})}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const i=t.sourceElement;const o=t.config.get(\"placeholder\")||i&&i.tagName.toLowerCase()===\"textarea\"&&i.getAttribute(\"placeholder\");if(o){Op({view:e,element:n,text:o,isDirectHost:false})}}}class Up extends xr{constructor(t=[]){super(t,{idProperty:\"viewUid\"});this.on(\"add\",(t,e,n)=>{this._renderViewIntoCollectionParent(e,n)});this.on(\"remove\",(t,e)=>{if(e.element&&this._parentElement){e.element.remove()}});this._parentElement=null}destroy(){this.map(t=>t.destroy())}setParent(t){this._parentElement=t;for(const t of this){this._renderViewIntoCollectionParent(t)}}delegate(...t){if(!t.length||!Wp(t)){throw new rr[\"b\"](\"ui-viewcollection-delegate-wrong-events: All event names must be strings.\",this)}return{to:e=>{for(const n of this){for(const i of t){n.delegate(i).to(e)}}this.on(\"add\",(n,i)=>{for(const n of t){i.delegate(n).to(e)}});this.on(\"remove\",(n,i)=>{for(const n of t){i.stopDelegating(n,e)}})}}}_renderViewIntoCollectionParent(t,e){if(!t.isRendered){t.render()}if(t.element&&this._parentElement){this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}}function Wp(t){return t.every(t=>typeof t==\"string\")}const qp=\"http://www.w3.org/1999/xhtml\";class $p{constructor(t){Object.assign(this,ib(nb(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=pb();this._renderNode({node:t,isApplying:true,revertData:this._revertData});return t}revert(t){if(!this._revertData){throw new rr[\"b\"](\"ui-template-revert-not-applied: Attempting to revert a template which has not been applied yet.\",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if(fb(n)){yield n}else if(gb(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,i){return new Gp({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i})},if(n,i,o){return new Qp({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:o})}}}static extend(t,e){if(t._isRendered){throw new rr[\"b\"](\"template-extend-render: Attempting to extend a template which has already been rendered.\",[this,t])}ub(t,ib(nb(e)))}_renderNode(t){let e;if(t.node){e=this.tag&&this.text}else{e=this.tag?this.text:!this.text}if(e){throw new rr[\"b\"]('ui-template-wrong-syntax: Node definition must have either \"tag\" or \"text\" when rendering a new Node.',this)}if(this.text){return this._renderText(t)}else{return this._renderElement(t)}}_renderElement(t){let e=t.node;if(!e){e=t.node=document.createElementNS(this.ns||qp,this.tag)}this._renderAttributes(t);this._renderElementChildren(t);this._setUpListeners(t);return e}_renderText(t){let e=t.node;if(e){t.revertData.text=e.textContent}else{e=t.node=document.createTextNode(\"\")}if(Kp(this.text)){this._bindToObservable({schema:this.text,updater:Xp(e),data:t})}else{e.textContent=this.text.join(\"\")}return e}_renderAttributes(t){let e,n,i,o;if(!this.attributes){return}const s=t.node;const r=t.revertData;for(e in this.attributes){i=s.getAttribute(e);n=this.attributes[e];if(r){r.attributes[e]=i}o=ct(n[0])&&n[0].ns?n[0].ns:null;if(Kp(n)){const a=o?n[0].value:n;if(r&&bb(e)){a.unshift(i)}this._bindToObservable({schema:a,updater:tb(s,e,o),data:t})}else if(e==\"style\"&&typeof n[0]!==\"string\"){this._renderStyleAttribute(n[0],t)}else{if(r&&i&&bb(e)){n.unshift(i)}n=n.map(t=>t?t.value||t:t).reduce((t,e)=>t.concat(e),[]).reduce(lb,\"\");if(!hb(n)){s.setAttributeNS(o,e,n)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const o=t[i];if(Kp(o)){this._bindToObservable({schema:[o],updater:eb(n,i),data:e})}else{n.style[i]=o}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const i=t.isApplying;let o=0;for(const s of this.children){if(mb(s)){if(!i){s.setParent(e);for(const t of s){n.appendChild(t.element)}}}else if(fb(s)){if(!i){if(!s.isRendered){s.render()}n.appendChild(s.element)}}else if(xd(s)){n.appendChild(s)}else{if(i){const e=t.revertData;const i=pb();e.children.push(i);s._renderNode({node:n.childNodes[o++],isApplying:true,revertData:i})}else{n.appendChild(s.render())}}}if(t.intoFragment){e.appendChild(n)}}_setUpListeners(t){if(!this.eventListeners){return}for(const e in this.eventListeners){const n=this.eventListeners[e].map(n=>{const[i,o]=e.split(\"@\");return n.activateDomEventListener(i,o,t)});if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;Zp(t,e,n);const o=t.filter(t=>!hb(t)).filter(t=>t.observable).map(i=>i.activateAttributeListener(t,e,n));if(i){i.bindings.push(o)}}_revertTemplateFromNode(t,e){for(const t of e.bindings){for(const e of t){e()}}if(e.text){t.textContent=e.text;return}for(const n in e.attributes){const i=e.attributes[n];if(i===null){t.removeAttribute(n)}else{t.setAttribute(n,i)}}for(let n=0;n<e.children.length;++n){this._revertTemplateFromNode(t.childNodes[n],e.children[n])}}}yr($p,dr);class Yp{constructor(t){Object.assign(this,t)}getValue(t){const e=this.observable[this.attribute];return this.callback?this.callback(e,t):e}activateAttributeListener(t,e,n){const i=()=>Zp(t,e,n);this.emitter.listenTo(this.observable,\"change:\"+this.attribute,i);return()=>{this.emitter.stopListening(this.observable,\"change:\"+this.attribute,i)}}}class Gp extends Yp{activateDomEventListener(t,e,n){const i=(t,n)=>{if(!e||n.target.matches(e)){if(typeof this.eventNameOrFunction==\"function\"){this.eventNameOrFunction(n)}else{this.observable.fire(this.eventNameOrFunction,n)}}};this.emitter.listenTo(n.node,t,i);return()=>{this.emitter.stopListening(n.node,t,i)}}}class Qp extends Yp{getValue(t){const e=super.getValue(t);return hb(e)?false:this.valueIfTrue||true}}function Kp(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(Kp)}else if(t instanceof Yp){return true}return false}function Jp(t,e){return t.map(t=>{if(t instanceof Yp){return t.getValue(e)}return t})}function Zp(t,e,{node:n}){let i=Jp(t,n);if(t.length==1&&t[0]instanceof Qp){i=i[0]}else{i=i.reduce(lb,\"\")}if(hb(i)){e.remove()}else{e.set(i)}}function Xp(t){return{set(e){t.textContent=e},remove(){t.textContent=\"\"}}}function tb(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function eb(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function nb(t){const e=$s(t,t=>{if(t&&(t instanceof Yp||gb(t)||fb(t)||mb(t))){return t}});return e}function ib(t){if(typeof t==\"string\"){t=rb(t)}else if(t.text){ab(t)}if(t.on){t.eventListeners=sb(t.on);delete t.on}if(!t.text){if(t.attributes){ob(t.attributes)}const e=[];if(t.children){if(mb(t.children)){e.push(t.children)}else{for(const n of t.children){if(gb(n)||fb(n)||xd(n)){e.push(n)}else{e.push(new $p(n))}}}}t.children=e}return t}function ob(t){for(const e in t){if(t[e].value){t[e].value=[].concat(t[e].value)}cb(t,e)}}function sb(t){for(const e in t){cb(t,e)}return t}function rb(t){return{text:[t]}}function ab(t){if(!Array.isArray(t.text)){t.text=[t.text]}}function cb(t,e){if(!Array.isArray(t[e])){t[e]=[t[e]]}}function lb(t,e){if(hb(e)){return t}else if(hb(t)){return e}else{return`${t} ${e}`}}function db(t,e){for(const n in e){if(t[n]){t[n].push(...e[n])}else{t[n]=e[n]}}}function ub(t,e){if(e.attributes){if(!t.attributes){t.attributes={}}db(t.attributes,e.attributes)}if(e.eventListeners){if(!t.eventListeners){t.eventListeners={}}db(t.eventListeners,e.eventListeners)}if(e.text){t.text.push(...e.text)}if(e.children&&e.children.length){if(t.children.length!=e.children.length){throw new rr[\"b\"](\"ui-template-extend-children-mismatch: The number of children in extended definition does not match.\",t)}let n=0;for(const i of e.children){ub(t.children[n++],i)}}}function hb(t){return!t&&t!==0}function fb(t){return t instanceof _b}function gb(t){return t instanceof $p}function mb(t){return t instanceof Up}function pb(){return{children:[],bindings:[],attributes:{}}}function bb(t){return t==\"class\"||t==\"style\"}var wb=n(16);class _b{constructor(t){this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new xr;this._unboundChildren=this.createCollection();this._viewCollections.on(\"add\",(e,n)=>{n.locale=t});this.decorate(\"render\")}get bindTemplate(){if(this._bindTemplate){return this._bindTemplate}return this._bindTemplate=$p.bind(this,this)}createCollection(t){const e=new Up(t);this._viewCollections.add(e);return e}registerChild(t){if(!vr(t)){t=[t]}for(const e of t){this._unboundChildren.add(e)}}deregisterChild(t){if(!vr(t)){t=[t]}for(const e of t){this._unboundChildren.remove(e)}}setTemplate(t){this.template=new $p(t)}extendTemplate(t){$p.extend(this.template,t)}render(){if(this.isRendered){throw new rr[\"b\"](\"ui-view-render-already-rendered: This View has already been rendered.\",this)}if(this.template){this.element=this.template.render();this.registerChild(this.template.getViews())}this.isRendered=true}destroy(){this.stopListening();this._viewCollections.map(t=>t.destroy());if(this.template&&this.template._revertData){this.template.revert(this.element)}}}yr(_b,Wd);yr(_b,Kc);var kb=\"[object String]\";function vb(t){return typeof t==\"string\"||!Qe(t)&&C(t)&&k(t)==kb}var yb=vb;function xb(t,e,n={},i=[]){const o=n&&n.xmlns;const s=o?t.createElementNS(o,e):t.createElement(e);for(const t in n){s.setAttribute(t,n[t])}if(yb(i)||!vr(i)){i=[i]}for(let e of i){if(yb(e)){e=t.createTextNode(e)}s.appendChild(e)}return s}class Ab extends Up{constructor(t,e=[]){super(e);this.locale=t}attachToDom(){this._bodyCollectionContainer=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset_all\",\"ck-body\",\"ck-rounded-corners\"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(\".ck-body-wrapper\");if(!t){t=xb(document,\"div\",{class:\"ck-body-wrapper\"});document.body.appendChild(t)}t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy();if(this._bodyCollectionContainer){this._bodyCollectionContainer.remove()}const t=document.querySelector(\".ck-body-wrapper\");if(t&&t.childElementCount==0){t.remove()}}}var Tb=n(18);class Cb extends _b{constructor(t){super(t);this.body=new Ab(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}var Sb=n(20);class Pb extends _b{constructor(t){super(t);this.set(\"text\");this.set(\"for\");this.id=`ck-editor__label_${nr()}`;const e=this.bindTemplate;this.setTemplate({tag:\"label\",attributes:{class:[\"ck\",\"ck-label\"],id:this.id,for:e.to(\"for\")},children:[{text:e.to(\"text\")}]})}}class Eb extends Cb{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-editor\",\"ck-rounded-corners\"],role:\"application\",dir:t.uiLanguageDirection,lang:t.uiLanguage,\"aria-labelledby\":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__top\",\"ck-reset_all\"],role:\"presentation\"},children:this.top},{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__main\"],role:\"presentation\"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new Pb;e.text=t(\"Rich Text Editor\");e.extendTemplate({attributes:{class:\"ck-voice-label\"}});return e}}class Mb extends _b{constructor(t,e,n){super(t);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-content\",\"ck-editor__editable\",\"ck-rounded-corners\"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.name=null;this.set(\"isFocused\",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on(\"change:isFocused\",()=>this._updateIsFocusedClasses());this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change(n=>{const i=t.document.getRoot(e.name);n.addClass(e.isFocused?\"ck-focused\":\"ck-blurred\",i);n.removeClass(e.isFocused?\"ck-blurred\":\"ck-focused\",i)})}function n(i){t.once(\"change:isRenderingInProgress\",(t,o,s)=>{if(!s){e(i)}else{n(i)}})}}}class Ib extends Mb{constructor(t,e,n){super(t,e,n);this.extendTemplate({attributes:{role:\"textbox\",class:\"ck-editor__editable_inline\"}})}render(){super.render();const t=this._editingView;const e=this.t;t.change(n=>{const i=t.document.getRoot(this.name);n.setAttribute(\"aria-label\",e(\"Rich Text Editor, %0\",[this.name]),i)})}}function Nb(t){return e=>e+t}var Ob=n(22);const Rb=Nb(\"px\");class Db extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isActive\",false);this.set(\"isSticky\",false);this.set(\"limiterElement\",null);this.set(\"limiterBottomOffset\",50);this.set(\"viewportTopOffset\",0);this.set(\"_marginLeft\",null);this.set(\"_isStickyToTheLimiter\",false);this.set(\"_hasViewportTopOffset\",false);this.content=this.createCollection();this._contentPanelPlaceholder=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__placeholder\"],style:{display:e.to(\"isSticky\",t=>t?\"block\":\"none\"),height:e.to(\"isSticky\",t=>t?Rb(this._panelRect.height):null)}}}).render();this._contentPanel=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__content\",e.if(\"isSticky\",\"ck-sticky-panel__content_sticky\"),e.if(\"_isStickyToTheLimiter\",\"ck-sticky-panel__content_sticky_bottom-limit\")],style:{width:e.to(\"isSticky\",t=>t?Rb(this._contentPanelPlaceholder.getBoundingClientRect().width):null),top:e.to(\"_hasViewportTopOffset\",t=>t?Rb(this.viewportTopOffset):null),bottom:e.to(\"_isStickyToTheLimiter\",t=>t?Rb(this.limiterBottomOffset):null),marginLeft:e.to(\"_marginLeft\")}},children:this.content}).render();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel\"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render();this._checkIfShouldBeSticky();this.listenTo(Nd.window,\"scroll\",()=>{this._checkIfShouldBeSticky()});this.listenTo(this,\"change:isActive\",()=>{this._checkIfShouldBeSticky()})}_checkIfShouldBeSticky(){const t=this._panelRect=this._contentPanel.getBoundingClientRect();let e;if(!this.limiterElement){this.isSticky=false}else{e=this._limiterRect=this.limiterElement.getBoundingClientRect();this.isSticky=this.isActive&&e.top<this.viewportTopOffset&&this._panelRect.height+this.limiterBottomOffset<e.height}if(this.isSticky){this._isStickyToTheLimiter=e.bottom<t.height+this.limiterBottomOffset+this.viewportTopOffset;this._hasViewportTopOffset=!this._isStickyToTheLimiter&&!!this.viewportTopOffset;this._marginLeft=this._isStickyToTheLimiter?null:Rb(-Nd.window.scrollX)}else{this._isStickyToTheLimiter=false;this._hasViewportTopOffset=false;this._marginLeft=null}}}class Lb{constructor(t){Object.assign(this,t);if(t.actions&&t.keystrokeHandler){for(const e in t.actions){let n=t.actions[e];if(typeof n==\"string\"){n=[n]}for(const i of n){t.keystrokeHandler.set(i,(t,n)=>{this[e]();n()})}}}}get first(){return this.focusables.find(zb)||null}get last(){return this.focusables.filter(zb).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;if(this.focusTracker.focusedElement===null){return null}this.focusables.find((e,n)=>{const i=e.element===this.focusTracker.focusedElement;if(i){t=n}return i});return t}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){if(t){t.focus()}}_getFocusableItem(t){const e=this.current;const n=this.focusables.length;if(!n){return null}if(e===null){return this[t===1?\"first\":\"last\"]}let i=(e+n+t)%n;do{const e=this.focusables.get(i);if(zb(e)){return e}i=(i+n+t)%n}while(i!==e);return null}}function zb(t){return!!(t.focus&&Nd.window.getComputedStyle(t.element).display!=\"none\")}class Vb extends _b{constructor(t){super(t);this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__separator\"]}})}}const jb=100;class Bb{constructor(t,e){if(!Bb._observerInstance){Bb._createObserver()}this._element=t;this._callback=e;Bb._addElementCallback(t,e);Bb._observerInstance.observe(t)}destroy(){Bb._deleteElementCallback(this._element,this._callback)}static _addElementCallback(t,e){if(!Bb._elementCallbacks){Bb._elementCallbacks=new Map}let n=Bb._elementCallbacks.get(t);if(!n){n=new Set;Bb._elementCallbacks.set(t,n)}n.add(e)}static _deleteElementCallback(t,e){const n=Bb._getElementCallbacks(t);if(n){n.delete(e);if(!n.size){Bb._elementCallbacks.delete(t);Bb._observerInstance.unobserve(t)}}if(Bb._elementCallbacks&&!Bb._elementCallbacks.size){Bb._observerInstance=null;Bb._elementCallbacks=null}}static _getElementCallbacks(t){if(!Bb._elementCallbacks){return null}return Bb._elementCallbacks.get(t)}static _createObserver(){let t;if(typeof Nd.window.ResizeObserver===\"function\"){t=Nd.window.ResizeObserver}else{t=Fb}Bb._observerInstance=new t(t=>{for(const e of t){if(!e.target.offsetParent){continue}const t=Bb._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}})}}Bb._observerInstance=null;Bb._elementCallbacks=null;class Fb{constructor(t){this._callback=t;this._elements=new Set;this._previousRects=new Map;this._periodicCheckTimeout=null}observe(t){this._elements.add(t);this._checkElementRectsAndExecuteCallback();if(this._elements.size===1){this._startPeriodicCheck()}}unobserve(t){this._elements.delete(t);this._previousRects.delete(t);if(!this._elements.size){this._stopPeriodicCheck()}}_startPeriodicCheck(){const t=()=>{this._checkElementRectsAndExecuteCallback();this._periodicCheckTimeout=setTimeout(t,jb)};this.listenTo(Nd.window,\"resize\",()=>{this._checkElementRectsAndExecuteCallback()});this._periodicCheckTimeout=setTimeout(t,jb)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout);this.stopListening();this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const t=[];for(const e of this._elements){if(this._hasRectChanged(e)){t.push({target:e,contentRect:this._previousRects.get(e)})}}if(t.length){this._callback(t)}}_hasRectChanged(t){if(!t.ownerDocument.body.contains(t)){return false}const e=new vh(t);const n=this._previousRects.get(t);const i=!n||!n.isEqual(e);this._previousRects.set(t,e);return i}}yr(Fb,Wd);function Hb(t){return t.bindTemplate.to(e=>{if(e.target===t.element){e.preventDefault()}})}class Ub extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",false);this.set(\"position\",\"se\");this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-dropdown__panel\",e.to(\"position\",t=>`ck-dropdown__panel_${t}`),e.if(\"isVisible\",\"ck-dropdown__panel-visible\")]},children:this.children,on:{selectstart:e.to(t=>t.preventDefault())}})}focus(){if(this.children.length){this.children.first.focus()}}focusLast(){if(this.children.length){const t=this.children.last;if(typeof t.focusLast===\"function\"){t.focusLast()}else{t.focus()}}}}var Wb=n(24);function qb(t){if(!t||!t.parentNode){return null}if(t.offsetParent===Nd.document.body){return null}return t.offsetParent}function $b({element:t,target:e,positions:n,limiter:i,fitInViewport:o}){if(gt(e)){e=e()}if(gt(i)){i=i()}const s=qb(t);const r=new vh(t);const a=new vh(e);let c;let l;if(!i&&!o){[l,c]=Yb(n[0],a,r)}else{const t=i&&new vh(i).getVisible();const e=o&&new vh(Nd.window);const s=Gb(n,{targetRect:a,elementRect:r,limiterRect:t,viewportRect:e});[l,c]=s||Yb(n[0],a,r)}let d=Zb(c);if(s){d=Jb(d,s)}return{left:d.left,top:d.top,name:l}}function Yb(t,e,n){const i=t(e,n);if(!i){return null}const{left:o,top:s,name:r}=i;return[r,n.clone().moveTo(o,s)]}function Gb(t,e){const{elementRect:n,viewportRect:i}=e;const o=n.getArea();const s=Qb(t,e);if(i){const t=s.filter(({viewportIntersectArea:t})=>t===o);const e=Kb(t,o);if(e){return e}}return Kb(s,o)}function Qb(t,{targetRect:e,elementRect:n,limiterRect:i,viewportRect:o}){const s=[];const r=n.getArea();for(const a of t){const t=Yb(a,e,n);if(!t){continue}const[c,l]=t;let d=0;let u=0;if(i){if(o){const t=i.getIntersection(o);if(t){d=t.getIntersectionArea(l)}}else{d=i.getIntersectionArea(l)}}if(o){u=o.getIntersectionArea(l)}const h={positionName:c,positionRect:l,limiterIntersectArea:d,viewportIntersectArea:u};if(d===r){return[h]}s.push(h)}return s}function Kb(t,e){let n=0;let i;let o;for(const{positionName:s,positionRect:r,limiterIntersectArea:a,viewportIntersectArea:c}of t){if(a===e){return[s,r]}const t=c**2+a**2;if(t>n){n=t;i=r;o=s}}return i?[o,i]:null}function Jb({left:t,top:e},n){const i=Zb(new vh(n));const o=_h(n);t-=i.left;e-=i.top;t+=n.scrollLeft;e+=n.scrollTop;t-=o.left;e-=o.top;return{left:t,top:e}}function Zb({left:t,top:e}){const{scrollX:n,scrollY:i}=Nd.window;return{left:t+n,top:e+i}}class Xb extends _b{constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e;this.panelView=n;this.set(\"isOpen\",false);this.set(\"isEnabled\",true);this.set(\"class\");this.set(\"id\");this.set(\"panelPosition\",\"auto\");this.keystrokes=new gp;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dropdown\",i.to(\"class\"),i.if(\"isEnabled\",\"ck-disabled\",t=>!t)],id:i.to(\"id\"),\"aria-describedby\":i.to(\"ariaDescribedById\")},children:[e,n]});e.extendTemplate({attributes:{class:[\"ck-dropdown__button\"]}})}render(){super.render();this.listenTo(this.buttonView,\"open\",()=>{this.isOpen=!this.isOpen});this.panelView.bind(\"isVisible\").to(this,\"isOpen\");this.on(\"change:isOpen\",()=>{if(!this.isOpen){return}if(this.panelPosition===\"auto\"){this.panelView.position=Xb._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions}).name}else{this.panelView.position=this.panelPosition}});this.keystrokes.listenTo(this.element);const t=(t,e)=>{if(this.isOpen){this.buttonView.focus();this.isOpen=false;e()}};this.keystrokes.set(\"arrowdown\",(t,e)=>{if(this.buttonView.isEnabled&&!this.isOpen){this.isOpen=true;e()}});this.keystrokes.set(\"arrowright\",(t,e)=>{if(this.isOpen){e()}});this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"esc\",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:t,southWest:e,northEast:n,northWest:i}=Xb.defaultPanelPositions;if(this.locale.uiLanguageDirection===\"ltr\"){return[t,e,n,i]}else{return[e,t,i,n]}}}Xb.defaultPanelPositions={southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.bottom-e.height,left:t.left-e.width+t.width,name:\"nw\"})};Xb._getOptimalPosition=$b;var tw=n(26);class ew extends _b{constructor(){super();const t=this.bindTemplate;this.set(\"content\",\"\");this.set(\"viewBox\",\"0 0 20 20\");this.set(\"fillColor\",\"\");this.setTemplate({tag:\"svg\",ns:\"http://www.w3.org/2000/svg\",attributes:{class:[\"ck\",\"ck-icon\"],viewBox:t.to(\"viewBox\")}})}render(){super.render();this._updateXMLContent();this._colorFillPaths();this.on(\"change:content\",()=>{this._updateXMLContent();this._colorFillPaths()});this.on(\"change:fillColor\",()=>{this._colorFillPaths()})}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),\"image/svg+xml\");const e=t.querySelector(\"svg\");const n=e.getAttribute(\"viewBox\");if(n){this.viewBox=n}this.element.innerHTML=\"\";while(e.childNodes.length>0){this.element.appendChild(e.childNodes[0])}}}_colorFillPaths(){if(this.fillColor){this.element.querySelectorAll(\".ck-icon__fill\").forEach(t=>{t.style.fill=this.fillColor})}}}var nw=n(28);class iw extends _b{constructor(t){super(t);this.set(\"text\",\"\");this.set(\"position\",\"s\");const e=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip\",e.to(\"position\",t=>\"ck-tooltip_\"+t),e.if(\"text\",\"ck-hidden\",t=>!t.trim())]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip__text\"]},children:[{text:e.to(\"text\")}]}]})}}var ow=n(30);class sw extends _b{constructor(t){super(t);const e=this.bindTemplate;const n=nr();this.set(\"class\");this.set(\"labelStyle\");this.set(\"icon\");this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isVisible\",true);this.set(\"isToggleable\",false);this.set(\"keystroke\");this.set(\"label\");this.set(\"tabindex\",-1);this.set(\"tooltip\");this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.set(\"withKeystroke\",false);this.children=this.createCollection();this.tooltipView=this._createTooltipView();this.labelView=this._createLabelView(n);this.iconView=new ew;this.iconView.extendTemplate({attributes:{class:\"ck-button__icon\"}});this.keystrokeView=this._createKeystrokeView();this.bind(\"_tooltipString\").to(this,\"tooltip\",this,\"label\",this,\"keystroke\",this._getTooltipString.bind(this));this.setTemplate({tag:\"button\",attributes:{class:[\"ck\",\"ck-button\",e.to(\"class\"),e.if(\"isEnabled\",\"ck-disabled\",t=>!t),e.if(\"isVisible\",\"ck-hidden\",t=>!t),e.to(\"isOn\",t=>t?\"ck-on\":\"ck-off\"),e.if(\"withText\",\"ck-button_with-text\"),e.if(\"withKeystroke\",\"ck-button_with-keystroke\")],type:e.to(\"type\",t=>t?t:\"button\"),tabindex:e.to(\"tabindex\"),\"aria-labelledby\":`ck-editor__aria-label_${n}`,\"aria-disabled\":e.if(\"isEnabled\",true,t=>!t),\"aria-pressed\":e.to(\"isOn\",t=>this.isToggleable?String(t):false)},children:this.children,on:{mousedown:e.to(t=>{t.preventDefault()}),click:e.to(t=>{if(this.isEnabled){this.fire(\"execute\")}else{t.preventDefault()}})}})}render(){super.render();if(this.icon){this.iconView.bind(\"content\").to(this,\"icon\");this.children.add(this.iconView)}this.children.add(this.tooltipView);this.children.add(this.labelView);if(this.withKeystroke){this.children.add(this.keystrokeView)}}focus(){this.element.focus()}_createTooltipView(){const t=new iw;t.bind(\"text\").to(this,\"_tooltipString\");t.bind(\"position\").to(this,\"tooltipPosition\");return t}_createLabelView(t){const e=new _b;const n=this.bindTemplate;e.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__label\"],style:n.to(\"labelStyle\"),id:`ck-editor__aria-label_${t}`},children:[{text:this.bindTemplate.to(\"label\")}]});return e}_createKeystrokeView(){const t=new _b;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__keystroke\"]},children:[{text:this.bindTemplate.to(\"keystroke\",t=>zl(t))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t==\"string\"){return t}else{if(n){n=zl(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:\"\"}`}}}return\"\"}}var rw='<svg viewBox=\"0 0 10 10\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z\"/></svg>';class aw extends sw{constructor(t){super(t);this.arrowView=this._createArrowView();this.extendTemplate({attributes:{\"aria-haspopup\":true}});this.delegate(\"execute\").to(this,\"open\")}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new ew;t.content=rw;t.extendTemplate({attributes:{class:\"ck-dropdown__arrow\"}});return t}}var cw=n(32);class lw extends _b{constructor(){super();this.items=this.createCollection();this.focusTracker=new Sp;this.keystrokes=new gp;this._focusCycler=new Lb({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}});this.setTemplate({tag:\"ul\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]},children:this.items})}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",(t,e)=>{this.focusTracker.add(e.element)});this.items.on(\"remove\",(t,e)=>{this.focusTracker.remove(e.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class dw extends _b{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__item\"]},children:this.children})}focus(){this.children.first.focus()}}class uw extends _b{constructor(t){super(t);this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__separator\"]}})}}var hw=n(34);class fw extends sw{constructor(t){super(t);this.isToggleable=true;this.toggleSwitchView=this._createToggleView();this.extendTemplate({attributes:{class:\"ck-switchbutton\"}})}render(){super.render();this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new _b;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle\"]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle__inner\"]}}]});return t}}function gw({emitter:t,activator:e,callback:n,contextElements:i}){t.listenTo(document,\"mousedown\",(t,{target:o})=>{if(!e()){return}for(const t of i){if(t.contains(o)){return}}n()})}var mw=n(36);var pw=n(38);function bw(t,e=aw){const n=new e(t);const i=new Ub(t);const o=new Xb(t,n,i);n.bind(\"isEnabled\").to(o);if(n instanceof aw){n.bind(\"isOn\").to(o,\"isOpen\")}else{n.arrowView.bind(\"isOn\").to(o,\"isOpen\")}kw(o);return o}function ww(t,e){const n=t.locale;const i=n.t;const o=t.toolbarView=new Cw(n);o.set(\"ariaLabel\",i(\"Dropdown toolbar\"));t.extendTemplate({attributes:{class:[\"ck-toolbar-dropdown\"]}});e.map(t=>o.items.add(t));t.panelView.children.add(o);o.items.delegate(\"execute\").to(t)}function _w(t,e){const n=t.locale;const i=t.listView=new lw(n);i.items.bindTo(e).using(({type:t,model:e})=>{if(t===\"separator\"){return new uw(n)}else if(t===\"button\"||t===\"switchbutton\"){const i=new dw(n);let o;if(t===\"button\"){o=new sw(n)}else{o=new fw(n)}o.bind(...Object.keys(e)).to(e);o.delegate(\"execute\").to(i);i.children.add(o);return i}});t.panelView.children.add(i);i.items.delegate(\"execute\").to(t)}function kw(t){vw(t);yw(t);xw(t)}function vw(t){t.on(\"render\",()=>{gw({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=false},contextElements:[t.element]})})}function yw(t){t.on(\"execute\",e=>{if(e.source instanceof fw){return}t.isOpen=false})}function xw(t){t.keystrokes.set(\"arrowdown\",(e,n)=>{if(t.isOpen){t.panelView.focus();n()}});t.keystrokes.set(\"arrowup\",(e,n)=>{if(t.isOpen){t.panelView.focusLast();n()}})}var Aw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"9.5\" cy=\"4.5\" r=\"1.5\"/><circle cx=\"9.5\" cy=\"10.5\" r=\"1.5\"/><circle cx=\"9.5\" cy=\"16.5\" r=\"1.5\"/></svg>';var Tw=n(40);class Cw extends _b{constructor(t,e){super(t);const n=this.bindTemplate;const i=this.t;this.options=e||{};this.set(\"ariaLabel\",i(\"Editor toolbar\"));this.set(\"maxWidth\",\"auto\");this.items=this.createCollection();this.focusTracker=new Sp;this.keystrokes=new gp;this.set(\"class\");this.set(\"isCompact\",false);this.itemsView=new Sw(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();this._focusCycler=new Lb({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[\"arrowleft\",\"arrowup\"],focusNext:[\"arrowright\",\"arrowdown\"]}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar\",n.to(\"class\"),n.if(\"isCompact\",\"ck-toolbar_compact\")],role:\"toolbar\",\"aria-label\":n.to(\"ariaLabel\"),style:{maxWidth:n.to(\"maxWidth\")}},children:this.children,on:{mousedown:Hb(this)}});this._behavior=this.options.shouldGroupWhenFull?new Ew(this):new Pw(this)}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",(t,e)=>{this.focusTracker.add(e.element)});this.items.on(\"remove\",(t,e)=>{this.focusTracker.remove(e.element)});this.keystrokes.listenTo(this.element);this._behavior.render(this)}destroy(){this._behavior.destroy();return super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e){t.map(t=>{if(t==\"|\"){this.items.add(new Vb)}else if(e.has(t)){this.items.add(e.create(t))}else{console.warn(Object(rr[\"a\"])(\"toolbarview-item-unavailable: The requested toolbar item is unavailable.\"),{name:t})}})}}class Sw extends _b{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar__items\"]},children:this.children})}}class Pw{constructor(t){const e=t.bindTemplate;t.set(\"isVertical\",false);t.itemsView.children.bindTo(t.items).using(t=>t);t.focusables.bindTo(t.items).using(t=>t);t.extendTemplate({attributes:{class:[e.if(\"isVertical\",\"ck-toolbar_vertical\")]}})}render(){}destroy(){}}class Ew{constructor(t){this.viewChildren=t.children;this.viewFocusables=t.focusables;this.viewItemsView=t.itemsView;this.viewFocusTracker=t.focusTracker;this.viewLocale=t.locale;this.ungroupedItems=t.createCollection();this.groupedItems=t.createCollection();this.groupedItemsDropdown=this._createGroupedItemsDropdown();this.resizeObserver=null;this.cachedPadding=null;this.shouldUpdateGroupingOnNextResize=false;t.itemsView.children.bindTo(this.ungroupedItems).using(t=>t);this.ungroupedItems.on(\"add\",this._updateFocusCycleableItems.bind(this));this.ungroupedItems.on(\"remove\",this._updateFocusCycleableItems.bind(this));t.children.on(\"add\",this._updateFocusCycleableItems.bind(this));t.children.on(\"remove\",this._updateFocusCycleableItems.bind(this));t.items.on(\"add\",(t,e,n)=>{if(n>this.ungroupedItems.length){this.groupedItems.add(e,n-this.ungroupedItems.length)}else{this.ungroupedItems.add(e,n)}this._updateGrouping()});t.items.on(\"remove\",(t,e,n)=>{if(n>this.ungroupedItems.length){this.groupedItems.remove(e)}else{this.ungroupedItems.remove(e)}this._updateGrouping()});t.extendTemplate({attributes:{class:[\"ck-toolbar_grouping\"]}})}render(t){this.viewElement=t.element;this._enableGroupingOnResize();this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy();this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement)){return}if(!this.viewElement.offsetParent){this.shouldUpdateGroupingOnNextResize=true;return}let t;while(this._areItemsOverflowing){this._groupLastItem();t=true}if(!t&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new vh(t.lastChild);const i=new vh(t);if(!this.cachedPadding){const n=Nd.window.getComputedStyle(t);const i=e===\"ltr\"?\"paddingRight\":\"paddingLeft\";this.cachedPadding=Number.parseInt(n[i])}if(e===\"ltr\"){return n.right>i.right-this.cachedPadding}else{return n.left<i.left+this.cachedPadding}}_enableGroupingOnResize(){let t;this.resizeObserver=new Bb(this.viewElement,e=>{if(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize){this.shouldUpdateGroupingOnNextResize=false;this._updateGrouping();t=e.contentRect.width}});this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on(\"change:maxWidth\",()=>{this._updateGrouping()})}_groupLastItem(){if(!this.groupedItems.length){this.viewChildren.add(new Vb);this.viewChildren.add(this.groupedItemsDropdown);this.viewFocusTracker.add(this.groupedItemsDropdown.element)}this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first));if(!this.groupedItems.length){this.viewChildren.remove(this.groupedItemsDropdown);this.viewChildren.remove(this.viewChildren.last);this.viewFocusTracker.remove(this.groupedItemsDropdown.element)}}_createGroupedItemsDropdown(){const t=this.viewLocale;const e=t.t;const n=bw(t);n.class=\"ck-toolbar__grouped-dropdown\";n.panelPosition=t.uiLanguageDirection===\"ltr\"?\"sw\":\"se\";ww(n,[]);n.buttonView.set({label:e(\"Show more items\"),tooltip:true,icon:Aw});n.toolbarView.items.bindTo(this.groupedItems).using(t=>t);return n}_updateFocusCycleableItems(){this.viewFocusables.clear();this.ungroupedItems.map(t=>{this.viewFocusables.add(t)});if(this.groupedItems.length){this.viewFocusables.add(this.groupedItemsDropdown)}}}var Mw=n(42);class Iw extends Eb{constructor(t,e,n={}){super(t);this.stickyPanel=new Db(t);this.toolbar=new Cw(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull});this.editable=new Ib(t,e)}render(){super.render();this.stickyPanel.content.add(this.toolbar);this.top.add(this.stickyPanel);this.main.add(this.editable)}}function Nw(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}class Ow extends pp{constructor(t,e){super(e);if(Gs(t)){this.sourceElement=t}this.data.processor=new Ap(this.data.viewDocument);this.model.document.createRoot();const n=!this.config.get(\"toolbar.shouldNotGroupWhenFull\");const i=new Iw(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new Hp(this,i);yp(this)}destroy(){if(this.sourceElement){this.updateSourceElement()}this.ui.destroy();return super.destroy()}static create(t,e={}){return new Promise(n=>{const i=new this(t,e);n(i.initPlugins().then(()=>i.ui.init(Gs(t)?t:null)).then(()=>{if(!Gs(t)&&e.initialData){throw new rr[\"b\"](\"editor-create-initial-data: \"+\"The config.initialData option cannot be used together with initial data passed in Editor.create().\",null)}const n=e.initialData||Rw(t);return i.data.init(n)}).then(()=>i.fire(\"ready\")).then(()=>i))})}}yr(Ow,wp);yr(Ow,vp);function Rw(t){return Gs(t)?Nw(t):t}class Dw{constructor(t){this.editor=t;this.set(\"isEnabled\",true);this._disableStack=new Set}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",Lw,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",Lw);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}yr(Dw,Kc);function Lw(t){t.return=false;t.stop()}class zw{constructor(t){this.editor=t;this.set(\"value\",undefined);this.set(\"isEnabled\",false);this._disableStack=new Set;this.decorate(\"execute\");this.listenTo(this.editor.model.document,\"change\",()=>{this.refresh()});this.on(\"execute\",t=>{if(!this.isEnabled){t.stop()}},{priority:\"high\"});this.listenTo(t,\"change:isReadOnly\",(t,e,n)=>{if(n){this.forceDisabled(\"readOnlyMode\")}else{this.clearForceDisabled(\"readOnlyMode\")}})}refresh(){this.isEnabled=true}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",Vw,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",Vw);this.refresh()}}execute(){}destroy(){this.stopListening()}}yr(zw,Kc);function Vw(t){t.return=false;t.stop()}function jw(t){const e=t.next();if(e.done){return null}return e.value}const Bw=[\"left\",\"right\",\"center\",\"justify\"];function Fw(t){return Bw.includes(t)}function Hw(t,e){if(e.contentLanguageDirection==\"rtl\"){return t===\"right\"}else{return t===\"left\"}}const Uw=\"alignment\";class Ww extends zw{refresh(){const t=this.editor;const e=t.locale;const n=jw(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!n&&this._canBeAligned(n);if(this.isEnabled&&n.hasAttribute(\"alignment\")){this.value=n.getAttribute(\"alignment\")}else{this.value=e.contentLanguageDirection===\"rtl\"?\"right\":\"left\"}}execute(t={}){const e=this.editor;const n=e.locale;const i=e.model;const o=i.document;const s=t.value;i.change(t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter(t=>this._canBeAligned(t));const i=e[0].getAttribute(\"alignment\");const r=Hw(s,n)||i===s||!s;if(r){qw(e,t)}else{$w(e,t,s)}})}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,Uw)}}function qw(t,e){for(const n of t){e.removeAttribute(Uw,n)}}function $w(t,e,n){for(const i of t){e.setAttribute(Uw,n,i)}}class Yw extends Dw{static get pluginName(){return\"AlignmentEditing\"}constructor(t){super(t);t.config.define(\"alignment\",{options:[...Bw]})}init(){const t=this.editor;const e=t.locale;const n=t.model.schema;const i=t.config.get(\"alignment.options\").filter(Fw);n.extend(\"$block\",{allowAttributes:\"alignment\"});t.model.schema.setAttributeProperties(\"alignment\",{isFormatting:true});const o=Gw(i.filter(t=>!Hw(t,e)));t.conversion.attributeToAttribute(o);t.commands.add(\"alignment\",new Ww(t))}}function Gw(t){const e={model:{key:\"alignment\",values:t.slice()},view:{}};for(const n of t){e.view[n]={key:\"style\",value:{\"text-align\":n}}}return e}var Qw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z\"/></svg>';var Kw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18 3.75a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 8a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 4a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75zm0-8a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75z\"/></svg>';var Jw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm2.286 4c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75z\"/></svg>';var Zw='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z\"/></svg>';const Xw=new Map([[\"left\",Qw],[\"right\",Kw],[\"center\",Jw],[\"justify\",Zw]]);class t_ extends Dw{get localizedOptionTitles(){const t=this.editor.t;return{left:t(\"Align left\"),right:t(\"Align right\"),center:t(\"Align center\"),justify:t(\"Justify\")}}static get pluginName(){return\"AlignmentUI\"}init(){const t=this.editor;const e=t.ui.componentFactory;const n=t.t;const i=t.config.get(\"alignment.options\");i.filter(Fw).forEach(t=>this._addButton(t));e.add(\"alignment\",t=>{const o=bw(t);const s=i.map(t=>e.create(`alignment:${t}`));ww(o,s);o.buttonView.set({label:n(\"Text alignment\"),tooltip:true});o.toolbarView.isVertical=true;o.toolbarView.ariaLabel=n(\"Text alignment toolbar\");o.extendTemplate({attributes:{class:\"ck-alignment-dropdown\"}});const r=t.contentLanguageDirection===\"rtl\"?Kw:Qw;o.buttonView.bind(\"icon\").toMany(s,\"isOn\",(...t)=>{const e=t.findIndex(t=>t);if(e<0){return r}return s[e].icon});o.bind(\"isEnabled\").toMany(s,\"isEnabled\",(...t)=>t.some(t=>t));return o})}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,n=>{const i=e.commands.get(\"alignment\");const o=new sw(n);o.set({label:this.localizedOptionTitles[t],icon:Xw.get(t),tooltip:true,isToggleable:true});o.bind(\"isEnabled\").to(i);o.bind(\"isOn\").to(i,\"value\",e=>e===t);this.listenTo(o,\"execute\",()=>{e.execute(\"alignment\",{value:t});e.editing.view.focus()});return o})}}class e_ extends Dw{static get requires(){return[Yw,t_]}static get pluginName(){return\"Alignment\"}}class n_{static get pluginName(){return\"BlockAutoformatEditing\"}constructor(t,e,n){let i;let o=null;if(typeof n==\"function\"){i=n}else{o=t.commands.get(n);i=()=>{t.execute(n)}}t.model.document.on(\"change\",(n,s)=>{if(o&&!o.isEnabled){return}if(s.type==\"transparent\"){return}const r=Array.from(t.model.document.differ.getChanges());const a=r[0];if(r.length!=1||a.type!==\"insert\"||a.name!=\"$text\"||a.length!=1){return}const c=a.position.parent;if(!c.is(\"paragraph\")||c.childCount!==1){return}const l=e.exec(c.getChild(0).data);if(!l){return}t.model.enqueueChange(t=>{const e=t.createPositionAt(c,0);const n=t.createPositionAt(c,l[0].length);const o=new cf(e,n);const s=i({match:l});if(s!==false){t.remove(o)}o.detach()})})}}function i_(t,e){let n=t.start;const i=Array.from(t.getItems()).reduce((t,i)=>{if(!(i.is(\"text\")||i.is(\"textProxy\"))){n=e.createPositionAfter(i);return\"\"}return t+i.data},\"\");return{text:i,range:e.createRange(n,t.end)}}class o_{static get pluginName(){return\"InlineAutoformatEditing\"}constructor(t,e,n){let i;let o;let s;let r;if(e instanceof RegExp){i=e}else{s=e}if(typeof n==\"string\"){o=n}else{r=n}s=s||(t=>{let e;const n=[];const o=[];while((e=i.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:i,2:s,3:r}=e;const a=i+s+r;t+=e[0].length-a.length;const c=[t,t+i.length];const l=[t+i.length+s.length,t+i.length+s.length+r.length];n.push(c);n.push(l);o.push([t+i.length,t+i.length+s.length])}return{remove:n,format:o}});r=r||((e,n)=>{const i=t.model.schema.getValidRanges(n,o);for(const t of i){e.setAttribute(o,true,t)}e.removeSelectionAttribute(o)});t.model.document.on(\"change\",(e,n)=>{if(n.type==\"transparent\"){return}const i=t.model;const o=i.document.selection;if(!o.isCollapsed){return}const a=Array.from(i.document.differ.getChanges());const c=a[0];if(a.length!=1||c.type!==\"insert\"||c.name!=\"$text\"||c.length!=1){return}const l=o.focus;const d=l.parent;const{text:u,range:h}=i_(i.createRange(i.createPositionAt(d,0),l),i);const f=s(u);const g=s_(h.start,f.format,i);const m=s_(h.start,f.remove,i);if(!(g.length&&m.length)){return}i.enqueueChange(t=>{const e=r(t,g);if(e===false){return}for(const e of m.reverse()){t.remove(e)}})})}}function s_(t,e,n){return e.filter(t=>t[0]!==undefined&&t[1]!==undefined).map(e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1])))}class r_ extends Dw{static get pluginName(){return\"Autoformat\"}afterInit(){this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats()}_addListAutoformats(){const t=this.editor.commands;if(t.get(\"bulletedList\")){new n_(this.editor,/^[*-]\\s$/,\"bulletedList\")}if(t.get(\"numberedList\")){new n_(this.editor,/^1[.|)]\\s$/,\"numberedList\")}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get(\"bold\")){const t=a_(this.editor,\"bold\");new o_(this.editor,/(\\*\\*)([^*]+)(\\*\\*)$/g,t);new o_(this.editor,/(__)([^_]+)(__)$/g,t)}if(t.get(\"italic\")){const t=a_(this.editor,\"italic\");new o_(this.editor,/(?:^|[^*])(\\*)([^*_]+)(\\*)$/g,t);new o_(this.editor,/(?:^|[^_])(_)([^_]+)(_)$/g,t)}if(t.get(\"code\")){const t=a_(this.editor,\"code\");new o_(this.editor,/(`)([^`]+)(`)$/g,t)}if(t.get(\"strikethrough\")){const t=a_(this.editor,\"strikethrough\");new o_(this.editor,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get(\"heading\");if(t){t.modelElements.filter(t=>t.match(/^heading[1-6]$/)).forEach(e=>{const n=e[7];const i=new RegExp(`^(#{${n}})\\\\s$`);new n_(this.editor,i,()=>{if(!t.isEnabled){return false}this.editor.execute(\"heading\",{value:e})})})}}_addBlockQuoteAutoformats(){if(this.editor.commands.get(\"blockQuote\")){new n_(this.editor,/^>\\s$/,\"blockQuote\")}}_addCodeBlockAutoformats(){if(this.editor.commands.get(\"codeBlock\")){new n_(this.editor,/^```$/,\"codeBlock\")}}}function a_(t,e){return(n,i)=>{const o=t.commands.get(e);if(!o.isEnabled){return false}const s=t.model.schema.getValidRanges(i,e);for(const t of s){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class c_{constructor(t){this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return true}}yr(c_,Kc);class l_ extends c_{static get pluginName(){return\"PendingActions\"}init(){this.set(\"hasAny\",false);this._actions=new xr({idProperty:\"_id\"});this._actions.delegate(\"add\",\"remove\").to(this)}add(t){if(typeof t!==\"string\"){throw new rr[\"b\"](\"pendingactions-add-invalid-message: The message must be a string.\",this)}const e=Object.create(Kc);e.set(\"message\",t);this._actions.add(e);this.hasAny=true;return e}remove(t){this._actions.remove(t);this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}class d_{constructor(){const t=new window.FileReader;this._reader=t;this._data=undefined;this.set(\"loaded\",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise((n,i)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{i(\"error\")};e.onabort=()=>{i(\"aborted\")};this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}yr(d_,Kc);class u_ extends Dw{static get pluginName(){return\"FileRepository\"}static get requires(){return[l_]}init(){this.loaders=new xr;this.loaders.on(\"add\",()=>this._updatePendingAction());this.loaders.on(\"remove\",()=>this._updatePendingAction());this._loadersMap=new Map;this._pendingAction=null;this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){console.warn(Object(rr[\"a\"])(\"filerepository-no-upload-adapter: Upload adapter is not defined.\"));return null}const e=new h_(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then(t=>{this._loadersMap.set(t,e)}).catch(()=>{})}e.on(\"change:uploaded\",()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t});e.on(\"change:uploadTotal\",()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t});return e}destroyLoader(t){const e=t instanceof h_?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach((t,n)=>{if(t===e){this._loadersMap.delete(n)}})}_updatePendingAction(){const t=this.editor.plugins.get(l_);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e(\"Upload in progress\")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind(\"message\").to(this,\"uploadedPercent\",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}yr(u_,Kc);class h_{constructor(t,e){this.id=nr();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new d_;this.set(\"status\",\"idle\");this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",(t,e)=>e?t/e*100:0);this.set(\"uploadResponse\",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null)}}get data(){return this._reader.data}read(){if(this.status!=\"idle\"){throw new rr[\"b\"](\"filerepository-read-wrong-status: You cannot call read if the status is different than idle.\",this)}this.status=\"reading\";return this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!==\"reading\"){throw this.status}this.status=\"idle\";return t}).catch(t=>{if(t===\"aborted\"){this.status=\"aborted\";throw\"aborted\"}this.status=\"error\";throw this._reader.error?this._reader.error:t})}upload(){if(this.status!=\"idle\"){throw new rr[\"b\"](\"filerepository-upload-wrong-status: You cannot call upload if the status is different than idle.\",this)}this.status=\"uploading\";return this.file.then(()=>this._adapter.upload()).then(t=>{this.uploadResponse=t;this.status=\"idle\";return t}).catch(t=>{if(this.status===\"aborted\"){throw\"aborted\"}this.status=\"error\";throw t})}abort(){const t=this.status;this.status=\"aborted\";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch(()=>{});this._filePromiseWrapper.rejecter(\"aborted\")}else if(t==\"reading\"){this._reader.abort()}else if(t==\"uploading\"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise((n,i)=>{e.rejecter=i;e.isFulfilled=false;t.then(t=>{e.isFulfilled=true;n(t)}).catch(t=>{e.isFulfilled=true;i(t)})});return e}}yr(h_,Kc);class f_ extends Dw{static get requires(){return[u_]}static get pluginName(){return\"Base64UploadAdapter\"}init(){this.editor.plugins.get(u_).createUploadAdapter=t=>new g_(t)}}class g_{constructor(t){this.loader=t}upload(){return new Promise((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener(\"load\",()=>{t({default:n.result})});n.addEventListener(\"error\",t=>{e(t)});n.addEventListener(\"abort\",()=>{e()});this.loader.file.then(t=>{n.readAsDataURL(t)})})}abort(){this.reader.abort()}}class m_ extends zw{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());const s=t.forceValue===undefined?!this.value:t.forceValue;e.change(t=>{if(!s){this._removeQuote(t,o.filter(p_))}else{const e=o.filter(t=>p_(t)||w_(n,t));this._applyQuote(t,e)}})}_getValue(){const t=this.editor.model.document.selection;const e=jw(t.getSelectedBlocks());return!!(e&&p_(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=jw(t.getSelectedBlocks());if(!n){return false}return w_(e,n)}_removeQuote(t,e){b_(t,e).reverse().forEach(e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)})}_applyQuote(t,e){const n=[];b_(t,e).reverse().forEach(e=>{let i=p_(e.start);if(!i){i=t.createElement(\"blockQuote\");t.wrap(e,i)}n.push(i)});n.reverse().reduce((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n})}}function p_(t){return t.parent.name==\"blockQuote\"?t.parent:null}function b_(t,e){let n;let i=0;const o=[];while(i<e.length){const s=e[i];const r=e[i+1];if(!n){n=t.createPositionBefore(s)}if(!r||s.nextSibling!=r){o.push(t.createRange(n,t.createPositionAfter(s)));n=null}i++}return o}function w_(t,e){const n=t.checkChild(e.parent,\"blockQuote\");const i=t.checkChild([\"$root\",\"blockQuote\"],e);return n&&i}class __ extends Dw{static get pluginName(){return\"BlockQuoteEditing\"}init(){const t=this.editor;const e=t.model.schema;t.commands.add(\"blockQuote\",new m_(t));e.register(\"blockQuote\",{allowWhere:\"$block\",allowContentOf:\"$root\"});e.addChildCheck((t,e)=>{if(t.endsWith(\"blockQuote\")&&e.name==\"blockQuote\"){return false}});t.conversion.elementToElement({model:\"blockQuote\",view:\"blockquote\"});t.model.document.registerPostFixer(n=>{const i=t.model.document.differ.getChanges();for(const t of i){if(t.type==\"insert\"){const i=t.position.nodeAfter;if(!i){continue}if(i.is(\"blockQuote\")&&i.isEmpty){n.remove(i);return true}else if(i.is(\"blockQuote\")&&!e.checkChild(t.position,i)){n.unwrap(i);return true}else if(i.is(\"element\")){const t=n.createRangeIn(i);for(const i of t.getItems()){if(i.is(\"blockQuote\")&&!e.checkChild(n.createPositionBefore(i),i)){n.unwrap(i);return true}}}}else if(t.type==\"remove\"){const e=t.position.parent;if(e.is(\"blockQuote\")&&e.isEmpty){n.remove(e);return true}}}return false})}afterInit(){const t=this.editor;const e=t.commands.get(\"blockQuote\");this.listenTo(this.editor.editing.view.document,\"enter\",(t,n)=>{const i=this.editor.model.document;const o=i.selection.getLastPosition().parent;if(i.selection.isCollapsed&&o.isEmpty&&e.value){this.editor.execute(\"blockQuote\");this.editor.editing.view.scrollToTheSelection();n.preventDefault();t.stop()}})}}var k_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 10.423a6.5 6.5 0 0 1 6.056-6.408l.038.67C6.448 5.423 5.354 7.663 5.22 10H9c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574zm8 0a6.5 6.5 0 0 1 6.056-6.408l.038.67c-2.646.739-3.74 2.979-3.873 5.315H17c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574z\"/></svg>';var v_=n(44);class y_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"blockQuote\",n=>{const i=t.commands.get(\"blockQuote\");const o=new sw(n);o.set({label:e(\"Block quote\"),icon:k_,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(\"blockQuote\");t.editing.view.focus()});return o})}}class x_ extends Dw{static get requires(){return[__,y_]}static get pluginName(){return\"BlockQuote\"}}class A_ extends zw{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const i=n.selection;const o=t.forceValue===undefined?!this.value:t.forceValue;e.change(t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,e)}else{t.removeAttribute(this.attributeKey,e)}}}})}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const T_=\"bold\";class C_ extends Dw{static get pluginName(){return\"BoldEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:T_});t.model.schema.setAttributeProperties(T_,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:T_,view:\"strong\",upcastAlso:[\"b\",t=>{const e=t.getStyle(\"font-weight\");if(!e){return null}if(e==\"bold\"||Number(e)>=600){return{name:true,styles:[\"font-weight\"]}}}]});t.commands.add(T_,new A_(t,T_));t.keystrokes.set(\"CTRL+B\",T_)}}var S_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.187 17H5.773c-.637 0-1.092-.138-1.364-.415-.273-.277-.409-.718-.409-1.323V4.738c0-.617.14-1.062.419-1.332.279-.27.73-.406 1.354-.406h4.68c.69 0 1.288.041 1.793.124.506.083.96.242 1.36.478.341.197.644.447.906.75a3.262 3.262 0 0 1 .808 2.162c0 1.401-.722 2.426-2.167 3.075C15.05 10.175 16 11.315 16 13.01a3.756 3.756 0 0 1-2.296 3.504 6.1 6.1 0 0 1-1.517.377c-.571.073-1.238.11-2 .11zm-.217-6.217H7v4.087h3.069c1.977 0 2.965-.69 2.965-2.072 0-.707-.256-1.22-.768-1.537-.512-.319-1.277-.478-2.296-.478zM7 5.13v3.619h2.606c.729 0 1.292-.067 1.69-.2a1.6 1.6 0 0 0 .91-.765c.165-.267.247-.566.247-.897 0-.707-.26-1.176-.778-1.409-.519-.232-1.31-.348-2.375-.348H7z\"/></svg>';const P_=\"bold\";class E_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(P_,n=>{const i=t.commands.get(P_);const o=new sw(n);o.set({label:e(\"Bold\"),icon:S_,keystroke:\"CTRL+B\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(P_);t.editing.view.focus()});return o})}}class M_ extends Dw{static get requires(){return[C_,E_]}static get pluginName(){return\"Bold\"}}const I_=\"code\";class N_ extends Dw{static get pluginName(){return\"CodeEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:I_});t.model.schema.setAttributeProperties(I_,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:I_,view:\"code\",upcastAlso:{styles:{\"word-wrap\":\"break-word\"}}});t.commands.add(I_,new A_(t,I_))}}var O_='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.5 5.7l5.2 3.9v1.3l-5.6 4c-.1.2-.3.2-.5.2-.3-.1-.6-.7-.6-1l.3-.4 4.7-3.5L11.5 7l-.2-.2c-.1-.3-.1-.6 0-.8.2-.2.5-.4.8-.4a.8.8 0 0 1 .4.1zm-5.2 0L2 9.6v1.3l5.6 4c.1.2.3.2.5.2.3-.1.7-.7.6-1 0-.1 0-.3-.2-.4l-5-3.5L8.2 7l.2-.2c.1-.3.1-.6 0-.8-.2-.2-.5-.4-.8-.4a.8.8 0 0 0-.3.1z\"/></svg>';var R_=n(11);const D_=\"code\";class L_ extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(D_,n=>{const i=t.commands.get(D_);const o=new sw(n);o.set({label:e(\"Code\"),icon:O_,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(D_);t.editing.view.focus()});return o})}}class z_ extends Dw{static get requires(){return[N_,L_]}static get pluginName(){return\"Code\"}}class V_{constructor(t){this.files=j_(t);this._native=t}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}}function j_(t){const e=t.files?Array.from(t.files):[];const n=t.items?Array.from(t.items):[];if(e.length){return e}return n.filter(t=>t.kind===\"file\").map(t=>t.getAsFile())}class B_ extends Qu{constructor(t){super(t);const e=this.document;this.domEventType=[\"paste\",\"copy\",\"cut\",\"drop\",\"dragover\"];this.listenTo(e,\"paste\",n,{priority:\"low\"});this.listenTo(e,\"drop\",n,{priority:\"low\"});function n(t,n){n.preventDefault();const i=n.dropRange?[n.dropRange]:Array.from(e.selection.getRanges());const o=new tr(e,\"clipboardInput\");e.fire(o,{dataTransfer:n.dataTransfer,targetRanges:i});if(o.stop.called){n.stopPropagation()}}}onDomEvent(t){const e={dataTransfer:new V_(t.clipboardData?t.clipboardData:t.dataTransfer)};if(t.type==\"drop\"){e.dropRange=F_(this.view,t)}this.fire(t.type,t,e)}}function F_(t,e){const n=e.target.ownerDocument;const i=e.clientX;const o=e.clientY;let s;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(i,o)){s=n.caretRangeFromPoint(i,o)}else if(e.rangeParent){s=n.createRange();s.setStart(e.rangeParent,e.rangeOffset);s.collapse(true)}if(s){return t.domConverter.domRangeToView(s)}else{return t.document.selection.getFirstRange()}}function H_(t){t=t.replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\n/g,\"</p><p>\").replace(/^\\s/,\"&nbsp;\").replace(/\\s$/,\"&nbsp;\").replace(/\\s\\s/g,\" &nbsp;\");if(t.indexOf(\"</p><p>\")>-1){t=`<p>${t}</p>`}return t}function U_(t){return t.replace(/<span(?: class=\"Apple-converted-space\"|)>(\\s+)<\\/span>/g,(t,e)=>{if(e.length==1){return\" \"}return e})}const W_=[\"figcaption\",\"li\"];function q_(t){let e=\"\";if(t.is(\"text\")||t.is(\"textProxy\")){e=t.data}else if(t.is(\"img\")&&t.hasAttribute(\"alt\")){e=t.getAttribute(\"alt\")}else{let n=null;for(const i of t.getChildren()){const t=q_(i);if(n&&(n.is(\"containerElement\")||i.is(\"containerElement\"))){if(W_.includes(n.name)||W_.includes(i.name)){e+=\"\\n\"}else{e+=\"\\n\\n\"}}e+=t;n=i}}return e}class $_ extends Dw{static get pluginName(){return\"Clipboard\"}init(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const i=n.document;this._htmlDataProcessor=new Ap(i);n.addObserver(B_);this.listenTo(i,\"clipboardInput\",e=>{if(t.isReadOnly){e.stop()}},{priority:\"highest\"});this.listenTo(i,\"clipboardInput\",(t,e)=>{const i=e.dataTransfer;let o=\"\";if(i.getData(\"text/html\")){o=U_(i.getData(\"text/html\"))}else if(i.getData(\"text/plain\")){o=H_(i.getData(\"text/plain\"))}o=this._htmlDataProcessor.toView(o);const s=new tr(this,\"inputTransformation\");this.fire(s,{content:o,dataTransfer:i});if(s.stop.called){t.stop()}n.scrollToTheSelection()},{priority:\"low\"});this.listenTo(this,\"inputTransformation\",(t,e)=>{if(!e.content.isEmpty){const n=this.editor.data;const i=this.editor.model;const o=n.toModel(e.content,\"$clipboardHolder\");if(o.childCount==0){return}i.insertContent(o);t.stop()}},{priority:\"low\"});function o(n,o){const s=o.dataTransfer;o.preventDefault();const r=t.data.toView(t.model.getSelectedContent(e.selection));i.fire(\"clipboardOutput\",{dataTransfer:s,content:r,method:n.name})}this.listenTo(i,\"copy\",o,{priority:\"low\"});this.listenTo(i,\"cut\",(e,n)=>{if(t.isReadOnly){n.preventDefault()}else{o(e,n)}},{priority:\"low\"});this.listenTo(i,\"clipboardOutput\",(n,i)=>{if(!i.content.isEmpty){i.dataTransfer.setData(\"text/html\",this._htmlDataProcessor.toData(i.content));i.dataTransfer.setData(\"text/plain\",q_(i.content))}if(i.method==\"cut\"){t.model.deleteContent(e.selection)}},{priority:\"low\"})}}function*Y_(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class G_ extends zw{execute(){const t=this.editor.model;const e=t.document;t.change(n=>{Q_(this.editor.model,n,e.selection,t.schema);this.fire(\"afterExecute\",{writer:n})})}}function Q_(t,e,n,i){const o=n.isCollapsed;const s=n.getFirstRange();const r=s.start.parent;const a=s.end.parent;if(i.isLimit(r)||i.isLimit(a)){if(!o&&r==a){t.deleteContent(n)}return}if(o){const t=Y_(e.model.schema,n.getAttributes());K_(e,s.start);e.setSelectionAttribute(t)}else{const i=!(s.start.isAtStart&&s.end.isAtEnd);const o=r==a;t.deleteContent(n,{leaveUnmerged:i});if(i){if(o){K_(e,n.focus)}else{e.setSelection(a,0)}}}}function K_(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}class J_ extends Yd{constructor(t){super(t);const e=this.document;e.on(\"keydown\",(t,n)=>{if(this.isEnabled&&n.keyCode==Rl.enter){let i;e.once(\"enter\",t=>i=t,{priority:\"highest\"});e.fire(\"enter\",new Gu(e,n.domEvent,{isSoft:n.shiftKey}));if(i&&i.stop.called){t.stop()}}})}observe(){}}class Z_ extends Dw{static get pluginName(){return\"Enter\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(J_);t.commands.add(\"enter\",new G_(t));this.listenTo(n,\"enter\",(n,i)=>{i.preventDefault();if(i.isSoft){return}t.execute(\"enter\");e.scrollToTheSelection()},{priority:\"low\"})}}class X_ extends zw{execute(){const t=this.editor.model;const e=t.document;t.change(n=>{ek(t,n,e.selection);this.fire(\"afterExecute\",{writer:n})})}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=tk(t.schema,e.selection)}}function tk(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,\"softBreak\")){return false}const i=e.getFirstRange();const o=i.start.parent;const s=i.end.parent;if((ik(o,t)||ik(s,t))&&o!==s){return false}return true}function ek(t,e,n){const i=n.isCollapsed;const o=n.getFirstRange();const s=o.start.parent;const r=o.end.parent;const a=s==r;if(i){const i=Y_(t.schema,n.getAttributes());nk(t,e,o.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(i)}else{const i=!(o.start.isAtStart&&o.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i});if(a){nk(t,e,n.focus)}else{if(i){e.setSelection(r,0)}}}}function nk(t,e,n){const i=e.createElement(\"softBreak\");t.insertContent(i,n);e.setSelection(i,\"after\")}function ik(t,e){if(t.is(\"rootElement\")){return false}return e.isLimit(t)||ik(t.parent,e)}class ok extends Dw{static get pluginName(){return\"ShiftEnter\"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const i=t.editing.view;const o=i.document;e.register(\"softBreak\",{allowWhere:\"$text\",isInline:true});n.for(\"upcast\").elementToElement({model:\"softBreak\",view:\"br\"});n.for(\"downcast\").elementToElement({model:\"softBreak\",view:(t,e)=>e.createEmptyElement(\"br\")});i.addObserver(J_);t.commands.add(\"shiftEnter\",new X_(t));this.listenTo(o,\"enter\",(e,n)=>{n.preventDefault();if(!n.isSoft){return}t.execute(\"shiftEnter\");i.scrollToTheSelection()},{priority:\"low\"})}}class sk extends zw{execute(){const t=this.editor.model;const e=t.schema.getLimitElement(t.document.selection);t.change(t=>{t.setSelection(e,\"in\")})}}const rk=Ll(\"Ctrl+A\");class ak extends Dw{static get pluginName(){return\"SelectAllEditing\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add(\"selectAll\",new sk(t));this.listenTo(n,\"keydown\",(e,n)=>{if(Dl(n)===rk){t.execute(\"selectAll\");n.preventDefault()}})}}var ck='<svg width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M.75 15.5a.75.75 0 0 1 .75.75V18l.008.09A.5.5 0 0 0 2 18.5h1.75a.75.75 0 1 1 0 1.5H1.5l-.144-.007a1.5 1.5 0 0 1-1.35-1.349L0 18.5v-2.25a.75.75 0 0 1 .75-.75zm18.5 0a.75.75 0 0 1 .75.75v2.25l-.007.144a1.5 1.5 0 0 1-1.349 1.35L18.5 20h-2.25a.75.75 0 1 1 0-1.5H18a.5.5 0 0 0 .492-.41L18.5 18v-1.75a.75.75 0 0 1 .75-.75zm-10.45 3c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm.45-5.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5h8.5zM1.3 11c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM1.3 7c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 1 1 0-1.5h2.5zm-5 0a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5h5.5zm-6.5-5a.75.75 0 0 1 0 1.5H2a.5.5 0 0 0-.492.41L1.5 2v1.75a.75.75 0 0 1-1.5 0V1.5l.007-.144A1.5 1.5 0 0 1 1.356.006L1.5 0h2.25zM18.5 0l.144.007a1.5 1.5 0 0 1 1.35 1.349L20 1.5v2.25a.75.75 0 1 1-1.5 0V2l-.008-.09A.5.5 0 0 0 18 1.5h-1.75a.75.75 0 1 1 0-1.5h2.25zM8.8 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6z\"/></svg>';class lk extends Dw{static get pluginName(){return\"SelectAllUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"selectAll\",e=>{const n=t.commands.get(\"selectAll\");const i=new sw(e);const o=e.t;i.set({label:o(\"Select all\"),icon:ck,keystroke:\"Ctrl+A\",tooltip:true});i.bind(\"isOn\",\"isEnabled\").to(n,\"value\",\"isEnabled\");this.listenTo(i,\"execute\",()=>{t.execute(\"selectAll\");t.editing.view.focus()});return i})}}class dk extends Dw{static get requires(){return[ak,lk]}static get pluginName(){return\"SelectAll\"}}class uk{constructor(t,e=20){this.model=t;this.size=0;this.limit=e;this.isLocked=false;this._changeCallback=(t,e)=>{if(e.type!=\"transparent\"&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on(\"change\",this._changeCallback);this.model.document.selection.on(\"change:range\",this._selectionChangeCallback);this.model.document.selection.on(\"change:attribute\",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch()}return this._batch}input(t){this.size+=t;if(this.size>=this.limit){this._reset(true)}}lock(){this.isLocked=true}unlock(){this.isLocked=false}destroy(){this.model.document.off(\"change\",this._changeCallback);this.model.document.selection.off(\"change:range\",this._selectionChangeCallback);this.model.document.selection.off(\"change:attribute\",this._selectionChangeCallback)}_reset(t){if(!this.isLocked||t){this._batch=null;this.size=0}}}class hk extends zw{constructor(t,e){super(t);this._buffer=new uk(t.model,e);this._batches=new WeakSet}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const i=t.text||\"\";const o=i.length;const s=t.range?e.createSelection(t.range):n.selection;const r=t.resultRange;e.enqueueChange(this._buffer.batch,t=>{this._buffer.lock();e.deleteContent(s);if(i){e.insertContent(t.createText(i,n.selection.getAttributes()),s)}if(r){t.setSelection(r)}else if(!s.is(\"documentSelection\")){t.setSelection(s)}this._buffer.unlock();this._buffer.input(o);this._batches.add(this._buffer.batch)})}}function fk(t){let e=null;const n=t.model;const i=t.editing.view;const o=t.commands.get(\"input\");if(Cl.isAndroid){i.document.on(\"beforeinput\",(t,e)=>s(e),{priority:\"lowest\"})}else{i.document.on(\"keydown\",(t,e)=>s(e),{priority:\"lowest\"})}i.document.on(\"compositionstart\",r,{priority:\"lowest\"});i.document.on(\"compositionend\",()=>{e=n.createSelection(n.document.selection)},{priority:\"lowest\"});function s(t){const s=n.document;const r=i.document.isComposing;const c=e&&e.isEqual(s.selection);e=null;if(!o.isEnabled){return}if(mk(t)||s.selection.isCollapsed){return}if(r&&t.keyCode===229){return}if(!r&&t.keyCode===229&&c){return}a()}function r(){const t=n.document;const e=t.selection.rangeCount===1?t.selection.getFirstRange().isFlat:true;if(t.selection.isCollapsed||e){return}a()}function a(){const t=o.buffer;t.lock();n.enqueueChange(t.batch,()=>{n.deleteContent(n.document.selection)});t.unlock()}}const gk=[Dl(\"arrowUp\"),Dl(\"arrowRight\"),Dl(\"arrowDown\"),Dl(\"arrowLeft\"),9,16,17,18,19,20,27,33,34,35,36,45,91,93,144,145,173,174,175,176,177,178,179,255];for(let t=112;t<=135;t++){gk.push(t)}function mk(t){if(t.ctrlKey){return true}return gk.includes(t.keyCode)}function pk(t,e){const n=[];let i=0;let o;t.forEach(t=>{if(t==\"equal\"){s();i++}else if(t==\"insert\"){if(r(\"insert\")){o.values.push(e[i])}else{s();o={type:\"insert\",index:i,values:[e[i]]}}i++}else{if(r(\"delete\")){o.howMany++}else{s();o={type:\"delete\",index:i,howMany:1}}}});s();return n;function s(){if(o){n.push(o);o=null}}function r(t){return o&&o.type==t}}function bk(t){if(t.length==0){return false}for(const e of t){if(e.type===\"children\"&&!wk(e)){return true}}return false}function wk(t){if(t.newChildren.length-t.oldChildren.length!=1){return}const e=kd(t.oldChildren,t.newChildren,_k);const n=pk(e,t.newChildren);if(n.length>1){return}const i=n[0];if(!(!!i.values[0]&&i.values[0].is(\"text\"))){return}return i}function _k(t,e){if(!!t&&t.is(\"text\")&&!!e&&e.is(\"text\")){return t.data===e.data}else{return t===e}}function kk(t){t.editing.view.document.on(\"mutations\",(e,n,i)=>{new vk(t).handle(n,i)})}class vk{constructor(t){this.editor=t;this.editing=this.editor.editing}handle(t,e){if(bk(t)){this._handleContainerChildrenMutations(t,e)}else{for(const n of t){this._handleTextMutation(n,e);this._handleTextNodeInsertion(n)}}}_handleContainerChildrenMutations(t,e){const n=yk(t);if(!n){return}const i=this.editor.editing.view.domConverter;const o=i.mapViewToDom(n);const s=new zd(this.editor.editing.view.document);const r=this.editor.data.toModel(s.domToView(o)).getChild(0);const a=this.editor.editing.mapper.toModelElement(n);if(!a){return}const c=Array.from(r.getChildren());const l=Array.from(a.getChildren());const d=c[c.length-1];const u=l[l.length-1];if(d&&d.is(\"softBreak\")&&u&&!u.is(\"softBreak\")){c.pop()}const h=this.editor.model.schema;if(!xk(c,h)||!xk(l,h)){return}const f=c.map(t=>t.is(\"text\")?t.data:\"@\").join(\"\").replace(/\\u00A0/g,\" \");const g=l.map(t=>t.is(\"text\")?t.data:\"@\").join(\"\").replace(/\\u00A0/g,\" \");if(g===f){return}const m=kd(g,f);const{firstChangeAt:p,insertions:b,deletions:w}=Ak(m);let _=null;if(e){_=this.editing.mapper.toModelRange(e.getFirstRange())}const k=f.substr(p,b);const v=this.editor.model.createRange(this.editor.model.createPositionAt(a,p),this.editor.model.createPositionAt(a,p+w));this.editor.execute(\"input\",{text:k,range:v,resultRange:_})}_handleTextMutation(t,e){if(t.type!=\"text\"){return}const n=t.newText.replace(/\\u00A0/g,\" \");const i=t.oldText.replace(/\\u00A0/g,\" \");if(i===n){return}const o=kd(i,n);const{firstChangeAt:s,insertions:r,deletions:a}=Ak(o);let c=null;if(e){c=this.editing.mapper.toModelRange(e.getFirstRange())}const l=this.editing.view.createPositionAt(t.node,s);const d=this.editing.mapper.toModelPosition(l);const u=this.editor.model.createRange(d,d.getShiftedBy(a));const h=n.substr(s,r);this.editor.execute(\"input\",{text:h,range:u,resultRange:c})}_handleTextNodeInsertion(t){if(t.type!=\"children\"){return}const e=wk(t);const n=this.editing.view.createPositionAt(t.node,e.index);const i=this.editing.mapper.toModelPosition(n);const o=e.values[0].data;this.editor.execute(\"input\",{text:o.replace(/\\u00A0/g,\" \"),range:this.editor.model.createRange(i)})}}function yk(t){const e=t.map(t=>t.node).reduce((t,e)=>t.getCommonAncestor(e,{includeSelf:true}));if(!e){return}return e.getAncestors({includeSelf:true,parentFirst:true}).find(t=>t.is(\"containerElement\")||t.is(\"rootElement\"))}function xk(t,e){return t.every(t=>e.isInline(t))}function Ak(t){let e=null;let n=null;for(let i=0;i<t.length;i++){const o=t[i];if(o!=\"equal\"){e=e===null?i:e;n=i}}let i=0;let o=0;for(let s=e;s<=n;s++){if(t[s]!=\"insert\"){i++}if(t[s]!=\"delete\"){o++}}return{insertions:o,deletions:i,firstChangeAt:e}}class Tk extends Dw{static get pluginName(){return\"Input\"}init(){const t=this.editor;const e=new hk(t,t.config.get(\"typing.undoStep\")||20);t.commands.add(\"input\",e);fk(t);kk(t)}isInput(t){const e=this.editor.commands.get(\"input\");return e._batches.has(t)}}class Ck extends zw{constructor(t,e){super(t);this.direction=e;this._buffer=new uk(t.model,t.config.get(\"typing.undoStep\"))}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,i=>{this._buffer.lock();const o=i.createSelection(t.selection||n.selection);const s=o.isCollapsed;if(o.isCollapsed){e.modifySelection(o,{direction:this.direction,unit:t.unit})}if(this._shouldEntireContentBeReplacedWithParagraph(t.sequence||1)){this._replaceEntireContentWithParagraph(i);return}if(o.isCollapsed){return}let r=0;o.getFirstRange().getMinimalFlatRanges().forEach(t=>{r+=gl(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))});e.deleteContent(o,{doNotResetEntireContent:s,direction:this.direction});this._buffer.input(r);i.setSelection(o);this._buffer.unlock()})}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const s=i.isCollapsed&&i.containsEntireContent(o);if(!s){return false}if(!e.schema.checkChild(o,\"paragraph\")){return false}const r=o.getChild(0);if(r&&r.name===\"paragraph\"){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const s=t.createElement(\"paragraph\");t.remove(t.createRangeIn(o));t.insert(s,o);t.setSelection(s,0)}}class Sk extends Yd{constructor(t){super(t);const e=t.document;let n=0;e.on(\"keyup\",(t,e)=>{if(e.keyCode==Rl.delete||e.keyCode==Rl.backspace){n=0}});e.on(\"keydown\",(t,e)=>{const o={};if(e.keyCode==Rl.delete){o.direction=\"forward\";o.unit=\"character\"}else if(e.keyCode==Rl.backspace){o.direction=\"backward\";o.unit=\"codePoint\"}else{return}const s=Cl.isMac?e.altKey:e.ctrlKey;o.unit=s?\"word\":o.unit;o.sequence=++n;i(t,e.domEvent,o)});if(Cl.isAndroid){e.on(\"beforeinput\",(e,n)=>{if(n.domEvent.inputType!=\"deleteContentBackward\"){return}const o={unit:\"codepoint\",direction:\"backward\",sequence:1};const s=n.domTarget.ownerDocument.defaultView.getSelection();if(s.anchorNode==s.focusNode&&s.anchorOffset+1!=s.focusOffset){o.selectionToRemove=t.domConverter.domSelectionToView(s)}i(e,n.domEvent,o)})}function i(t,n,i){let o;e.once(\"delete\",t=>o=t,{priority:Number.POSITIVE_INFINITY});e.fire(\"delete\",new Gu(e,n,i));if(o&&o.stop.called){t.stop()}}}observe(){}}class Pk extends Dw{static get pluginName(){return\"Delete\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(Sk);t.commands.add(\"forwardDelete\",new Ck(t,\"forward\"));t.commands.add(\"delete\",new Ck(t,\"backward\"));this.listenTo(n,\"delete\",(n,i)=>{const o={unit:i.unit,sequence:i.sequence};if(i.selectionToRemove){const e=t.model.createSelection();const n=[];for(const e of i.selectionToRemove.getRanges()){n.push(t.editing.mapper.toModelRange(e))}e.setTo(n);o.selection=e}t.execute(i.direction==\"forward\"?\"forwardDelete\":\"delete\",o);i.preventDefault();e.scrollToTheSelection()});if(Cl.isAndroid){let t=null;this.listenTo(n,\"delete\",(e,n)=>{const i=n.domTarget.ownerDocument.defaultView.getSelection();t={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}},{priority:\"lowest\"});this.listenTo(n,\"keyup\",(e,n)=>{if(t){const e=n.domTarget.ownerDocument.defaultView.getSelection();e.collapse(t.anchorNode,t.anchorOffset);e.extend(t.focusNode,t.focusOffset);t=null}})}}}class Ek extends Dw{static get requires(){return[Tk,Pk]}static get pluginName(){return\"Typing\"}}const Mk=new Map;function Ik(t,e,n){let i=Mk.get(t);if(!i){i=new Map;Mk.set(t,i)}i.set(e,n)}function Nk(t,e){const n=Mk.get(t);if(n&&n.has(e)){return n.get(e)}return Ok}function Ok(t){return[t]}function Rk(t,e,n={}){const i=Nk(t.constructor,e.constructor);try{t=t.clone();return i(t,e,n)}catch(t){throw t}}function Dk(t,e,n){t=t.slice();e=e.slice();const i=new Lk(n.document,n.useRelations,n.forceWeakRemove);i.setOriginalOperations(t);i.setOriginalOperations(e);const o=i.originalOperations;if(t.length==0||e.length==0){return{operationsA:t,operationsB:e,originalOperations:o}}const s=new WeakMap;for(const e of t){s.set(e,0)}const r={nextBaseVersionA:t[t.length-1].baseVersion+1,nextBaseVersionB:e[e.length-1].baseVersion+1,originalOperationsACount:t.length,originalOperationsBCount:e.length};let a=0;while(a<t.length){const n=t[a];const o=s.get(n);if(o==e.length){a++;continue}const r=e[o];const c=Rk(n,r,i.getContext(n,r,true));const l=Rk(r,n,i.getContext(r,n,false));i.updateRelation(n,r);i.setOriginalOperations(c,n);i.setOriginalOperations(l,r);for(const t of c){s.set(t,o+l.length)}t.splice(a,1,...c);e.splice(o,1,...l)}if(n.padWithNoOps){const n=t.length-r.originalOperationsACount;const i=e.length-r.originalOperationsBCount;Vk(t,i-n);Vk(e,n-i)}zk(t,r.nextBaseVersionB);zk(e,r.nextBaseVersionA);return{operationsA:t,operationsB:e,originalOperations:o}}class Lk{constructor(t,e,n=false){this.originalOperations=new Map;this._history=t.history;this._useRelations=e;this._forceWeakRemove=!!n;this._relations=new Map}setOriginalOperations(t,e=null){const n=e?this.originalOperations.get(e):null;for(const e of t){this.originalOperations.set(e,n||e)}}updateRelation(t,e){switch(t.constructor){case im:{switch(e.constructor){case cm:{if(t.targetPosition.isEqual(e.sourcePosition)||e.movedRange.containsPosition(t.targetPosition)){this._setRelation(t,e,\"insertAtSource\")}else if(t.targetPosition.isEqual(e.deletionPosition)){this._setRelation(t,e,\"insertBetween\")}else if(t.targetPosition.isAfter(e.sourcePosition)){this._setRelation(t,e,\"moveTargetAfter\")}break}case im:{if(t.targetPosition.isEqual(e.sourcePosition)||t.targetPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"insertBefore\")}else{this._setRelation(t,e,\"insertAfter\")}break}}break}case lm:{switch(e.constructor){case cm:{if(t.splitPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"splitBefore\")}break}case im:{if(t.splitPosition.isEqual(e.sourcePosition)||t.splitPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,\"splitBefore\")}break}}break}case cm:{switch(e.constructor){case cm:{if(!t.targetPosition.isEqual(e.sourcePosition)){this._setRelation(t,e,\"mergeTargetNotMoved\")}if(t.sourcePosition.isEqual(e.targetPosition)){this._setRelation(t,e,\"mergeSourceNotMoved\")}if(t.sourcePosition.isEqual(e.sourcePosition)){this._setRelation(t,e,\"mergeSameElement\")}break}case lm:{if(t.sourcePosition.isEqual(e.splitPosition)){this._setRelation(t,e,\"splitAtSource\")}}}break}case sm:{const n=t.newRange;if(!n){return}switch(e.constructor){case im:{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);const o=i.containsPosition(n.start)||i.start.isEqual(n.start);const s=i.containsPosition(n.end)||i.end.isEqual(n.end);if((o||s)&&!i.containsRange(n)){this._setRelation(t,e,{side:o?\"left\":\"right\",path:o?n.start.path.slice():n.end.path.slice()})}break}case cm:{const i=n.start.isEqual(e.targetPosition);const o=n.start.isEqual(e.deletionPosition);const s=n.end.isEqual(e.deletionPosition);const r=n.end.isEqual(e.sourcePosition);if(i||o||s||r){this._setRelation(t,e,{wasInLeftElement:i,wasStartBeforeMergedElement:o,wasEndBeforeMergedElement:s,wasInRightElement:r})}break}}break}}}getContext(t,e,n){return{aIsStrong:n,aWasUndone:this._wasUndone(t),bWasUndone:this._wasUndone(e),abRelation:this._useRelations?this._getRelation(t,e):null,baRelation:this._useRelations?this._getRelation(e,t):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(t){const e=this.originalOperations.get(t);return e.wasUndone||this._history.isUndoneOperation(e)}_getRelation(t,e){const n=this.originalOperations.get(e);const i=this._history.getUndoneOperation(n);if(!i){return null}const o=this.originalOperations.get(t);const s=this._relations.get(o);if(s){return s.get(i)||null}return null}_setRelation(t,e,n){const i=this.originalOperations.get(t);const o=this.originalOperations.get(e);let s=this._relations.get(i);if(!s){s=new Map;this._relations.set(i,s)}s.set(o,n)}}function zk(t,e){for(const n of t){n.baseVersion=e++}}function Vk(t,e){for(let n=0;n<e;n++){t.push(new Nm(0))}}Ik(em,em,(t,e,n)=>{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map(e=>new em(e,t.key,t.oldValue,t.newValue,0));const o=t.range.getIntersection(e.range);if(o){if(n.aIsStrong){i.push(new em(o,e.key,e.newValue,t.newValue,0))}}if(i.length==0){return[new Nm(0)]}return i}else{return[t]}});Ik(em,om,(t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes);const i=n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion));if(e.shouldReceiveAttributes){const n=jk(e,t.key,t.oldValue);if(n){i.unshift(n)}}return i}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]});function jk(t,e,n){const i=t.nodes;const o=i.getNode(0).getAttribute(e);if(o==n){return null}const s=new Qh(t.position,t.position.getShiftedBy(t.howMany));return new em(s,e,o,n,0)}Ik(em,cm,(t,e)=>{const n=[];if(t.range.start.hasSameParentAs(e.deletionPosition)){if(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition)){n.push(Qh._createFromPositionAndShift(e.graveyardPosition,1))}}const i=t.range._getTransformedByMergeOperation(e);if(!i.isCollapsed){n.push(i)}return n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion))});Ik(em,im,(t,e)=>{const n=Bk(t.range,e);return n.map(e=>new em(e,t.key,t.oldValue,t.newValue,t.baseVersion))});function Bk(t,e){const n=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null;let o=[];if(n.containsRange(t,true)){i=t}else if(t.start.hasSameParentAs(n.start)){o=t.getDifference(n);i=t.getIntersection(n)}else{o=[t]}const s=[];for(let t of o){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const i=t.start.hasSameParentAs(n);t=t._getTransformedByInsertion(n,e.howMany,i);s.push(...t)}if(i){s.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return s}Ik(em,lm,(t,e)=>{if(t.range.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.range.end.offset++}return[t]}if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();n.range=new Qh(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition));t.range.end=e.splitPosition.clone();t.range.end.stickiness=\"toPrevious\";return[t,n]}t.range=t.range._getTransformedBySplitOperation(e);return[t]});Ik(om,em,(t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=jk(t,e.key,e.newValue);if(i){n.push(i)}}return n});Ik(om,om,(t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]});Ik(om,im,(t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]});Ik(om,lm,(t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]});Ik(om,cm,(t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]});Ik(sm,om,(t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]});Ik(sm,sm,(t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new Nm(0)]}}return[t]});Ik(sm,cm,(t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]});Ik(sm,im,(t,e,n)=>{if(t.oldRange){t.oldRange=Qh._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const i=Qh._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(n.abRelation.side==\"left\"&&e.targetPosition.isEqual(t.newRange.start)){t.newRange.start.path=n.abRelation.path;t.newRange.end=i.end;return[t]}else if(n.abRelation.side==\"right\"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=i.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=Qh._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]});Ik(sm,lm,(t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=qh._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=qh._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=qh._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=qh._createAt(e.insertionPosition)}else{t.newRange.end=i.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]});Ik(cm,om,(t,e)=>{if(t.sourcePosition.hasSameParentAs(e.position)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e);t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e);return[t]});Ik(cm,cm,(t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new Nm(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new qh(e.graveyardPosition.root,n);t.howMany=0;return[t]}}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&n.abRelation!=\"splitAtSource\"){const i=t.targetPosition.root.rootName==\"$graveyard\";const o=e.targetPosition.root.rootName==\"$graveyard\";const s=i&&!o;const r=o&&!i;const a=r||!s&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const i=t.targetPosition._getTransformedByMergeOperation(e);return[new im(n,t.howMany,i,0)]}else{return[new Nm(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e);t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);if(!t.graveyardPosition.isEqual(e.graveyardPosition)||!n.aIsStrong){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]});Ik(cm,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)){return[new Nm(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}if(t.sourcePosition.hasSameParentAs(e.sourcePosition)){t.howMany-=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e);t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e);if(!t.graveyardPosition.isEqual(e.targetPosition)){t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}return[t]});Ik(cm,lm,(t,e,n)=>{if(e.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1);if(t.deletionPosition.isEqual(e.graveyardPosition)){t.howMany=e.howMany}}if(t.targetPosition.isEqual(e.splitPosition)){const i=e.howMany!=0;const o=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(i||o||n.abRelation==\"mergeTargetNotMoved\"){t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.isEqual(e.splitPosition)){if(n.abRelation==\"mergeSourceNotMoved\"){t.howMany=0;t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}if(n.abRelation==\"mergeSameElement\"||t.sourcePosition.offset>0){t.sourcePosition=e.moveTargetPosition.clone();t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.hasSameParentAs(e.splitPosition)){t.howMany=e.splitPosition.offset}t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]});Ik(im,om,(t,e)=>{const n=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=i.start;t.howMany=i.end.offset-i.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]});Ik(im,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);let s=n.aIsStrong;let r=!n.aIsStrong;if(n.abRelation==\"insertBefore\"||n.baRelation==\"insertAfter\"){r=true}else if(n.abRelation==\"insertAfter\"||n.baRelation==\"insertBefore\"){r=false}let a;if(t.targetPosition.isEqual(e.targetPosition)&&r){a=t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)}else{a=t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}if(Fk(t,e)&&Fk(e,t)){return[e.getReversed()]}const c=i.containsPosition(e.targetPosition);if(c&&i.containsRange(o,true)){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return Hk([i],a)}const l=o.containsPosition(t.targetPosition);if(l&&o.containsRange(i,true)){i.start=i.start._getCombined(e.sourcePosition,e.getMovedRangeStart());i.end=i.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return Hk([i],a)}const d=Dr(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(d==\"prefix\"||d==\"extension\"){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return Hk([i],a)}if(t.type==\"remove\"&&e.type!=\"remove\"&&!n.aWasUndone&&!n.forceWeakRemove){s=true}else if(t.type!=\"remove\"&&e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){s=false}const u=[];const h=i.getDifference(o);for(const t of h){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany);t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=Dr(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())==\"same\";const i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);u.push(...i)}const f=i.getIntersection(o);if(f!==null&&s){f.start=f.start._getCombined(e.sourcePosition,e.getMovedRangeStart());f.end=f.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(u.length===0){u.push(f)}else if(u.length==1){if(o.start.isBefore(i.start)||o.start.isEqual(i.start)){u.unshift(f)}else{u.push(f)}}else{u.splice(1,0,f)}}if(u.length===0){return[new Nm(t.baseVersion)]}return Hk(u,a)});Ik(im,lm,(t,e,n)=>{let i=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation==\"moveTargetAfter\"){i=t.targetPosition._getTransformedBySplitOperation(e)}const o=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=i;return[t]}if(o.start.hasSameParentAs(e.splitPosition)&&o.containsPosition(e.splitPosition)){let t=new Qh(e.splitPosition,o.end);t=t._getTransformedBySplitOperation(e);const n=[new Qh(o.start,e.splitPosition),t];return Hk(n,i)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation==\"insertAtSource\"){i=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation==\"insertBetween\"){i=t.targetPosition}const s=o._getTransformedBySplitOperation(e);const r=[s];if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(t.howMany>1&&i&&!n.aWasUndone){r.push(Qh._createFromPositionAndShift(e.insertionPosition,1))}}return Hk(r,i)});Ik(im,cm,(t,e,n)=>{const i=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition)){if(t.type==\"remove\"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone();let o=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new im(t.sourcePosition,t.howMany-1,t.targetPosition,0));i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const s=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const r=new im(i,1,s,0);const a=r.getMovedRangeStart().path.slice();a.push(0);const c=new qh(r.targetPosition.root,a);o=o._getTransformedByMove(i,s,1);const l=new im(o,e.howMany,c,0);n.push(r);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new Nm(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const o=Qh._createFromPositionAndShift(t.sourcePosition,t.howMany);const s=o._getTransformedByMergeOperation(e);t.sourcePosition=s.start;t.howMany=s.end.offset-s.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]});Ik(rm,om,(t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]});Ik(rm,cm,(t,e)=>{if(t.position.isEqual(e.deletionPosition)){t.position=e.graveyardPosition.clone();t.position.stickiness=\"toNext\";return[t]}t.position=t.position._getTransformedByMergeOperation(e);return[t]});Ik(rm,im,(t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]});Ik(rm,rm,(t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new Nm(0)]}}return[t]});Ik(rm,lm,(t,e)=>{const n=t.position.path;const i=e.splitPosition.getParentPath();if(Dr(n,i)==\"same\"&&!e.graveyardPosition){const e=new rm(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]});Ik(am,am,(t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new Nm(0)]}else{t.oldValue=e.newValue}}return[t]});Ik(lm,om,(t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset<e.position.offset){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByInsertOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]});Ik(lm,cm,(t,e,n)=>{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new qh(e.graveyardPosition.root,n);const o=lm.getInsertionPosition(new qh(e.graveyardPosition.root,n));const s=new lm(i,0,null,0);s.insertionPosition=o;t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);t.graveyardPosition=s.insertionPosition.clone();t.graveyardPosition.stickiness=\"toNext\";return[s,t]}if(t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)){t.howMany--}if(t.splitPosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]});Ik(lm,im,(t,e,n)=>{const i=Qh._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&o){const n=t.splitPosition._getTransformedByMoveOperation(e);const i=t.graveyardPosition._getTransformedByMoveOperation(e);const o=i.path.slice();o.push(0);const s=new qh(i.root,o);const r=new im(n,t.howMany,s,0);return[r]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);t.howMany-=n;if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset<e.targetPosition.offset){t.howMany+=e.howMany}t.splitPosition=e.sourcePosition.clone();t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]}const o=t.splitPosition.isEqual(e.targetPosition);if(o&&(n.baRelation==\"insertAtSource\"||n.abRelation==\"splitBefore\")){t.howMany+=e.howMany;t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]}if(!e.sourcePosition.isEqual(e.targetPosition)){if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&t.splitPosition.offset<=e.sourcePosition.offset){t.howMany-=e.howMany}if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset<e.targetPosition.offset){t.howMany+=e.howMany}}t.splitPosition.stickiness=\"toNone\";t.splitPosition=t.splitPosition._getTransformedByMoveOperation(e);t.splitPosition.stickiness=\"toNext\";if(t.graveyardPosition){t.insertionPosition=t.insertionPosition._getTransformedByMoveOperation(e)}else{t.insertionPosition=lm.getInsertionPosition(t.splitPosition)}return[t]});Ik(lm,lm,(t,e,n)=>{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new Nm(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new Nm(0)]}if(n.abRelation==\"splitBefore\"){t.howMany=0;t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e);return[t]}}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const i=t.splitPosition.root.rootName==\"$graveyard\";const o=e.splitPosition.root.rootName==\"$graveyard\";const s=i&&!o;const r=o&&!i;const a=r||!s&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new im(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new im(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new Nm(0)]}}if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)}if(t.splitPosition.isEqual(e.insertionPosition)&&n.abRelation==\"splitBefore\"){t.howMany++;return[t]}if(e.splitPosition.isEqual(t.insertionPosition)&&n.baRelation==\"splitBefore\"){const n=e.insertionPosition.path.slice();n.push(0);const i=new qh(e.insertionPosition.root,n);const o=new im(t.insertionPosition,1,i,0);return[t,o]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset<e.splitPosition.offset){t.howMany-=e.howMany}t.splitPosition=t.splitPosition._getTransformedBySplitOperation(e);t.insertionPosition=lm.getInsertionPosition(t.splitPosition);return[t]});function Fk(t,e){return t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)===null}function Hk(t,e){const n=[];for(let i=0;i<t.length;i++){const o=t[i];const s=new im(o.start,o.end.offset-o.start.offset,e,0);n.push(s);for(let e=i+1;e<t.length;e++){t[e]=t[e]._getTransformedByMove(s.sourcePosition,s.targetPosition,s.howMany)[0]}e=e._getTransformedByMove(s.sourcePosition,s.targetPosition,s.howMany)}return n}class Uk extends zw{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh()}refresh(){this.isEnabled=this._stack.length>0}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model;const o=i.document;const s=[];for(const e of t){const t=Wk(e,n);const i=t.find(t=>t.start.root!=o.graveyard);if(i){s.push(i)}}if(s.length){i.change(t=>{t.setSelection(s,{backward:e})})}}_undo(t,e){const n=this.editor.model;const i=n.document;this._createdBatches.add(e);const o=t.operations.slice().filter(t=>t.isDocumentOperation);o.reverse();for(const t of o){const o=t.baseVersion+1;const s=Array.from(i.history.getOperations(o));const r=Dk([t.getReversed()],s,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=r.operationsA;for(const o of a){e.addOperation(o);n.applyOperation(o);i.history.setOperationAsUndone(t,o)}}}}function Wk(t,e){const n=t.getTransformedByOperations(e);n.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;t<n.length;t++){const e=n[t-1];const i=n[t];if(e.end.isTouching(i.start)){e.end=i.end;n.splice(t,1);t--}}return n}class qk extends Uk{execute(t=null){const e=t?this._stack.findIndex(e=>e.batch==t):this._stack.length-1;const n=this._stack.splice(e,1)[0];const i=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t);this.fire(\"revert\",n.batch,i)});this.refresh()}}class $k extends Uk{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(e,()=>{const n=t.batch.operations[t.batch.operations.length-1];const i=n.baseVersion+1;const o=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o);this._undo(t.batch,e)});this.refresh()}}class Yk extends Dw{static get pluginName(){return\"UndoEditing\"}constructor(t){super(t);this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new qk(t);this._redoCommand=new $k(t);t.commands.add(\"undo\",this._undoCommand);t.commands.add(\"redo\",this._redoCommand);this.listenTo(t.model,\"applyOperation\",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const i=n.batch;const o=this._redoCommand._createdBatches.has(i);const s=this._undoCommand._createdBatches.has(i);const r=this._batchRegistry.has(i);if(r||i.type==\"transparent\"&&!o&&!s){return}else{if(o){this._undoCommand.addBatch(i)}else if(!s){this._undoCommand.addBatch(i);this._redoCommand.clearStack()}}this._batchRegistry.add(i)},{priority:\"highest\"});this.listenTo(this._undoCommand,\"revert\",(t,e,n)=>{this._redoCommand.addBatch(n)});t.keystrokes.set(\"CTRL+Z\",\"undo\");t.keystrokes.set(\"CTRL+Y\",\"redo\");t.keystrokes.set(\"CTRL+SHIFT+Z\",\"redo\")}}var Gk='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.042 9.367l2.189 1.837a.75.75 0 0 1-.965 1.149l-3.788-3.18a.747.747 0 0 1-.21-.284.75.75 0 0 1 .17-.945L6.23 4.762a.75.75 0 1 1 .964 1.15L4.863 7.866h8.917A.75.75 0 0 1 14 7.9a4 4 0 1 1-1.477 7.718l.344-1.489a2.5 2.5 0 1 0 1.094-4.73l.008-.032H5.042z\"/></svg>';var Qk='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.958 9.367l-2.189 1.837a.75.75 0 0 0 .965 1.149l3.788-3.18a.747.747 0 0 0 .21-.284.75.75 0 0 0-.17-.945L13.77 4.762a.75.75 0 1 0-.964 1.15l2.331 1.955H6.22A.75.75 0 0 0 6 7.9a4 4 0 1 0 1.477 7.718l-.344-1.489A2.5 2.5 0 1 1 6.039 9.4l-.008-.032h8.927z\"/></svg>';class Kk extends Dw{init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection==\"ltr\"?Gk:Qk;const o=e.uiLanguageDirection==\"ltr\"?Qk:Gk;this._addButton(\"undo\",n(\"Undo\"),\"CTRL+Z\",i);this._addButton(\"redo\",n(\"Redo\"),\"CTRL+Y\",o)}_addButton(t,e,n,i){const o=this.editor;o.ui.componentFactory.add(t,s=>{const r=o.commands.get(t);const a=new sw(s);a.set({label:e,icon:i,keystroke:n,tooltip:true});a.bind(\"isEnabled\").to(r,\"isEnabled\");this.listenTo(a,\"execute\",()=>{o.execute(t);o.editing.view.focus()});return a})}}class Jk extends Dw{static get requires(){return[Yk,Kk]}static get pluginName(){return\"Undo\"}}class Zk extends Dw{static get requires(){return[$_,Z_,dk,ok,Ek,Jk]}static get pluginName(){return\"Essentials\"}}class Xk extends zw{refresh(){const t=this.editor.model;const e=t.document;const n=jw(e.selection.getSelectedBlocks());this.value=!!n&&n.is(\"paragraph\");this.isEnabled=!!n&&tv(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;e.change(i=>{const o=(t.selection||n.selection).getSelectedBlocks();for(const t of o){if(!t.is(\"paragraph\")&&tv(t,e.schema)){i.rename(t,\"paragraph\")}}})}}function tv(t,e){return e.checkChild(t.parent,\"paragraph\")&&!e.isObject(t)}class ev extends zw{execute(t){const e=this.editor.model;if(!e.schema.checkChild(t.position,\"paragraph\")){return}e.change(n=>{const i=n.createElement(\"paragraph\");e.insertContent(i,t.position);n.setSelection(i,\"in\")})}}class nv extends Dw{static get pluginName(){return\"Paragraph\"}init(){const t=this.editor;const e=t.model;const n=t.data;t.commands.add(\"paragraph\",new Xk(t));t.commands.add(\"insertParagraph\",new ev(t));e.schema.register(\"paragraph\",{inheritAllFrom:\"$block\"});t.conversion.elementToElement({model:\"paragraph\",view:\"p\"});t.conversion.for(\"upcast\").elementToElement({model:(t,e)=>{if(!nv.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement(\"paragraph\")},converterPriority:\"low\"});n.upcastDispatcher.on(\"element\",(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:e.viewItem.name})){return}if(ov(e.viewItem,e.modelCursor,n.schema)){Object.assign(e,iv(e.viewItem,e.modelCursor,n))}},{priority:\"low\"});n.upcastDispatcher.on(\"text\",(t,e,n)=>{if(e.modelRange){return}if(ov(e.viewItem,e.modelCursor,n.schema)){Object.assign(e,iv(e.viewItem,e.modelCursor,n))}},{priority:\"lowest\"});e.document.registerPostFixer(t=>this._autoparagraphEmptyRoots(t));t.data.on(\"ready\",()=>{e.enqueueChange(\"transparent\",t=>this._autoparagraphEmptyRoots(t))},{priority:\"lowest\"})}_autoparagraphEmptyRoots(t){const e=this.editor.model;for(const n of e.document.getRootNames()){const i=e.document.getRoot(n);if(i.isEmpty&&i.rootName!=\"$graveyard\"){if(e.schema.checkChild(i,\"paragraph\")){t.insertElement(\"paragraph\",i);return true}}}}}nv.paragraphLikeElements=new Set([\"blockquote\",\"dd\",\"div\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"p\",\"td\"]);function iv(t,e,n){const i=n.writer.createElement(\"paragraph\");n.writer.insert(i,e);return n.convertItem(t,n.writer.createPositionAt(i,0))}function ov(t,e,n){const i=n.createContext(e);if(!n.checkChild(i,\"paragraph\")){return false}if(!n.checkChild(i.push(\"paragraph\"),t)){return false}return true}class sv extends zw{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some(e=>rv(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model;const n=e.document;const i=t.value;e.change(t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter(t=>rv(t,i,e.schema));for(const e of o){if(!e.is(i)){t.rename(e,i)}}})}}function rv(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const av=\"paragraph\";class cv extends Dw{static get pluginName(){return\"HeadingEditing\"}constructor(t){super(t);t.config.define(\"heading\",{options:[{model:\"paragraph\",title:\"Paragraph\",class:\"ck-heading_paragraph\"},{model:\"heading1\",view:\"h2\",title:\"Heading 1\",class:\"ck-heading_heading1\"},{model:\"heading2\",view:\"h3\",title:\"Heading 2\",class:\"ck-heading_heading2\"},{model:\"heading3\",view:\"h4\",title:\"Heading 3\",class:\"ck-heading_heading3\"}]})}static get requires(){return[nv]}init(){const t=this.editor;const e=t.config.get(\"heading.options\");const n=[];for(const i of e){if(i.model!==av){t.model.schema.register(i.model,{inheritAllFrom:\"$block\"});t.conversion.elementToElement(i);n.push(i.model)}}this._addDefaultH1Conversion(t);t.commands.add(\"heading\",new sv(t,n))}afterInit(){const t=this.editor;const e=t.commands.get(\"enter\");const n=t.config.get(\"heading.options\");if(e){this.listenTo(e,\"afterExecute\",(e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;const s=n.some(t=>o.is(t.model));if(s&&!o.is(av)&&o.childCount===0){i.writer.rename(o,av)}})}}_addDefaultH1Conversion(t){t.conversion.for(\"upcast\").elementToElement({model:\"heading1\",view:\"h1\",converterPriority:or.get(\"low\")+1})}}class lv{constructor(t,e){if(e){qc(this,e)}if(t){this.set(t)}}}yr(lv,Kc);function dv(t){const e=t.t;const n={Paragraph:e(\"Paragraph\"),\"Heading 1\":e(\"Heading 1\"),\"Heading 2\":e(\"Heading 2\"),\"Heading 3\":e(\"Heading 3\"),\"Heading 4\":e(\"Heading 4\"),\"Heading 5\":e(\"Heading 5\"),\"Heading 6\":e(\"Heading 6\")};return t.config.get(\"heading.options\").map(t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t})}var uv=n(12);class hv extends Dw{init(){const t=this.editor;const e=t.t;const n=dv(t);const i=e(\"Choose heading\");const o=e(\"Heading\");t.ui.componentFactory.add(\"heading\",e=>{const s={};const r=new xr;const a=t.commands.get(\"heading\");const c=t.commands.get(\"paragraph\");const l=[a];for(const t of n){const e={type:\"button\",model:new lv({label:t.title,class:t.class,withText:true})};if(t.model===\"paragraph\"){e.model.bind(\"isOn\").to(c,\"value\");e.model.set(\"commandName\",\"paragraph\");l.push(c)}else{e.model.bind(\"isOn\").to(a,\"value\",e=>e===t.model);e.model.set({commandName:\"heading\",commandValue:t.model})}r.add(e);s[t.model]=t.title}const d=bw(e);_w(d,r);d.buttonView.set({isOn:false,withText:true,tooltip:o});d.extendTemplate({attributes:{class:[\"ck-heading-dropdown\"]}});d.bind(\"isEnabled\").toMany(l,\"isEnabled\",(...t)=>t.some(t=>t));d.buttonView.bind(\"label\").to(a,\"value\",c,\"value\",(t,e)=>{const n=t||e&&\"paragraph\";return s[n]?s[n]:i});this.listenTo(d,\"execute\",e=>{t.execute(e.source.commandName,e.source.commandValue?{value:e.source.commandValue}:undefined);t.editing.view.focus()});return d})}}class fv extends Dw{static get requires(){return[cv,hv]}static get pluginName(){return\"Heading\"}}class gv extends Yd{observe(t){this.listenTo(t,\"load\",(t,e)=>{const n=e.target;if(n.tagName==\"IMG\"){this._fireEvents(e)}},{useCapture:true})}_fireEvents(t){if(this.isEnabled){this.document.fire(\"layoutChanged\");this.document.fire(\"imageLoaded\",t)}}}class mv{constructor(){this._stack=[]}add(t,e){const n=this._stack;const i=n[0];this._insertDescriptor(t);const o=n[0];if(i!==o&&!pv(i,o)){this.fire(\"change:top\",{oldDescriptor:i,newDescriptor:o,writer:e})}}remove(t,e){const n=this._stack;const i=n[0];this._removeDescriptor(t);const o=n[0];if(i!==o&&!pv(i,o)){this.fire(\"change:top\",{oldDescriptor:i,newDescriptor:o,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex(e=>e.id===t.id);if(pv(t,e[n])){return}if(n>-1){e.splice(n,1)}let i=0;while(e[i]&&bv(e[i],t)){i++}e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex(e=>e.id===t);if(n>-1){e.splice(n,1)}}}yr(mv,dr);function pv(t,e){return t&&e&&t.priority==e.priority&&wv(t.classes)==wv(e.classes)}function bv(t,e){if(t.priority>e.priority){return true}else if(t.priority<e.priority){return false}return wv(t.classes)>wv(e.classes)}function wv(t){return Array.isArray(t)?t.sort().join(\",\"):t}var _v=n(48);const kv=Nb(\"px\");const vv=Nd.document.body;class yv extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"position\",\"arrow_nw\");this.set(\"isVisible\",false);this.set(\"withArrow\",true);this.set(\"class\");this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-panel\",e.to(\"position\",t=>`ck-balloon-panel_${t}`),e.if(\"isVisible\",\"ck-balloon-panel_visible\"),e.if(\"withArrow\",\"ck-balloon-panel_with-arrow\"),e.to(\"class\")],style:{top:e.to(\"top\",kv),left:e.to(\"left\",kv)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=yv.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast],limiter:vv,fitInViewport:true},t);const i=yv._getOptimalPosition(n);const o=parseInt(i.left);const s=parseInt(i.top);const r=i.name;Object.assign(this,{top:s,left:o,position:r})}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,\"change:isVisible\",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,\"change:isVisible\",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=xv(t.target);const n=t.limiter?xv(t.limiter):vv;this.listenTo(Nd.document,\"scroll\",(i,o)=>{const s=o.target;const r=e&&s.contains(e);const a=n&&s.contains(n);if(r||a||!e||!n){this.attachTo(t)}},{useCapture:true});this.listenTo(Nd.window,\"resize\",()=>{this.attachTo(t)})}_stopPinning(){this.stopListening(Nd.document,\"scroll\");this.stopListening(Nd.window,\"resize\")}}function xv(t){if(Gs(t)){return t}if(wh(t)){return t.commonAncestorContainer}if(typeof t==\"function\"){return xv(t())}return null}yv.arrowHorizontalOffset=25;yv.arrowVerticalOffset=10;yv._getOptimalPosition=$b;yv.defaultPositions={northWestArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.left-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northWestArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.left-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northWestArrowSouth:(t,e)=>({top:Av(t,e),left:t.left-e.width/2,name:\"arrow_s\"}),northWestArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.left-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northWestArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.left-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),northArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northArrowSouth:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_s\"}),northArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.left+t.width/2-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),northEastArrowSouthWest:(t,e)=>({top:Av(t,e),left:t.right-yv.arrowHorizontalOffset,name:\"arrow_sw\"}),northEastArrowSouthMiddleWest:(t,e)=>({top:Av(t,e),left:t.right-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_smw\"}),northEastArrowSouth:(t,e)=>({top:Av(t,e),left:t.right-e.width/2,name:\"arrow_s\"}),northEastArrowSouthMiddleEast:(t,e)=>({top:Av(t,e),left:t.right-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_sme\"}),northEastArrowSouthEast:(t,e)=>({top:Av(t,e),left:t.right-e.width+yv.arrowHorizontalOffset,name:\"arrow_se\"}),southWestArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.left-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southWestArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.left-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southWestArrowNorth:(t,e)=>({top:Tv(t,e),left:t.left-e.width/2,name:\"arrow_n\"}),southWestArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.left-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southWestArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.left-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"}),southArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southArrowNorth:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_n\"}),southArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.left+t.width/2-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"}),southEastArrowNorthWest:(t,e)=>({top:Tv(t,e),left:t.right-yv.arrowHorizontalOffset,name:\"arrow_nw\"}),southEastArrowNorthMiddleWest:(t,e)=>({top:Tv(t,e),left:t.right-e.width*.25-yv.arrowHorizontalOffset,name:\"arrow_nmw\"}),southEastArrowNorth:(t,e)=>({top:Tv(t,e),left:t.right-e.width/2,name:\"arrow_n\"}),southEastArrowNorthMiddleEast:(t,e)=>({top:Tv(t,e),left:t.right-e.width*.75+yv.arrowHorizontalOffset,name:\"arrow_nme\"}),southEastArrowNorthEast:(t,e)=>({top:Tv(t,e),left:t.right-e.width+yv.arrowHorizontalOffset,name:\"arrow_ne\"})};function Av(t,e){return t.top-e.height-yv.arrowVerticalOffset}function Tv(t){return t.bottom+yv.arrowVerticalOffset}var Cv='<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4 0v1H1v3H0V.5A.5.5 0 0 1 .5 0H4zm8 0h3.5a.5.5 0 0 1 .5.5V4h-1V1h-3V0zM4 16H.5a.5.5 0 0 1-.5-.5V12h1v3h3v1zm8 0v-1h3v-3h1v3.5a.5.5 0 0 1-.5.5H12z\"/><path fill-opacity=\".256\" d=\"M1 1h14v14H1z\"/><g class=\"ck-icon__selected-indicator\"><path d=\"M7 0h2v1H7V0zM0 7h1v2H0V7zm15 0h1v2h-1V7zm-8 8h2v1H7v-1z\"/><path fill-opacity=\".254\" d=\"M1 1h14v14H1z\"/></g></svg>';const Sv=\"ck-widget\";const Pv=\"ck-widget_selected\";function Ev(t){if(!t.is(\"element\")){return false}return!!t.getCustomProperty(\"widget\")}function Mv(t,e,n={}){e.setAttribute(\"contenteditable\",\"false\",t);e.addClass(Sv,t);e.setCustomProperty(\"widget\",true,t);t.getFillerOffset=Vv;if(n.label){Nv(t,n.label,e)}if(n.hasSelectionHandle){jv(t,e)}Iv(t,e,(t,e,n)=>n.addClass(i(e.classes),t),(t,e,n)=>n.removeClass(i(e.classes),t));return t;function i(t){return Array.isArray(t)?t:[t]}}function Iv(t,e,n,i){const o=new mv;o.on(\"change:top\",(e,o)=>{if(o.oldDescriptor){i(t,o.oldDescriptor,o.writer)}if(o.newDescriptor){n(t,o.newDescriptor,o.writer)}});e.setCustomProperty(\"addHighlight\",(t,e,n)=>o.add(e,n),t);e.setCustomProperty(\"removeHighlight\",(t,e,n)=>o.remove(e,n),t)}function Nv(t,e,n){n.setCustomProperty(\"widgetLabel\",e,t)}function Ov(t){const e=t.getCustomProperty(\"widgetLabel\");if(!e){return\"\"}return typeof e==\"function\"?e():e}function Rv(t,e){e.addClass([\"ck-editor__editable\",\"ck-editor__nested-editable\"],t);e.setAttribute(\"contenteditable\",t.isReadOnly?\"false\":\"true\",t);t.on(\"change:isReadOnly\",(n,i,o)=>{e.setAttribute(\"contenteditable\",o?\"false\":\"true\",t)});t.on(\"change:isFocused\",(n,i,o)=>{if(o){e.addClass(\"ck-editor__nested-editable_focused\",t)}else{e.removeClass(\"ck-editor__nested-editable_focused\",t)}});return t}function Dv(t,e){const n=t.getSelectedElement();if(n&&e.schema.isBlock(n)){return e.createPositionAfter(n)}const i=t.getSelectedBlocks().next().value;if(i){if(i.isEmpty){return e.createPositionAt(i,0)}const n=e.createPositionAfter(i);if(t.focus.isTouching(n)){return n}return e.createPositionBefore(i)}return t.focus}function Lv(t,e){return(n,i)=>{const{mapper:o,viewPosition:s}=i;const r=o.findMappedViewAncestor(s);if(!e(r)){return}const a=o.toModelElement(r);i.modelPosition=t.createPositionAt(a,s.isAtStart?\"before\":\"after\")}}function zv(t,e){const n=new vh(Nd.window);const i=n.getIntersection(t);const o=e.height+yv.arrowVerticalOffset;if(t.top-o>n.top||t.bottom+o<n.bottom){return null}const s=i||t;const r=s.left+s.width/2-e.width/2;return{top:Math.max(t.top,0)+yv.arrowVerticalOffset,left:r,name:\"arrow_n\"}}function Vv(){return null}function jv(t,e){const n=e.createUIElement(\"div\",{class:\"ck ck-widget__selection-handle\"},(function(t){const e=this.toDomElement(t);const n=new ew;n.set(\"content\",Cv);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass([\"ck-widget_with-selection-handle\"],t)}function Bv(t,e,n){e.setCustomProperty(\"image\",true,t);return Mv(t,e,{label:i});function i(){const e=$v(t);const i=e.getAttribute(\"alt\");return i?`${i} ${n}`:n}}function Fv(t){return!!t.getCustomProperty(\"image\")&&Ev(t)}function Hv(t){const e=t.getSelectedElement();if(e&&Fv(e)){return e}return null}function Uv(t){return!!t&&t.is(\"image\")}function Wv(t,e,n={}){const i=t.createElement(\"image\",n);const o=Dv(e.document.selection,e);e.insertContent(i,o);if(i.parent){t.setSelection(i,\"on\")}}function qv(t){const e=t.schema;const n=t.document.selection;return Yv(n,e,t)&&!Gv(n,e)&&Qv(n)}function $v(t){return Array.from(t.getChildren()).find(t=>t.is(\"img\"))}function Yv(t,e,n){const i=Kv(t,n);return e.checkChild(i,\"image\")}function Gv(t,e){const n=t.getSelectedElement();return n&&e.isObject(n)}function Qv(t){return[...t.focus.getAncestors()].every(t=>!t.is(\"image\"))}function Kv(t,e){const n=Dv(t,e);const i=n.parent;if(i.isEmpty&&!i.is(\"$root\")){return i.parent}return i}function Jv(){return e=>{e.on(\"element:figure\",t)};function t(t,e,n){if(!n.consumable.test(e.viewItem,{name:true,classes:\"image\"})){return}const i=$v(e.viewItem);if(!i||!i.hasAttribute(\"src\")||!n.consumable.test(i,{name:true})){return}const o=n.convertItem(i,e.modelCursor);const s=jw(o.modelRange.getItems());if(!s){return}n.convertChildren(e.viewItem,n.writer.createPositionAt(s,0));e.modelRange=o.modelRange;e.modelCursor=o.modelCursor}}function Zv(){return e=>{e.on(\"attribute:srcset:image\",t)};function t(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);const s=$v(o);if(e.attributeNewValue===null){const t=e.attributeOldValue;if(t.data){i.removeAttribute(\"srcset\",s);i.removeAttribute(\"sizes\",s);if(t.width){i.removeAttribute(\"width\",s)}}}else{const t=e.attributeNewValue;if(t.data){i.setAttribute(\"srcset\",t.data,s);i.setAttribute(\"sizes\",\"100vw\",s);if(t.width){i.setAttribute(\"width\",t.width,s)}}}}}function Xv(t){return n=>{n.on(`attribute:${t}:image`,e)};function e(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);const s=$v(o);if(e.attributeNewValue!==null){i.setAttribute(e.attributeKey,e.attributeNewValue,s)}else{i.removeAttribute(e.attributeKey,s)}}}class ty extends zw{refresh(){this.isEnabled=qv(this.editor.model)}execute(t){const e=this.editor.model;e.change(n=>{const i=Array.isArray(t.source)?t.source:[t.source];for(const t of i){Wv(n,e,{src:t})}})}}class ey extends Dw{static get pluginName(){return\"ImageEditing\"}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;t.editing.view.addObserver(gv);e.register(\"image\",{isObject:true,isBlock:true,allowWhere:\"$block\",allowAttributes:[\"alt\",\"src\",\"srcset\"]});i.for(\"dataDowncast\").elementToElement({model:\"image\",view:(t,e)=>ny(e)});i.for(\"editingDowncast\").elementToElement({model:\"image\",view:(t,e)=>Bv(ny(e),e,n(\"image widget\"))});i.for(\"downcast\").add(Xv(\"src\")).add(Xv(\"alt\")).add(Zv());i.for(\"upcast\").elementToElement({view:{name:\"img\",attributes:{src:true}},model:(t,e)=>e.createElement(\"image\",{src:t.getAttribute(\"src\")})}).attributeToAttribute({view:{name:\"img\",key:\"alt\"},model:\"alt\"}).attributeToAttribute({view:{name:\"img\",key:\"srcset\"},model:{key:\"srcset\",value:t=>{const e={data:t.getAttribute(\"srcset\")};if(t.hasAttribute(\"width\")){e.width=t.getAttribute(\"width\")}return e}}}).add(Jv());t.commands.add(\"imageInsert\",new ty(t))}}function ny(t){const e=t.createEmptyElement(\"img\");const n=t.createContainerElement(\"figure\",{class:\"image\"});t.insert(t.createPositionAt(n,0),e);return n}class iy extends Qu{constructor(t){super(t);this.domEventType=\"mousedown\"}onDomEvent(t){this.fire(t.type,t)}}function oy(t,e,n){return t&&Ev(t)&&!n.isInline(e)}function sy(t){return t.closest(\".ck-widget__type-around__button\")}function ry(t){return t.classList.contains(\"ck-widget__type-around__button_before\")?\"before\":\"after\"}function ay(t,e){const n=t.closest(\".ck-widget\");return e.mapDomToView(n)}function cy(t){const e=[];if(ly(t)||uy(t)){e.push(\"before\")}if(dy(t)||hy(t)){e.push(\"after\")}return e}function ly(t){return!t.previousSibling}function dy(t){return!t.nextSibling}function uy(t){return t.previousSibling&&Ev(t.previousSibling)}function hy(t){return t.nextSibling&&Ev(t.nextSibling)}var fy='<svg viewBox=\"0 0 10 8\" xmlns=\"http://www.w3.org/2000/svg\"><polyline points=\"8.05541992 0.263427734 8.05541992 4.23461914 1.28417969 4.23461914\" transform=\"translate(1,0)\"></polyline><line x1=\"0\" y1=\"4.21581031\" x2=\"2\" y2=\"2.17810059\" transform=\"translate(1, 0)\"></line><line x1=\"0\" y1=\"6.21581031\" x2=\"2\" y2=\"4.17810059\" transform=\"translate(2, 5.196955) scale(1, -1) translate(-1, -5.196955)\"></line></svg>\\n';var gy=n(50);const my=[\"before\",\"after\"];const py=(new DOMParser).parseFromString(fy,\"image/svg+xml\").firstChild;class by extends Dw{static get requires(){return[nv]}static get pluginName(){return\"WidgetTypeAround\"}constructor(t){super(t);this._widgetsWithTypeAroundUI=new Set}destroy(){this._widgetsWithTypeAroundUI.clear()}init(){this._enableTypeAroundUIInjection();this._enableDetectionOfTypeAroundWidgets();this._enableInsertingParagraphsOnButtonClick()}_insertParagraph(t,e){const n=this.editor;const i=n.editing.view;const o=n.editing.mapper.toModelElement(t);let s;if(e===\"before\"){s=n.model.createPositionBefore(o)}else{s=n.model.createPositionAfter(o)}n.execute(\"insertParagraph\",{position:s});i.focus();i.scrollToTheSelection()}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const i={before:n(\"Insert paragraph before block\"),after:n(\"Insert paragraph after block\")};t.editing.downcastDispatcher.on(\"insert\",(t,n,o)=>{const s=o.mapper.toViewElement(n.item);if(oy(s,n.item,e)){wy(o.writer,i,s);this._widgetsWithTypeAroundUI.add(s)}},{priority:\"low\"})}_enableDetectionOfTypeAroundWidgets(){const t=this.editor;const e=t.editing.view;function n(t){return`ck-widget_can-type-around_${t}`}e.document.registerPostFixer(t=>{for(const e of this._widgetsWithTypeAroundUI){if(!e.isAttached()){this._widgetsWithTypeAroundUI.delete(e)}else{const i=cy(e);t.removeClass(my.map(n),e);t.addClass(i.map(n),e)}}})}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;e.document.on(\"mousedown\",(t,n)=>{const i=sy(n.domTarget);if(!i){return}const o=ry(i);const s=ay(i,e.domConverter);this._insertParagraph(s,o);n.preventDefault();t.stop()})}}function wy(t,e,n){const i=t.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__type-around\"},(function(t){const n=this.toDomElement(t);_y(n,e);return n}));t.insert(t.createPositionAt(n,\"end\"),i)}function _y(t,e){for(const n of my){const i=new $p({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__button\",`ck-widget__type-around__button_${n}`],title:e[n]},children:[t.ownerDocument.importNode(py,true)]});t.appendChild(i.render())}}var ky=n(52);class vy extends Dw{static get pluginName(){return\"Widget\"}static get requires(){return[by]}init(){const t=this.editor.editing.view;const e=t.document;this._previouslySelected=new Set;this.editor.editing.downcastDispatcher.on(\"selection\",(t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer;const o=i.document.selection;const s=o.getSelectedElement();let r=null;for(const t of o.getRanges()){for(const e of t){const t=e.item;if(Ev(t)&&!Ay(t,r)){i.addClass(Pv,t);this._previouslySelected.add(t);r=t;if(t==s){i.setSelection(o.getRanges(),{fake:true,label:Ov(s)})}}}}},{priority:\"low\"});t.addObserver(iy);this.listenTo(e,\"mousedown\",(...t)=>this._onMousedown(...t));this.listenTo(e,\"keydown\",(...t)=>this._onKeydown(...t),{priority:\"high\"});this.listenTo(e,\"delete\",(t,e)=>{if(this._handleDelete(e.direction==\"forward\")){e.preventDefault();t.stop()}},{priority:\"high\"})}_onMousedown(t,e){const n=this.editor;const i=n.editing.view;const o=i.document;let s=e.target;if(xy(s)){if(Cl.isSafari&&e.domEvent.detail>=3){const t=n.editing.mapper;const i=t.toModelElement(s);this.editor.model.change(t=>{e.preventDefault();t.setSelection(i,\"in\")})}return}if(!Ev(s)){s=s.findAncestor(Ev);if(!s){return}}e.preventDefault();if(!o.isFocused){i.focus()}const r=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(r)}_onKeydown(t,e){const n=e.keyCode;const i=this.editor.locale.contentLanguageDirection===\"ltr\";const o=n==Rl.arrowdown||n==Rl[i?\"arrowright\":\"arrowleft\"];let s=false;if(yy(n)){s=this._handleArrowKeys(o)}else if(n===Rl.enter){s=this._handleEnterKey(e.shiftKey)}if(s){e.preventDefault();t.stop()}}_handleDelete(t){if(this.editor.isReadOnly){return}const e=this.editor.model.document;const n=e.selection;if(!n.isCollapsed){return}const i=this._getObjectElementNextToSelection(t);if(i){this.editor.model.change(t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(i)});return true}}_handleArrowKeys(t){const e=this.editor.model;const n=e.schema;const i=e.document;const o=i.selection;const s=o.getSelectedElement();if(s&&n.isObject(s)){const i=t?o.getLastPosition():o.getFirstPosition();const s=n.getNearestSelectionRange(i,t?\"forward\":\"backward\");if(s){e.change(t=>{t.setSelection(s)})}return true}if(!o.isCollapsed){return}const r=this._getObjectElementNextToSelection(t);if(!!r&&n.isObject(r)){this._setSelectionOverElement(r);return true}}_handleEnterKey(t){const e=this.editor.model;const n=e.document.selection;const i=n.getSelectedElement();if(Ty(i,e.schema)){e.change(n=>{let o=n.createPositionAt(i,t?\"before\":\"after\");const s=n.createElement(\"paragraph\");if(e.schema.isBlock(i.parent)){const t=e.schema.findAllowedParent(o,s);o=n.split(o,t).position}n.insert(s,o);n.setSelection(s,\"in\")});return true}}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=e.createSelection(i);e.modifySelection(o,{direction:t?\"forward\":\"backward\"});const s=t?o.focus.nodeBefore:o.focus.nodeAfter;if(!!s&&n.isObject(s)){return s}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(Pv,e)}this._previouslySelected.clear()}}function yy(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}function xy(t){while(t){if(t.is(\"editableElement\")&&!t.is(\"rootElement\")){return true}if(Ev(t)){return false}t=t.parent}return false}function Ay(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function Ty(t,e){return t&&e.isObject(t)&&!e.isInline(t)}class Cy extends zw{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(Uv(t)&&t.hasAttribute(\"alt\")){this.value=t.getAttribute(\"alt\")}else{this.value=false}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();e.change(e=>{e.setAttribute(\"alt\",t.newValue,n)})}}class Sy extends Dw{static get pluginName(){return\"ImageTextAlternativeEditing\"}init(){this.editor.commands.add(\"imageTextAlternative\",new Cy(this.editor))}}var Py=n(54);class Ey extends _b{constructor(t,e){super(t);const n=`ck-labeled-field-view-${nr()}`;const i=`ck-labeled-field-view-status-${nr()}`;this.fieldView=e(this,n,i);this.set(\"label\");this.set(\"isEnabled\",true);this.set(\"errorText\",null);this.set(\"infoText\",null);this.set(\"class\");this.labelView=this._createLabelView(n);this.statusView=this._createStatusView(i);this.bind(\"_statusText\").to(this,\"errorText\",this,\"infoText\",(t,e)=>t||e);const o=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view\",o.to(\"class\"),o.if(\"isEnabled\",\"ck-disabled\",t=>!t)]},children:[this.labelView,this.fieldView,this.statusView]})}_createLabelView(t){const e=new Pb(this.locale);e.for=t;e.bind(\"text\").to(this,\"label\");return e}_createStatusView(t){const e=new _b(this.locale);const n=this.bindTemplate;e.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__status\",n.if(\"errorText\",\"ck-labeled-field-view__status_error\"),n.if(\"_statusText\",\"ck-hidden\",t=>!t)],id:t,role:n.if(\"errorText\",\"alert\")},children:[{text:n.to(\"_statusText\")}]});return e}focus(){this.fieldView.focus()}}var My=n(56);class Iy extends _b{constructor(t){super(t);this.set(\"value\");this.set(\"id\");this.set(\"placeholder\");this.set(\"isReadOnly\",false);this.set(\"hasError\",false);this.set(\"ariaDescribedById\");const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{type:\"text\",class:[\"ck\",\"ck-input\",\"ck-input-text\",e.if(\"hasError\",\"ck-error\")],id:e.to(\"id\"),placeholder:e.to(\"placeholder\"),readonly:e.to(\"isReadOnly\"),\"aria-invalid\":e.if(\"hasError\",true),\"aria-describedby\":e.to(\"ariaDescribedById\")},on:{input:e.to(\"input\")}})}render(){super.render();const t=t=>{this.element.value=!t&&t!==0?\"\":t};t(this.value);this.on(\"change:value\",(e,n,i)=>{t(i)})}select(){this.element.select()}focus(){this.element.focus()}}function Ny(t,e,n){const i=new Iy(t.locale);i.set({id:e,ariaDescribedById:n});i.bind(\"isReadOnly\").to(t,\"isEnabled\",t=>!t);i.bind(\"hasError\").to(t,\"errorText\",t=>!!t);i.on(\"input\",()=>{t.errorText=null});return i}function Oy(t,e,n){const i=bw(t.locale);i.set({id:e,ariaDescribedById:n});i.bind(\"isEnabled\").to(t);return i}function Ry({view:t}){t.listenTo(t.element,\"submit\",(e,n)=>{n.preventDefault();t.fire(\"submit\")},{useCapture:true})}var Dy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.972 16.615a.997.997 0 0 1-.744-.292l-4.596-4.596a1 1 0 1 1 1.414-1.414l3.926 3.926 9.937-9.937a1 1 0 0 1 1.414 1.415L7.717 16.323a.997.997 0 0 1-.745.292z\"/></svg>';var Ly='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.591 10.177l4.243 4.242a1 1 0 0 1-1.415 1.415l-4.242-4.243-4.243 4.243a1 1 0 0 1-1.414-1.415l4.243-4.242L4.52 5.934A1 1 0 0 1 5.934 4.52l4.243 4.243 4.242-4.243a1 1 0 1 1 1.415 1.414l-4.243 4.243z\"/></svg>';var zy=n(58);class Vy extends _b{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(e(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-text-alternative-form\"],tabindex:\"-1\"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render();this.keystrokes.listenTo(this.element);Ry({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)})}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}_createLabeledInputView(){const t=this.locale.t;const e=new Ey(this.locale,Ny);e.label=t(\"Text alternative\");e.fieldView.placeholder=t(\"Text alternative\");return e}}var jy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.463 5.187a.888.888 0 1 1 1.254 1.255L9.16 10l3.557 3.557a.888.888 0 1 1-1.254 1.255L7.26 10.61a.888.888 0 0 1 .16-1.382l4.043-4.042z\"/></svg>';var By='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.537 14.813a.888.888 0 1 1-1.254-1.255L10.84 10 7.283 6.442a.888.888 0 1 1 1.254-1.255L12.74 9.39a.888.888 0 0 1-.16 1.382l-4.043 4.042z\"/></svg>';var Fy=n(60);var Hy=n(62);const Uy=Nb(\"px\");class Wy extends Dw{static get pluginName(){return\"ContextualBalloon\"}constructor(t){super(t);this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set(\"visibleView\",null);this.view=new yv(t.locale);t.ui.view.body.add(this.view);t.ui.focusTracker.add(this.view.element);this._viewToStack=new Map;this._idToStack=new Map;this.set(\"_numberOfStacks\",0);this.set(\"_singleViewMode\",false);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this.hasView(t.view)){throw new rr[\"b\"](\"contextualballoon-add-view-exist: Cannot add configuration of the same view twice.\",[this,t])}const e=t.stackId||\"main\";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new rr[\"b\"](\"contextualballoon-remove-view-not-exist: Cannot remove the configuration of a non-existent view.\",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new rr[\"b\"](\"contextualballoon-showstack-stack-not-exist: Cannot show a stack that does not exist.\",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find(e=>e[1]===t);return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new qy(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind(\"isNavigationVisible\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",(t,e)=>!e&&t>1);t.on(\"change:isNavigationVisible\",()=>this.updatePosition(),{priority:\"low\"});t.bind(\"counter\").to(this,\"visibleView\",this,\"_numberOfStacks\",(t,n)=>{if(n<2){return\"\"}const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e(\"%0 of %1\",[i,n])});t.buttonNextView.on(\"execute\",()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()});t.buttonPrevView.on(\"execute\",()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()});return t}_createFakePanelsView(){const t=new $y(this.editor.locale,this.view);t.bind(\"numberOfPanels\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",(t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0});t.listenTo(this.view,\"change:top\",()=>t.updatePosition());t.listenTo(this.view,\"change:left\",()=>t.updatePosition());this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e=\"\",withArrow:n=true,singleViewMode:i=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(i){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t&&!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}return t}}class qy extends _b{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set(\"isNavigationVisible\",true);this.focusTracker=new Sp;this.buttonPrevView=this._createButtonView(e(\"Previous\"),jy);this.buttonNextView=this._createButtonView(e(\"Next\"),By);this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-rotator\"],\"z-index\":\"-1\"},children:[{tag:\"div\",attributes:{class:[\"ck-balloon-rotator__navigation\",n.to(\"isNavigationVisible\",t=>t?\"\":\"ck-hidden\")]},children:[this.buttonPrevView,{tag:\"span\",attributes:{class:[\"ck-balloon-rotator__counter\"]},children:[{text:n.to(\"counter\")}]},this.buttonNextView]},{tag:\"div\",attributes:{class:\"ck-balloon-rotator__content\"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new sw(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class $y extends _b{constructor(t,e){super(t);const n=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"height\",0);this.set(\"width\",0);this.set(\"numberOfPanels\",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:\"div\",attributes:{class:[\"ck-fake-panel\",n.to(\"numberOfPanels\",t=>t?\"\":\"ck-hidden\")],style:{top:n.to(\"top\",Uy),left:n.to(\"left\",Uy),width:n.to(\"width\",Uy),height:n.to(\"height\",Uy)}},children:this.content});this.on(\"change:numberOfPanels\",(t,e,n,i)=>{if(n>i){this._addPanels(n-i)}else{this._removePanels(i-n)}this.updatePosition()})}_addPanels(t){while(t--){const t=new _b;t.setTemplate({tag:\"div\"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:i}=new vh(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var Yy='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.085 6.22L2.943 4.078a.75.75 0 1 1 1.06-1.06l2.592 2.59A11.094 11.094 0 0 1 10 5.068c4.738 0 8.578 3.101 8.578 5.083 0 1.197-1.401 2.803-3.555 3.887l1.714 1.713a.75.75 0 0 1-.09 1.138.488.488 0 0 1-.15.084.75.75 0 0 1-.821-.16L6.17 7.304c-.258.11-.51.233-.757.365l6.239 6.24-.006.005.78.78c-.388.094-.78.166-1.174.215l-1.11-1.11h.011L4.55 8.197a7.2 7.2 0 0 0-.665.514l-.112.098 4.897 4.897-.005.006 1.276 1.276a10.164 10.164 0 0 1-1.477-.117l-.479-.479-.009.009-4.863-4.863-.022.031a2.563 2.563 0 0 0-.124.2c-.043.077-.08.158-.108.241a.534.534 0 0 0-.028.133.29.29 0 0 0 .008.072.927.927 0 0 0 .082.226c.067.133.145.26.234.379l3.242 3.365.025.01.59.623c-3.265-.918-5.59-3.155-5.59-4.668 0-1.194 1.448-2.838 3.663-3.93zm7.07.531a4.632 4.632 0 0 1 1.108 5.992l.345.344.046-.018a9.313 9.313 0 0 0 2-1.112c.256-.187.5-.392.727-.613.137-.134.27-.277.392-.431.072-.091.141-.185.203-.286.057-.093.107-.19.148-.292a.72.72 0 0 0 .036-.12.29.29 0 0 0 .008-.072.492.492 0 0 0-.028-.133.999.999 0 0 0-.036-.096 2.165 2.165 0 0 0-.071-.145 2.917 2.917 0 0 0-.125-.2 3.592 3.592 0 0 0-.263-.335 5.444 5.444 0 0 0-.53-.523 7.955 7.955 0 0 0-1.054-.768 9.766 9.766 0 0 0-1.879-.891c-.337-.118-.68-.219-1.027-.301zm-2.85.21l-.069.002a.508.508 0 0 0-.254.097.496.496 0 0 0-.104.679.498.498 0 0 0 .326.199l.045.005c.091.003.181.003.272.012a2.45 2.45 0 0 1 2.017 1.513c.024.061.043.125.069.185a.494.494 0 0 0 .45.287h.008a.496.496 0 0 0 .35-.158.482.482 0 0 0 .13-.335.638.638 0 0 0-.048-.219 3.379 3.379 0 0 0-.36-.723 3.438 3.438 0 0 0-2.791-1.543l-.028-.001h-.013z\"/></svg>';function Gy(t){const e=t.plugins.get(\"ContextualBalloon\");if(Hv(t.editing.view.document.selection)){const n=Qy(t);e.updatePosition(n)}}function Qy(t){const e=t.editing.view;const n=yv.defaultPositions;return{target:e.domConverter.viewToDom(e.document.selection.getSelectedElement()),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast]}}class Ky extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"ImageTextAlternativeUI\"}init(){this._createButton();this._createForm()}destroy(){super.destroy();this._form.destroy()}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"imageTextAlternative\",n=>{const i=t.commands.get(\"imageTextAlternative\");const o=new sw(n);o.set({label:e(\"Change image text alternative\"),icon:Yy,tooltip:true});o.bind(\"isEnabled\").to(i,\"isEnabled\");this.listenTo(o,\"execute\",()=>{this._showForm()});return o})}_createForm(){const t=this.editor;const e=t.editing.view;const n=e.document;this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this._form=new Vy(t.locale);this._form.render();this.listenTo(this._form,\"submit\",()=>{t.execute(\"imageTextAlternative\",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)});this.listenTo(this._form,\"cancel\",()=>{this._hideForm(true)});this._form.keystrokes.set(\"Esc\",(t,e)=>{this._hideForm(true);e()});this.listenTo(t.ui,\"update\",()=>{if(!Hv(n.selection)){this._hideForm(true)}else if(this._isVisible){Gy(t)}});gw({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}const t=this.editor;const e=t.commands.get(\"imageTextAlternative\");const n=this._form.labeledInput;if(!this._isInBalloon){this._balloon.add({view:this._form,position:Qy(t)})}n.fieldView.value=n.fieldView.element.value=e.value||\"\";this._form.labeledInput.fieldView.select()}_hideForm(t){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class Jy extends Dw{static get requires(){return[Sy,Ky]}static get pluginName(){return\"ImageTextAlternative\"}}var Zy=n(64);class Xy extends Dw{static get requires(){return[ey,vy,Jy]}static get pluginName(){return\"Image\"}}function tx(t,e){return n=>{const i=n.createEditableElement(\"figcaption\");n.setCustomProperty(\"imageCaption\",true,i);Op({view:t,element:i,text:e});return Rv(i,n)}}function ex(t){return!!t.getCustomProperty(\"imageCaption\")}function nx(t){for(const e of t.getChildren()){if(!!e&&e.is(\"caption\")){return e}}return null}function ix(t){const e=t.parent;if(t.name==\"figcaption\"&&e&&e.name==\"figure\"&&e.hasClass(\"image\")){return{name:true}}return null}class ox extends Dw{static get pluginName(){return\"ImageCaptionEditing\"}init(){const t=this.editor;const e=t.editing.view;const n=t.model.schema;const i=t.data;const o=t.editing;const s=t.t;n.register(\"caption\",{allowIn:\"image\",allowContentOf:\"$block\",isLimit:true});t.model.document.registerPostFixer(t=>this._insertMissingModelCaptionElement(t));t.conversion.for(\"upcast\").elementToElement({view:ix,model:\"caption\"});const r=t=>t.createContainerElement(\"figcaption\");i.downcastDispatcher.on(\"insert:caption\",sx(r,false));const a=tx(e,s(\"Enter image caption\"));o.downcastDispatcher.on(\"insert:caption\",sx(a));o.downcastDispatcher.on(\"insert\",this._fixCaptionVisibility(t=>t.item),{priority:\"high\"});o.downcastDispatcher.on(\"remove\",this._fixCaptionVisibility(t=>t.position.parent),{priority:\"high\"});e.document.registerPostFixer(t=>this._updateCaptionVisibility(t))}_updateCaptionVisibility(t){const e=this.editor.editing.mapper;const n=this._lastSelectedCaption;let i;const o=this.editor.model.document.selection;const s=o.getSelectedElement();if(s&&s.is(\"image\")){const t=nx(s);i=e.toViewElement(t)}const r=o.getFirstPosition();const a=ax(r.parent);if(a){i=e.toViewElement(a)}if(i){if(n){if(n===i){return lx(i,t)}else{cx(n,t);this._lastSelectedCaption=i;return lx(i,t)}}else{this._lastSelectedCaption=i;return lx(i,t)}}else{if(n){const e=cx(n,t);this._lastSelectedCaption=null;return e}else{return false}}}_fixCaptionVisibility(t){return(e,n,i)=>{const o=t(n);const s=ax(o);const r=this.editor.editing.mapper;const a=i.writer;if(s){const t=r.toViewElement(s);if(t){if(s.childCount){a.removeClass(\"ck-hidden\",t)}else{a.addClass(\"ck-hidden\",t)}}}}}_insertMissingModelCaptionElement(t){const e=this.editor.model;const n=e.document.differ.getChanges();const i=[];for(const t of n){if(t.type==\"insert\"&&t.name!=\"$text\"){const n=t.position.nodeAfter;if(n.is(\"image\")&&!nx(n)){i.push(n)}if(!n.is(\"image\")&&n.childCount){for(const t of e.createRangeIn(n).getItems()){if(t.is(\"image\")&&!nx(t)){i.push(t)}}}}}for(const e of i){t.appendElement(\"caption\",e)}return!!i.length}}function sx(t,e=true){return(n,i,o)=>{const s=i.item;if(!s.childCount&&!e){return}if(Uv(s.parent)){if(!o.consumable.consume(i.item,\"insert\")){return}const e=o.mapper.toViewElement(i.range.start.parent);const n=t(o.writer);const r=o.writer;if(!s.childCount){r.addClass(\"ck-hidden\",n)}rx(n,i.item,e,o)}}}function rx(t,e,n,i){const o=i.writer.createPositionAt(n,\"end\");i.writer.insert(o,t);i.mapper.bindElements(e,t)}function ax(t){const e=t.getAncestors({includeSelf:true});const n=e.find(t=>t.name==\"caption\");if(n&&n.parent&&n.parent.name==\"image\"){return n}return null}function cx(t,e){if(!t.childCount&&!t.hasClass(\"ck-hidden\")){e.addClass(\"ck-hidden\",t);return true}return false}function lx(t,e){if(t.hasClass(\"ck-hidden\")){e.removeClass(\"ck-hidden\",t);return true}return false}var dx=n(66);class ux extends Dw{static get requires(){return[ox]}static get pluginName(){return\"ImageCaption\"}}class hx{constructor(t){this.set(\"activeHandlePosition\",null);this.set(\"proposedWidthPercents\",null);this.set(\"proposedWidth\",null);this.set(\"proposedHeight\",null);this.set(\"proposedHandleHostWidth\",null);this.set(\"proposedHandleHostHeight\",null);this._options=t;this._referenceCoordinates=null}begin(t,e,n){const i=new vh(e);this.activeHandlePosition=px(t);this._referenceCoordinates=gx(e,bx(this.activeHandlePosition));this.originalWidth=i.width;this.originalHeight=i.height;this.aspectRatio=i.width/i.height;const o=n.style.width;if(o&&o.match(/^\\d+\\.?\\d*%$/)){this.originalWidthPercents=parseFloat(o)}else{this.originalWidthPercents=fx(n,i)}}update(t){this.proposedWidth=t.width;this.proposedHeight=t.height;this.proposedWidthPercents=t.widthPercents;this.proposedHandleHostWidth=t.handleHostWidth;this.proposedHandleHostHeight=t.handleHostHeight}}yr(hx,Kc);function fx(t,e){const n=t.parentElement;const i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);return e.width/i*100}function gx(t,e){const n=new vh(t);const i=e.split(\"-\");const o={x:i[1]==\"right\"?n.right:n.left,y:i[0]==\"bottom\"?n.bottom:n.top};o.x+=t.ownerDocument.defaultView.scrollX;o.y+=t.ownerDocument.defaultView.scrollY;return o}function mx(t){return`ck-widget__resizer__handle-${t}`}function px(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){if(t.classList.contains(mx(n))){return n}}}function bx(t){const e=t.split(\"-\");const n={top:\"bottom\",bottom:\"top\",left:\"right\",right:\"left\"};return`${n[e[0]]}-${n[e[1]]}`}class wx{constructor(t){this._options=t;this._domResizerWrapper=null;this._viewResizerWrapper=null;this.set(\"isEnabled\",true);this.decorate(\"begin\");this.decorate(\"cancel\");this.decorate(\"commit\");this.decorate(\"updateSize\");this.on(\"commit\",t=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}},{priority:\"high\"})}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change(n=>{const i=n.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__resizer\"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);t._domResizerWrapper=n;t.on(\"change:isEnabled\",(t,e,i)=>{n.style.display=i?\"\":\"none\"});n.style.display=t.isEnabled?\"\":\"none\";return n}));n.insert(n.createPositionAt(e,\"end\"),i);n.addClass(\"ck-widget_with-resizer\",e);this._viewResizerWrapper=i})}begin(t){this.state=new hx(this._options);this._sizeUI.bindToState(this._options,this.state);this._initialViewWidth=this._options.viewElement.getStyle(\"width\");this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);const n=this._options.editor.editing.view;n.change(t=>{const n=this._options.unit||\"%\";const i=(n===\"%\"?e.widthPercents:e.width)+n;t.setStyle(\"width\",i,this._options.viewElement)});const i=this._getHandleHost();const o=new vh(i);e.handleHostWidth=Math.round(o.width);e.handleHostHeight=Math.round(o.height);const s=new vh(i);e.width=Math.round(s.width);e.height=Math.round(s.height);this.redraw(o);this.state.update(e)}commit(){const t=this._options.unit||\"%\";const e=(t===\"%\"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup();this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(n(e)){this._options.editor.editing.view.change(n=>{const i=e.parentElement;const o=this._getHandleHost();const s=t||new vh(o);n.setStyle(\"width\",s.width+\"px\",this._viewResizerWrapper);n.setStyle(\"height\",s.height+\"px\",this._viewResizerWrapper);const r={left:o.offsetLeft,top:o.offsetTop,height:o.offsetHeight,width:o.offsetWidth};if(!i.isSameNode(o)){n.setStyle(\"left\",r.left+\"px\",this._viewResizerWrapper);n.setStyle(\"top\",r.top+\"px\",this._viewResizerWrapper);n.setStyle(\"height\",r.height+\"px\",this._viewResizerWrapper);n.setStyle(\"width\",r.width+\"px\",this._viewResizerWrapper)}})}function n(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains(\"ck-widget__resizer__handle\")}_cleanup(){this._sizeUI.dismiss();this._sizeUI.isVisible=false;const t=this._options.editor.editing.view;t.change(t=>{t.setStyle(\"width\",this._initialViewWidth,this._options.viewElement)})}_proposeNewSize(t){const e=this.state;const n=vx(t);const i=this._options.isCentered?this._options.isCentered(this):true;const o={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(i&&e.activeHandlePosition.endsWith(\"-right\")){o.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(i){o.x*=2}const s={width:Math.abs(e.originalWidth+o.x),height:Math.abs(e.originalHeight+o.y)};s.dominant=s.width/e.aspectRatio>s.height?\"width\":\"height\";s.max=s[s.dominant];const r={width:s.width,height:s.height};if(s.dominant==\"width\"){r.height=r.width/e.aspectRatio}else{r.width=r.height*e.aspectRatio}return{width:Math.round(r.width),height:Math.round(r.height),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*r.width*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}_appendHandles(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){t.appendChild(new $p({tag:\"div\",attributes:{class:`ck-widget__resizer__handle ${kx(n)}`}}).render())}}_appendSizeUI(t){const e=new _x;e.render();this._sizeUI=e;t.appendChild(e.element)}}yr(wx,Kc);class _x extends _b{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-size-view\",t.to(\"activeHandlePosition\",t=>t?`ck-orientation-${t}`:\"\")],style:{display:t.if(\"isVisible\",\"none\",t=>!t)}},children:[{text:t.to(\"label\")}]})}bindToState(t,e){this.bind(\"isVisible\").to(e,\"proposedWidth\",e,\"proposedHeight\",(t,e)=>t!==null&&e!==null);this.bind(\"label\").to(e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",e,\"proposedWidthPercents\",(e,n,i)=>{if(t.unit===\"px\"){return`${e}×${n}`}else{return`${i}%`}});this.bind(\"activeHandlePosition\").to(e)}dismiss(){this.unbind();this.isVisible=false}}function kx(t){return`ck-widget__resizer__handle-${t}`}function vx(t){return{x:t.pageX,y:t.pageY}}var yx=\"Expected a function\";function xx(t,e,n){var i=true,o=true;if(typeof t!=\"function\"){throw new TypeError(yx)}if(ct(n)){i=\"leading\"in n?!!n.leading:i;o=\"trailing\"in n?!!n.trailing:o}return uh(t,e,{leading:i,maxWait:e,trailing:o})}var Ax=xx;var Tx=n(68);class Cx extends Dw{static get pluginName(){return\"WidgetResize\"}init(){this.set(\"_visibleResizer\",null);this.set(\"_activeResizer\",null);this._resizers=new Map;const t=Nd.window.document;this.editor.model.schema.setAttributeProperties(\"width\",{isFormatting:true});this._observer=Object.create(Wd);this._observer.listenTo(t,\"mousedown\",this._mouseDownListener.bind(this));this._observer.listenTo(t,\"mousemove\",this._mouseMoveListener.bind(this));this._observer.listenTo(t,\"mouseup\",this._mouseUpListener.bind(this));const e=()=>{if(this._visibleResizer){this._visibleResizer.redraw()}};const n=Ax(e,200);this.on(\"change:_visibleResizer\",e);this.editor.ui.on(\"update\",n);this._observer.listenTo(Nd.window,\"resize\",n);const i=this.editor.editing.view.document.selection;i.on(\"change\",()=>{const t=i.getSelectedElement();this._visibleResizer=this._getResizerByViewElement(t)||null})}destroy(){this._observer.stopListening();for(const t of this._resizers.values()){t.destroy()}}attachTo(t){const e=new wx(t);const n=this.editor.plugins;e.attach();if(n.has(\"WidgetToolbarRepository\")){const t=n.get(\"WidgetToolbarRepository\");e.on(\"begin\",()=>{t.forceDisabled(\"resize\")},{priority:\"lowest\"});e.on(\"cancel\",()=>{t.clearForceDisabled(\"resize\")},{priority:\"highest\"});e.on(\"commit\",()=>{t.clearForceDisabled(\"resize\")},{priority:\"highest\"})}this._resizers.set(t.viewElement,e);return e}_getResizerByHandle(t){for(const e of this._resizers.values()){if(e.containsHandle(t)){return e}}}_getResizerByViewElement(t){return this._resizers.get(t)}_mouseDownListener(t,e){if(!wx.isResizeHandle(e.target)){return}const n=e.target;this._activeResizer=this._getResizerByHandle(n);if(this._activeResizer){this._activeResizer.begin(n)}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}yr(Cx,Kc);class Sx extends zw{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(!t||!t.hasAttribute(\"width\")){this.value=null}else{this.value={width:t.getAttribute(\"width\"),height:null}}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();e.change(e=>{e.setAttribute(\"width\",t.width,n)})}}var Px=n(70);class Ex extends Dw{static get requires(){return[Cx]}static get pluginName(){return\"ImageResize\"}init(){const t=this.editor;const e=new Sx(t);this._registerSchema();this._registerConverters();t.commands.add(\"imageResize\",e);t.editing.downcastDispatcher.on(\"insert:image\",(n,i,o)=>{const s=o.mapper.toViewElement(i.item);const r=t.plugins.get(Cx).attachTo({unit:t.config.get(\"image.resizeUnit\")||\"%\",modelElement:i.item,viewElement:s,editor:t,getHandleHost(t){return t.querySelector(\"img\")},getResizeHost(t){return t},isCentered(){const t=i.item.getAttribute(\"imageStyle\");return!t||t==\"full\"||t==\"alignCenter\"},onCommit(e){t.execute(\"imageResize\",{width:e})}});r.on(\"updateSize\",()=>{if(!s.hasClass(\"image_resized\")){t.editing.view.change(t=>{t.addClass(\"image_resized\",s)})}});r.bind(\"isEnabled\").to(e)},{priority:\"low\"})}_registerSchema(){this.editor.model.schema.extend(\"image\",{allowAttributes:\"width\"})}_registerConverters(){const t=this.editor;t.conversion.for(\"downcast\").add(t=>t.on(\"attribute:width:image\",(t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){i.setStyle(\"width\",e.attributeNewValue,o);i.addClass(\"image_resized\",o)}else{i.removeStyle(\"width\",o);i.removeClass(\"image_resized\",o)}}));t.conversion.for(\"upcast\").attributeToAttribute({view:{name:\"figure\",styles:{width:/.+/}},model:{key:\"width\",value:t=>t.getStyle(\"width\")}})}}class Mx extends zw{constructor(t,e){super(t);this.defaultStyle=false;this.styles=e.reduce((t,e)=>{t[e.name]=e;if(e.isDefault){this.defaultStyle=e.name}return t},{})}refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Uv(t);if(!t){this.value=false}else if(t.hasAttribute(\"imageStyle\")){const e=t.getAttribute(\"imageStyle\");this.value=this.styles[e]?e:false}else{this.value=this.defaultStyle}}execute(t){const e=t.value;const n=this.editor.model;const i=n.document.selection.getSelectedElement();n.change(t=>{if(this.styles[e].isDefault){t.removeAttribute(\"imageStyle\",i)}else{t.setAttribute(\"imageStyle\",e,i)}})}}function Ix(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=Ox(n.attributeNewValue,t);const s=Ox(n.attributeOldValue,t);const r=i.mapper.toViewElement(n.item);const a=i.writer;if(s){a.removeClass(s.className,r)}if(o){a.addClass(o.className,r)}}}function Nx(t){const e=t.filter(t=>!t.isDefault);return(t,n,i)=>{if(!n.modelRange){return}const o=n.viewItem;const s=jw(n.modelRange.getItems());if(!i.schema.checkAttribute(s,\"imageStyle\")){return}for(const t of e){if(i.consumable.consume(o,{classes:t.className})){i.writer.setAttribute(\"imageStyle\",t.name,s)}}}}function Ox(t,e){for(const n of e){if(n.name===t){return n}}}var Rx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm2.5 3V12h11V7.5h-11zM4.061 6H15.94c.586 0 1.061.407 1.061.91v5.68c0 .503-.475.91-1.061.91H4.06c-.585 0-1.06-.407-1.06-.91V6.91C3 6.406 3.475 6 4.061 6zM2 16.5V15h16v1.5z\"/></svg>';var Dx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" clip-rule=\"evenodd\" stroke-linejoin=\"round\" stroke-miterlimit=\"1.414\"><path d=\"M18 4.5V3H2v1.5h16zm0 3V6h-5.674v1.5H18zm0 3V9h-5.674v1.5H18zm0 3V12h-5.674v1.5H18zm-8.5-6V12h-6V7.5h6zm.818-1.5H2.682C2.305 6 2 6.407 2 6.91v5.68c0 .503.305.91.682.91h7.636c.377 0 .682-.407.682-.91V6.91c0-.503-.305-.91-.682-.91zM18 16.5V15H2v1.5h16z\"/></svg>';var Lx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm4.5 3V12h7V7.5h-7zM5.758 6h8.484c.419 0 .758.407.758.91v5.681c0 .502-.34.909-.758.909H5.758c-.419 0-.758-.407-.758-.91V6.91c0-.503.34-.91.758-.91zM2 16.5V15h16v1.5z\"/></svg>';var zx='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5V3h16v1.5zm0 3V6h5.674v1.5zm0 3V9h5.674v1.5zm0 3V12h5.674v1.5zm8.5-6V12h6V7.5h-6zM9.682 6h7.636c.377 0 .682.407.682.91v5.68c0 .503-.305.91-.682.91H9.682c-.377 0-.682-.407-.682-.91V6.91c0-.503.305-.91.682-.91zM2 16.5V15h16v1.5z\"/></svg>';const Vx={full:{name:\"full\",title:\"Full size image\",icon:Rx,isDefault:true},side:{name:\"side\",title:\"Side image\",icon:zx,className:\"image-style-side\"},alignLeft:{name:\"alignLeft\",title:\"Left aligned image\",icon:Dx,className:\"image-style-align-left\"},alignCenter:{name:\"alignCenter\",title:\"Centered image\",icon:Lx,className:\"image-style-align-center\"},alignRight:{name:\"alignRight\",title:\"Right aligned image\",icon:zx,className:\"image-style-align-right\"}};const jx={full:Rx,left:Dx,right:zx,center:Lx};function Bx(t=[]){return t.map(Fx)}function Fx(t){if(typeof t==\"string\"){const e=t;if(Vx[e]){t=Object.assign({},Vx[e])}else{console.warn(Object(rr[\"a\"])(\"image-style-not-found: There is no such image style of given name.\"),{name:e});t={name:e}}}else if(Vx[t.name]){const e=Vx[t.name];const n=Object.assign({},t);for(const i in e){if(!t.hasOwnProperty(i)){n[i]=e[i]}}t=n}if(typeof t.icon==\"string\"&&jx[t.icon]){t.icon=jx[t.icon]}return t}class Hx extends Dw{static get pluginName(){return\"ImageStyleEditing\"}init(){const t=this.editor;const e=t.model.schema;const n=t.data;const i=t.editing;t.config.define(\"image.styles\",[\"full\",\"side\"]);const o=Bx(t.config.get(\"image.styles\"));e.extend(\"image\",{allowAttributes:\"imageStyle\"});const s=Ix(o);i.downcastDispatcher.on(\"attribute:imageStyle:image\",s);n.downcastDispatcher.on(\"attribute:imageStyle:image\",s);n.upcastDispatcher.on(\"element:figure\",Nx(o),{priority:\"low\"});t.commands.add(\"imageStyle\",new Mx(t,o))}}var Ux=n(72);class Wx extends Dw{static get pluginName(){return\"ImageStyleUI\"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{\"Full size image\":t(\"Full size image\"),\"Side image\":t(\"Side image\"),\"Left aligned image\":t(\"Left aligned image\"),\"Centered image\":t(\"Centered image\"),\"Right aligned image\":t(\"Right aligned image\")}}init(){const t=this.editor;const e=t.config.get(\"image.styles\");const n=qx(Bx(e),this.localizedDefaultStylesTitles);for(const t of n){this._createButton(t)}}_createButton(t){const e=this.editor;const n=`imageStyle:${t.name}`;e.ui.componentFactory.add(n,n=>{const i=e.commands.get(\"imageStyle\");const o=new sw(n);o.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});o.bind(\"isEnabled\").to(i,\"isEnabled\");o.bind(\"isOn\").to(i,\"value\",e=>e===t.name);this.listenTo(o,\"execute\",()=>{e.execute(\"imageStyle\",{value:t.name});e.editing.view.focus()});return o})}}function qx(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}class $x extends Dw{static get requires(){return[Hx,Wx]}static get pluginName(){return\"ImageStyle\"}}class Yx extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"WidgetToolbarRepository\"}init(){const t=this.editor;if(t.plugins.has(\"BalloonToolbar\")){const e=t.plugins.get(\"BalloonToolbar\");this.listenTo(e,\"show\",e=>{if(Kx(t.editing.view.document.selection)){e.stop()}},{priority:\"high\"})}this._toolbarDefinitions=new Map;this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this.on(\"change:isEnabled\",()=>{this._updateToolbarsVisibility()});this.listenTo(t.ui,\"update\",()=>{this._updateToolbarsVisibility()});this.listenTo(t.ui.focusTracker,\"change:isFocused\",()=>{this._updateToolbarsVisibility()},{priority:\"low\"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:o=\"ck-toolbar-container\"}){const s=this.editor;const r=s.t;const a=new Cw(s.locale);a.ariaLabel=e||r(\"Widget toolbar\");if(this._toolbarDefinitions.has(t)){throw new rr[\"b\"](\"widget-toolbar-duplicated: Toolbar with the given id was already added.\",this,{toolbarId:t})}a.fillFromConfig(n,s.ui.componentFactory);this._toolbarDefinitions.set(t,{view:a,getRelatedElement:i,balloonClassName:o})}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const i of this._toolbarDefinitions.values()){const o=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!o){if(this._isToolbarInBalloon(i)){this._hideToolbar(i)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(i)){this._hideToolbar(i)}}else{const s=o.getAncestors().length;if(s>t){t=s;e=o;n=i}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,\"change:visibleView\")}_showToolbar(t,e){if(this._isToolbarVisible(t)){Gx(this.editor,e)}else if(!this._isToolbarInBalloon(t)){this._balloon.add({view:t.view,position:Qx(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,\"change:visibleView\",()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);Gx(this.editor,e)}}})}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Gx(t,e){const n=t.plugins.get(\"ContextualBalloon\");const i=Qx(t,e);n.updatePosition(i)}function Qx(t,e){const n=t.editing.view;const i=yv.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,zv]}}function Kx(t){const e=t.getSelectedElement();return!!(e&&Ev(e))}class Jx extends Dw{static get requires(){return[Yx]}static get pluginName(){return\"ImageToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(Yx);n.register(\"image\",{ariaLabel:e(\"Image toolbar\"),items:t.config.get(\"image.toolbar\")||[],getRelatedElement:Hv})}}class Zx extends _b{constructor(t){super(t);this.buttonView=new sw(t);this._fileInputView=new Xx(t);this._fileInputView.bind(\"acceptedType\").to(this);this._fileInputView.bind(\"allowMultipleFiles\").to(this);this._fileInputView.delegate(\"done\").to(this);this.setTemplate({tag:\"span\",attributes:{class:\"ck-file-dialog-button\"},children:[this.buttonView,this._fileInputView]});this.buttonView.on(\"execute\",()=>{this._fileInputView.open()})}focus(){this.buttonView.focus()}}class Xx extends _b{constructor(t){super(t);this.set(\"acceptedType\");this.set(\"allowMultipleFiles\",false);const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{class:[\"ck-hidden\"],type:\"file\",tabindex:\"-1\",accept:e.to(\"acceptedType\"),multiple:e.to(\"allowMultipleFiles\")},on:{change:e.to(()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire(\"done\",this.element.files)}this.element.value=\"\"})}})}open(){this.element.click()}}var tA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.91 10.54c.26-.23.64-.21.88.03l3.36 3.14 2.23-2.06a.64.64 0 0 1 .87 0l2.52 2.97V4.5H3.2v10.12l3.71-4.08zm10.27-7.51c.6 0 1.09.47 1.09 1.05v11.84c0 .59-.49 1.06-1.09 1.06H2.79c-.6 0-1.09-.47-1.09-1.06V4.08c0-.58.49-1.05 1.1-1.05h14.38zm-5.22 5.56a1.96 1.96 0 1 1 3.4-1.96 1.96 1.96 0 0 1-3.4 1.96z\"/></svg>';function eA(t){const e=t.map(t=>t.replace(\"+\",\"\\\\+\"));return new RegExp(`^image\\\\/(${e.join(\"|\")})$`)}function nA(t){return new Promise((e,n)=>{const i=t.getAttribute(\"src\");fetch(i).then(t=>t.blob()).then(t=>{const n=oA(t,i);const o=n.replace(\"image/\",\"\");const s=`image.${o}`;const r=new File([t],s,{type:n});e(r)}).catch(n)})}function iA(t){if(!t.is(\"element\",\"img\")||!t.getAttribute(\"src\")){return false}return t.getAttribute(\"src\").match(/^data:image\\/\\w+;base64,/g)||t.getAttribute(\"src\").match(/^blob:/g)}function oA(t,e){if(t.type){return t.type}else if(e.match(/data:(image\\/\\w+);base64/)){return e.match(/data:(image\\/\\w+);base64/)[1].toLowerCase()}else{return\"image/jpeg\"}}class sA extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"imageUpload\",n=>{const i=new Zx(n);const o=t.commands.get(\"imageUpload\");const s=t.config.get(\"image.upload.types\");const r=eA(s);i.set({acceptedType:s.map(t=>`image/${t}`).join(\",\"),allowMultipleFiles:true});i.buttonView.set({label:e(\"Insert image\"),icon:tA,tooltip:true});i.buttonView.bind(\"isEnabled\").to(o);i.on(\"done\",(e,n)=>{const i=Array.from(n).filter(t=>r.test(t.type));if(i.length){t.execute(\"imageUpload\",{file:i})}});return i})}}var rA='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 700 250\"><rect rx=\"4\"/></svg>';var aA=n(74);var cA=n(76);var lA=n(78);class dA extends Dw{constructor(t){super(t);this.placeholder=\"data:image/svg+xml;utf8,\"+encodeURIComponent(rA)}init(){const t=this.editor;t.editing.downcastDispatcher.on(\"attribute:uploadStatus:image\",(...t)=>this.uploadStatusChange(...t))}uploadStatusChange(t,e,n){const i=this.editor;const o=e.item;const s=o.getAttribute(\"uploadId\");if(!n.consumable.consume(e.item,t.name)){return}const r=i.plugins.get(u_);const a=s?e.attributeNewValue:null;const c=this.placeholder;const l=i.editing.mapper.toViewElement(o);const d=n.writer;if(a==\"reading\"){uA(l,d);fA(c,l,d);return}if(a==\"uploading\"){const t=r.loaders.get(s);uA(l,d);if(!t){fA(c,l,d)}else{gA(l,d);mA(l,d,t,i.editing.view);yA(l,d,t)}return}if(a==\"complete\"&&r.loaders.get(s)){bA(l,d,i.editing.view)}pA(l,d);gA(l,d);hA(l,d)}}function uA(t,e){if(!t.hasClass(\"ck-appear\")){e.addClass(\"ck-appear\",t)}}function hA(t,e){e.removeClass(\"ck-appear\",t)}function fA(t,e,n){if(!e.hasClass(\"ck-image-upload-placeholder\")){n.addClass(\"ck-image-upload-placeholder\",e)}const i=$v(e);if(i.getAttribute(\"src\")!==t){n.setAttribute(\"src\",t,i)}if(!kA(e,\"placeholder\")){n.insert(n.createPositionAfter(i),_A(n))}}function gA(t,e){if(t.hasClass(\"ck-image-upload-placeholder\")){e.removeClass(\"ck-image-upload-placeholder\",t)}vA(t,e,\"placeholder\")}function mA(t,e,n,i){const o=wA(e);e.insert(e.createPositionAt(t,\"end\"),o);n.on(\"change:uploadedPercent\",(t,e,n)=>{i.change(t=>{t.setStyle(\"width\",n+\"%\",o)})})}function pA(t,e){vA(t,e,\"progressBar\")}function bA(t,e,n){const i=e.createUIElement(\"div\",{class:\"ck-image-upload-complete-icon\"});e.insert(e.createPositionAt(t,\"end\"),i);setTimeout(()=>{n.change(t=>t.remove(t.createRangeOn(i)))},3e3)}function wA(t){const e=t.createUIElement(\"div\",{class:\"ck-progress-bar\"});t.setCustomProperty(\"progressBar\",true,e);return e}function _A(t){const e=t.createUIElement(\"div\",{class:\"ck-upload-placeholder-loader\"});t.setCustomProperty(\"placeholder\",true,e);return e}function kA(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function vA(t,e,n){const i=kA(t,n);if(i){e.remove(e.createRangeOn(i))}}function yA(t,e,n){if(n.data){const i=$v(t);e.setAttribute(\"src\",n.data,i)}}class xA extends c_{static get pluginName(){return\"Notification\"}init(){this.on(\"show:warning\",(t,e)=>{window.alert(e.message)},{priority:\"lowest\"})}showSuccess(t,e={}){this._showNotification({message:t,type:\"success\",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:\"info\",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:\"warning\",namespace:e.namespace,title:e.title})}_showNotification(t){const e=`show:${t.type}`+(t.namespace?`:${t.namespace}`:\"\");this.fire(e,{message:t.message,type:t.type,title:t.title||\"\"})}}class AA{constructor(t){this.document=t}createDocumentFragment(t){return new Wl(this.document,t)}createElement(t,e,n){return new Vc(this.document,t,e,n)}createText(t){return new Br(this.document,t)}clone(t,e=false){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;if(e){return this.removeChildren(e.getChildIndex(t),1,e)}return[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);this.removeChildren(i,1,n);this.insertChild(i,e,n);return true}return false}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t);this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Vc(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(R(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new ml(t,e,n)}}class TA extends zw{refresh(){this.isEnabled=qv(this.editor.model)}execute(t){const e=this.editor;const n=e.model;const i=e.plugins.get(u_);n.change(e=>{const o=Array.isArray(t.file)?t.file:[t.file];for(const t of o){CA(e,n,i,t)}})}}function CA(t,e,n,i){const o=n.createLoader(i);if(!o){return}Wv(t,e,{uploadId:o.id})}class SA extends Dw{static get requires(){return[u_,xA,$_]}static get pluginName(){return\"ImageUploadEditing\"}constructor(t){super(t);t.config.define(\"image\",{upload:{types:[\"jpeg\",\"png\",\"gif\",\"bmp\",\"webp\",\"tiff\"]}})}init(){const t=this.editor;const e=t.model.document;const n=t.model.schema;const i=t.conversion;const o=t.plugins.get(u_);const s=eA(t.config.get(\"image.upload.types\"));n.extend(\"image\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]});t.commands.add(\"imageUpload\",new TA(t));i.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"uploadId\"},model:\"uploadId\"});this.listenTo(t.editing.view.document,\"clipboardInput\",(e,n)=>{if(PA(n.dataTransfer)){return}const i=Array.from(n.dataTransfer.files).filter(t=>{if(!t){return false}return s.test(t.type)});const o=n.targetRanges.map(e=>t.editing.mapper.toModelRange(e));t.model.change(n=>{n.setSelection(o);if(i.length){e.stop();t.model.enqueueChange(\"default\",()=>{t.execute(\"imageUpload\",{file:i})})}})});this.listenTo(t.plugins.get($_),\"inputTransformation\",(e,n)=>{const i=Array.from(t.editing.view.createRangeIn(n.content)).filter(t=>iA(t.item)&&!t.item.getAttribute(\"uploadProcessed\")).map(t=>({promise:nA(t.item),imageElement:t.item}));if(!i.length){return}const s=new AA(t.editing.view.document);for(const t of i){s.setAttribute(\"uploadProcessed\",true,t.imageElement);const e=o.createLoader(t.promise);if(e){s.setAttribute(\"src\",\"\",t.imageElement);s.setAttribute(\"uploadId\",e.id,t.imageElement)}}});t.editing.view.document.on(\"dragover\",(t,e)=>{e.preventDefault()});e.on(\"change\",()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true});for(const e of n){if(e.type==\"insert\"&&e.name!=\"$text\"){const n=e.position.nodeAfter;const i=e.position.root.rootName==\"$graveyard\";for(const e of EA(t,n)){const t=e.getAttribute(\"uploadId\");if(!t){continue}const n=o.loaders.get(t);if(!n){continue}if(i){n.abort()}else if(n.status==\"idle\"){this._readAndUpload(n,e)}}}}})}_readAndUpload(t,e){const n=this.editor;const i=n.model;const o=n.locale.t;const s=n.plugins.get(u_);const r=n.plugins.get(xA);i.enqueueChange(\"transparent\",t=>{t.setAttribute(\"uploadStatus\",\"reading\",e)});return t.read().then(()=>{const o=t.upload();if(Cl.isSafari){const t=n.editing.mapper.toViewElement(e);const i=$v(t);n.editing.view.once(\"render\",()=>{if(!i.parent){return}const t=n.editing.view.domConverter.mapViewToDom(i.parent);if(!t){return}const e=t.style.display;t.style.display=\"none\";t._ckHack=t.offsetHeight;t.style.display=e})}i.enqueueChange(\"transparent\",t=>{t.setAttribute(\"uploadStatus\",\"uploading\",e)});return o}).then(t=>{i.enqueueChange(\"transparent\",n=>{n.setAttributes({uploadStatus:\"complete\",src:t.default},e);this._parseAndSetSrcsetAttributeOnImage(t,e,n)});a()}).catch(n=>{if(t.status!==\"error\"&&t.status!==\"aborted\"){throw n}if(t.status==\"error\"&&n){r.showWarning(n,{title:o(\"Upload failed\"),namespace:\"upload\"})}a();i.enqueueChange(\"transparent\",t=>{t.remove(e)})});function a(){i.enqueueChange(\"transparent\",t=>{t.removeAttribute(\"uploadId\",e);t.removeAttribute(\"uploadStatus\",e)});s.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const o=Object.keys(t).filter(t=>{const e=parseInt(t,10);if(!isNaN(e)){i=Math.max(i,e);return true}}).map(e=>`${t[e]} ${e}w`).join(\", \");if(o!=\"\"){n.setAttribute(\"srcset\",{data:o,width:i},e)}}}function PA(t){return Array.from(t.types).includes(\"text/html\")&&t.getData(\"text/html\")!==\"\"}function EA(t,e){return Array.from(t.model.createRangeOn(e)).filter(t=>t.item.is(\"image\")).map(t=>t.item)}class MA extends Dw{static get pluginName(){return\"ImageUpload\"}static get requires(){return[SA,sA,dA]}}class IA extends zw{constructor(t){super(t);this._childCommands=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();e.execute(t)}registerChildCommand(t){this._childCommands.push(t);t.on(\"change:isEnabled\",()=>this._checkEnabled());this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){return this._childCommands.find(t=>t.isEnabled)}}class NA extends Dw{static get pluginName(){return\"IndentEditing\"}init(){const t=this.editor;t.commands.add(\"indent\",new IA(t));t.commands.add(\"outdent\",new IA(t))}}var OA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95L5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z\"/></svg>';var RA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z\"/></svg>';class DA extends Dw{static get pluginName(){return\"IndentUI\"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection==\"ltr\"?OA:RA;const o=e.uiLanguageDirection==\"ltr\"?RA:OA;this._defineButton(\"indent\",n(\"Increase indent\"),i);this._defineButton(\"outdent\",n(\"Decrease indent\"),o)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,o=>{const s=i.commands.get(t);const r=new sw(o);r.set({label:e,icon:n,tooltip:true});r.bind(\"isOn\",\"isEnabled\").to(s,\"value\",\"isEnabled\");this.listenTo(r,\"execute\",()=>{i.execute(t);i.editing.view.focus()});return r})}}class LA extends Dw{static get pluginName(){return\"Indent\"}static get requires(){return[NA,DA]}}const zA=\"italic\";class VA extends Dw{static get pluginName(){return\"ItalicEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:zA});t.model.schema.setAttributeProperties(zA,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:zA,view:\"i\",upcastAlso:[\"em\",{styles:{\"font-style\":\"italic\"}}]});t.commands.add(zA,new A_(t,zA));t.keystrokes.set(\"CTRL+I\",zA)}}var jA='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.586 14.633l.021.004c-.036.335.095.655.393.962.082.083.173.15.274.201h1.474a.6.6 0 1 1 0 1.2H5.304a.6.6 0 0 1 0-1.2h1.15c.474-.07.809-.182 1.005-.334.157-.122.291-.32.404-.597l2.416-9.55a1.053 1.053 0 0 0-.281-.823 1.12 1.12 0 0 0-.442-.296H8.15a.6.6 0 0 1 0-1.2h6.443a.6.6 0 1 1 0 1.2h-1.195c-.376.056-.65.155-.823.296-.215.175-.423.439-.623.79l-2.366 9.347z\"/></svg>';const BA=\"italic\";class FA extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(BA,n=>{const i=t.commands.get(BA);const o=new sw(n);o.set({label:e(\"Italic\"),icon:jA,keystroke:\"CTRL+I\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(BA);t.editing.view.focus()});return o})}}class HA extends Dw{static get requires(){return[VA,FA]}static get pluginName(){return\"Italic\"}}function UA(t,e,n){return n.createRange(WA(t,e,true,n),WA(t,e,false,n))}function WA(t,e,n,i){let o=t.textNode||(n?t.nodeBefore:t.nodeAfter);let s=null;while(o&&o.getAttribute(\"linkHref\")==e){s=o;o=n?o.previousSibling:o.nextSibling}return s?i.createPositionAt(s,n?\"before\":\"after\"):t}class qA extends zw{constructor(t){super(t);this.manualDecorators=new xr}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document;this.value=e.selection.getAttribute(\"linkHref\");for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}this.isEnabled=t.schema.checkAttributeInSelection(e.selection,\"linkHref\")}execute(t,e={}){const n=this.editor.model;const i=n.document.selection;const o=[];const s=[];for(const t in e){if(e[t]){o.push(t)}else{s.push(t)}}n.change(e=>{if(i.isCollapsed){const r=i.getFirstPosition();if(i.hasAttribute(\"linkHref\")){const a=UA(r,i.getAttribute(\"linkHref\"),n);e.setAttribute(\"linkHref\",t,a);o.forEach(t=>{e.setAttribute(t,true,a)});s.forEach(t=>{e.removeAttribute(t,a)});e.setSelection(a)}else if(t!==\"\"){const s=Ur(i.getAttributes());s.set(\"linkHref\",t);o.forEach(t=>{s.set(t,true)});const a=e.createText(t,s);n.insertContent(a,r);e.setSelection(e.createRangeOn(a))}}else{const r=n.schema.getValidRanges(i.getRanges(),\"linkHref\");for(const n of r){e.setAttribute(\"linkHref\",t,n);o.forEach(t=>{e.setAttribute(t,true,n)});s.forEach(t=>{e.removeAttribute(t,n)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model.document;return e.selection.getAttribute(t)}}class $A extends zw{refresh(){this.isEnabled=this.editor.model.document.selection.hasAttribute(\"linkHref\")}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const i=t.commands.get(\"link\");e.change(t=>{const o=n.isCollapsed?[UA(n.getFirstPosition(),n.getAttribute(\"linkHref\"),e)]:n.getRanges();for(const e of o){t.removeAttribute(\"linkHref\",e);if(i){for(const n of i.manualDecorators){t.removeAttribute(n.id,e)}}}})}}function YA(t,e,n){var i=t.length;n=n===undefined?i:n;return!e&&n>=i?t:Na(t,e,n)}var GA=YA;var QA=\"\\\\ud800-\\\\udfff\",KA=\"\\\\u0300-\\\\u036f\",JA=\"\\\\ufe20-\\\\ufe2f\",ZA=\"\\\\u20d0-\\\\u20ff\",XA=KA+JA+ZA,tT=\"\\\\ufe0e\\\\ufe0f\";var eT=\"\\\\u200d\";var nT=RegExp(\"[\"+eT+QA+XA+tT+\"]\");function iT(t){return nT.test(t)}var oT=iT;function sT(t){return t.split(\"\")}var rT=sT;var aT=\"\\\\ud800-\\\\udfff\",cT=\"\\\\u0300-\\\\u036f\",lT=\"\\\\ufe20-\\\\ufe2f\",dT=\"\\\\u20d0-\\\\u20ff\",uT=cT+lT+dT,hT=\"\\\\ufe0e\\\\ufe0f\";var fT=\"[\"+aT+\"]\",gT=\"[\"+uT+\"]\",mT=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",pT=\"(?:\"+gT+\"|\"+mT+\")\",bT=\"[^\"+aT+\"]\",wT=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",_T=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",kT=\"\\\\u200d\";var vT=pT+\"?\",yT=\"[\"+hT+\"]?\",xT=\"(?:\"+kT+\"(?:\"+[bT,wT,_T].join(\"|\")+\")\"+yT+vT+\")*\",AT=yT+vT+xT,TT=\"(?:\"+[bT+gT+\"?\",gT,wT,_T,fT].join(\"|\")+\")\";var CT=RegExp(mT+\"(?=\"+mT+\")|\"+TT+AT,\"g\");function ST(t){return t.match(CT)||[]}var PT=ST;function ET(t){return oT(t)?PT(t):rT(t)}var MT=ET;function IT(t){return function(e){e=va(e);var n=oT(e)?MT(e):undefined;var i=n?n[0]:e.charAt(0);var o=n?GA(n,1).join(\"\"):e.slice(1);return i[t]()+o}}var NT=IT;var OT=NT(\"toUpperCase\");var RT=OT;const DT=/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g;const LT=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;function zT(t){return t.is(\"attributeElement\")&&!!t.getCustomProperty(\"link\")}function VT(t,e){const n=e.createAttributeElement(\"a\",{href:t},{priority:5});e.setCustomProperty(\"link\",true,n);return n}function jT(t){t=String(t);return BT(t)?t:\"#\"}function BT(t){const e=t.replace(DT,\"\");return e.match(LT)}function FT(t,e){const n={\"Open in a new tab\":t(\"Open in a new tab\"),Downloadable:t(\"Downloadable\")};e.forEach(t=>{if(t.label&&n[t.label]){t.label=n[t.label]}return t});return e}function HT(t){const e=[];if(t){for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${RT(n)}`});e.push(t)}}return e}class UT{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach(t=>this._definitions.add(t))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on(\"attribute:linkHref\",(t,e,n)=>{if(!n.consumable.test(e.item,\"attribute:linkHref\")){return}const i=n.writer;const o=i.document.selection;for(const t of this._definitions){const s=i.createAttributeElement(\"a\",t.attributes,{priority:5});i.setCustomProperty(\"link\",true,s);if(t.callback(e.attributeNewValue)){if(e.item.is(\"selection\")){i.wrap(o.getFirstRange(),s)}else{i.wrap(n.mapper.toViewRange(e.range),s)}}else{i.unwrap(n.mapper.toViewRange(e.range),s)}}},{priority:\"high\"})}}}class WT{constructor({id:t,label:e,attributes:n,defaultValue:i}){this.id=t;this.set(\"value\");this.defaultValue=i;this.label=e;this.attributes=n}}yr(WT,Kc);function qT({view:t,model:e,emitter:n,attribute:i,locale:o}){const s=new $T(e,n,i);const r=e.document.selection;n.listenTo(t.document,\"keydown\",(t,e)=>{if(!r.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==Rl.arrowright;const i=e.keyCode==Rl.arrowleft;if(!n&&!i){return}const a=r.getFirstPosition();const c=o.contentLanguageDirection;let l;if(c===\"ltr\"&&n||c===\"rtl\"&&i){l=s.handleForwardMovement(a,e)}else{l=s.handleBackwardMovement(a,e)}if(l){t.stop()}},{priority:or.get(\"high\")+1})}class $T{constructor(t,e,n){this.model=t;this.attribute=n;this._modelSelection=t.document.selection;this._overrideUid=null;this._isNextGravityRestorationSkipped=false;e.listenTo(this._modelSelection,\"change:range\",(t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&YT(this._modelSelection.getFirstPosition(),n)){return}this._restoreGravity()})}handleForwardMovement(t,e){const n=this.attribute;if(this._isGravityOverridden){return}if(t.isAtStart&&this._hasSelectionAttribute){return}if(KT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._removeSelectionAttribute();return true}if(GT(t,n)){this._preventCaretMovement(e);this._overrideGravity();return true}if(QT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._overrideGravity();return true}}handleBackwardMovement(t,e){const n=this.attribute;if(this._isGravityOverridden){if(KT(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._restoreGravity();this._removeSelectionAttribute();return true}else{this._preventCaretMovement(e);this._restoreGravity();if(t.isAtStart){this._removeSelectionAttribute()}return true}}else{if(KT(t,n)&&!this._hasSelectionAttribute){this._preventCaretMovement(e);this._setSelectionAttributeFromTheNodeBefore(t);return true}if(t.isAtEnd&&QT(t,n)){if(this._hasSelectionAttribute){if(JT(t,n)){this._skipNextAutomaticGravityRestoration();this._overrideGravity()}return}else{this._preventCaretMovement(e);this._setSelectionAttributeFromTheNodeBefore(t);return true}}if(t.isAtStart){if(this._hasSelectionAttribute){this._removeSelectionAttribute();this._preventCaretMovement(e);return true}return}if(JT(t,n)){this._skipNextAutomaticGravityRestoration();this._overrideGravity()}}}get _isGravityOverridden(){return!!this._overrideUid}get _hasSelectionAttribute(){return this._modelSelection.hasAttribute(this.attribute)}_overrideGravity(){this._overrideUid=this.model.change(t=>t.overrideSelectionGravity())}_restoreGravity(){this.model.change(t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null})}_preventCaretMovement(t){t.preventDefault()}_removeSelectionAttribute(){this.model.change(t=>{t.removeSelectionAttribute(this.attribute)})}_setSelectionAttributeFromTheNodeBefore(t){const e=this.attribute;this.model.change(n=>{n.setSelectionAttribute(this.attribute,t.nodeBefore.getAttribute(e))})}_skipNextAutomaticGravityRestoration(){this._isNextGravityRestorationSkipped=true}}function YT(t,e){return GT(t,e)||QT(t,e)}function GT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;return s&&(!o||n.getAttribute(e)!==i.getAttribute(e))}function QT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;return o&&(!s||n.getAttribute(e)!==i.getAttribute(e))}function KT(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const s=i?i.hasAttribute(e):false;if(!s||!o){return}return i.getAttribute(e)!==n.getAttribute(e)}function JT(t,e){return YT(t.getShiftedBy(-1),e)}var ZT=n(80);const XT=\"ck-link_selected\";const tC=\"automatic\";const eC=\"manual\";const nC=/^(https?:)?\\/\\//;class iC extends Dw{static get pluginName(){return\"LinkEditing\"}constructor(t){super(t);t.config.define(\"link\",{addTargetToExternalLinks:false})}init(){const t=this.editor;const e=t.locale;t.model.schema.extend(\"$text\",{allowAttributes:\"linkHref\"});t.conversion.for(\"dataDowncast\").attributeToElement({model:\"linkHref\",view:VT});t.conversion.for(\"editingDowncast\").attributeToElement({model:\"linkHref\",view:(t,e)=>VT(jT(t),e)});t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:{href:true}},model:{key:\"linkHref\",value:t=>t.getAttribute(\"href\")}});t.commands.add(\"link\",new qA(t));t.commands.add(\"unlink\",new $A(t));const n=FT(t.t,HT(t.config.get(\"link.decorators\")));this._enableAutomaticDecorators(n.filter(t=>t.mode===tC));this._enableManualDecorators(n.filter(t=>t.mode===eC));qT({view:t.editing.view,model:t.model,emitter:this,attribute:\"linkHref\",locale:e});this._setupLinkHighlight();this._enableInsertContentSelectionAttributesFixer()}_enableAutomaticDecorators(t){const e=this.editor;const n=new UT;if(e.config.get(\"link.addTargetToExternalLinks\")){n.add({id:\"linkIsExternal\",mode:tC,callback:t=>nC.test(t),attributes:{target:\"_blank\",rel:\"noopener noreferrer\"}})}n.add(t);if(n.length){e.conversion.for(\"downcast\").add(n.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get(\"link\");const i=n.manualDecorators;t.forEach(t=>{e.model.schema.extend(\"$text\",{allowAttributes:t.id});i.add(new WT(t));e.conversion.for(\"downcast\").attributeToElement({model:t.id,view:(e,n)=>{if(e){const e=i.get(t.id).attributes;const o=n.createAttributeElement(\"a\",e,{priority:5});n.setCustomProperty(\"link\",true,o);return o}}});e.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:i.get(t.id).attributes},model:{key:t.id}})})}_setupLinkHighlight(){const t=this.editor;const e=t.editing.view;const n=new Set;e.document.registerPostFixer(e=>{const i=t.model.document.selection;let o=false;if(i.hasAttribute(\"linkHref\")){const s=UA(i.getFirstPosition(),i.getAttribute(\"linkHref\"),t.model);const r=t.editing.mapper.toViewRange(s);for(const t of r.getItems()){if(t.is(\"a\")&&!t.hasClass(XT)){e.addClass(XT,t);n.add(t);o=true}}}return o});t.conversion.for(\"editingDowncast\").add(t=>{t.on(\"insert\",i,{priority:\"highest\"});t.on(\"remove\",i,{priority:\"highest\"});t.on(\"attribute\",i,{priority:\"highest\"});t.on(\"selection\",i,{priority:\"highest\"});function i(){e.change(t=>{for(const e of n.values()){t.removeClass(XT,e);n.delete(e)}})}})}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;e.on(\"insertContent\",()=>{const t=n.anchor.nodeBefore;const i=n.anchor.nodeAfter;if(!n.hasAttribute(\"linkHref\")){return}if(!t){return}if(!t.hasAttribute(\"linkHref\")){return}if(i&&i.hasAttribute(\"linkHref\")){return}e.change(t=>{[...e.document.selection.getAttributeKeys()].filter(t=>t.startsWith(\"link\")).forEach(e=>t.removeSelectionAttribute(e))})},{priority:\"low\"})}}class oC extends Qu{constructor(t){super(t);this.domEventType=\"click\"}onDomEvent(t){this.fire(t.type,t)}}var sC=n(82);class rC extends _b{constructor(t,e){super(t);const n=t.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(n(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});const i=[\"ck\",\"ck-link-form\"];if(e.manualDecorators.length){i.push(\"ck-link-form_layout-vertical\")}this.setTemplate({tag:\"form\",attributes:{class:i,tabindex:\"-1\"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>{t[e.name]=e.isOn;return t},{})}render(){super.render();Ry({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new Ey(this.locale,Ny);e.label=t(\"Link URL\");e.fieldView.placeholder=\"https://example.com\";return e}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new fw(this.locale);i.set({name:n.id,label:n.label,withText:true});i.bind(\"isOn\").toMany([n,t],\"value\",(t,e)=>e===undefined&&t===undefined?n.defaultValue:t);i.on(\"execute\",()=>{n.set(\"value\",!i.isOn)});e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new _b;t.setTemplate({tag:\"ul\",children:this._manualDecoratorSwitches.map(t=>({tag:\"li\",children:[t],attributes:{class:[\"ck\",\"ck-list__item\"]}})),attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var aC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.077 15l.991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184zm4.919 10.562l-1.414 1.414a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.061-1.06l1.414 1.414 1.414-1.415a.75.75 0 0 1 1.061 1.061l-1.414 1.414 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414z\"/></svg>';var cC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.3 17.37l-.061.088a1.518 1.518 0 0 1-.934.535l-4.178.663-.806-4.153a1.495 1.495 0 0 1 .187-1.058l.056-.086L8.77 2.639c.958-1.351 2.803-1.076 4.296-.03 1.497 1.047 2.387 2.693 1.433 4.055L7.3 17.37zM9.14 4.728l-5.545 8.346 3.277 2.294 5.544-8.346L9.14 4.728zM6.07 16.512l-3.276-2.295.53 2.73 2.746-.435zM9.994 3.506L13.271 5.8c.316-.452-.16-1.333-1.065-1.966-.905-.634-1.895-.78-2.212-.328zM8 18.5L9.375 17H19v1.5H8z\"/></svg>';var lC=n(84);class dC extends _b{constructor(t){super(t);const e=t.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(e(\"Unlink\"),aC,\"unlink\");this.editButtonView=this._createButton(e(\"Edit link\"),cC,\"edit\");this.set(\"href\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-link-actions\"],tabindex:\"-1\"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new sw(this.locale);i.set({label:t,icon:e,tooltip:true});i.delegate(\"execute\").to(this,n);return i}_createPreviewButton(){const t=new sw(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n(\"Open link in new tab\")});t.extendTemplate({attributes:{class:[\"ck\",\"ck-link-actions__preview\"],href:e.to(\"href\",t=>t&&jT(t)),target:\"_blank\",rel:\"noopener noreferrer\"}});t.bind(\"label\").to(this,\"href\",t=>t||n(\"This link has no URL\"));t.bind(\"isEnabled\").to(this,\"href\",t=>!!t);t.template.tag=\"a\";t.template.eventListeners={};return t}}var uC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.077 15l.991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z\"/></svg>';const hC=\"Ctrl+K\";class fC extends Dw{static get requires(){return[Wy]}static get pluginName(){return\"LinkUI\"}init(){const t=this.editor;t.editing.view.addObserver(oC);this.actionsView=this._createActionsView();this.formView=this._createFormView();this._balloon=t.plugins.get(Wy);this._createToolbarLinkButton();this._enableUserBalloonInteractions()}destroy(){super.destroy();this.formView.destroy()}_createActionsView(){const t=this.editor;const e=new dC(t.locale);const n=t.commands.get(\"link\");const i=t.commands.get(\"unlink\");e.bind(\"href\").to(n,\"value\");e.editButtonView.bind(\"isEnabled\").to(n);e.unlinkButtonView.bind(\"isEnabled\").to(i);this.listenTo(e,\"edit\",()=>{this._addFormView()});this.listenTo(e,\"unlink\",()=>{t.execute(\"unlink\");this._hideUI()});e.keystrokes.set(\"Esc\",(t,e)=>{this._hideUI();e()});e.keystrokes.set(hC,(t,e)=>{this._addFormView();e()});return e}_createFormView(){const t=this.editor;const e=t.commands.get(\"link\");const n=new rC(t.locale,e);n.urlInputView.fieldView.bind(\"value\").to(e,\"value\");n.urlInputView.bind(\"isReadOnly\").to(e,\"isEnabled\",t=>!t);n.saveButtonView.bind(\"isEnabled\").to(e);this.listenTo(n,\"submit\",()=>{t.execute(\"link\",n.urlInputView.fieldView.element.value,n.getDecoratorSwitchesState());this._closeFormView()});this.listenTo(n,\"cancel\",()=>{this._closeFormView()});n.keystrokes.set(\"Esc\",(t,e)=>{this._closeFormView();e()});return n}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get(\"link\");const n=t.t;t.keystrokes.set(hC,(t,e)=>{e();this._showUI(true)});t.ui.componentFactory.add(\"link\",t=>{const i=new sw(t);i.isEnabled=true;i.label=n(\"Link\");i.icon=uC;i.keystroke=hC;i.tooltip=true;i.isToggleable=true;i.bind(\"isEnabled\").to(e,\"isEnabled\");i.bind(\"isOn\").to(e,\"value\",t=>!!t);this.listenTo(i,\"execute\",()=>this._showUI(true));return i})}_enableUserBalloonInteractions(){const t=this.editor.editing.view.document;this.listenTo(t,\"click\",()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}});this.editor.keystrokes.set(\"Tab\",(t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}},{priority:\"high\"});this.editor.keystrokes.set(\"Esc\",(t,e)=>{if(this._isUIVisible){this._hideUI();e()}});gw({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get(\"link\");this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.urlInputView.fieldView.element.value=e.value||\"\"}_closeFormView(){const t=this.editor.commands.get(\"link\");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this._balloon.remove(this.formView);this.editor.editing.view.focus()}}_showUI(t=false){if(!this._getSelectedLinkElement()){this._addActionsView();if(t){this._balloon.showStack(\"main\")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack(\"main\")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,\"update\");this.stopListening(this._balloon,\"change:visibleView\");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView)}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let i=s();const o=()=>{const t=this._getSelectedLinkElement();const e=s();if(n&&!t||!n&&e!==i){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;i=e};function s(){return e.selection.focus.getAncestors().reverse().find(t=>t.is(\"element\"))}this.listenTo(t.ui,\"update\",o);this.listenTo(this._balloon,\"change:visibleView\",o)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=t.document;const n=this._getSelectedLinkElement();const i=n?t.domConverter.mapViewToDom(n):t.domConverter.viewRangeToDom(e.selection.getFirstRange());return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;if(e.isCollapsed){return gC(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const i=gC(n.start);const o=gC(n.end);if(!i||i!=o){return null}if(t.createRangeIn(i).getTrimmed().isEqual(n)){return i}else{return null}}}}function gC(t){return t.getAncestors().find(t=>zT(t))}class mC extends Dw{static get requires(){return[iC,fC]}static get pluginName(){return\"Link\"}}class pC extends zw{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;const n=Array.from(e.selection.getSelectedBlocks()).filter(e=>wC(e,t.schema));const i=this.value===true;t.change(t=>{if(i){let e=n[n.length-1].nextSibling;let i=Number.POSITIVE_INFINITY;let o=[];while(e&&e.name==\"listItem\"&&e.getAttribute(\"listIndent\")!==0){const t=e.getAttribute(\"listIndent\");if(t<i){i=t}const n=t-i;o.push({element:e,listIndent:n});e=e.nextSibling}o=o.reverse();for(const e of o){t.setAttribute(\"listIndent\",e.listIndent,e.element)}}if(!i){let t=Number.POSITIVE_INFINITY;for(const e of n){if(e.is(\"listItem\")&&e.getAttribute(\"listIndent\")<t){t=e.getAttribute(\"listIndent\")}}t=t===0?1:t;bC(n,true,t);bC(n,false,t)}for(const e of n.reverse()){if(i&&e.name==\"listItem\"){t.rename(e,\"paragraph\")}else if(!i&&e.name!=\"listItem\"){t.setAttributes({listType:this.type,listIndent:0},e);t.rename(e,\"listItem\")}else if(!i&&e.name==\"listItem\"&&e.getAttribute(\"listType\")!=this.type){t.setAttribute(\"listType\",this.type,e)}}})}_getValue(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());return!!t&&t.is(\"listItem\")&&t.getAttribute(\"listType\")==this.type}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=jw(t.getSelectedBlocks());if(!n){return false}return wC(n,e)}}function bC(t,e,n){const i=e?t[0]:t[t.length-1];if(i.is(\"listItem\")){let o=i[e?\"previousSibling\":\"nextSibling\"];let s=i.getAttribute(\"listIndent\");while(o&&o.is(\"listItem\")&&o.getAttribute(\"listIndent\")>=n){if(s>o.getAttribute(\"listIndent\")){s=o.getAttribute(\"listIndent\")}if(o.getAttribute(\"listIndent\")==s){t[e?\"unshift\":\"push\"](o)}o=o[e?\"previousSibling\":\"nextSibling\"]}}}function wC(t,e){return e.checkChild(t.parent,\"listItem\")&&!e.isObject(t)}class _C extends zw{constructor(t,e){super(t);this._indentBy=e==\"forward\"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change(t=>{const e=n[n.length-1];let i=e.nextSibling;while(i&&i.name==\"listItem\"&&i.getAttribute(\"listIndent\")>e.getAttribute(\"listIndent\")){n.push(i);i=i.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute(\"listIndent\")+this._indentBy;if(n<0){t.rename(e,\"paragraph\")}else{t.setAttribute(\"listIndent\",n,e)}}})}_checkEnabled(){const t=jw(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is(\"listItem\")){return false}if(this._indentBy>0){const e=t.getAttribute(\"listIndent\");const n=t.getAttribute(\"listType\");let i=t.previousSibling;while(i&&i.is(\"listItem\")&&i.getAttribute(\"listIndent\")>=e){if(i.getAttribute(\"listIndent\")==e){return i.getAttribute(\"listType\")==n}i=i.previousSibling}return false}return true}}function kC(t){const e=t.createContainerElement(\"li\");e.getFillerOffset=SC;return e}function vC(t,e){const n=e.mapper;const i=e.writer;const o=t.getAttribute(\"listType\")==\"numbered\"?\"ol\":\"ul\";const s=kC(i);const r=i.createContainerElement(o,null);i.insert(i.createPositionAt(r,0),s);n.bindElements(t,s);return s}function yC(t,e,n,i){const o=e.parent;const s=n.mapper;const r=n.writer;let a=s.toViewPosition(i.createPositionBefore(t));const c=TC(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute(\"listIndent\")});const l=t.previousSibling;if(c&&c.getAttribute(\"listIndent\")==t.getAttribute(\"listIndent\")){const t=s.toViewElement(c);a=r.breakContainer(r.createPositionAfter(t))}else{if(l&&l.name==\"listItem\"){a=s.toViewPosition(i.createPositionAt(l,\"end\"))}else{a=s.toViewPosition(i.createPositionBefore(t))}}a=AC(a);r.insert(a,o);if(l&&l.name==\"listItem\"){const t=s.toViewElement(l);const n=r.createRange(r.createPositionAt(t,0),a);const i=n.getWalker({ignoreElementEnd:true});for(const t of i){if(t.item.is(\"li\")){const n=r.breakContainer(r.createPositionBefore(t.item));const o=t.item.parent;const s=r.createPositionAt(e,\"end\");xC(r,s.nodeBefore,s.nodeAfter);r.move(r.createRangeOn(o),s);i.position=n}}}else{const n=o.nextSibling;if(n&&(n.is(\"ul\")||n.is(\"ol\"))){let i=null;for(const e of n.getChildren()){const n=s.toModelElement(e);if(n&&n.getAttribute(\"listIndent\")>t.getAttribute(\"listIndent\")){i=e}else{break}}if(i){r.breakContainer(r.createPositionAfter(i));r.move(r.createRangeOn(i.parent),r.createPositionAt(e,\"end\"))}}}xC(r,o,o.nextSibling);xC(r,o.previousSibling,o)}function xC(t,e,n){if(!e||!n||e.name!=\"ul\"&&e.name!=\"ol\"){return null}if(e.name!=n.name||e.getAttribute(\"class\")!==n.getAttribute(\"class\")){return null}return t.mergeContainers(t.createPositionAfter(e))}function AC(t){return t.getLastMatchingPosition(t=>t.item.is(\"uiElement\"))}function TC(t,e){const n=!!e.sameIndent;const i=!!e.smallerIndent;const o=e.listIndent;let s=t;while(s&&s.name==\"listItem\"){const t=s.getAttribute(\"listIndent\");if(n&&o==t||i&&o>t){return s}s=s.previousSibling}return null}function CC(t,e,n,i){t.ui.componentFactory.add(e,o=>{const s=t.commands.get(e);const r=new sw(o);r.set({label:n,icon:i,tooltip:true,isToggleable:true});r.bind(\"isOn\",\"isEnabled\").to(s,\"value\",\"isEnabled\");r.on(\"execute\",()=>{t.execute(e);t.editing.view.focus()});return r})}function SC(){const t=!this.isEmpty&&(this.getChild(0).name==\"ul\"||this.getChild(0).name==\"ol\");if(this.isEmpty||t){return 0}return Uc.call(this)}function PC(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,\"insert\")||!o.test(n.item,\"attribute:listType\")||!o.test(n.item,\"attribute:listIndent\")){return}o.consume(n.item,\"insert\");o.consume(n.item,\"attribute:listType\");o.consume(n.item,\"attribute:listIndent\");const s=n.item;const r=vC(s,i);yC(s,r,i,t)}}function EC(t){return(e,n,i)=>{const o=i.mapper.toViewPosition(n.position).getLastMatchingPosition(t=>!t.item.is(\"li\"));const s=o.nodeAfter;const r=i.writer;r.breakContainer(r.createPositionBefore(s));r.breakContainer(r.createPositionAfter(s));const a=s.parent;const c=a.previousSibling;const l=r.createRangeOn(a);const d=r.remove(l);if(c&&c.nextSibling){xC(r,c,c.nextSibling)}const u=i.mapper.toModelElement(s);WC(u.getAttribute(\"listIndent\")+1,n.position,l.start,s,i,t);for(const t of r.createRangeIn(d).getItems()){i.mapper.unbindViewElement(t)}e.stop()}}function MC(t,e,n){if(!n.consumable.consume(e.item,\"attribute:listType\")){return}const i=n.mapper.toViewElement(e.item);const o=n.writer;o.breakContainer(o.createPositionBefore(i));o.breakContainer(o.createPositionAfter(i));const s=i.parent;const r=e.attributeNewValue==\"numbered\"?\"ol\":\"ul\";o.rename(r,s)}function IC(t,e,n){const i=n.mapper.toViewElement(e.item);const o=i.parent;const s=n.writer;xC(s,o,o.nextSibling);xC(s,o.previousSibling,o);for(const t of e.item.getChildren()){n.consumable.consume(t,\"insert\")}}function NC(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,\"attribute:listIndent\")){return}const o=i.mapper.toViewElement(n.item);const s=i.writer;s.breakContainer(s.createPositionBefore(o));s.breakContainer(s.createPositionAfter(o));const r=o.parent;const a=r.previousSibling;const c=s.createRangeOn(r);s.remove(c);if(a&&a.nextSibling){xC(s,a,a.nextSibling)}WC(n.attributeOldValue+1,n.range.start,c.start,o,i,t);yC(n.item,o,i,t);for(const t of n.item.getChildren()){i.consumable.consume(t,\"insert\")}}}function OC(t,e,n){if(e.item.name!=\"listItem\"){let t=n.mapper.toViewPosition(e.range.start);const i=n.writer;const o=[];while(t.parent.name==\"ul\"||t.parent.name==\"ol\"){t=i.breakContainer(t);if(t.parent.name!=\"li\"){break}const e=t;const n=i.createPositionAt(t.parent,\"end\");if(!e.isEqual(n)){const t=i.remove(i.createRange(e,n));o.push(t)}t=i.createPositionAfter(t.parent)}if(o.length>0){for(let e=0;e<o.length;e++){const n=t.nodeBefore;const s=i.insert(t,o[e]);t=s.end;if(e>0){const e=xC(i,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}xC(i,t.nodeBefore,t.nodeAfter)}}}function RC(t,e,n){const i=n.mapper.toViewPosition(e.position);const o=i.nodeBefore;const s=i.nodeAfter;xC(n.writer,o,s)}function DC(t,e,n){if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const i=t.createElement(\"listItem\");const o=$C(e.viewItem);t.setAttribute(\"listIndent\",o,i);const s=e.viewItem.parent&&e.viewItem.parent.name==\"ol\"?\"numbered\":\"bulleted\";t.setAttribute(\"listType\",s,i);const r=n.splitToAllowedParent(i,e.modelCursor);if(!r){return}t.insert(i,r.position);const a=HC(i,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,a);if(r.cursorParent){e.modelCursor=t.createPositionAt(r.cursorParent,0)}else{e.modelCursor=e.modelRange.end}}}function LC(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is(\"li\")||qC(e));if(t){e._remove()}}}}function zC(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;let i=true;for(const e of t){if(n&&!qC(e)){e._remove()}if(e.is(\"text\")){if(i){e._data=e.data.replace(/^\\s+/,\"\")}if(!e.nextSibling||qC(e.nextSibling)){e._data=e.data.replace(/\\s+$/,\"\")}}else if(qC(e)){n=true}i=false}}}function VC(t){return(e,n)=>{if(n.isPhantom){return}const i=n.modelPosition.nodeBefore;if(i&&i.is(\"listItem\")){const e=n.mapper.toViewElement(i);const o=e.getAncestors().find(qC);const s=t.createPositionAt(e,0).getWalker();for(const t of s){if(t.type==\"elementStart\"&&t.item.is(\"li\")){n.viewPosition=t.previousPosition;break}else if(t.type==\"elementEnd\"&&t.item==o){n.viewPosition=t.nextPosition;break}}}}}function jC(t){return(e,n)=>{const i=n.viewPosition;const o=i.parent;const s=n.mapper;if(o.name==\"ul\"||o.name==\"ol\"){if(!i.isAtEnd){const e=s.toModelElement(i.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=s.toModelElement(i.nodeBefore);const o=s.getModelLength(i.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(o)}e.stop()}else if(o.name==\"li\"&&i.nodeBefore&&(i.nodeBefore.name==\"ul\"||i.nodeBefore.name==\"ol\")){const r=s.toModelElement(o);let a=1;let c=i.nodeBefore;while(c&&qC(c)){a+=s.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(r).getShiftedBy(a);e.stop()}}}function BC(t,e){const n=t.document.differ.getChanges();const i=new Map;let o=false;for(const i of n){if(i.type==\"insert\"&&i.name==\"listItem\"){s(i.position)}else if(i.type==\"insert\"&&i.name!=\"listItem\"){if(i.name!=\"$text\"){const n=i.position.nodeAfter;if(n.hasAttribute(\"listIndent\")){e.removeAttribute(\"listIndent\",n);o=true}if(n.hasAttribute(\"listType\")){e.removeAttribute(\"listType\",n);o=true}for(const e of Array.from(t.createRangeIn(n)).filter(t=>t.item.is(\"listItem\"))){s(e.previousPosition)}}const n=i.position.getShiftedBy(i.length);s(n)}else if(i.type==\"remove\"&&i.name==\"listItem\"){s(i.position)}else if(i.type==\"attribute\"&&i.attributeKey==\"listIndent\"){s(i.range.start)}else if(i.type==\"attribute\"&&i.attributeKey==\"listType\"){s(i.range.start)}}for(const t of i.values()){r(t);a(t)}return o;function s(t){const e=t.nodeBefore;if(!e||!e.is(\"listItem\")){const e=t.nodeAfter;if(e&&e.is(\"listItem\")){i.set(e,e)}}else{let t=e;if(i.has(t)){return}for(let e=t.previousSibling;e&&e.is(\"listItem\");e=t.previousSibling){t=e;if(i.has(t)){return}}i.set(e,t)}}function r(t){let n=0;let i=null;while(t&&t.is(\"listItem\")){const s=t.getAttribute(\"listIndent\");if(s>n){let r;if(i===null){i=s-n;r=n}else{if(i>s){i=s}r=s-i}e.setAttribute(\"listIndent\",r,t);o=true}else{i=null;n=t.getAttribute(\"listIndent\")+1}t=t.nextSibling}}function a(t){let n=[];let i=null;while(t&&t.is(\"listItem\")){const s=t.getAttribute(\"listIndent\");if(i&&i.getAttribute(\"listIndent\")>s){n=n.slice(0,s+1)}if(s!=0){if(n[s]){const i=n[s];if(t.getAttribute(\"listType\")!=i){e.setAttribute(\"listType\",i,t);o=true}}else{n[s]=t.getAttribute(\"listType\")}}i=t;t=t.nextSibling}}}function FC(t,[e,n]){let i=e.is(\"documentFragment\")?e.getChild(0):e;let o;if(!n){o=this.document.selection}else{o=this.createSelection(n)}if(i&&i.is(\"listItem\")){const t=o.getFirstPosition();let e=null;if(t.parent.is(\"listItem\")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is(\"listItem\")){e=t.nodeBefore}if(e){const t=e.getAttribute(\"listIndent\");if(t>0){while(i&&i.is(\"listItem\")){i._setAttribute(\"listIndent\",i.getAttribute(\"listIndent\")+t);i=i.nextSibling}}}}}function HC(t,e,n){const{writer:i,schema:o}=n;let s=i.createPositionAfter(t);for(const r of e){if(r.name==\"ul\"||r.name==\"ol\"){s=n.convertItem(r,s).modelCursor}else{const e=n.convertItem(r,i.createPositionAt(t,\"end\"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is(\"element\")&&!o.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is(\"listItem\")){t=e.modelCursor.parent}else{t=UC(e.modelCursor)}s=i.createPositionAfter(t)}}}return s}function UC(t){const e=new Uh({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is(\"listItem\"));return n.value.item}function WC(t,e,n,i,o,s){const r=TC(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t,foo:\"b\"});const a=o.mapper;const c=o.writer;const l=r?r.getAttribute(\"listIndent\"):null;let d;if(!r){d=n}else if(l==t){const t=a.toViewElement(r).parent;d=c.createPositionAfter(t)}else{const t=s.createPositionAt(r,\"end\");d=a.toViewPosition(t)}d=AC(d);for(const t of[...i.getChildren()]){if(qC(t)){d=c.move(c.createRangeOn(t),d).end;xC(c,t,t.nextSibling);xC(c,t.previousSibling,t)}}}function qC(t){return t.is(\"ol\")||t.is(\"ul\")}function $C(t){let e=0;let n=t.parent;while(n){if(n.is(\"li\")){e++}else{const t=n.previousSibling;if(t&&t.is(\"li\")){e++}}n=n.parent}return e}class YC extends Dw{static get pluginName(){return\"ListEditing\"}static get requires(){return[nv]}init(){const t=this.editor;t.model.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributes:[\"listType\",\"listIndent\"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer(e=>BC(t.model,e));n.mapper.registerViewToModelLength(\"li\",GC);e.mapper.registerViewToModelLength(\"li\",GC);n.mapper.on(\"modelToViewPosition\",VC(n.view));n.mapper.on(\"viewToModelPosition\",jC(t.model));e.mapper.on(\"modelToViewPosition\",VC(n.view));t.conversion.for(\"editingDowncast\").add(e=>{e.on(\"insert\",OC,{priority:\"high\"});e.on(\"insert:listItem\",PC(t.model));e.on(\"attribute:listType:listItem\",MC,{priority:\"high\"});e.on(\"attribute:listType:listItem\",IC,{priority:\"low\"});e.on(\"attribute:listIndent:listItem\",NC(t.model));e.on(\"remove:listItem\",EC(t.model));e.on(\"remove\",RC,{priority:\"low\"})});t.conversion.for(\"dataDowncast\").add(e=>{e.on(\"insert\",OC,{priority:\"high\"});e.on(\"insert:listItem\",PC(t.model))});t.conversion.for(\"upcast\").add(t=>{t.on(\"element:ul\",LC,{priority:\"high\"});t.on(\"element:ol\",LC,{priority:\"high\"});t.on(\"element:li\",zC,{priority:\"high\"});t.on(\"element:li\",DC)});t.model.on(\"insertContent\",FC,{priority:\"high\"});t.commands.add(\"numberedList\",new pC(t,\"numbered\"));t.commands.add(\"bulletedList\",new pC(t,\"bulleted\"));t.commands.add(\"indentList\",new _C(t,\"forward\"));t.commands.add(\"outdentList\",new _C(t,\"backward\"));const i=n.view.document;this.listenTo(i,\"enter\",(t,e)=>{const n=this.editor.model.document;const i=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&i.name==\"listItem\"&&i.isEmpty){this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}});this.listenTo(i,\"delete\",(t,e)=>{if(e.direction!==\"backward\"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const i=n.getFirstPosition();if(!i.isAtStart){return}const o=i.parent;if(o.name!==\"listItem\"){return}const s=o.previousSibling&&o.previousSibling.name===\"listItem\";if(s){return}this.editor.execute(\"outdentList\");e.preventDefault();t.stop()},{priority:\"high\"});const o=t=>(e,n)=>{const i=this.editor.commands.get(t);if(i.isEnabled){this.editor.execute(t);n()}};t.keystrokes.set(\"Tab\",o(\"indentList\"));t.keystrokes.set(\"Shift+Tab\",o(\"outdentList\"))}afterInit(){const t=this.editor.commands;const e=t.get(\"indent\");const n=t.get(\"outdent\");if(e){e.registerChildCommand(t.get(\"indentList\"))}if(n){n.registerChildCommand(t.get(\"outdentList\"))}}}function GC(t){let e=1;for(const n of t.getChildren()){if(n.name==\"ul\"||n.name==\"ol\"){for(const t of n.getChildren()){e+=GC(t)}}}return e}var QC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM3.5 3v5H2V3.7H1v-1h2.5V3zM.343 17.857l2.59-3.257H2.92a.6.6 0 1 0-1.04 0H.302a2 2 0 1 1 3.995 0h-.001c-.048.405-.16.734-.333.988-.175.254-.59.692-1.244 1.312H4.3v1h-4l.043-.043zM7 14.75a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z\"/></svg>';var KC='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0C1 4.784 1.777 4 2.75 4c.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75C1.784 7.5 1 6.723 1 5.75zm6 9c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0c0-.966.777-1.75 1.75-1.75.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75-.966 0-1.75-.777-1.75-1.75z\"/></svg>';class JC extends Dw{init(){const t=this.editor.t;CC(this.editor,\"numberedList\",t(\"Numbered List\"),QC);CC(this.editor,\"bulletedList\",t(\"Bulleted List\"),KC)}}class ZC extends Dw{static get requires(){return[YC,JC]}static get pluginName(){return\"List\"}}function XC(t,e){return t=>{t.on(\"attribute:url:media\",n)};function n(n,i,o){if(!o.consumable.consume(i.item,n.name)){return}const s=i.attributeNewValue;const r=o.writer;const a=o.mapper.toViewElement(i.item);const c=[...a.getChildren()].find(t=>t.getCustomProperty(\"media-content\"));r.remove(c);const l=t.getMediaViewElement(r,s,e);r.insert(r.createPositionAt(a,0),l)}}function tS(t,e,n){e.setCustomProperty(\"media\",true,t);return Mv(t,e,{label:n})}function eS(t){const e=t.getSelectedElement();if(e&&nS(e)){return e}return null}function nS(t){return!!t.getCustomProperty(\"media\")&&Ev(t)}function iS(t,e,n,i){const o=t.createContainerElement(\"figure\",{class:\"media\"});o.getFillerOffset=rS;t.insert(t.createPositionAt(o,0),e.getMediaViewElement(t,n,i));return o}function oS(t){const e=t.getSelectedElement();if(e&&e.is(\"media\")){return e}return null}function sS(t,e,n){t.change(i=>{const o=i.createElement(\"media\",{url:e});t.insertContent(o,n);i.setSelection(o,\"on\")})}function rS(){return null}class aS extends zw{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const i=e.getFirstPosition();const o=oS(e);let s=i.parent;if(s!=s.root){s=s.parent}this.value=o?o.getAttribute(\"url\"):null;this.isEnabled=n.checkChild(s,\"media\")}execute(t){const e=this.editor.model;const n=e.document.selection;const i=oS(n);if(i){e.change(e=>{e.setAttribute(\"url\",t,i)})}else{const i=Dv(n,e);sS(e,t,i)}}}var cS='<svg viewBox=\"0 0 64 42\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M47.426 17V3.713L63.102 0v19.389h-.001l.001.272c0 1.595-2.032 3.43-4.538 4.098-2.506.668-4.538-.083-4.538-1.678 0-1.594 2.032-3.43 4.538-4.098.914-.244 2.032-.565 2.888-.603V4.516L49.076 7.447v9.556A1.014 1.014 0 0 0 49 17h-1.574zM29.5 17h-8.343a7.073 7.073 0 1 0-4.657 4.06v3.781H3.3a2.803 2.803 0 0 1-2.8-2.804V8.63a2.803 2.803 0 0 1 2.8-2.805h4.082L8.58 2.768A1.994 1.994 0 0 1 10.435 1.5h8.985c.773 0 1.477.448 1.805 1.149l1.488 3.177H26.7c1.546 0 2.8 1.256 2.8 2.805V17zm-11.637 0H17.5a1 1 0 0 0-1 1v.05A4.244 4.244 0 1 1 17.863 17zm29.684 2c.97 0 .953-.048.953.889v20.743c0 .953.016.905-.953.905H19.453c-.97 0-.953.048-.953-.905V19.89c0-.937-.016-.889.97-.889h28.077zm-4.701 19.338V22.183H24.154v16.155h18.692zM20.6 21.375v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616V37.53H20.6zm24.233-16.155v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615V37.53h-1.615zM29.485 25.283a.4.4 0 0 1 .593-.35l9.05 4.977a.4.4 0 0 1 0 .701l-9.05 4.978a.4.4 0 0 1-.593-.35v-9.956z\"/></svg>';const lS=\"0 0 64 42\";class dS{constructor(t,e){const n=e.providers;const i=e.extraProviders||[];const o=new Set(e.removeProviders);const s=n.concat(i).filter(t=>{const e=t.name;if(!e){console.warn(Object(rr[\"a\"])(\"media-embed-no-provider-name: The configured media provider has no name and cannot be used.\"),{provider:t});return false}return!o.has(e)});this.locale=t;this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new uS(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;let i=e.url;if(!Array.isArray(i)){i=[i]}for(const e of i){const i=this._getUrlMatches(t,e);if(i){return new uS(this.locale,t,i,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let i=t.replace(/^https?:\\/\\//,\"\");n=i.match(e);if(n){return n}i=i.replace(/^www\\./,\"\");n=i.match(e);if(n){return n}return null}}class uS{constructor(t,e,n,i){this.url=this._getValidUrl(e);this._t=t.t;this._match=n;this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n[\"data-oembed-url\"]=this.url}if(e.renderForEditingView){n.class=\"ck-media__wrapper\"}const o=this._getPreviewHtml(e);i=t.createUIElement(\"div\",n,(function(t){const e=this.toDomElement(t);e.innerHTML=o;return e}))}else{if(this.url){n.url=this.url}i=t.createEmptyElement(\"oembed\",n)}t.setCustomProperty(\"media-content\",true,i);return i}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return\"\"}}_getPlaceholderHtml(){const t=new iw;const e=new ew;t.text=this._t(\"Open media in new tab\");e.content=cS;e.viewBox=lS;const n=new $p({tag:\"div\",attributes:{class:\"ck ck-reset_all ck-media__placeholder\"},children:[{tag:\"div\",attributes:{class:\"ck-media__placeholder__icon\"},children:[e]},{tag:\"a\",attributes:{class:\"ck-media__placeholder__url\",target:\"_blank\",rel:\"noopener noreferrer\",href:this.url},children:[{tag:\"span\",attributes:{class:\"ck-media__placeholder__url__text\"},children:[this.url]},t]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return\"https://\"+t}}var hS=n(86);class fS extends Dw{static get pluginName(){return\"MediaEmbedEditing\"}constructor(t){super(t);t.config.define(\"mediaEmbed\",{providers:[{name:\"dailymotion\",url:/^dailymotion\\.com\\/video\\/(\\w+)/,html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; \">'+`<iframe src=\"https://www.dailymotion.com/embed/video/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" width=\"480\" height=\"270\" allowfullscreen allow=\"autoplay\">'+\"</iframe>\"+\"</div>\"}},{name:\"spotify\",url:[/^open\\.spotify\\.com\\/(artist\\/\\w+)/,/^open\\.spotify\\.com\\/(album\\/\\w+)/,/^open\\.spotify\\.com\\/(track\\/\\w+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 126%;\">'+`<iframe src=\"https://open.spotify.com/embed/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" allowtransparency=\"true\" allow=\"encrypted-media\">'+\"</iframe>\"+\"</div>\"}},{name:\"youtube\",url:[/^(?:m\\.)?youtube\\.com\\/watch\\?v=([\\w-]+)/,/^(?:m\\.)?youtube\\.com\\/v\\/([\\w-]+)/,/^youtube\\.com\\/embed\\/([\\w-]+)/,/^youtu\\.be\\/([\\w-]+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;\">'+`<iframe src=\"https://www.youtube.com/embed/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen>'+\"</iframe>\"+\"</div>\"}},{name:\"vimeo\",url:[/^vimeo\\.com\\/(\\d+)/,/^vimeo\\.com\\/[^/]+\\/[^/]+\\/video\\/(\\d+)/,/^vimeo\\.com\\/album\\/[^/]+\\/video\\/(\\d+)/,/^vimeo\\.com\\/channels\\/[^/]+\\/(\\d+)/,/^vimeo\\.com\\/groups\\/[^/]+\\/videos\\/(\\d+)/,/^vimeo\\.com\\/ondemand\\/[^/]+\\/(\\d+)/,/^player\\.vimeo\\.com\\/video\\/(\\d+)/],html:t=>{const e=t[1];return'<div style=\"position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;\">'+`<iframe src=\"https://player.vimeo.com/video/${e}\" `+'style=\"position: absolute; width: 100%; height: 100%; top: 0; left: 0;\" '+'frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen>'+\"</iframe>\"+\"</div>\"}},{name:\"instagram\",url:/^instagram\\.com\\/p\\/(\\w+)/},{name:\"twitter\",url:/^twitter\\.com/},{name:\"googleMaps\",url:/^google\\.com\\/maps/},{name:\"flickr\",url:/^flickr\\.com/},{name:\"facebook\",url:/^facebook\\.com/}]});this.registry=new dS(t.locale,t.config.get(\"mediaEmbed\"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;const o=t.config.get(\"mediaEmbed.previewsInData\");const s=this.registry;t.commands.add(\"mediaEmbed\",new aS(t));e.register(\"media\",{isObject:true,isBlock:true,allowWhere:\"$block\",allowAttributes:[\"url\"]});i.for(\"dataDowncast\").elementToElement({model:\"media\",view:(t,e)=>{const n=t.getAttribute(\"url\");return iS(e,s,n,{renderMediaPreview:n&&o})}});i.for(\"dataDowncast\").add(XC(s,{renderMediaPreview:o}));i.for(\"editingDowncast\").elementToElement({model:\"media\",view:(t,e)=>{const i=t.getAttribute(\"url\");const o=iS(e,s,i,{renderForEditingView:true});return tS(o,e,n(\"media widget\"))}});i.for(\"editingDowncast\").add(XC(s,{renderForEditingView:true}));i.for(\"upcast\").elementToElement({view:{name:\"oembed\",attributes:{url:true}},model:(t,e)=>{const n=t.getAttribute(\"url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}}}).elementToElement({view:{name:\"div\",attributes:{\"data-oembed-url\":true}},model:(t,e)=>{const n=t.getAttribute(\"data-oembed-url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}}})}}const gS=/^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w\\-._~:/?#[\\]@!$&'()*+,;=]+$/;class mS extends Dw{static get requires(){return[$_,Jk]}static get pluginName(){return\"AutoMediaEmbed\"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;this.listenTo(t.plugins.get($_),\"inputTransformation\",()=>{const t=e.selection.getFirstRange();const n=Dm.fromPosition(t.start);n.stickiness=\"toPrevious\";const i=Dm.fromPosition(t.end);i.stickiness=\"toNext\";e.once(\"change:data\",()=>{this._embedMediaBetweenPositions(n,i);n.detach();i.detach()},{priority:\"high\"})});t.commands.get(\"undo\").on(\"execute\",()=>{if(this._timeoutId){Nd.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}},{priority:\"high\"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const i=n.plugins.get(fS).registry;const o=new cf(t,e);const s=o.getWalker({ignoreElementEnd:true});let r=\"\";for(const t of s){if(t.item.is(\"textProxy\")){r+=t.item.data}}r=r.trim();if(!r.match(gS)){o.detach();return}if(!i.hasMedia(r)){o.detach();return}const a=n.commands.get(\"mediaEmbed\");if(!a.isEnabled){o.detach();return}this._positionToInsert=Dm.fromPosition(t);this._timeoutId=Nd.window.setTimeout(()=>{n.model.change(t=>{this._timeoutId=null;t.remove(o);o.detach();let e;if(this._positionToInsert.root.rootName!==\"$graveyard\"){e=this._positionToInsert}sS(n.model,r,e);this._positionToInsert.detach();this._positionToInsert=null})},100)}}var pS=n(88);class bS extends _b{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Sp;this.keystrokes=new gp;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),Dy,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(n(\"Cancel\"),Ly,\"ck-button-cancel\",\"cancel\");this._focusables=new Up;this._focusCycler=new Lb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this._validators=t;this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-media-form\"],tabindex:\"-1\"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render();Ry({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",e);this.keystrokes.set(\"arrowleft\",e);this.keystrokes.set(\"arrowup\",e);this.keystrokes.set(\"arrowdown\",e);this.listenTo(this.urlInputView.element,\"selectstart\",(t,e)=>{e.stopPropagation()},{priority:\"high\"})}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new Ey(this.locale,Ny);const n=e.fieldView;this._urlInputViewInfoDefault=t(\"Paste the media URL in the input.\");this._urlInputViewInfoTip=t(\"Tip: Paste the URL into the content to embed faster.\");e.label=t(\"Media URL\");e.infoText=this._urlInputViewInfoDefault;n.placeholder=\"https://example.com\";n.on(\"input\",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault});return e}_createButton(t,e,n,i){const o=new sw(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate(\"execute\").to(this,i)}return o}}var wS='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path d=\"M18.68 3.03c.6 0 .59-.03.59.55v12.84c0 .59.01.56-.59.56H1.29c-.6 0-.59.03-.59-.56V3.58c0-.58-.01-.55.6-.55h17.38zM15.77 15V5H4.2v10h11.57zM2 4v1h1V4H2zm0 2v1h1V6H2zm0 2v1h1V8H2zm0 2v1h1v-1H2zm0 2v1h1v-1H2zm0 2v1h1v-1H2zM17 4v1h1V4h-1zm0 2v1h1V6h-1zm0 2v1h1V8h-1zm0 2v1h1v-1h-1zm0 2v1h1v-1h-1zm0 2v1h1v-1h-1zM7.5 7.177a.4.4 0 01.593-.351l5.133 2.824a.4.4 0 010 .7l-5.133 2.824a.4.4 0 01-.593-.35V7.176v.001z\"/></svg>\\n';class _S extends Dw{static get requires(){return[fS]}static get pluginName(){return\"MediaEmbedUI\"}init(){const t=this.editor;const e=t.commands.get(\"mediaEmbed\");const n=t.plugins.get(fS).registry;t.ui.componentFactory.add(\"mediaEmbed\",i=>{const o=bw(i);const s=new bS(kS(t.t,n),t.locale);this._setUpDropdown(o,s,e,t);this._setUpForm(o,s,e);return o})}_setUpDropdown(t,e,n){const i=this.editor;const o=i.t;const s=t.buttonView;t.bind(\"isEnabled\").to(n);t.panelView.children.add(e);s.set({label:o(\"Insert media\"),icon:wS,tooltip:true});s.on(\"open\",()=>{e.url=n.value||\"\";e.urlInputView.fieldView.select();e.focus()},{priority:\"low\"});t.on(\"submit\",()=>{if(e.isValid()){i.execute(\"mediaEmbed\",e.url);r()}});t.on(\"change:isOpen\",()=>e.resetFormStatus());t.on(\"cancel\",()=>r());function r(){i.editing.view.focus();t.isOpen=false}}_setUpForm(t,e,n){e.delegate(\"submit\",\"cancel\").to(t);e.urlInputView.bind(\"value\").to(n,\"value\");e.urlInputView.bind(\"isReadOnly\").to(n,\"isEnabled\",t=>!t);e.saveButtonView.bind(\"isEnabled\").to(n)}}function kS(t,e){return[e=>{if(!e.url.length){return t(\"The URL must not be empty.\")}},n=>{if(!e.hasMedia(n.url)){return t(\"This media URL is not supported.\")}}]}var vS=n(90);class yS extends Dw{static get requires(){return[fS,_S,mS,vy]}static get pluginName(){return\"MediaEmbed\"}}function xS(t,e){for(const n of t.getChildren()){if(n.is(\"b\")&&n.getStyle(\"font-weight\")===\"normal\"){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function AS(t,e){if(!t.childCount){return}const n=new AA(t.document);const i=CS(t,n);if(!i.length){return}let o=null;let s=1;i.forEach((t,r)=>{const a=NS(i[r-1],t);const c=a?null:i[r-1];const l=RS(c,t);if(a){o=null;s=1}if(!o||l!==0){const i=SS(t,e);if(!o){o=PS(i,t.element,n)}else if(t.indent>s){const t=o.getChild(o.childCount-1);const e=t.getChild(t.childCount-1);o=PS(i,e,n);s+=1}else if(t.indent<s){const e=s-t.indent;o=DS(o,e);s=parseInt(t.indent)}if(t.indent<=s){if(!o.is(i.type)){o=n.rename(i.type,o)}}}const d=ES(t.element,n);n.appendChild(d,o)})}function TS(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is(\"li\")){const n=t.getChild(0);if(n.is(\"p\")){e.unwrapElement(n)}}}}function CS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/^p|h\\d+$/,styles:{\"mso-list\":/.*/}});const o=[];for(const t of n){if(t.type===\"elementStart\"&&i.match(t.item)){const e=MS(t.item);o.push({element:t.item,id:e.id,order:e.order,indent:e.indent})}}return o}function SS(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\\\s*({[^}]*)`,\"gi\");const i=/mso-level-number-format:([^;]*);/gi;const o=n.exec(e);let s=\"decimal\";if(o&&o[1]){const t=i.exec(o[1]);if(t&&t[1]){s=t[1].trim()}}return{type:s!==\"bullet\"&&s!==\"image\"?\"ol\":\"ul\",style:s}}function PS(t,e,n){const i=e.parent;const o=n.createElement(t.type);const s=i.getChildIndex(e)+1;n.insertChild(s,o,i);return o}function ES(t,e){IS(t,e);return e.rename(\"li\",t)}function MS(t){const e={};const n=t.getStyle(\"mso-list\");if(n){const t=n.match(/(^|\\s+)l(\\d+)/i);const i=n.match(/\\s*lfo(\\d+)/i);const o=n.match(/\\s*level(\\d+)/i);if(t&&i&&o){e.id=t[2];e.order=i[1];e.indent=o[1]}}return e}function IS(t,e){const n=new Wr({name:\"span\",styles:{\"mso-list\":\"Ignore\"}});const i=e.createRangeIn(t);for(const t of i){if(t.type===\"elementStart\"&&n.match(t.item)){e.remove(t.item)}}}function NS(t,e){if(!t){return true}if(t.id!==e.id){return true}const n=e.element.previousSibling;if(!n){return true}return!OS(n)}function OS(t){return t.is(\"ol\")||t.is(\"ul\")}function RS(t,e){return t?e.indent-t.indent:e.indent-1}function DS(t,e){const n=t.getAncestors({parentFirst:true});let i=null;let o=0;for(const t of n){if(t.name===\"ul\"||t.name===\"ol\"){o++}if(o===e){i=t;break}}return i}const LS=/id=(\"|')docs-internal-guid-[-0-9a-f]+(\"|')/i;class zS{constructor(t){this.document=t}isActive(t){return LS.test(t)}execute(t){const e=new AA(this.document);xS(t.content,e);TS(t.content,e)}}function VS(t){return BS(BS(t)).replace(/(<span\\s+style=['\"]mso-spacerun:yes['\"]>[\\s]*?)[\\r\\n]+(\\s*<\\/span>)/g,\"$1$2\").replace(/<span\\s+style=['\"]mso-spacerun:yes['\"]><\\/span>/g,\"\").replace(/ <\\//g,\" </\").replace(/ <o:p><\\/o:p>/g,\" <o:p></o:p>\").replace(/<o:p>(&nbsp;|\\u00A0)<\\/o:p>/g,\"\").replace(/>(\\s*[\\r\\n]\\s*)</g,\"><\")}function jS(t){t.querySelectorAll(\"span[style*=spacerun]\").forEach(t=>{const e=t.innerText.length||0;t.innerHTML=Array(e+1).join(\"  \").substr(0,e)})}function BS(t){return t.replace(/<span(?: class=\"Apple-converted-space\"|)>(\\s+)<\\/span>/g,(t,e)=>e.length===1?\" \":Array(e.length+1).join(\"  \").substr(0,e.length))}function FS(t,e){const n=new DOMParser;t=t.replace(/<!--\\[if gte vml 1]>/g,\"\");const i=VS(WS(t));const o=n.parseFromString(i,\"text/html\");jS(o);const s=o.body.innerHTML;const r=HS(o,e);const a=US(o);return{body:r,bodyString:s,styles:a.styles,stylesString:a.stylesString}}function HS(t,e){const n=new bl(e);const i=new zd(n,{blockFillerMode:\"nbsp\"});const o=t.createDocumentFragment();const s=t.body.childNodes;while(s.length>0){o.appendChild(s[0])}return i.domToView(o)}function US(t){const e=[];const n=[];const i=Array.from(t.getElementsByTagName(\"style\"));for(const t of i){if(t.sheet&&t.sheet.cssRules&&t.sheet.cssRules.length){e.push(t.sheet);n.push(t.innerHTML)}}return{styles:e,stylesString:n.join(\" \")}}function WS(t){const e=/<\\/body>(.*?)(<\\/html>|$)/;const n=t.match(e);if(n&&n[1]){t=t.slice(0,n.index)+t.slice(n.index).replace(n[1],\"\")}return t}function qS(t,e){if(!t.childCount){return}const n=new AA;const i=YS(t,n);GS(i,t,n);QS(t,n);const o=KS(t,n);if(o.length){ZS(o,JS(e),n)}}function $S(t){return btoa(t.match(/\\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(\"\"))}function YS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/v:(.+)/});const o=[];for(const t of n){const e=t.item;const n=e.previousSibling&&e.previousSibling.name||null;if(i.match(e)&&e.getAttribute(\"o:gfxdata\")&&n!==\"v:shapetype\"){o.push(t.item.getAttribute(\"id\"))}}return o}function GS(t,e,n){const i=n.createRangeIn(e);const o=new Wr({name:\"img\"});const s=[];for(const e of i){if(o.match(e.item)){const n=e.item;const i=n.getAttribute(\"v:shapes\")?n.getAttribute(\"v:shapes\").split(\" \"):[];if(i.length&&i.every(e=>t.indexOf(e)>-1)){s.push(n)}else if(!n.getAttribute(\"src\")){s.push(n)}}}for(const t of s){n.remove(t)}}function QS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:/v:(.+)/});const o=[];for(const t of n){if(i.match(t.item)){o.push(t.item)}}for(const t of o){e.remove(t)}}function KS(t,e){const n=e.createRangeIn(t);const i=new Wr({name:\"img\"});const o=[];for(const t of n){if(i.match(t.item)){if(t.item.getAttribute(\"src\").startsWith(\"file://\")){o.push(t.item)}}}return o}function JS(t){if(!t){return[]}const e=/{\\\\pict[\\s\\S]+?\\\\bliptag-?\\d+(\\\\blipupi-?\\d+)?({\\\\\\*\\\\blipuid\\s?[\\da-fA-F]+)?[\\s}]*?/;const n=new RegExp(\"(?:(\"+e.source+\"))([\\\\da-fA-F\\\\s]+)\\\\}\",\"g\");const i=t.match(n);const o=[];if(i){for(const t of i){let n=false;if(t.includes(\"\\\\pngblip\")){n=\"image/png\"}else if(t.includes(\"\\\\jpegblip\")){n=\"image/jpeg\"}if(n){o.push({hex:t.replace(e,\"\").replace(/[^\\da-fA-F]/g,\"\"),type:n})}}}return o}function ZS(t,e,n){if(t.length===e.length){for(let i=0;i<t.length;i++){const o=`data:${e[i].type};base64,${$S(e[i].hex)}`;n.setAttribute(\"src\",o,t[i])}}}const XS=/<meta\\s*name=\"?generator\"?\\s*content=\"?microsoft\\s*word\\s*\\d+\"?\\/?>/i;const tP=/xmlns:o=\"urn:schemas-microsoft-com/i;class eP{constructor(t){this.document=t}isActive(t){return XS.test(t)||tP.test(t)}execute(t){const{body:e,stylesString:n}=FS(t.dataTransfer.getData(\"text/html\"),this.document.stylesProcessor);AS(e,n);qS(e,t.dataTransfer.getData(\"text/rtf\"));t.content=e}}class nP extends Dw{static get pluginName(){return\"PasteFromOffice\"}static get requires(){return[$_]}init(){const t=this.editor;const e=t.editing.view.document;const n=[];n.push(new eP(e));n.push(new zS(e));t.plugins.get(\"Clipboard\").on(\"inputTransformation\",(t,e)=>{if(e.isTransformedWithPasteFromOffice){return}const i=e.dataTransfer.getData(\"text/html\");const o=n.find(t=>t.isActive(i));if(o){o.execute(e);e.isTransformedWithPasteFromOffice=true}},{priority:\"high\"})}}var iP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.69 14.915c.053.052.173.083.36.093a.366.366 0 0 1 .345.485l-.003.01a.738.738 0 0 1-.697.497h-2.67a.374.374 0 0 1-.353-.496l.013-.038a.681.681 0 0 1 .644-.458c.197-.012.325-.043.386-.093a.28.28 0 0 0 .072-.11L9.592 4.5H6.269c-.359-.017-.609.013-.75.09-.142.078-.289.265-.442.563-.192.29-.516.464-.864.464H4.17a.43.43 0 0 1-.407-.569L4.46 3h13.08l-.62 2.043a.81.81 0 0 1-.775.574h-.114a.486.486 0 0 1-.486-.486c.001-.284-.054-.464-.167-.54-.112-.076-.367-.106-.766-.091h-3.28l-2.68 10.257c-.006.074.007.127.038.158zM3 17h8a.5.5 0 1 1 0 1H3a.5.5 0 1 1 0-1zm11.299 1.17a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.06-1.06l1.415 1.414 1.414-1.415a.75.75 0 1 1 1.06 1.06l-1.413 1.415 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414-1.414 1.414z\"/></svg>';const oP=\"removeFormat\";class sP extends Dw{static get pluginName(){return\"RemoveFormatUI\"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(oP,n=>{const i=t.commands.get(oP);const o=new sw(n);o.set({label:e(\"Remove Format\"),icon:iP,tooltip:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(oP);t.editing.view.focus()});return o})}}class rP extends zw{refresh(){const t=this.editor.model;this.isEnabled=!!jw(this._getFormattingItems(t.document.selection,t.schema))}execute(){const t=this.editor.model;const e=t.schema;t.change(n=>{for(const i of this._getFormattingItems(t.document.selection,e)){if(i.is(\"selection\")){for(const t of this._getFormattingAttributes(i,e)){n.removeSelectionAttribute(t)}}else{const t=n.createRangeOn(i);for(const o of this._getFormattingAttributes(i,e)){n.removeAttribute(o,t)}}}})}*_getFormattingItems(t,e){const n=t=>!!jw(this._getFormattingAttributes(t,e));for(const e of t.getRanges()){for(const t of e.getItems()){if(n(t)){yield t}}}if(n(t)){yield t}}*_getFormattingAttributes(t,e){for(const[n]of t.getAttributes()){const t=e.getAttributeProperties(n);if(t&&t.isFormatting){yield n}}}}class aP extends Dw{static get pluginName(){return\"RemoveFormatEditing\"}init(){const t=this.editor;t.commands.add(\"removeFormat\",new rP(t))}}class cP extends Dw{static get requires(){return[aP,sP]}static get pluginName(){return\"RemoveFormat\"}}const lP=\"strikethrough\";class dP extends Dw{static get pluginName(){return\"StrikethroughEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:lP});t.model.schema.setAttributeProperties(lP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:lP,view:\"s\",upcastAlso:[\"del\",\"strike\",{styles:{\"text-decoration\":\"line-through\"}}]});t.commands.add(lP,new A_(t,lP));t.keystrokes.set(\"CTRL+SHIFT+X\",\"strikethrough\")}}var uP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 16.4c-.8-.4-1.5-.9-2.2-1.5a.6.6 0 0 1-.2-.5l.3-.6h1c1 1.2 2.1 1.7 3.7 1.7 1 0 1.8-.3 2.3-.6.6-.4.6-1.2.6-1.3.2-1.2-.9-2.1-.9-2.1h2.1c.3.7.4 1.2.4 1.7v.8l-.6 1.2c-.6.8-1.1 1-1.6 1.2a6 6 0 0 1-2.4.6c-1 0-1.8-.3-2.5-.6zM6.8 9L6 8.3c-.4-.5-.5-.8-.5-1.6 0-.7.1-1.3.5-1.8.4-.6 1-1 1.6-1.3a6.3 6.3 0 0 1 4.7 0 4 4 0 0 1 1.7 1l.3.7c0 .1.2.4-.2.7-.4.2-.9.1-1 0a3 3 0 0 0-1.2-1c-.4-.2-1-.3-2-.4-.7 0-1.4.2-2 .6-.8.6-1 .8-1 1.5 0 .8.5 1 1.2 1.5.6.4 1.1.7 1.9 1H6.8z\"/><path d=\"M3 10.5V9h14v1.5z\"/></svg>';const hP=\"strikethrough\";class fP extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(hP,n=>{const i=t.commands.get(hP);const o=new sw(n);o.set({label:e(\"Strikethrough\"),icon:uP,keystroke:\"CTRL+SHIFT+X\",tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(hP);t.editing.view.focus()});return o})}}class gP extends Dw{static get requires(){return[dP,fP]}static get pluginName(){return\"Strikethrough\"}}const mP=\"subscript\";class pP extends Dw{static get pluginName(){return\"SubscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:mP});t.model.schema.setAttributeProperties(mP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:mP,view:\"sub\",upcastAlso:[{styles:{\"vertical-align\":\"sub\"}}]});t.commands.add(mP,new A_(t,mP))}}var bP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.03 10.349l3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82zm8.147 7.829h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309z\"/></svg>';const wP=\"subscript\";class _P extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(wP,n=>{const i=t.commands.get(wP);const o=new sw(n);o.set({label:e(\"Subscript\"),icon:bP,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(wP);t.editing.view.focus()});return o})}}class kP extends Dw{static get requires(){return[pP,_P]}static get pluginName(){return\"Subscript\"}}const vP=\"superscript\";class yP extends Dw{static get pluginName(){return\"SuperscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:vP});t.model.schema.setAttributeProperties(vP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:vP,view:\"sup\",upcastAlso:[{styles:{\"vertical-align\":\"super\"}}]});t.commands.add(vP,new A_(t,vP))}}var xP='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.677 8.678h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309zM7.03 10.349l3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82z\"/></svg>';const AP=\"superscript\";class TP extends Dw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(AP,n=>{const i=t.commands.get(AP);const o=new sw(n);o.set({label:e(\"Superscript\"),icon:xP,tooltip:true,isToggleable:true});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",()=>{t.execute(AP);t.editing.view.focus()});return o})}}class CP extends Dw{static get requires(){return[yP,TP]}static get pluginName(){return\"Superscript\"}}function SP(t,e){let n=e.parent;while(n){if(n.name===t){return n}n=n.parent}}function PP(t,e,n,i,o=1){if(e>o){i.setAttribute(t,e,n)}else{i.removeAttribute(t,n)}}function EP(t,e,n={}){const i=t.createElement(\"tableCell\",n);t.insertElement(\"paragraph\",i);t.insert(i,e)}function MP(t){if(!t||!ct(t)){return t}const{top:e,right:n,bottom:i,left:o}=t;if(e==n&&n==i&&i==o){return e}}function IP(t,e){const n=parseFloat(t);if(Number.isNaN(n)){return t}if(String(n)!==String(t)){return t}return`${n}${e}`}function NP(t,e){const n=e.parent.parent;const i=parseInt(n.getAttribute(\"headingColumns\")||0);const{column:o}=t.getCellLocation(e);return!!i&&o<i}function OP(){return t=>{t.on(\"element:table\",(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:true})){return}const{rows:o,headingRows:s,headingColumns:r}=LP(i);const a={};if(r){a.headingColumns=r}if(s){a.headingRows=s}const c=n.writer.createElement(\"table\",a);const l=n.splitToAllowedParent(c,e.modelCursor);if(!l){return}n.writer.insert(c,l.position);n.consumable.consume(i,{name:true});o.forEach(t=>n.convertItem(t,n.writer.createPositionAt(c,\"end\")));if(c.isEmpty){const t=n.writer.createElement(\"tableRow\");n.writer.insert(t,n.writer.createPositionAt(c,\"end\"));EP(n.writer,n.writer.createPositionAt(t,\"end\"))}e.modelRange=n.writer.createRange(n.writer.createPositionBefore(c),n.writer.createPositionAfter(c));if(l.cursorParent){e.modelCursor=n.writer.createPositionAt(l.cursorParent,0)}else{e.modelCursor=e.modelRange.end}})}}function RP(){return t=>{t.on(\"element:tr\",(t,e)=>{if(e.viewItem.isEmpty){t.stop()}},{priority:\"high\"})}}function DP(t){return e=>{e.on(`element:${t}`,(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:true})){return}const o=n.writer.createElement(\"tableCell\");const s=n.splitToAllowedParent(o,e.modelCursor);if(!s){return}n.writer.insert(o,s.position);n.consumable.consume(i,{name:true});const r=n.writer.createPositionAt(o,0);n.convertChildren(i,r);if(!o.childCount){n.writer.insertElement(\"paragraph\",r)}e.modelRange=n.writer.createRange(n.writer.createPositionBefore(o),n.writer.createPositionAfter(o));e.modelCursor=e.modelRange.end})}}function LP(t){const e={headingRows:0,headingColumns:0};const n=[];const i=[];let o;for(const s of Array.from(t.getChildren())){if(s.name===\"tbody\"||s.name===\"thead\"||s.name===\"tfoot\"){if(s.name===\"thead\"&&!o){o=s}const t=Array.from(s.getChildren()).filter(t=>t.is(\"element\",\"tr\"));for(const s of t){if(s.parent.name===\"thead\"&&s.parent===o){e.headingRows++;n.push(s)}else{i.push(s);const t=zP(s,e,o);if(t>e.headingColumns){e.headingColumns=t}}}}}e.rows=[...n,...i];return e}function zP(t){let e=0;let n=0;const i=Array.from(t.getChildren()).filter(t=>t.name===\"th\"||t.name===\"td\");while(n<i.length&&i[n].name===\"th\"){const t=i[n];const o=parseInt(t.getAttribute(\"colspan\")||1);e=e+o;n++}return e}class VP{constructor(t,e={}){this.table=t;this.startRow=e.startRow||0;this.endRow=typeof e.endRow==\"number\"?e.endRow:undefined;this.includeSpanned=!!e.includeSpanned;this.column=typeof e.column==\"number\"?e.column:undefined;this._skipRows=new Set;this._row=0;this._column=0;this._cellIndex=0;this._spannedCells=new Map;this._nextCellAtColumn=-1}[Symbol.iterator](){return this}next(){const t=this.table.getChild(this._row);if(!t||this._isOverEndRow()){return{done:true}}let e,n,i;if(this._isSpanned(this._row,this._column)){e=this._getSpanned(this._row,this._column);n=!this.includeSpanned||this._shouldSkipRow()||this._shouldSkipColumn();i=this._formatOutValue(e,this._column,true)}else{e=t.getChild(this._cellIndex);if(!e){this._row++;this._column=0;this._cellIndex=0;this._nextCellAtColumn=-1;return this.next()}const o=parseInt(e.getAttribute(\"colspan\")||1);const s=parseInt(e.getAttribute(\"rowspan\")||1);if(o>1||s>1){this._recordSpans(this._row,this._column,s,o,e)}this._nextCellAtColumn=this._column+o;n=this._shouldSkipRow()||this._shouldSkipColumn();i=this._formatOutValue(e,this._column,false,s,o)}this._column++;if(this._column==this._nextCellAtColumn){this._cellIndex++}return n?this.next():i}skipRow(t){this._skipRows.add(t)}_isOverEndRow(){return this.endRow!==undefined&&this._row>this.endRow}_formatOutValue(t,e,n,i=1,o=1){return{done:false,value:{cell:t,row:this._row,column:e,isSpanned:n,rowspan:i,colspan:o,cellIndex:this._cellIndex}}}_shouldSkipRow(){const t=this._row<this.startRow;const e=this._skipRows.has(this._row);return t||e}_shouldSkipColumn(){if(this.column===undefined){return false}return this.column!=this._column}_isSpanned(t,e){if(!this._spannedCells.has(t)){return false}const n=this._spannedCells.get(t);return n.has(e)}_getSpanned(t,e){return this._spannedCells.get(t).get(e)}_recordSpans(t,e,n,i,o){for(let n=e+1;n<=e+i-1;n++){this._markSpannedCell(t,n,o)}for(let s=t+1;s<t+n;s++){for(let t=e;t<=e+i-1;t++){this._markSpannedCell(s,t,o)}}}_markSpannedCell(t,e,n){if(!this._spannedCells.has(t)){this._spannedCells.set(t,new Map)}const i=this._spannedCells.get(t);i.set(e,n)}}function jP(t,e){e.setCustomProperty(\"table\",true,t);return Mv(t,e,{hasSelectionHandle:true})}function BP(t){return!!t.getCustomProperty(\"table\")&&Ev(t)}function FP(t){const e=t.getSelectedElement();if(e&&BP(e)){return e}return null}function HP(t){const e=SP(\"table\",t.getFirstPosition());if(e&&BP(e.parent)){return e.parent}return null}function UP(t){const e=[];for(const n of tE(t.getRanges())){const t=n.getContainedElement();if(t&&t.is(\"tableCell\")){e.push(t)}}return e}function WP(t){const e=[];for(const n of t.getRanges()){const t=SP(\"tableCell\",n.start);if(t){e.push(t)}}return e}function qP(t){const e=UP(t);if(e.length){return e}return WP(t)}function $P(t){const e=t.map(t=>t.parent.index);return XP(e)}function YP(t){const e=SP(\"table\",t[0]);const n=[...new VP(e)];const i=n.filter(e=>t.includes(e.cell)).map(t=>t.column);return XP(i)}function GP(t,e){if(t.length<2||!iE(t)){return false}const n=new Set;const i=new Set;let o=0;for(const s of t){const{row:t,column:r}=e.getCellLocation(s);const a=parseInt(s.getAttribute(\"rowspan\")||1);const c=parseInt(s.getAttribute(\"colspan\")||1);n.add(t);i.add(r);if(a>1){n.add(t+a-1)}if(c>1){i.add(r+c-1)}o+=a*c}const s=nE(n,i);return s==o}function QP(t,e,n=0){const i=[];const o=new VP(t,{startRow:n,endRow:e-1});for(const t of o){const{row:n,rowspan:o}=t;const s=n+o-1;if(n<e&&e<=s){i.push(t)}}return i}function KP(t,e,n){const i=t.parent;const o=i.parent;const s=i.index;const r=parseInt(t.getAttribute(\"rowspan\"));const a=e-s;const c={};const l=r-a;if(l>1){c.rowspan=l}const d=parseInt(t.getAttribute(\"colspan\")||1);if(d>1){c.colspan=d}const u=s;const h=u+a;const f=[...new VP(o,{startRow:u,endRow:h,includeSpanned:true})];let g;for(const{row:e,column:i,cell:s,cellIndex:r}of f){if(s===t&&g===undefined){g=i}if(g!==undefined&&g===i&&e===h){const t=o.getChild(e);const i=n.createPositionAt(t,r);EP(n,i,c)}}PP(\"rowspan\",a,t,n)}function JP(t,e){const n=[];const i=new VP(t);for(const t of i){const{column:i,colspan:o}=t;const s=i+o-1;if(i<e&&e<=s){n.push(t)}}return n}function ZP(t,e,n,i){const o=parseInt(t.getAttribute(\"colspan\"));const s=n-e;const r={};const a=o-s;if(a>1){r.colspan=a}const c=parseInt(t.getAttribute(\"rowspan\")||1);if(c>1){r.rowspan=c}EP(i,i.createPositionAfter(t),r);PP(\"colspan\",s,t,i)}function XP(t){const e=t.sort((t,e)=>t-e);const n=e[0];const i=e[e.length-1];return{first:n,last:i}}function tE(t){return Array.from(t).sort(eE)}function eE(t,e){const n=t.start;const i=e.start;return n.isBefore(i)?-1:1}function nE(t,e){const n=Array.from(t.values());const i=Array.from(e.values());const o=Math.max(...n);const s=Math.min(...n);const r=Math.max(...i);const a=Math.min(...i);return(o-s+1)*(r-a+1)}function iE(t){const e=SP(\"table\",t[0]);const n=$P(t);const i=parseInt(e.getAttribute(\"headingRows\")||0);if(!oE(n,i)){return false}const o=parseInt(e.getAttribute(\"headingColumns\")||0);const s=YP(t);return oE(s,o)}function oE({first:t,last:e},n){const i=t<n;const o=e<n;return i===o}function sE(t={}){return e=>e.on(\"insert:table\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}i.consumable.consume(o,\"attribute:headingRows:table\");i.consumable.consume(o,\"attribute:headingColumns:table\");const s=t&&t.asWidget;const r=i.writer.createContainerElement(\"figure\",{class:\"table\"});const a=i.writer.createContainerElement(\"table\");i.writer.insert(i.writer.createPositionAt(r,0),a);let c;if(s){c=jP(r,i.writer)}const l=new VP(o);const d={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};const u=new Map;for(const e of l){const{row:n,cell:s}=e;const r=bE(pE(n,d),a,i);const c=o.getChild(n);const l=u.get(n)||gE(c,n,r,i);u.set(n,l);i.consumable.consume(s,\"insert\");const h=i.writer.createPositionAt(l,\"end\");fE(e,d,h,i,t)}const h=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(o,s?c:r);i.writer.insert(h,s?c:r)})}function rE(t={}){return e=>e.on(\"insert:tableRow\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}const s=o.parent;const r=i.mapper.toViewElement(s);const a=yE(r);const c=s.getChildIndex(o);const l=new VP(s,{startRow:c,endRow:c});const d={headingRows:s.getAttribute(\"headingRows\")||0,headingColumns:s.getAttribute(\"headingColumns\")||0};const u=new Map;for(const e of l){const n=bE(pE(c,d),a,i);const s=u.get(c)||gE(o,c,n,i);u.set(c,s);i.consumable.consume(e.cell,\"insert\");const r=i.writer.createPositionAt(s,\"end\");fE(e,d,r,i,t)}})}function aE(t={}){return e=>e.on(\"insert:tableCell\",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,\"insert\")){return}const s=o.parent;const r=s.parent;const a=r.getChildIndex(s);const c=new VP(r,{startRow:a,endRow:a});const l={headingRows:r.getAttribute(\"headingRows\")||0,headingColumns:r.getAttribute(\"headingColumns\")||0};for(const e of c){if(e.cell===o){const n=i.mapper.toViewElement(s);const r=i.writer.createPositionAt(n,s.getChildIndex(o));fE(e,l,r,i,t);return}}})}function cE(t={}){const e=!!t.asWidget;return t=>t.on(\"attribute:headingRows:table\",(t,n,i)=>{const o=n.item;if(!i.consumable.consume(n.item,t.name)){return}const s=i.mapper.toViewElement(o);const r=yE(s);const a=n.attributeOldValue;const c=n.attributeNewValue;if(c>a){const t=Array.from(o.getChildren()).filter(({index:t})=>l(t,a-1,c));const n=bE(\"thead\",r,i);vE(t,n,i,\"end\");for(const n of t){for(const t of n.getChildren()){uE(t,\"th\",i,e)}}}else{const t=Array.from(o.getChildren()).filter(({index:t})=>l(t,c-1,a)).reverse();const n=bE(\"tbody\",r,i);vE(t,n,i,0);const s=new VP(o,{startRow:c?c-1:c,endRow:a-1});const d={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};for(const t of s){hE(t,d,i,e)}}kE(\"thead\",r,i);kE(\"tbody\",r,i);function l(t,e,n){return t>e&&t<n}})}function lE(t={}){const e=!!t.asWidget;return t=>t.on(\"attribute:headingColumns:table\",(t,n,i)=>{const o=n.item;if(!i.consumable.consume(n.item,t.name)){return}const s={headingRows:o.getAttribute(\"headingRows\")||0,headingColumns:o.getAttribute(\"headingColumns\")||0};const r=n.attributeOldValue;const a=n.attributeNewValue;const c=(r>a?r:a)-1;for(const t of new VP(o)){if(t.column>c){continue}hE(t,s,i,e)}})}function dE(){return t=>t.on(\"remove:tableRow\",(t,e,n)=>{t.stop();const i=n.writer;const o=n.mapper;const s=o.toViewPosition(e.position).getLastMatchingPosition(t=>!t.item.is(\"tr\"));const r=s.nodeAfter;const a=r.parent;const c=a.parent;const l=i.createRangeOn(r);const d=i.remove(l);for(const t of i.createRangeIn(d).getItems()){o.unbindViewElement(t)}kE(\"thead\",c,n);kE(\"tbody\",c,n)},{priority:\"higher\"})}function uE(t,e,n,i){const o=n.writer;const s=n.mapper.toViewElement(t);if(!s){return}let r;if(i){const t=o.createEditableElement(e,s.getAttributes());r=Rv(t,o);o.insert(o.createPositionAfter(s),r);o.move(o.createRangeIn(s),o.createPositionAt(r,0));o.remove(o.createRangeOn(s))}else{r=o.rename(e,s)}n.mapper.unbindViewElement(s);n.mapper.bindElements(t,r)}function hE(t,e,n,i){const{cell:o}=t;const s=mE(t,e);const r=n.mapper.toViewElement(o);if(r&&r.name!==s){uE(o,s,n,i)}}function fE(t,e,n,i,o){const s=o&&o.asWidget;const r=mE(t,e);const a=s?Rv(i.writer.createEditableElement(r),i.writer):i.writer.createContainerElement(r);const c=t.cell;const l=c.getChild(0);const d=c.childCount===1&&l.name===\"paragraph\";i.writer.insert(n,a);if(d&&!xE(l)){const t=c.getChild(0);const e=i.writer.createPositionAt(a,\"end\");i.consumable.consume(t,\"insert\");if(o.asWidget){const n=i.writer.createContainerElement(\"span\",{style:\"display:inline-block\"});i.mapper.bindElements(t,n);i.writer.insert(e,n);i.mapper.bindElements(c,a)}else{i.mapper.bindElements(c,a);i.mapper.bindElements(t,a)}}else{i.mapper.bindElements(c,a)}}function gE(t,e,n,i){i.consumable.consume(t,\"insert\");const o=i.writer.createContainerElement(\"tr\");i.mapper.bindElements(t,o);const s=t.parent.getAttribute(\"headingRows\")||0;const r=s>0&&e>=s?e-s:e;const a=i.writer.createPositionAt(n,r);i.writer.insert(a,o);return o}function mE(t,e){const{row:n,column:i}=t;const{headingColumns:o,headingRows:s}=e;const r=s&&s>n;if(r){return\"th\"}const a=o&&o>i;return a?\"th\":\"td\"}function pE(t,e){return t<e.headingRows?\"thead\":\"tbody\"}function bE(t,e,n){const i=wE(t,e);return i?i:_E(t,e,n)}function wE(t,e){for(const n of e.getChildren()){if(n.name==t){return n}}}function _E(t,e,n){const i=n.writer.createContainerElement(t);const o=n.writer.createPositionAt(e,t==\"tbody\"?\"end\":0);n.writer.insert(o,i);return i}function kE(t,e,n){const i=wE(t,e);if(i&&i.childCount===0){n.writer.remove(n.writer.createRangeOn(i))}}function vE(t,e,n,i){for(const o of t){const t=n.mapper.toViewElement(o);if(t){n.writer.move(n.writer.createRangeOn(t),n.writer.createPositionAt(e,i))}}}function yE(t){for(const e of t.getChildren()){if(e.name===\"table\"){return e}}}function xE(t){return!![...t.getAttributeKeys()].length}class AE extends zw{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const i=TE(e.getFirstPosition());this.isEnabled=n.checkChild(i,\"table\")}execute(t={}){const e=this.editor.model;const n=e.document.selection;const i=this.editor.plugins.get(\"TableUtils\");const o=parseInt(t.rows)||2;const s=parseInt(t.columns)||2;const r=Dv(n,e);e.change(t=>{const n=i.createTable(t,o,s);e.insertContent(n,r);t.setSelection(t.createPositionAt(n.getNodeByPath([0,0,0]),0))})}}function TE(t){const e=t.parent;return e===e.root?e:e.parent}class CE extends zw{constructor(t,e={}){super(t);this.order=e.order||\"below\"}refresh(){const t=this.editor.model.document.selection;const e=SP(\"table\",t.getFirstPosition());this.isEnabled=!!e}execute(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get(\"TableUtils\");const i=this.order===\"above\";const o=qP(e);const s=$P(o);const r=i?s.first:s.last;const a=SP(\"table\",o[0]);n.insertRows(a,{at:i?r:r+1,copyStructureFromAbove:!i})}}class SE extends zw{constructor(t,e={}){super(t);this.order=e.order||\"right\"}refresh(){const t=this.editor.model.document.selection;const e=SP(\"table\",t.getFirstPosition());this.isEnabled=!!e}execute(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get(\"TableUtils\");const i=this.order===\"left\";const o=qP(e);const s=YP(o);const r=i?s.first:s.last;const a=SP(\"table\",o[0]);n.insertColumns(a,{columns:1,at:i?r:r+1})}}class PE extends zw{constructor(t,e={}){super(t);this.direction=e.direction||\"horizontally\"}refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length===1}execute(){const t=qP(this.editor.model.document.selection)[0];const e=this.direction===\"horizontally\";const n=this.editor.plugins.get(\"TableUtils\");if(e){n.splitCellHorizontally(t,2)}else{n.splitCellVertically(t,2)}}}class EE extends zw{constructor(t,e){super(t);this.direction=e.direction;this.isHorizontal=this.direction==\"right\"||this.direction==\"left\"}refresh(){const t=this._getMergeableCell();this.value=t;this.isEnabled=!!t}execute(){const t=this.editor.model;const e=t.document;const n=WP(e.selection)[0];const i=this.value;const o=this.direction;t.change(t=>{const e=o==\"right\"||o==\"down\";const s=e?n:i;const r=e?i:n;const a=r.parent;NE(r,s,t);const c=this.isHorizontal?\"colspan\":\"rowspan\";const l=parseInt(n.getAttribute(c)||1);const d=parseInt(i.getAttribute(c)||1);t.setAttribute(c,l+d,s);t.setSelection(t.createRangeIn(s));if(!a.childCount){const e=this.editor.plugins.get(\"TableUtils\");const n=SP(\"table\",a);e.removeRows(n,{at:a.index,batch:t.batch})}})}_getMergeableCell(){const t=this.editor.model;const e=t.document;const n=WP(e.selection)[0];if(!n){return}const i=this.editor.plugins.get(\"TableUtils\");const o=this.isHorizontal?ME(n,this.direction,i):IE(n,this.direction);if(!o){return}const s=this.isHorizontal?\"rowspan\":\"colspan\";const r=parseInt(n.getAttribute(s)||1);const a=parseInt(o.getAttribute(s)||1);if(a===r){return o}}}function ME(t,e,n){const i=t.parent;const o=i.parent;const s=e==\"right\"?t.nextSibling:t.previousSibling;const r=(o.getAttribute(\"headingColumns\")||0)>0;if(!s){return}const a=e==\"right\"?t:s;const c=e==\"right\"?s:t;const{column:l}=n.getCellLocation(a);const{column:d}=n.getCellLocation(c);const u=parseInt(a.getAttribute(\"colspan\")||1);const h=NP(n,a,o);const f=NP(n,c,o);if(r&&h!=f){return}const g=l+u===d;return g?s:undefined}function IE(t,e){const n=t.parent;const i=n.parent;const o=i.getChildIndex(n);if(e==\"down\"&&o===i.childCount-1||e==\"up\"&&o===0){return}const s=parseInt(t.getAttribute(\"rowspan\")||1);const r=i.getAttribute(\"headingRows\")||0;const a=e==\"down\"&&o+s===r;const c=e==\"up\"&&o===r;if(r&&(a||c)){return}const l=parseInt(t.getAttribute(\"rowspan\")||1);const d=e==\"down\"?o+l:o;const u=[...new VP(i,{endRow:d})];const h=u.find(e=>e.cell===t);const f=h.column;const g=u.find(({row:t,rowspan:n,column:i})=>{if(i!==f){return false}if(e==\"down\"){return t===d}else{return d===t+n}});return g&&g.cell}function NE(t,e,n){if(!OE(t)){if(OE(e)){n.remove(n.createRangeIn(e))}n.move(n.createRangeIn(t),n.createPositionAt(e,\"end\"))}n.remove(t)}function OE(t){return t.childCount==1&&t.getChild(0).is(\"paragraph\")&&t.getChild(0).isEmpty}class RE extends zw{refresh(){const t=qP(this.editor.model.document.selection);const e=t[0];if(e){const n=SP(\"table\",e);const i=this.editor.plugins.get(\"TableUtils\").getRows(n);const o=i-1;const s=$P(t);const r=s.first===0&&s.last===o;this.isEnabled=!r}else{this.isEnabled=false}}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=$P(e);const i=e[0];const o=SP(\"table\",i);const s=this.editor.plugins.get(\"TableUtils\").getCellLocation(i).column;const r=t.createBatch();t.enqueueChange(r,t=>{t.setSelection(t.createSelection(o,\"on\"));const e=n.last-n.first+1;this.editor.plugins.get(\"TableUtils\").removeRows(o,{at:n.first,rows:e,batch:r})});t.enqueueChange(r,t=>{const e=DE(o,n.first,s);t.setSelection(t.createPositionAt(e,0))})}}function DE(t,e,n){const i=t.getChild(e)||t.getChild(t.childCount-1);let o=i.getChild(0);let s=0;for(const t of i.getChildren()){if(s>n){return o}o=t;s+=parseInt(t.getAttribute(\"colspan\")||1)}return o}class LE extends zw{refresh(){const t=qP(this.editor.model.document.selection);const e=t[0];if(e){const n=SP(\"table\",e);const i=this.editor.plugins.get(\"TableUtils\").getColumns(n);const{first:o,last:s}=YP(t);this.isEnabled=s-o<i-1}else{this.isEnabled=false}}execute(){const[t,e]=VE(this.editor.model.document.selection);const n=t.parent.parent;const i=[...new VP(n)];const o={first:i.find(e=>e.cell===t).column,last:i.find(t=>t.cell===e).column};const s=zE(i,t,e,o);this.editor.model.change(t=>{const e=o.last-o.first+1;this.editor.plugins.get(\"TableUtils\").removeColumns(n,{at:o.first,columns:e});t.setSelection(t.createPositionAt(s,0))})}}function zE(t,e,n,i){const o=parseInt(n.getAttribute(\"colspan\")||1);if(o>1){return n}else if(e.previousSibling||n.nextSibling){return n.nextSibling||e.previousSibling}else{if(i.first){return t.reverse().find(({column:t})=>t<i.first).cell}else{return t.reverse().find(({column:t})=>t>i.last).cell}}}function VE(t){const e=qP(t);const n=e[0];const i=e.pop();const o=[n,i];return n.isBefore(i)?o:o.reverse()}class jE extends zw{refresh(){const t=this.editor.model;const e=qP(t.document.selection);const n=e.length>0;this.isEnabled=n;this.value=n&&e.every(t=>this._isInHeading(t,t.parent.parent))}execute(t={}){if(t.forceValue===this.value){return}const e=this.editor.model;const n=qP(e.document.selection);const i=SP(\"table\",n[0]);const{first:o,last:s}=$P(n);const r=this.value?o:s+1;const a=i.getAttribute(\"headingRows\")||0;e.change(t=>{if(r){const e=r>a?a:0;const n=QP(i,r,e);for(const{cell:e}of n){KP(e,r,t)}}PP(\"headingRows\",r,i,t,0)})}_isInHeading(t,e){const n=parseInt(e.getAttribute(\"headingRows\")||0);return!!n&&t.parent.index<n}}class BE extends zw{refresh(){const t=this.editor.model;const e=qP(t.document.selection);const n=this.editor.plugins.get(\"TableUtils\");const i=e.length>0;this.isEnabled=i;this.value=i&&e.every(t=>NP(n,t))}execute(t={}){if(t.forceValue===this.value){return}const e=this.editor.model;const n=qP(e.document.selection);const i=SP(\"table\",n[0]);const{first:o,last:s}=YP(n);const r=this.value?o:s+1;e.change(t=>{if(r){const e=JP(i,r);for(const{cell:n,column:i}of e){ZP(n,i,r,t)}}PP(\"headingColumns\",r,i,t,0)})}}class FE extends Dw{static get pluginName(){return\"TableUtils\"}getCellLocation(t){const e=t.parent;const n=e.parent;const i=n.getChildIndex(e);const o=new VP(n,{startRow:i,endRow:i});for(const{cell:e,row:n,column:i}of o){if(e===t){return{row:n,column:i}}}}createTable(t,e,n){const i=t.createElement(\"table\");HE(t,i,0,e,n);return i}insertRows(t,e={}){const n=this.editor.model;const i=e.at||0;const o=e.rows||1;const s=e.copyStructureFromAbove!==undefined;const r=e.copyStructureFromAbove?i-1:i;const a=this.getRows(t);const c=this.getColumns(t);n.change(e=>{const n=t.getAttribute(\"headingRows\")||0;if(n>i){e.setAttribute(\"headingRows\",n+o,t)}if(!s&&(i===0||i===a)){HE(e,t,i,o,c);return}const l=s?Math.max(i,r):i;const d=new VP(t,{endRow:l});const u=new Array(c).fill(1);for(const{row:t,column:n,rowspan:a,colspan:c,cell:l}of d){const d=t+a-1;const h=t<i&&i<=d;const f=t<=r&&r<=d;if(h){e.setAttribute(\"rowspan\",a+o,l);u[n]=-c}else if(s&&f){u[n]=c}}for(let n=0;n<o;n++){const n=e.createElement(\"tableRow\");e.insert(n,t,i);for(let t=0;t<u.length;t++){const i=u[t];const o=e.createPositionAt(n,\"end\");if(i>0){EP(e,o,i>1?{colspan:i}:null)}t+=Math.abs(i)-1}}})}insertColumns(t,e={}){const n=this.editor.model;const i=e.at||0;const o=e.columns||1;n.change(e=>{const n=t.getAttribute(\"headingColumns\");if(i<n){e.setAttribute(\"headingColumns\",n+o,t)}const s=this.getColumns(t);if(i===0||s===i){for(const n of t.getChildren()){UE(o,e,e.createPositionAt(n,i?\"end\":0))}return}const r=new VP(t,{column:i,includeSpanned:true});for(const{row:n,cell:s,cellIndex:a}of r){const c=parseInt(s.getAttribute(\"rowspan\")||1);const l=parseInt(s.getAttribute(\"colspan\")||1);if(a!==i&&l>1){e.setAttribute(\"colspan\",l+o,s);r.skipRow(n);if(c>1){for(let t=n+1;t<n+c;t++){r.skipRow(t)}}}else{const i=e.createPositionAt(t.getChild(n),a);UE(o,e,i)}}})}removeRows(t,e){const n=this.editor.model;const i=e.rows||1;const o=e.at;const s=o+i-1;const r=e.batch||\"default\";n.enqueueChange(r,e=>{const{cellsToMove:i,cellsToTrim:a}=YE(t,o,s);if(i.size){const n=s+1;GE(t,n,i,e)}for(let n=s;n>=o;n--){e.remove(t.getChild(n))}for(const{rowspan:t,cell:n}of a){PP(\"rowspan\",t,n,e)}$E(t,o,s,n,r)})}removeColumns(t,e){const n=this.editor.model;const i=e.at;const o=e.columns||1;const s=e.at+o-1;n.change(e=>{qE(t,{first:i,last:s},e);const n=[];for(let o=s;o>=i;o--){for(const{cell:i,column:s,colspan:r}of[...new VP(t)]){if(s<=o&&r>1&&s+r>o){PP(\"colspan\",r-1,i,e)}else if(s===o){const t=i.parent;e.remove(i);if(!t.childCount){n.push(t.index)}}}}n.reverse().forEach(n=>this.removeRows(t,{at:n,batch:e.batch}))})}splitCellVertically(t,e=2){const n=this.editor.model;const i=t.parent;const o=i.parent;const s=parseInt(t.getAttribute(\"rowspan\")||1);const r=parseInt(t.getAttribute(\"colspan\")||1);n.change(n=>{if(r>1){const{newCellsSpan:i,updatedSpan:o}=WE(r,e);PP(\"colspan\",o,t,n);const a={};if(i>1){a.colspan=i}if(s>1){a.rowspan=s}const c=r>e?e-1:r-1;UE(c,n,n.createPositionAfter(t),a)}if(r<e){const i=e-r;const a=[...new VP(o)];const{column:c}=a.find(({cell:e})=>e===t);const l=a.filter(({cell:e,colspan:n,column:i})=>{const o=e!==t&&i===c;const s=i<c&&i+n>c;return o||s});for(const{cell:t,colspan:e}of l){n.setAttribute(\"colspan\",e+i,t)}const d={};if(s>1){d.rowspan=s}UE(i,n,n.createPositionAfter(t),d);const u=o.getAttribute(\"headingColumns\")||0;if(u>c){PP(\"headingColumns\",u+i,o,n)}}})}splitCellHorizontally(t,e=2){const n=this.editor.model;const i=t.parent;const o=i.parent;const s=o.getChildIndex(i);const r=parseInt(t.getAttribute(\"rowspan\")||1);const a=parseInt(t.getAttribute(\"colspan\")||1);n.change(n=>{if(r>1){const i=[...new VP(o,{startRow:s,endRow:s+r-1,includeSpanned:true})];const{newCellsSpan:c,updatedSpan:l}=WE(r,e);PP(\"rowspan\",l,t,n);const{column:d}=i.find(({cell:e})=>e===t);const u={};if(c>1){u.rowspan=c}if(a>1){u.colspan=a}for(const{column:t,row:e,cellIndex:r}of i){const i=e>=s+l;const a=t===d;const h=(e+s+l)%c===0;if(i&&a&&h){const t=n.createPositionAt(o.getChild(e),r);UE(1,n,t,u)}}}if(r<e){const i=e-r;const c=[...new VP(o,{startRow:0,endRow:s})];for(const{cell:e,rowspan:o,row:r}of c){if(e!==t&&r+o>s){const t=o+i;n.setAttribute(\"rowspan\",t,e)}}const l={};if(a>1){l.colspan=a}HE(n,o,s+1,i,1,l);const d=o.getAttribute(\"headingRows\")||0;if(d>s){PP(\"headingRows\",d+i,o,n)}}})}getColumns(t){const e=t.getChild(0);return[...e.getChildren()].reduce((t,e)=>{const n=parseInt(e.getAttribute(\"colspan\")||1);return t+n},0)}getRows(t){return t.childCount}}function HE(t,e,n,i,o,s={}){for(let r=0;r<i;r++){const i=t.createElement(\"tableRow\");t.insert(i,e,n);UE(o,t,t.createPositionAt(i,\"end\"),s)}}function UE(t,e,n,i={}){for(let o=0;o<t;o++){EP(e,n,i)}}function WE(t,e){if(t<e){return{newCellsSpan:1,updatedSpan:1}}const n=Math.floor(t/e);const i=t-n*e+n;return{newCellsSpan:n,updatedSpan:i}}function qE(t,e,n){const i=t.getAttribute(\"headingColumns\")||0;if(i&&e.first<i){const o=Math.min(i-1,e.last)-e.first+1;n.setAttribute(\"headingColumns\",i-o,t)}}function $E(t,e,n,i,o){i.enqueueChange(o,i=>{const o=t.getAttribute(\"headingRows\")||0;if(e<o){const s=n<o?o-(n-e+1):e;PP(\"headingRows\",s,t,i,0)}})}function YE(t,e,n){const i=new Map;const o=[];for(const{row:s,column:r,rowspan:a,cell:c}of new VP(t,{endRow:n})){const t=s+a-1;const l=s>=e&&s<=n&&t>n;if(l){const t=n-s+1;const e=a-t;i.set(r,{cell:c,rowspan:e})}const d=s<e&&t>=e;if(d){let i;if(t>=n){i=n-e+1}else{i=t-e+1}o.push({cell:c,rowspan:a-i})}}return{cellsToMove:i,cellsToTrim:o}}function GE(t,e,n,i){const o=new VP(t,{includeSpanned:true,startRow:e,endRow:e});const s=[...o];const r=t.getChild(e);let a;for(const{column:t,cell:e,isSpanned:o}of s){if(n.has(t)){const{cell:e,rowspan:o}=n.get(t);const s=a?i.createPositionAfter(a):i.createPositionAt(r,0);i.move(i.createRangeOn(e),s);PP(\"rowspan\",o,e,i);a=e}else if(!o){a=e}}}class QE extends zw{refresh(){const t=UP(this.editor.model.document.selection);this.isEnabled=GP(t,this.editor.plugins.get(FE))}execute(){const t=this.editor.model;const e=this.editor.plugins.get(FE);t.change(n=>{const i=UP(t.document.selection);const o=i.shift();n.setSelection(o,0);const{mergeWidth:s,mergeHeight:r}=ZE(o,i,e);PP(\"colspan\",s,o,n);PP(\"rowspan\",r,o,n);const a=[];for(const t of i){const e=t.parent;KE(t,o,n);if(!e.childCount){a.push(e.index)}}if(a.length){const t=SP(\"table\",o);a.reverse().forEach(i=>e.removeRows(t,{at:i,batch:n.batch}))}n.setSelection(o,\"in\")})}}function KE(t,e,n){if(!JE(t)){if(JE(e)){n.remove(n.createRangeIn(e))}n.move(n.createRangeIn(t),n.createPositionAt(e,\"end\"))}n.remove(t)}function JE(t){return t.childCount==1&&t.getChild(0).is(\"paragraph\")&&t.getChild(0).isEmpty}function ZE(t,e,n){let i=0;let o=0;for(const t of e){const{row:e,column:s}=n.getCellLocation(t);i=XE(t,s,i,\"colspan\");o=XE(t,e,o,\"rowspan\")}const{row:s,column:r}=n.getCellLocation(t);const a=i-r;const c=o-s;return{mergeWidth:a,mergeHeight:c}}function XE(t,e,n,i){const o=parseInt(t.getAttribute(i)||1);return Math.max(n,e+o)}class tM extends zw{refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=$P(e);const i=SP(\"table\",e[0]);const o=[];for(let e=n.first;e<=n.last;e++){for(const n of i.getChild(e).getChildren()){o.push(t.createRangeOn(n))}}t.change(t=>{t.setSelection(o)})}}class eM extends zw{refresh(){const t=qP(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model;const e=qP(t.document.selection);const n=e[0];const i=e.pop();const o=this.editor.plugins.get(\"TableUtils\");const s=o.getCellLocation(n);const r=o.getCellLocation(i);const a=Math.min(s.column,r.column);const c=Math.max(s.column,r.column);const l=[];for(const e of new VP(SP(\"table\",n))){if(e.column>=a&&e.column<=c){l.push(t.createRangeOn(e.cell))}}t.change(t=>{t.setSelection(l)})}}function nM(t){t.document.registerPostFixer(e=>iM(e,t))}function iM(t,e){const n=e.document.differ.getChanges();let i=false;const o=new Set;for(const e of n){let n;if(e.name==\"table\"&&e.type==\"insert\"){n=e.position.nodeAfter}if(e.name==\"tableRow\"||e.name==\"tableCell\"){n=SP(\"table\",e.position)}if(cM(e)){n=SP(\"table\",e.range.start)}if(n&&!o.has(n)){i=oM(n,t)||i;i=sM(n,t)||i;o.add(n)}}return i}function oM(t,e){let n=false;const i=rM(t);if(i.length){n=true;for(const t of i){PP(\"rowspan\",t.rowspan,t.cell,e,1)}}return n}function sM(t,e){let n=false;const i=aM(t);const o=[];for(const[t,e]of i.entries()){if(!e){o.push(t)}}if(o.length){n=true;for(const n of o.reverse()){e.remove(t.getChild(n));i.splice(n,1)}}const s=i[0];const r=i.every(t=>t===s);if(!r){const o=i.reduce((t,e)=>e>t?e:t,0);for(const[s,r]of i.entries()){const i=o-r;if(i){for(let n=0;n<i;n++){EP(e,e.createPositionAt(t.getChild(s),\"end\"))}n=true}}}return n}function rM(t){const e=parseInt(t.getAttribute(\"headingRows\")||0);const n=t.childCount;const i=[];for(const{row:o,rowspan:s,cell:r}of new VP(t)){if(s<2){continue}const t=o<e;const a=t?e:n;if(o+s>a){const t=a-o;i.push({cell:r,rowspan:t})}}return i}function aM(t){const e=new Array(t.childCount).fill(0);for(const{row:n}of new VP(t,{includeSpanned:true})){e[n]++}return e}function cM(t){const e=t.type===\"attribute\";const n=t.attributeKey;return e&&(n===\"headingRows\"||n===\"colspan\"||n===\"rowspan\")}function lM(t){t.document.registerPostFixer(e=>dM(e,t))}function dM(t,e){const n=e.document.differ.getChanges();let i=false;for(const e of n){if(e.type==\"insert\"&&e.name==\"table\"){i=uM(e.position.nodeAfter,t)||i}if(e.type==\"insert\"&&e.name==\"tableRow\"){i=hM(e.position.nodeAfter,t)||i}if(e.type==\"insert\"&&e.name==\"tableCell\"){i=fM(e.position.nodeAfter,t)||i}if(gM(e)){i=fM(e.position.parent,t)||i}}return i}function uM(t,e){let n=false;for(const i of t.getChildren()){n=hM(i,e)||n}return n}function hM(t,e){let n=false;for(const i of t.getChildren()){n=fM(i,e)||n}return n}function fM(t,e){if(t.childCount==0){e.insertElement(\"paragraph\",t);return true}const n=Array.from(t.getChildren()).filter(t=>t.is(\"text\"));for(const t of n){e.wrap(e.createRangeOn(t),\"paragraph\")}return!!n.length}function gM(t){if(!t.position||!t.position.parent.is(\"tableCell\")){return false}return t.type==\"insert\"&&t.name==\"$text\"||t.type==\"remove\"}function mM(t){t.document.registerPostFixer(()=>pM(t))}function pM(t){const e=t.document.differ;const n=new Set;let i=0;for(const t of e.getChanges()){const e=t.type==\"insert\"||t.type==\"remove\"?t.position.parent:t.range.start.parent;if(!e.is(\"tableCell\")){continue}if(t.type==\"insert\"){i++}if(bM(e,t.type,i)){n.add(e)}}if(n.size){for(const t of n.values()){e.refreshItem(t)}return true}return false}function bM(t,e,n){const i=Array.from(t.getChildren()).some(t=>t.is(\"paragraph\"));if(!i){return false}if(e==\"attribute\"){const e=Array.from(t.getChild(0).getAttributeKeys()).length;return t.childCount===1&&e<2}return t.childCount<=(e==\"insert\"?n+1:1)}var wM=n(92);class _M extends Dw{static get pluginName(){return\"TableEditing\"}init(){const t=this.editor;const e=t.model;const n=e.schema;const i=t.conversion;n.register(\"table\",{allowWhere:\"$block\",allowAttributes:[\"headingRows\",\"headingColumns\"],isLimit:true,isObject:true,isBlock:true});n.register(\"tableRow\",{allowIn:\"table\",isLimit:true});n.register(\"tableCell\",{allowIn:\"tableRow\",allowAttributes:[\"colspan\",\"rowspan\"],isObject:true});n.extend(\"$block\",{allowIn:\"tableCell\"});n.addChildCheck((t,e)=>{if(e.name==\"table\"&&Array.from(t.getNames()).includes(\"table\")){return false}});i.for(\"upcast\").add(OP());i.for(\"editingDowncast\").add(sE({asWidget:true}));i.for(\"dataDowncast\").add(sE());i.for(\"upcast\").elementToElement({model:\"tableRow\",view:\"tr\"});i.for(\"upcast\").add(RP());i.for(\"editingDowncast\").add(rE({asWidget:true}));i.for(\"dataDowncast\").add(rE());i.for(\"downcast\").add(dE());i.for(\"upcast\").add(DP(\"td\"));i.for(\"upcast\").add(DP(\"th\"));i.for(\"editingDowncast\").add(aE({asWidget:true}));i.for(\"dataDowncast\").add(aE());i.attributeToAttribute({model:\"colspan\",view:\"colspan\"});i.attributeToAttribute({model:\"rowspan\",view:\"rowspan\"});i.for(\"editingDowncast\").add(lE({asWidget:true}));i.for(\"dataDowncast\").add(lE());i.for(\"editingDowncast\").add(cE({asWidget:true}));i.for(\"dataDowncast\").add(cE());t.commands.add(\"insertTable\",new AE(t));t.commands.add(\"insertTableRowAbove\",new CE(t,{order:\"above\"}));t.commands.add(\"insertTableRowBelow\",new CE(t,{order:\"below\"}));t.commands.add(\"insertTableColumnLeft\",new SE(t,{order:\"left\"}));t.commands.add(\"insertTableColumnRight\",new SE(t,{order:\"right\"}));t.commands.add(\"removeTableRow\",new RE(t));t.commands.add(\"removeTableColumn\",new LE(t));t.commands.add(\"splitTableCellVertically\",new PE(t,{direction:\"vertically\"}));t.commands.add(\"splitTableCellHorizontally\",new PE(t,{direction:\"horizontally\"}));t.commands.add(\"mergeTableCells\",new QE(t));t.commands.add(\"mergeTableCellRight\",new EE(t,{direction:\"right\"}));t.commands.add(\"mergeTableCellLeft\",new EE(t,{direction:\"left\"}));t.commands.add(\"mergeTableCellDown\",new EE(t,{direction:\"down\"}));t.commands.add(\"mergeTableCellUp\",new EE(t,{direction:\"up\"}));t.commands.add(\"setTableColumnHeader\",new BE(t));t.commands.add(\"setTableRowHeader\",new jE(t));t.commands.add(\"selectTableRow\",new tM(t));t.commands.add(\"selectTableColumn\",new eM(t));nM(e);mM(e);lM(e)}static get requires(){return[FE]}}var kM=n(94);class vM extends _b{constructor(t){super(t);const e=this.bindTemplate;this.set(\"icon\");this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isToggleable\",false);this.set(\"isVisible\",true);this.set(\"keystroke\");this.set(\"label\");this.set(\"tabindex\",-1);this.set(\"tooltip\");this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.children=this.createCollection();this.actionView=this._createActionView();this.arrowView=this._createArrowView();this.keystrokes=new gp;this.focusTracker=new Sp;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-splitbutton\",e.if(\"isVisible\",\"ck-hidden\",t=>!t),this.arrowView.bindTemplate.if(\"isOn\",\"ck-splitbutton_open\")]},children:this.children})}render(){super.render();this.children.add(this.actionView);this.children.add(this.arrowView);this.focusTracker.add(this.actionView.element);this.focusTracker.add(this.arrowView.element);this.keystrokes.listenTo(this.element);this.keystrokes.set(\"arrowright\",(t,e)=>{if(this.focusTracker.focusedElement===this.actionView.element){this.arrowView.focus();e()}});this.keystrokes.set(\"arrowleft\",(t,e)=>{if(this.focusTracker.focusedElement===this.arrowView.element){this.actionView.focus();e()}})}focus(){this.actionView.focus()}_createActionView(){const t=new sw;t.bind(\"icon\",\"isEnabled\",\"isOn\",\"isToggleable\",\"keystroke\",\"label\",\"tabindex\",\"tooltip\",\"tooltipPosition\",\"type\",\"withText\").to(this);t.extendTemplate({attributes:{class:\"ck-splitbutton__action\"}});t.delegate(\"execute\").to(this);return t}_createArrowView(){const t=new sw;const e=t.bindTemplate;t.icon=rw;t.extendTemplate({attributes:{class:\"ck-splitbutton__arrow\",\"aria-haspopup\":true,\"aria-expanded\":e.to(\"isOn\",t=>String(t))}});t.bind(\"isEnabled\").to(this);t.delegate(\"execute\").to(this,\"open\");return t}}var yM=n(96);class xM extends _b{constructor(t){super(t);const e=this.bindTemplate;this.items=this._createGridCollection();this.set(\"rows\",0);this.set(\"columns\",0);this.bind(\"label\").to(this,\"columns\",this,\"rows\",(t,e)=>`${e} × ${t}`);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\"]},children:[{tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown__grid\"]},on:{\"mouseover@.ck-insert-table-dropdown-grid-box\":e.to(\"boxover\")},children:this.items},{tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown__label\"]},children:[{text:e.to(\"label\")}]}],on:{mousedown:e.to(t=>{t.preventDefault()}),click:e.to(()=>{this.fire(\"execute\")})}});this.on(\"boxover\",(t,e)=>{const{row:n,column:i}=e.target.dataset;this.set({rows:parseInt(n),columns:parseInt(i)})});this.on(\"change:columns\",()=>{this._highlightGridBoxes()});this.on(\"change:rows\",()=>{this._highlightGridBoxes()})}focus(){}focusLast(){}_highlightGridBoxes(){const t=this.rows;const e=this.columns;this.items.map((n,i)=>{const o=Math.floor(i/10);const s=i%10;const r=o<t&&s<e;n.set(\"isOn\",r)})}_createGridCollection(){const t=[];for(let e=0;e<100;e++){const n=Math.floor(e/10);const i=e%10;t.push(new AM(this.locale,n+1,i+1))}return this.createCollection(t)}}class AM extends _b{constructor(t,e,n){super(t);const i=this.bindTemplate;this.set(\"isOn\",false);this.setTemplate({tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown-grid-box\",i.if(\"isOn\",\"ck-on\")],\"data-row\":e,\"data-column\":n}})}}var TM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 6v3h4V6H3zm0 4v3h4v-3H3zm0 4v3h4v-3H3zm5 3h4v-3H8v3zm5 0h4v-3h-4v3zm4-4v-3h-4v3h4zm0-4V6h-4v3h4zm1.5 8a1.5 1.5 0 0 1-1.5 1.5H3A1.5 1.5 0 0 1 1.5 17V4c.222-.863 1.068-1.5 2-1.5h13c.932 0 1.778.637 2 1.5v13zM12 13v-3H8v3h4zm0-4V6H8v3h4z\"/></svg>';var CM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M18 7v1H2V7h16zm0 5v1H2v-1h16z\" opacity=\".6\"/><path d=\"M14 1v18a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1zm-2 1H8v4h4V2zm0 6H8v4h4V8zm0 6H8v4h4v-4z\"/></svg>';var SM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M7 2h1v16H7V2zm5 0h1v16h-1V2z\" opacity=\".6\"/><path d=\"M1 6h18a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm1 2v4h4V8H2zm6 0v4h4V8H8zm6 0v4h4V8h-4z\"/></svg>';var PM='<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z\" opacity=\".6\"/><path d=\"M7 2h1v16H7V2zm5 0h1v7h-1V2zm6 5v1H2V7h16zM8 12v1H2v-1h6z\" opacity=\".6\"/><path d=\"M7 7h12a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1zm1 2v9h10V9H8z\"/></svg>';class EM extends Dw{init(){const t=this.editor;const e=this.editor.t;const n=t.locale.contentLanguageDirection;const i=n===\"ltr\";t.ui.componentFactory.add(\"insertTable\",n=>{const i=t.commands.get(\"insertTable\");const o=bw(n);o.bind(\"isEnabled\").to(i);o.buttonView.set({icon:TM,label:e(\"Insert table\"),tooltip:true});let s;o.on(\"change:isOpen\",()=>{if(s){return}s=new xM(n);o.panelView.children.add(s);s.delegate(\"execute\").to(o);o.buttonView.on(\"open\",()=>{s.rows=0;s.columns=0});o.on(\"execute\",()=>{t.execute(\"insertTable\",{rows:s.rows,columns:s.columns});t.editing.view.focus()})});return o});t.ui.componentFactory.add(\"tableColumn\",t=>{const n=[{type:\"switchbutton\",model:{commandName:\"setTableColumnHeader\",label:e(\"Header column\"),bindIsOn:true}},{type:\"separator\"},{type:\"button\",model:{commandName:i?\"insertTableColumnLeft\":\"insertTableColumnRight\",label:e(\"Insert column left\")}},{type:\"button\",model:{commandName:i?\"insertTableColumnRight\":\"insertTableColumnLeft\",label:e(\"Insert column right\")}},{type:\"button\",model:{commandName:\"removeTableColumn\",label:e(\"Delete column\")}},{type:\"button\",model:{commandName:\"selectTableColumn\",label:e(\"Select column\")}}];return this._prepareDropdown(e(\"Column\"),CM,n,t)});t.ui.componentFactory.add(\"tableRow\",t=>{const n=[{type:\"switchbutton\",model:{commandName:\"setTableRowHeader\",label:e(\"Header row\"),bindIsOn:true}},{type:\"separator\"},{type:\"button\",model:{commandName:\"insertTableRowAbove\",label:e(\"Insert row above\")}},{type:\"button\",model:{commandName:\"insertTableRowBelow\",label:e(\"Insert row below\")}},{type:\"button\",model:{commandName:\"removeTableRow\",label:e(\"Delete row\")}},{type:\"button\",model:{commandName:\"selectTableRow\",label:e(\"Select row\")}}];return this._prepareDropdown(e(\"Row\"),SM,n,t)});t.ui.componentFactory.add(\"mergeTableCells\",t=>{const n=[{type:\"button\",model:{commandName:\"mergeTableCellUp\",label:e(\"Merge cell up\")}},{type:\"button\",model:{commandName:i?\"mergeTableCellRight\":\"mergeTableCellLeft\",label:e(\"Merge cell right\")}},{type:\"button\",model:{commandName:\"mergeTableCellDown\",label:e(\"Merge cell down\")}},{type:\"button\",model:{commandName:i?\"mergeTableCellLeft\":\"mergeTableCellRight\",label:e(\"Merge cell left\")}},{type:\"separator\"},{type:\"button\",model:{commandName:\"splitTableCellVertically\",label:e(\"Split cell vertically\")}},{type:\"button\",model:{commandName:\"splitTableCellHorizontally\",label:e(\"Split cell horizontally\")}}];return this._prepareMergeSplitButtonDropdown(e(\"Merge cells\"),PM,n,t)})}_prepareDropdown(t,e,n,i){const o=this.editor;const s=bw(i);const r=this._fillDropdownWithListOptions(s,n);s.buttonView.set({label:t,icon:e,tooltip:true});s.bind(\"isEnabled\").toMany(r,\"isEnabled\",(...t)=>t.some(t=>t));this.listenTo(s,\"execute\",t=>{o.execute(t.source.commandName);o.editing.view.focus()});return s}_prepareMergeSplitButtonDropdown(t,e,n,i){const o=this.editor;const s=bw(i,vM);const r=\"mergeTableCells\";this._fillDropdownWithListOptions(s,n);s.buttonView.set({label:t,icon:e,tooltip:true,isEnabled:true});this.listenTo(s.buttonView,\"execute\",()=>{o.execute(r);o.editing.view.focus()});this.listenTo(s,\"execute\",t=>{o.execute(t.source.commandName);o.editing.view.focus()});return s}_fillDropdownWithListOptions(t,e){const n=this.editor;const i=[];const o=new xr;for(const t of e){MM(t,n,i,o)}_w(t,o,n.ui.componentFactory);return i}}function MM(t,e,n,i){const o=t.model=new lv(t.model);const{commandName:s,bindIsOn:r}=t.model;if(t.type===\"button\"||t.type===\"switchbutton\"){const t=e.commands.get(s);n.push(t);o.set({commandName:s});o.bind(\"isEnabled\").to(t);if(r){o.bind(\"isOn\").to(t,\"value\")}}o.set({withText:true});i.add(t)}class IM extends Qu{constructor(t){super(t);this.domEventType=[\"mousemove\",\"mouseup\",\"mouseleave\"]}onDomEvent(t){this.fire(t.type,t)}}function NM(t,e,n,i){const{startRow:o,startColumn:s,endRow:r,endColumn:a}=e;const c=n.createElement(\"table\");const l=r-o+1;for(let t=0;t<l;t++){n.insertElement(\"tableRow\",c,\"end\")}const d=[...new VP(t,{startRow:o,endRow:r,includeSpanned:true})];for(const{row:t,column:e,cell:l,isSpanned:u}of d){if(e<s||e>a){continue}const d=t-o;const h=c.getChild(d);if(u){const{row:t,column:e}=i.getCellLocation(l);if(t<o||e<s){EP(n,n.createPositionAt(h,\"end\"))}}else{const i=l._clone(true);n.append(i,h);OM(i,t,e,r,a,n)}}RM(c,t,o,s,n);return c}function OM(t,e,n,i,o,s){const r=parseInt(t.getAttribute(\"colspan\")||1);const a=parseInt(t.getAttribute(\"rowspan\")||1);const c=n+r-1;if(c>o){const e=o-n+1;PP(\"colspan\",e,t,s,1)}const l=e+a-1;if(l>i){const n=i-e+1;PP(\"rowspan\",n,t,s,1)}}function RM(t,e,n,i,o){const s=parseInt(e.getAttribute(\"headingRows\")||0);if(s>0){const e=s-n;PP(\"headingRows\",e,t,o,0)}const r=parseInt(e.getAttribute(\"headingColumns\")||0);if(r>0){const e=r-i;PP(\"headingColumns\",e,t,o,0)}}var DM=n(98);class LM extends Dw{static get pluginName(){return\"TableSelection\"}static get requires(){return[FE]}init(){const t=this.editor;const e=t.model;this.listenTo(e,\"deleteContent\",(t,e)=>this._handleDeleteContent(t,e),{priority:\"high\"});t.editing.view.addObserver(IM);this._defineSelectionConverter();this._enableShiftClickSelection();this._enableMouseDragSelection();this._enablePluginDisabling()}getSelectedTableCells(){const t=this.editor.model.document.selection;const e=UP(t);if(e.length==0){return null}return e}getSelectionAsFragment(){const t=this.getSelectedTableCells();if(!t){return null}return this.editor.model.change(e=>{const n=e.createDocumentFragment();const{first:i,last:o}=YP(t);const{first:s,last:r}=$P(t);const a=SP(\"table\",t[0]);const c={startRow:s,startColumn:i,endRow:r,endColumn:o};const l=NM(a,c,e,this.editor.plugins.get(\"TableUtils\"));e.insert(l,n,0);return n})}setCellSelection(t,e){const n=this._getCellsToSelect(t,e);this.editor.model.change(t=>{t.setSelection(n.cells.map(e=>t.createRangeOn(e)),{backward:n.backward})})}getFocusCell(){const t=this.editor.model.document.selection;const e=[...t.getRanges()].pop();const n=e.getContainedElement();if(n&&n.is(\"tableCell\")){return n}return null}getAnchorCell(){const t=this.editor.model.document.selection;const e=jw(t.getRanges());const n=e.getContainedElement();if(n&&n.is(\"tableCell\")){return n}return null}_defineSelectionConverter(){const t=this.editor;const e=new Set;t.conversion.for(\"editingDowncast\").add(t=>t.on(\"selection\",(t,i,o)=>{const s=o.writer;n(s);const r=this.getSelectedTableCells();if(!r){return}for(const t of r){const n=o.mapper.toViewElement(t);s.addClass(\"ck-editor__editable_selected\",n);e.add(n)}const a=o.mapper.toViewElement(r[r.length-1]);s.setSelection(a,0)},{priority:\"lowest\"}));function n(t){for(const n of e){t.removeClass(\"ck-editor__editable_selected\",n)}e.clear()}}_enableShiftClickSelection(){const t=this.editor;let e=false;this.listenTo(t.editing.view.document,\"mousedown\",(n,i)=>{if(!this.isEnabled){return}if(!i.domEvent.shiftKey){return}const o=this.getAnchorCell()||WP(t.model.document.selection)[0];if(!o){return}const s=this._getModelTableCellFromDomEvent(i);if(s&&zM(o,s)){e=true;this.setCellSelection(o,s);i.preventDefault()}});this.listenTo(t.editing.view.document,\"mouseup\",()=>{e=false});this.listenTo(t.editing.view.document,\"selectionChange\",t=>{if(e){t.stop()}},{priority:\"highest\"})}_enableMouseDragSelection(){const t=this.editor;let e,n;let i=false;let o=false;this.listenTo(t.editing.view.document,\"mousedown\",(t,n)=>{if(!this.isEnabled){return}if(n.domEvent.shiftKey||n.domEvent.ctrlKey||n.domEvent.altKey){return}e=this._getModelTableCellFromDomEvent(n)});this.listenTo(t.editing.view.document,\"mousemove\",(t,s)=>{if(!s.domEvent.buttons){return}if(!e){return}const r=this._getModelTableCellFromDomEvent(s);if(r&&zM(e,r)){n=r;if(!i&&n!=e){i=true}}if(!i){return}o=true;this.setCellSelection(e,n);s.preventDefault()});this.listenTo(t.editing.view.document,\"mouseup\",()=>{i=false;o=false;e=null;n=null});this.listenTo(t.editing.view.document,\"selectionChange\",t=>{if(o){t.stop()}},{priority:\"highest\"})}_enablePluginDisabling(){const t=this.editor;this.on(\"change:isEnabled\",()=>{if(!this.isEnabled){const e=this.getSelectedTableCells();if(!e){return}t.model.change(n=>{const i=n.createPositionAt(e[0],0);const o=t.model.schema.getNearestSelectionRange(i);n.setSelection(o)})}})}_handleDeleteContent(t,e){const[n,i]=e;const o=this.editor.model;const s=!i||i.direction==\"backward\";const r=UP(n);if(!r.length){return}t.stop();o.change(t=>{const e=r[s?r.length-1:0];o.change(t=>{for(const e of r){o.deleteContent(t.createSelection(e,\"in\"))}});const i=o.schema.getNearestSelectionRange(t.createPositionAt(e,0));if(n.is(\"documentSelection\")){t.setSelection(i)}else{n.setTo(i)}})}_getModelTableCellFromDomEvent(t){const e=t.target;const n=this.editor.editing.view.createPositionAt(e,0);const i=this.editor.editing.mapper.toModelPosition(n);const o=i.parent;if(o.is(\"tableCell\")){return o}return SP(\"tableCell\",o)}_getCellsToSelect(t,e){const n=this.editor.plugins.get(\"TableUtils\");const i=n.getCellLocation(t);const o=n.getCellLocation(e);const s=Math.min(i.row,o.row);const r=Math.max(i.row,o.row);const a=Math.min(i.column,o.column);const c=Math.max(i.column,o.column);const l=new Array(r-s+1).fill(null).map(()=>[]);for(const e of new VP(SP(\"table\",t),{startRow:s,endRow:r})){if(e.column>=a&&e.column<=c){l[e.row-s].push(e.cell)}}const d=o.row<i.row;const u=o.column<i.column;if(d){l.reverse()}if(u){l.forEach(t=>t.reverse())}return{cells:l.flat(),backward:d||u}}}function zM(t,e){return t.parent.parent==e.parent.parent}class VM extends Dw{static get pluginName(){return\"TableClipboard\"}static get requires(){return[LM,FE]}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,\"copy\",(t,e)=>this._onCopyCut(t,e));this.listenTo(e,\"cut\",(t,e)=>this._onCopyCut(t,e));this.listenTo(t.model,\"insertContent\",(t,e)=>this._onInsertContent(t,...e),{priority:\"high\"})}_onCopyCut(t,e){const n=this.editor.plugins.get(LM);if(!n.getSelectedTableCells()){return}if(t.name==\"cut\"&&this.editor.isReadOnly){return}e.preventDefault();t.stop();const i=this.editor.data;const o=this.editor.editing.view.document;const s=i.toView(n.getSelectionAsFragment());o.fire(\"clipboardOutput\",{dataTransfer:e.dataTransfer,content:s,method:t.name})}_onInsertContent(t,e,n){if(n&&!n.is(\"documentSelection\")){return}const i=this.editor.model;const o=this.editor.plugins.get(FE);const s=qP(i.document.selection);if(!s.length){return}let r=FM(e);if(!r){return}t.stop();i.change(t=>{const e=YP(s);const n=$P(s);let{first:i,last:a}=e;let{first:c,last:l}=n;const d=o.getRows(r);const u=o.getColumns(r);const h=SP(\"table\",s[0]);const f=s.length===1;if(f){l+=d-1;a+=u-1;BM(h,l+1,a+1,t,o)}if(f||!GP(s,o)){const e={firstRow:c,lastRow:l,firstColumn:i,lastColumn:a};UM(h,e,t)}else{l=YM(h,n,e);a=GM(h,n,e)}const g=l-c+1;const m=a-i+1;const p={startRow:0,startColumn:0,endRow:Math.min(g-1,d-1),endColumn:Math.min(m-1,u-1)};r=NM(r,p,t,o);const b={width:u,height:d};const w={firstColumnOfSelection:i,firstRowOfSelection:c,lastColumnOfSelection:a,lastRowOfSelection:l};jM(r,b,h,w,t)})}}function jM(t,e,n,i,o){const{firstColumnOfSelection:s,lastColumnOfSelection:r,firstRowOfSelection:a,lastRowOfSelection:c}=i;const{width:l,height:d}=e;const u=HM(t,l,d);const h=[...new VP(n,{startRow:a,endRow:c,includeSpanned:true})];const f=[];let g;for(const{row:t,column:e,cell:i,isSpanned:m}of h){if(e===0){g=null}if(e<s||e>r){if(!m){g=i}continue}if(!m){o.remove(i)}const h=t-a;const p=e-s;const b=u[h%d][p%l];if(!b){continue}const w=b._clone(true);OM(w,t,e,c,r,o);let _;if(!g){_=o.createPositionAt(n.getChild(t),0)}else{_=o.createPositionAfter(g)}o.insert(w,_);f.push(w);g=w}o.setSelection(f.map(t=>o.createRangeOn(t)))}function BM(t,e,n,i,o){const s=o.getColumns(t);const r=o.getRows(t);if(n>s){o.insertColumns(t,{batch:i.batch,at:s,columns:n-s})}if(e>r){o.insertRows(t,{batch:i.batch,at:r,rows:e-r})}}function FM(t){if(t.is(\"table\")){return t}if(t.childCount!=1||!t.getChild(0).is(\"table\")){return null}return t.getChild(0)}function HM(t,e,n){const i=new Array(n).fill(null).map(()=>new Array(e).fill(null));for(const{column:e,row:n,cell:o}of new VP(t)){i[n][e]=o}return i}function UM(t,e,n){const{firstRow:i,lastRow:o,firstColumn:s,lastColumn:r}=e;const a={first:i,last:o};const c={first:s,last:r};qM(t,s,a,n);qM(t,r+1,a,n);WM(t,i,c,n);WM(t,o+1,c,n,i)}function WM(t,e,n,i,o=0){if(e<1){return}const s=QP(t,e,o);const r=s.filter(({column:t,colspan:e})=>$M(t,e,n));for(const{cell:t}of r){KP(t,e,i)}}function qM(t,e,n,i){if(e<1){return}const o=JP(t,e);const s=o.filter(({row:t,rowspan:e})=>$M(t,e,n));for(const{cell:t,column:n}of s){ZP(t,n,e,i)}}function $M(t,e,n){const i=t+e-1;const{first:o,last:s}=n;const r=t>=o&&t<=s;const a=t<o&&i>=o;return r||a}function YM(t,e,n){const i=new VP(t,{startRow:e.last,endRow:e.last});const o=Array.from(i).filter(({column:t})=>n.first<=t&&t<=n.last);const s=o.every(({rowspan:t})=>t===1);if(s){return e.last}const r=o[0].rowspan-1;return e.last+r}function GM(t,e,n){const i=Array.from(new VP(t,{startRow:e.first,endRow:e.last,column:n.last}));const o=i.every(({colspan:t})=>t===1);if(o){return n.last}const s=i[0].colspan-1;return n.last+s}class QM extends Dw{static get pluginName(){return\"TableNavigation\"}static get requires(){return[LM]}init(){const t=this.editor.editing.view;const e=t.document;this.editor.keystrokes.set(\"Tab\",(...t)=>this._handleTabOnSelectedTable(...t),{priority:\"low\"});this.editor.keystrokes.set(\"Tab\",this._getTabHandler(true),{priority:\"low\"});this.editor.keystrokes.set(\"Shift+Tab\",this._getTabHandler(false),{priority:\"low\"});this.listenTo(e,\"keydown\",(...t)=>this._onKeydown(...t),{priority:or.get(\"high\")+1})}_handleTabOnSelectedTable(t,e){const n=this.editor;const i=n.model.document.selection;if(!i.isCollapsed&&i.rangeCount===1&&i.getFirstRange().isFlat){const t=i.getSelectedElement();if(!t||!t.is(\"table\")){return}e();n.model.change(e=>{e.setSelection(e.createRangeIn(t.getChild(0).getChild(0)))})}}_getTabHandler(t){const e=this.editor;return(n,i)=>{const o=e.model.document.selection;const s=WP(o)[0];if(!s){return}i();const r=s.parent;const a=r.parent;const c=a.getChildIndex(r);const l=r.getChildIndex(s);const d=l===0;if(!t&&d&&c===0){return}const u=l===r.childCount-1;const h=c===a.childCount-1;if(t&&h&&u){e.execute(\"insertTableRowBelow\");if(c===a.childCount-1){return}}let f;if(t&&u){const t=a.getChild(c+1);f=t.getChild(0)}else if(!t&&d){const t=a.getChild(c-1);f=t.getChild(t.childCount-1)}else{f=r.getChild(l+(t?1:-1))}e.model.change(t=>{t.setSelection(t.createRangeIn(f))})}}_onKeydown(t,e){const n=e.keyCode;if(!KM(n)){return}const i=JM(n,this.editor.locale.contentLanguageDirection);const o=this._handleArrowKeys(i,e.shiftKey);if(o){e.preventDefault();e.stopPropagation();t.stop()}}_handleArrowKeys(t,e){const n=this.editor.model;const i=n.document.selection;const o=[\"right\",\"down\"].includes(t);const s=UP(i);if(s.length){let n;if(e){n=this.editor.plugins.get(\"TableSelection\").getFocusCell()}else{n=o?s[s.length-1]:s[0]}this._navigateFromCellInDirection(n,t,e);return true}const r=SP(\"tableCell\",i.focus);if(!r){return false}const a=n.createRangeIn(r);if(this._isSelectionAtCellEdge(i,o)){this._navigateFromCellInDirection(r,t,e);return true}const c=i.getSelectedElement();if(c&&n.schema.isObject(c)){return false}if(this._isObjectElementNextToSelection(i,o)){return false}const l=this._findTextRangeFromSelection(a,i,o);if(!l){this._navigateFromCellInDirection(r,t,e);return true}if([\"left\",\"right\"].includes(t)){return false}if(this._isSingleLineRange(l,o)){n.change(t=>{const s=o?a.end:a.start;if(e){const e=n.createSelection(i.anchor);e.setFocus(s);t.setSelection(e)}else{t.setSelection(s)}});return true}}_isSelectionAtCellEdge(t,e){const n=this.editor.model;const i=this.editor.model.schema;const o=e?t.getLastPosition():t.getFirstPosition();if(!i.getLimitElement(o).is(\"tableCell\")){return false}const s=n.createSelection(o);n.modifySelection(s,{direction:e?\"forward\":\"backward\"});return o.isEqual(s.focus)}_isObjectElementNextToSelection(t,e){const n=this.editor.model;const i=n.schema;const o=n.createSelection(t);n.modifySelection(o,{direction:e?\"forward\":\"backward\"});const s=e?o.focus.nodeBefore:o.focus.nodeAfter;return s&&i.isObject(s)}_findTextRangeFromSelection(t,e,n){const i=this.editor.model;if(n){const n=e.getLastPosition();const o=this._getNearestVisibleTextPosition(t,\"backward\");if(o&&n.isBefore(o)){return i.createRange(n,o)}return null}else{const n=e.getFirstPosition();const o=this._getNearestVisibleTextPosition(t,\"forward\");if(o&&n.isAfter(o)){return i.createRange(o,n)}return null}}_getNearestVisibleTextPosition(t,e){const n=this.editor.model.schema;const i=this.editor.editing.mapper;for(const{nextPosition:o,item:s}of t.getWalker({direction:e})){if(n.checkChild(o,\"$text\")){const t=i.toViewElement(s);if(t&&!t.hasClass(\"ck-hidden\")){return o}}}}_isSingleLineRange(t,e){const n=this.editor.model;const i=this.editor.editing;const o=i.view.domConverter;if(e){const e=n.createSelection(t.start);n.modifySelection(e);if(!e.focus.isAtEnd&&!t.start.isEqual(e.focus)){t=n.createRange(e.focus,t.end)}}const s=i.mapper.toViewRange(t);const r=o.viewRangeToDom(s);const a=vh.getDomRangeRects(r);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}_navigateFromCellInDirection(t,e,n=false){const i=this.editor.model;const o=SP(\"table\",t);const s=[...new VP(o,{includeSpanned:true})];const{row:r,column:a}=s[s.length-1];const c=s.find(({cell:e})=>e==t);let{row:l,column:d}=c;switch(e){case\"left\":d--;break;case\"up\":l--;break;case\"right\":d+=c.colspan;break;case\"down\":l+=c.rowspan;break}const u=l<0||l>r;const h=d<0&&l<=0;const f=d>a&&l>=r;if(u||h||f){i.change(t=>{t.setSelection(t.createRangeOn(o))});return}if(d<0){d=n?0:a;l--}else if(d>a){d=n?a:0;l++}const g=s.find(t=>t.row==l&&t.column==d).cell;const m=[\"right\",\"down\"].includes(e);if(n){const e=this.editor.plugins.get(\"TableSelection\");const n=e.getAnchorCell()||t;e.setCellSelection(n,g)}else{const t=i.createPositionAt(g,m?0:\"end\");i.change(e=>{e.setSelection(t)})}}}function KM(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}function JM(t,e){const n=e===\"ltr\";switch(t){case Rl.arrowleft:return n?\"left\":\"right\";case Rl.arrowright:return n?\"right\":\"left\";case Rl.arrowup:return\"up\";case Rl.arrowdown:return\"down\"}}var ZM=n(100);class XM extends Dw{static get requires(){return[_M,EM,LM,VM,QM,vy]}static get pluginName(){return\"Table\"}}class tI extends Dw{static get requires(){return[Yx]}static get pluginName(){return\"TableToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(Yx);const i=t.config.get(\"table.contentToolbar\");const o=t.config.get(\"table.tableToolbar\");if(i){n.register(\"tableContent\",{ariaLabel:e(\"Table toolbar\"),items:i,getRelatedElement:HP})}if(o){n.register(\"table\",{ariaLabel:e(\"Table toolbar\"),items:o,getRelatedElement:FP})}}}class eI{constructor(t,e){this.model=t;this.testCallback=e;this.hasMatch=false;this.set(\"isEnabled\",true);this.on(\"change:isEnabled\",()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}});this._startListening()}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,\"change:range\",(t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire(\"unmatched\");this.hasMatch=false}return}this._evaluateTextBeforeSelection(\"selection\")});this.listenTo(e,\"change:data\",(t,e)=>{if(e.type==\"transparent\"){return}this._evaluateTextBeforeSelection(\"data\",{batch:e})})}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const i=n.document;const o=i.selection;const s=n.createRange(n.createPositionAt(o.focus.parent,0),o.focus);const{text:r,range:a}=i_(s,n);const c=this.testCallback(r);if(!c&&this.hasMatch){this.fire(\"unmatched\")}this.hasMatch=!!c;if(c){const n=Object.assign(e,{text:r,range:a});if(typeof c==\"object\"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}yr(eI,Kc);var nI=/[\\\\^$.*+?()[\\]{}|]/g,iI=RegExp(nI.source);function oI(t){t=va(t);return t&&iI.test(t)?t.replace(nI,\"\\\\$&\"):t}var sI=oI;const rI={copyright:{from:\"(c)\",to:\"©\"},registeredTrademark:{from:\"(r)\",to:\"®\"},trademark:{from:\"(tm)\",to:\"™\"},oneHalf:{from:\"1/2\",to:\"½\"},oneThird:{from:\"1/3\",to:\"⅓\"},twoThirds:{from:\"2/3\",to:\"⅔\"},oneForth:{from:\"1/4\",to:\"¼\"},threeQuarters:{from:\"3/4\",to:\"¾\"},lessThanOrEqual:{from:\"<=\",to:\"≤\"},greaterThanOrEqual:{from:\">=\",to:\"≥\"},notEqual:{from:\"!=\",to:\"≠\"},arrowLeft:{from:\"<-\",to:\"←\"},arrowRight:{from:\"->\",to:\"→\"},horizontalEllipsis:{from:\"...\",to:\"…\"},enDash:{from:/(^| )(--)( )$/,to:[null,\"–\",null]},emDash:{from:/(^| )(---)( )$/,to:[null,\"—\",null]},quotesPrimary:{from:fI('\"'),to:[null,\"“\",null,\"”\"]},quotesSecondary:{from:fI(\"'\"),to:[null,\"‘\",null,\"’\"]},quotesPrimaryEnGb:{from:fI(\"'\"),to:[null,\"‘\",null,\"’\"]},quotesSecondaryEnGb:{from:fI('\"'),to:[null,\"“\",null,\"”\"]},quotesPrimaryPl:{from:fI('\"'),to:[null,\"„\",null,\"”\"]},quotesSecondaryPl:{from:fI(\"'\"),to:[null,\"‚\",null,\"’\"]}};const aI={symbols:[\"copyright\",\"registeredTrademark\",\"trademark\"],mathematical:[\"oneHalf\",\"oneThird\",\"twoThirds\",\"oneForth\",\"threeQuarters\",\"lessThanOrEqual\",\"greaterThanOrEqual\",\"notEqual\",\"arrowLeft\",\"arrowRight\"],typography:[\"horizontalEllipsis\",\"enDash\",\"emDash\"],quotes:[\"quotesPrimary\",\"quotesSecondary\"]};const cI=[\"symbols\",\"mathematical\",\"typography\",\"quotes\"];class lI extends Dw{static get pluginName(){return\"TextTransformation\"}constructor(t){super(t);t.config.define(\"typing\",{transformations:{include:cI}})}init(){const t=this.editor.model;const e=t.document.selection;e.on(\"change:range\",()=>{this.isEnabled=!e.anchor.parent.is(\"codeBlock\")});this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get(\"Input\");const i=gI(t.config.get(\"typing.transformations\"));const o=t=>{for(const e of i){const n=e.from;const i=n.test(t);if(i){return{normalizedTransformation:e}}}};const s=(t,i)=>{if(!n.isInput(i.batch)){return}const{from:o,to:s}=i.normalizedTransformation;const r=o.exec(i.text);const a=s(r.slice(1));const c=i.range;let l=r.index;e.enqueueChange(t=>{for(let n=1;n<r.length;n++){const i=r[n];const o=a[n-1];if(o==null){l+=i.length;continue}const s=c.start.getShiftedBy(l);const d=e.createRange(s,s.getShiftedBy(i.length));const u=hI(s);e.insertContent(t.createText(o,u),d);l+=o.length}})};const r=new eI(t.model,o);r.on(\"matched:data\",s);r.bind(\"isEnabled\").to(this)}}function dI(t){if(typeof t==\"string\"){return new RegExp(`(${sI(t)})$`)}return t}function uI(t){if(typeof t==\"string\"){return()=>[t]}else if(t instanceof Array){return()=>t}return t}function hI(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function fI(t){return new RegExp(`(^|\\\\s)(${t})([^${t}]*)(${t})$`)}function gI(t){const e=t.extra||[];const n=t.remove||[];const i=t=>!n.includes(t);const o=t.include.concat(e).filter(i);return mI(o).filter(i).map(t=>rI[t]||t).map(t=>({from:dI(t.from),to:uI(t.to)}))}function mI(t){const e=new Set;for(const n of t){if(aI[n]){for(const t of aI[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}class pI extends Ow{}pI.builtinPlugins=[e_,r_,f_,x_,M_,z_,Zk,fv,Xy,ux,Ex,$x,Jx,MA,LA,HA,mC,ZC,yS,nv,nP,cP,gP,kP,CP,XM,tI,lI];var bI=e[\"default\"]=pI}])[\"default\"]}));\n//# sourceMappingURL=ckeditor.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nclass InvalidDateTimeError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid DateTime: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nclass InvalidIntervalError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Interval: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nclass InvalidDurationError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Duration: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nclass ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nclass InvalidUnitError extends LuxonError {\n  constructor(unit) {\n    super(`Invalid unit ${unit}`);\n  }\n}\n\n/**\n * @private\n */\nclass InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nclass ZoneIsAbstractError extends LuxonError {\n  constructor() {\n    super(\"Zone is an abstract class\");\n  }\n}\n\n/**\n * @private\n */\n\nconst n = \"numeric\",\n  s = \"short\",\n  l = \"long\";\nconst DATE_SHORT = {\n  year: n,\n  month: n,\n  day: n\n};\nconst DATE_MED = {\n  year: n,\n  month: s,\n  day: n\n};\nconst DATE_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s\n};\nconst DATE_FULL = {\n  year: n,\n  month: l,\n  day: n\n};\nconst DATE_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l\n};\nconst TIME_SIMPLE = {\n  hour: n,\n  minute: n\n};\nconst TIME_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n\n};\nconst TIME_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s\n};\nconst TIME_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l\n};\nconst TIME_24_SIMPLE = {\n  hour: n,\n  minute: n,\n  hourCycle: \"h23\"\n};\nconst TIME_24_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\"\n};\nconst TIME_24_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: s\n};\nconst TIME_24_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: l\n};\nconst DATETIME_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n\n};\nconst DATETIME_SHORT_WITH_SECONDS = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n\n};\nconst DATETIME_MED = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n\n};\nconst DATETIME_MED_WITH_SECONDS = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n\n};\nconst DATETIME_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n  hour: n,\n  minute: n\n};\nconst DATETIME_FULL = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  timeZoneName: s\n};\nconst DATETIME_FULL_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s\n};\nconst DATETIME_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  timeZoneName: l\n};\nconst DATETIME_HUGE_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l\n};\n\n/**\n * @interface\n */\nclass Zone {\n  /**\n   * The type of zone\n   * @abstract\n   * @type {string}\n   */\n  get type() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * The name of this zone.\n   * @abstract\n   * @type {string}\n   */\n  get name() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * The IANA name of this zone.\n   * Defaults to `name` if not overwritten by a subclass.\n   * @abstract\n   * @type {string}\n   */\n  get ianaName() {\n    return this.name;\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year.\n   * @abstract\n   * @type {boolean}\n   */\n  get isUniversal() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's common name (such as EST) at the specified timestamp\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the name\n   * @param {Object} opts - Options to affect the format\n   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n   * @param {string} opts.locale - What locale to return the offset name in.\n   * @return {string}\n   */\n  offsetName(ts, opts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to compute the offset\n   * @return {number}\n   */\n  offset(ts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone\n   * @abstract\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is valid.\n   * @abstract\n   * @type {boolean}\n   */\n  get isValid() {\n    throw new ZoneIsAbstractError();\n  }\n}\n\nlet singleton$1 = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nclass SystemZone extends Zone {\n  /**\n   * Get a singleton instance of the local zone\n   * @return {SystemZone}\n   */\n  static get instance() {\n    if (singleton$1 === null) {\n      singleton$1 = new SystemZone();\n    }\n    return singleton$1;\n  }\n\n  /** @override **/\n  get type() {\n    return \"system\";\n  }\n\n  /** @override **/\n  get name() {\n    return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName(ts, {\n    format,\n    locale\n  }) {\n    return parseZoneInfo(ts, format, locale);\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/\n  offset(ts) {\n    return -new Date(ts).getTimezoneOffset();\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"system\";\n  }\n\n  /** @override **/\n  get isValid() {\n    return true;\n  }\n}\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n  if (!dtfCache[zone]) {\n    dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n      hour12: false,\n      timeZone: zone,\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\",\n      era: \"short\"\n    });\n  }\n  return dtfCache[zone];\n}\nconst typeToPos = {\n  year: 0,\n  month: 1,\n  day: 2,\n  era: 3,\n  hour: 4,\n  minute: 5,\n  second: 6\n};\nfunction hackyOffset(dtf, date) {\n  const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n    parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n    [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;\n  return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\nfunction partsOffset(dtf, date) {\n  const formatted = dtf.formatToParts(date);\n  const filled = [];\n  for (let i = 0; i < formatted.length; i++) {\n    const {\n      type,\n      value\n    } = formatted[i];\n    const pos = typeToPos[type];\n    if (type === \"era\") {\n      filled[pos] = value;\n    } else if (!isUndefined(pos)) {\n      filled[pos] = parseInt(value, 10);\n    }\n  }\n  return filled;\n}\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nclass IANAZone extends Zone {\n  /**\n   * @param {string} name - Zone name\n   * @return {IANAZone}\n   */\n  static create(name) {\n    if (!ianaZoneCache[name]) {\n      ianaZoneCache[name] = new IANAZone(name);\n    }\n    return ianaZoneCache[name];\n  }\n\n  /**\n   * Reset local caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCache() {\n    ianaZoneCache = {};\n    dtfCache = {};\n  }\n\n  /**\n   * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n   * @param {string} s - The string to check validity on\n   * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n   * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n   * @deprecated For backward compatibility, this forwards to isValidZone, better use `isValidZone()` directly instead.\n   * @return {boolean}\n   */\n  static isValidSpecifier(s) {\n    return this.isValidZone(s);\n  }\n\n  /**\n   * Returns whether the provided string identifies a real zone\n   * @param {string} zone - The string to check\n   * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n   * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n   * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n   * @return {boolean}\n   */\n  static isValidZone(zone) {\n    if (!zone) {\n      return false;\n    }\n    try {\n      new Intl.DateTimeFormat(\"en-US\", {\n        timeZone: zone\n      }).format();\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n  constructor(name) {\n    super();\n    /** @private **/\n    this.zoneName = name;\n    /** @private **/\n    this.valid = IANAZone.isValidZone(name);\n  }\n\n  /**\n   * The type of zone. `iana` for all instances of `IANAZone`.\n   * @override\n   * @type {string}\n   */\n  get type() {\n    return \"iana\";\n  }\n\n  /**\n   * The name of this zone (i.e. the IANA zone name).\n   * @override\n   * @type {string}\n   */\n  get name() {\n    return this.zoneName;\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year:\n   * Always returns false for all IANA zones.\n   * @override\n   * @type {boolean}\n   */\n  get isUniversal() {\n    return false;\n  }\n\n  /**\n   * Returns the offset's common name (such as EST) at the specified timestamp\n   * @override\n   * @param {number} ts - Epoch milliseconds for which to get the name\n   * @param {Object} opts - Options to affect the format\n   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n   * @param {string} opts.locale - What locale to return the offset name in.\n   * @return {string}\n   */\n  offsetName(ts, {\n    format,\n    locale\n  }) {\n    return parseZoneInfo(ts, format, locale, this.name);\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @override\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   * @override\n   * @param {number} ts - Epoch milliseconds for which to compute the offset\n   * @return {number}\n   */\n  offset(ts) {\n    const date = new Date(ts);\n    if (isNaN(date)) return NaN;\n    const dtf = makeDTF(this.name);\n    let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date);\n    if (adOrBc === \"BC\") {\n      year = -Math.abs(year) + 1;\n    }\n\n    // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n    const adjustedHour = hour === 24 ? 0 : hour;\n    const asUTC = objToLocalTS({\n      year,\n      month,\n      day,\n      hour: adjustedHour,\n      minute,\n      second,\n      millisecond: 0\n    });\n    let asTS = +date;\n    const over = asTS % 1000;\n    asTS -= over >= 0 ? over : 1000 + over;\n    return (asUTC - asTS) / (60 * 1000);\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone\n   * @override\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    return otherZone.type === \"iana\" && otherZone.name === this.name;\n  }\n\n  /**\n   * Return whether this Zone is valid.\n   * @override\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.valid;\n  }\n}\n\n// todo - remap caching\n\nlet intlLFCache = {};\nfunction getCachedLF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlLFCache[key];\n  if (!dtf) {\n    dtf = new Intl.ListFormat(locString, opts);\n    intlLFCache[key] = dtf;\n  }\n  return dtf;\n}\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlDTCache[key];\n  if (!dtf) {\n    dtf = new Intl.DateTimeFormat(locString, opts);\n    intlDTCache[key] = dtf;\n  }\n  return dtf;\n}\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let inf = intlNumCache[key];\n  if (!inf) {\n    inf = new Intl.NumberFormat(locString, opts);\n    intlNumCache[key] = inf;\n  }\n  return inf;\n}\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n  const {\n    base,\n    ...cacheKeyOpts\n  } = opts; // exclude `base` from the options\n  const key = JSON.stringify([locString, cacheKeyOpts]);\n  let inf = intlRelCache[key];\n  if (!inf) {\n    inf = new Intl.RelativeTimeFormat(locString, opts);\n    intlRelCache[key] = inf;\n  }\n  return inf;\n}\nlet sysLocaleCache = null;\nfunction systemLocale() {\n  if (sysLocaleCache) {\n    return sysLocaleCache;\n  } else {\n    sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n    return sysLocaleCache;\n  }\n}\nlet weekInfoCache = {};\nfunction getCachedWeekInfo(locString) {\n  let data = weekInfoCache[locString];\n  if (!data) {\n    const locale = new Intl.Locale(locString);\n    // browsers currently implement this as a property, but spec says it should be a getter function\n    data = \"getWeekInfo\" in locale ? locale.getWeekInfo() : locale.weekInfo;\n    weekInfoCache[locString] = data;\n  }\n  return data;\n}\nfunction parseLocaleString(localeStr) {\n  // I really want to avoid writing a BCP 47 parser\n  // see, e.g. https://github.com/wooorm/bcp-47\n  // Instead, we'll do this:\n\n  // a) if the string has no -u extensions, just leave it alone\n  // b) if it does, use Intl to resolve everything\n  // c) if Intl fails, try again without the -u\n\n  // private subtags and unicode subtags have ordering requirements,\n  // and we're not properly parsing this, so just strip out the\n  // private ones if they exist.\n  const xIndex = localeStr.indexOf(\"-x-\");\n  if (xIndex !== -1) {\n    localeStr = localeStr.substring(0, xIndex);\n  }\n  const uIndex = localeStr.indexOf(\"-u-\");\n  if (uIndex === -1) {\n    return [localeStr];\n  } else {\n    let options;\n    let selectedStr;\n    try {\n      options = getCachedDTF(localeStr).resolvedOptions();\n      selectedStr = localeStr;\n    } catch (e) {\n      const smaller = localeStr.substring(0, uIndex);\n      options = getCachedDTF(smaller).resolvedOptions();\n      selectedStr = smaller;\n    }\n    const {\n      numberingSystem,\n      calendar\n    } = options;\n    return [selectedStr, numberingSystem, calendar];\n  }\n}\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n  if (outputCalendar || numberingSystem) {\n    if (!localeStr.includes(\"-u-\")) {\n      localeStr += \"-u\";\n    }\n    if (outputCalendar) {\n      localeStr += `-ca-${outputCalendar}`;\n    }\n    if (numberingSystem) {\n      localeStr += `-nu-${numberingSystem}`;\n    }\n    return localeStr;\n  } else {\n    return localeStr;\n  }\n}\nfunction mapMonths(f) {\n  const ms = [];\n  for (let i = 1; i <= 12; i++) {\n    const dt = DateTime.utc(2009, i, 1);\n    ms.push(f(dt));\n  }\n  return ms;\n}\nfunction mapWeekdays(f) {\n  const ms = [];\n  for (let i = 1; i <= 7; i++) {\n    const dt = DateTime.utc(2016, 11, 13 + i);\n    ms.push(f(dt));\n  }\n  return ms;\n}\nfunction listStuff(loc, length, englishFn, intlFn) {\n  const mode = loc.listingMode();\n  if (mode === \"error\") {\n    return null;\n  } else if (mode === \"en\") {\n    return englishFn(length);\n  } else {\n    return intlFn(length);\n  }\n}\nfunction supportsFastNumbers(loc) {\n  if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n    return false;\n  } else {\n    return loc.numberingSystem === \"latn\" || !loc.locale || loc.locale.startsWith(\"en\") || new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\";\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n  constructor(intl, forceSimple, opts) {\n    this.padTo = opts.padTo || 0;\n    this.floor = opts.floor || false;\n    const {\n      padTo,\n      floor,\n      ...otherOpts\n    } = opts;\n    if (!forceSimple || Object.keys(otherOpts).length > 0) {\n      const intlOpts = {\n        useGrouping: false,\n        ...opts\n      };\n      if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n      this.inf = getCachedINF(intl, intlOpts);\n    }\n  }\n  format(i) {\n    if (this.inf) {\n      const fixed = this.floor ? Math.floor(i) : i;\n      return this.inf.format(fixed);\n    } else {\n      // to match the browser's numberformatter defaults\n      const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n      return padStart(fixed, this.padTo);\n    }\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n  constructor(dt, intl, opts) {\n    this.opts = opts;\n    this.originalZone = undefined;\n    let z = undefined;\n    if (this.opts.timeZone) {\n      // Don't apply any workarounds if a timeZone is explicitly provided in opts\n      this.dt = dt;\n    } else if (dt.zone.type === \"fixed\") {\n      // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n      // That is why fixed-offset TZ is set to that unless it is:\n      // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n      // 2. Unsupported by the browser:\n      //    - some do not support Etc/\n      //    - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n      const gmtOffset = -1 * (dt.offset / 60);\n      const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n      if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n        z = offsetZ;\n        this.dt = dt;\n      } else {\n        // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n        // we manually apply the offset and substitute the zone as needed.\n        z = \"UTC\";\n        this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({\n          minutes: dt.offset\n        });\n        this.originalZone = dt.zone;\n      }\n    } else if (dt.zone.type === \"system\") {\n      this.dt = dt;\n    } else if (dt.zone.type === \"iana\") {\n      this.dt = dt;\n      z = dt.zone.name;\n    } else {\n      // Custom zones can have any offset / offsetName so we just manually\n      // apply the offset and substitute the zone as needed.\n      z = \"UTC\";\n      this.dt = dt.setZone(\"UTC\").plus({\n        minutes: dt.offset\n      });\n      this.originalZone = dt.zone;\n    }\n    const intlOpts = {\n      ...this.opts\n    };\n    intlOpts.timeZone = intlOpts.timeZone || z;\n    this.dtf = getCachedDTF(intl, intlOpts);\n  }\n  format() {\n    if (this.originalZone) {\n      // If we have to substitute in the actual zone name, we have to use\n      // formatToParts so that the timezone can be replaced.\n      return this.formatToParts().map(({\n        value\n      }) => value).join(\"\");\n    }\n    return this.dtf.format(this.dt.toJSDate());\n  }\n  formatToParts() {\n    const parts = this.dtf.formatToParts(this.dt.toJSDate());\n    if (this.originalZone) {\n      return parts.map(part => {\n        if (part.type === \"timeZoneName\") {\n          const offsetName = this.originalZone.offsetName(this.dt.ts, {\n            locale: this.dt.locale,\n            format: this.opts.timeZoneName\n          });\n          return {\n            ...part,\n            value: offsetName\n          };\n        } else {\n          return part;\n        }\n      });\n    }\n    return parts;\n  }\n  resolvedOptions() {\n    return this.dtf.resolvedOptions();\n  }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n  constructor(intl, isEnglish, opts) {\n    this.opts = {\n      style: \"long\",\n      ...opts\n    };\n    if (!isEnglish && hasRelative()) {\n      this.rtf = getCachedRTF(intl, opts);\n    }\n  }\n  format(count, unit) {\n    if (this.rtf) {\n      return this.rtf.format(count, unit);\n    } else {\n      return formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n    }\n  }\n  formatToParts(count, unit) {\n    if (this.rtf) {\n      return this.rtf.formatToParts(count, unit);\n    } else {\n      return [];\n    }\n  }\n}\nconst fallbackWeekSettings = {\n  firstDay: 1,\n  minimalDays: 4,\n  weekend: [6, 7]\n};\n\n/**\n * @private\n */\n\nclass Locale {\n  static fromOpts(opts) {\n    return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.weekSettings, opts.defaultToEN);\n  }\n  static create(locale, numberingSystem, outputCalendar, weekSettings, defaultToEN = false) {\n    const specifiedLocale = locale || Settings.defaultLocale;\n    // the system locale is useful for human-readable strings but annoying for parsing/formatting known formats\n    const localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n    const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n    const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n    const weekSettingsR = validateWeekSettings(weekSettings) || Settings.defaultWeekSettings;\n    return new Locale(localeR, numberingSystemR, outputCalendarR, weekSettingsR, specifiedLocale);\n  }\n  static resetCache() {\n    sysLocaleCache = null;\n    intlDTCache = {};\n    intlNumCache = {};\n    intlRelCache = {};\n  }\n  static fromObject({\n    locale,\n    numberingSystem,\n    outputCalendar,\n    weekSettings\n  } = {}) {\n    return Locale.create(locale, numberingSystem, outputCalendar, weekSettings);\n  }\n  constructor(locale, numbering, outputCalendar, weekSettings, specifiedLocale) {\n    const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n    this.locale = parsedLocale;\n    this.numberingSystem = numbering || parsedNumberingSystem || null;\n    this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n    this.weekSettings = weekSettings;\n    this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n    this.weekdaysCache = {\n      format: {},\n      standalone: {}\n    };\n    this.monthsCache = {\n      format: {},\n      standalone: {}\n    };\n    this.meridiemCache = null;\n    this.eraCache = {};\n    this.specifiedLocale = specifiedLocale;\n    this.fastNumbersCached = null;\n  }\n  get fastNumbers() {\n    if (this.fastNumbersCached == null) {\n      this.fastNumbersCached = supportsFastNumbers(this);\n    }\n    return this.fastNumbersCached;\n  }\n  listingMode() {\n    const isActuallyEn = this.isEnglish();\n    const hasNoWeirdness = (this.numberingSystem === null || this.numberingSystem === \"latn\") && (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n    return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n  }\n  clone(alts) {\n    if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n      return this;\n    } else {\n      return Locale.create(alts.locale || this.specifiedLocale, alts.numberingSystem || this.numberingSystem, alts.outputCalendar || this.outputCalendar, validateWeekSettings(alts.weekSettings) || this.weekSettings, alts.defaultToEN || false);\n    }\n  }\n  redefaultToEN(alts = {}) {\n    return this.clone({\n      ...alts,\n      defaultToEN: true\n    });\n  }\n  redefaultToSystem(alts = {}) {\n    return this.clone({\n      ...alts,\n      defaultToEN: false\n    });\n  }\n  months(length, format = false) {\n    return listStuff(this, length, months, () => {\n      const intl = format ? {\n          month: length,\n          day: \"numeric\"\n        } : {\n          month: length\n        },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.monthsCache[formatStr][length]) {\n        this.monthsCache[formatStr][length] = mapMonths(dt => this.extract(dt, intl, \"month\"));\n      }\n      return this.monthsCache[formatStr][length];\n    });\n  }\n  weekdays(length, format = false) {\n    return listStuff(this, length, weekdays, () => {\n      const intl = format ? {\n          weekday: length,\n          year: \"numeric\",\n          month: \"long\",\n          day: \"numeric\"\n        } : {\n          weekday: length\n        },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.weekdaysCache[formatStr][length]) {\n        this.weekdaysCache[formatStr][length] = mapWeekdays(dt => this.extract(dt, intl, \"weekday\"));\n      }\n      return this.weekdaysCache[formatStr][length];\n    });\n  }\n  meridiems() {\n    return listStuff(this, undefined, () => meridiems, () => {\n      // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n      // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n      if (!this.meridiemCache) {\n        const intl = {\n          hour: \"numeric\",\n          hourCycle: \"h12\"\n        };\n        this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(dt => this.extract(dt, intl, \"dayperiod\"));\n      }\n      return this.meridiemCache;\n    });\n  }\n  eras(length) {\n    return listStuff(this, length, eras, () => {\n      const intl = {\n        era: length\n      };\n\n      // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n      // to definitely enumerate them.\n      if (!this.eraCache[length]) {\n        this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map(dt => this.extract(dt, intl, \"era\"));\n      }\n      return this.eraCache[length];\n    });\n  }\n  extract(dt, intlOpts, field) {\n    const df = this.dtFormatter(dt, intlOpts),\n      results = df.formatToParts(),\n      matching = results.find(m => m.type.toLowerCase() === field);\n    return matching ? matching.value : null;\n  }\n  numberFormatter(opts = {}) {\n    // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n    // (in contrast, the rest of the condition is used heavily)\n    return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n  }\n  dtFormatter(dt, intlOpts = {}) {\n    return new PolyDateFormatter(dt, this.intl, intlOpts);\n  }\n  relFormatter(opts = {}) {\n    return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n  }\n  listFormatter(opts = {}) {\n    return getCachedLF(this.intl, opts);\n  }\n  isEnglish() {\n    return this.locale === \"en\" || this.locale.toLowerCase() === \"en-us\" || new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\");\n  }\n  getWeekSettings() {\n    if (this.weekSettings) {\n      return this.weekSettings;\n    } else if (!hasLocaleWeekInfo()) {\n      return fallbackWeekSettings;\n    } else {\n      return getCachedWeekInfo(this.locale);\n    }\n  }\n  getStartOfWeek() {\n    return this.getWeekSettings().firstDay;\n  }\n  getMinDaysInFirstWeek() {\n    return this.getWeekSettings().minimalDays;\n  }\n  getWeekendDays() {\n    return this.getWeekSettings().weekend;\n  }\n  equals(other) {\n    return this.locale === other.locale && this.numberingSystem === other.numberingSystem && this.outputCalendar === other.outputCalendar;\n  }\n  toString() {\n    return `Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`;\n  }\n}\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nclass FixedOffsetZone extends Zone {\n  /**\n   * Get a singleton instance of UTC\n   * @return {FixedOffsetZone}\n   */\n  static get utcInstance() {\n    if (singleton === null) {\n      singleton = new FixedOffsetZone(0);\n    }\n    return singleton;\n  }\n\n  /**\n   * Get an instance with a specified offset\n   * @param {number} offset - The offset in minutes\n   * @return {FixedOffsetZone}\n   */\n  static instance(offset) {\n    return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n  }\n\n  /**\n   * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n   * @param {string} s - The offset string to parse\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n   * @return {FixedOffsetZone}\n   */\n  static parseSpecifier(s) {\n    if (s) {\n      const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n      if (r) {\n        return new FixedOffsetZone(signedOffset(r[1], r[2]));\n      }\n    }\n    return null;\n  }\n  constructor(offset) {\n    super();\n    /** @private **/\n    this.fixed = offset;\n  }\n\n  /**\n   * The type of zone. `fixed` for all instances of `FixedOffsetZone`.\n   * @override\n   * @type {string}\n   */\n  get type() {\n    return \"fixed\";\n  }\n\n  /**\n   * The name of this zone.\n   * All fixed zones' names always start with \"UTC\" (plus optional offset)\n   * @override\n   * @type {string}\n   */\n  get name() {\n    return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n  }\n\n  /**\n   * The IANA name of this zone, i.e. `Etc/UTC` or `Etc/GMT+/-nn`\n   *\n   * @override\n   * @type {string}\n   */\n  get ianaName() {\n    if (this.fixed === 0) {\n      return \"Etc/UTC\";\n    } else {\n      return `Etc/GMT${formatOffset(-this.fixed, \"narrow\")}`;\n    }\n  }\n\n  /**\n   * Returns the offset's common name at the specified timestamp.\n   *\n   * For fixed offset zones this equals to the zone name.\n   * @override\n   */\n  offsetName() {\n    return this.name;\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @override\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    return formatOffset(this.fixed, format);\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year:\n   * Always returns true for all fixed offset zones.\n   * @override\n   * @type {boolean}\n   */\n  get isUniversal() {\n    return true;\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   *\n   * For fixed offset zones, this is constant and does not depend on a timestamp.\n   * @override\n   * @return {number}\n   */\n  offset() {\n    return this.fixed;\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone (i.e. also fixed and same offset)\n   * @override\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n  }\n\n  /**\n   * Return whether this Zone is valid:\n   * All fixed offset zones are valid.\n   * @override\n   * @type {boolean}\n   */\n  get isValid() {\n    return true;\n  }\n}\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nclass InvalidZone extends Zone {\n  constructor(zoneName) {\n    super();\n    /**  @private */\n    this.zoneName = zoneName;\n  }\n\n  /** @override **/\n  get type() {\n    return \"invalid\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.zoneName;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName() {\n    return null;\n  }\n\n  /** @override **/\n  formatOffset() {\n    return \"\";\n  }\n\n  /** @override **/\n  offset() {\n    return NaN;\n  }\n\n  /** @override **/\n  equals() {\n    return false;\n  }\n\n  /** @override **/\n  get isValid() {\n    return false;\n  }\n}\n\n/**\n * @private\n */\nfunction normalizeZone(input, defaultZone) {\n  if (isUndefined(input) || input === null) {\n    return defaultZone;\n  } else if (input instanceof Zone) {\n    return input;\n  } else if (isString(input)) {\n    const lowered = input.toLowerCase();\n    if (lowered === \"default\") return defaultZone;else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n  } else if (isNumber(input)) {\n    return FixedOffsetZone.instance(input);\n  } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n    // This is dumb, but the instanceof check above doesn't seem to really work\n    // so we're duck checking it\n    return input;\n  } else {\n    return new InvalidZone(input);\n  }\n}\n\nconst numberingSystems = {\n  arab: \"[\\u0660-\\u0669]\",\n  arabext: \"[\\u06F0-\\u06F9]\",\n  bali: \"[\\u1B50-\\u1B59]\",\n  beng: \"[\\u09E6-\\u09EF]\",\n  deva: \"[\\u0966-\\u096F]\",\n  fullwide: \"[\\uFF10-\\uFF19]\",\n  gujr: \"[\\u0AE6-\\u0AEF]\",\n  hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n  khmr: \"[\\u17E0-\\u17E9]\",\n  knda: \"[\\u0CE6-\\u0CEF]\",\n  laoo: \"[\\u0ED0-\\u0ED9]\",\n  limb: \"[\\u1946-\\u194F]\",\n  mlym: \"[\\u0D66-\\u0D6F]\",\n  mong: \"[\\u1810-\\u1819]\",\n  mymr: \"[\\u1040-\\u1049]\",\n  orya: \"[\\u0B66-\\u0B6F]\",\n  tamldec: \"[\\u0BE6-\\u0BEF]\",\n  telu: \"[\\u0C66-\\u0C6F]\",\n  thai: \"[\\u0E50-\\u0E59]\",\n  tibt: \"[\\u0F20-\\u0F29]\",\n  latn: \"\\\\d\"\n};\nconst numberingSystemsUTF16 = {\n  arab: [1632, 1641],\n  arabext: [1776, 1785],\n  bali: [6992, 7001],\n  beng: [2534, 2543],\n  deva: [2406, 2415],\n  fullwide: [65296, 65303],\n  gujr: [2790, 2799],\n  khmr: [6112, 6121],\n  knda: [3302, 3311],\n  laoo: [3792, 3801],\n  limb: [6470, 6479],\n  mlym: [3430, 3439],\n  mong: [6160, 6169],\n  mymr: [4160, 4169],\n  orya: [2918, 2927],\n  tamldec: [3046, 3055],\n  telu: [3174, 3183],\n  thai: [3664, 3673],\n  tibt: [3872, 3881]\n};\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\nfunction parseDigits(str) {\n  let value = parseInt(str, 10);\n  if (isNaN(value)) {\n    value = \"\";\n    for (let i = 0; i < str.length; i++) {\n      const code = str.charCodeAt(i);\n      if (str[i].search(numberingSystems.hanidec) !== -1) {\n        value += hanidecChars.indexOf(str[i]);\n      } else {\n        for (const key in numberingSystemsUTF16) {\n          const [min, max] = numberingSystemsUTF16[key];\n          if (code >= min && code <= max) {\n            value += code - min;\n          }\n        }\n      }\n    }\n    return parseInt(value, 10);\n  } else {\n    return value;\n  }\n}\n\n// cache of {numberingSystem: {append: regex}}\nlet digitRegexCache = {};\nfunction resetDigitRegexCache() {\n  digitRegexCache = {};\n}\nfunction digitRegex({\n  numberingSystem\n}, append = \"\") {\n  const ns = numberingSystem || \"latn\";\n  if (!digitRegexCache[ns]) {\n    digitRegexCache[ns] = {};\n  }\n  if (!digitRegexCache[ns][append]) {\n    digitRegexCache[ns][append] = new RegExp(`${numberingSystems[ns]}${append}`);\n  }\n  return digitRegexCache[ns][append];\n}\n\nlet now = () => Date.now(),\n  defaultZone = \"system\",\n  defaultLocale = null,\n  defaultNumberingSystem = null,\n  defaultOutputCalendar = null,\n  twoDigitCutoffYear = 60,\n  throwOnInvalid,\n  defaultWeekSettings = null;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nclass Settings {\n  /**\n   * Get the callback for returning the current timestamp.\n   * @type {function}\n   */\n  static get now() {\n    return now;\n  }\n\n  /**\n   * Set the callback for returning the current timestamp.\n   * The function should return a number, which will be interpreted as an Epoch millisecond count\n   * @type {function}\n   * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n   * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n   */\n  static set now(n) {\n    now = n;\n  }\n\n  /**\n   * Set the default time zone to create DateTimes in. Does not affect existing instances.\n   * Use the value \"system\" to reset this value to the system's time zone.\n   * @type {string}\n   */\n  static set defaultZone(zone) {\n    defaultZone = zone;\n  }\n\n  /**\n   * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n   * The default value is the system's time zone (the one set on the machine that runs this code).\n   * @type {Zone}\n   */\n  static get defaultZone() {\n    return normalizeZone(defaultZone, SystemZone.instance);\n  }\n\n  /**\n   * Get the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultLocale() {\n    return defaultLocale;\n  }\n\n  /**\n   * Set the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultLocale(locale) {\n    defaultLocale = locale;\n  }\n\n  /**\n   * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultNumberingSystem() {\n    return defaultNumberingSystem;\n  }\n\n  /**\n   * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultNumberingSystem(numberingSystem) {\n    defaultNumberingSystem = numberingSystem;\n  }\n\n  /**\n   * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultOutputCalendar() {\n    return defaultOutputCalendar;\n  }\n\n  /**\n   * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultOutputCalendar(outputCalendar) {\n    defaultOutputCalendar = outputCalendar;\n  }\n\n  /**\n   * @typedef {Object} WeekSettings\n   * @property {number} firstDay\n   * @property {number} minimalDays\n   * @property {number[]} weekend\n   */\n\n  /**\n   * @return {WeekSettings|null}\n   */\n  static get defaultWeekSettings() {\n    return defaultWeekSettings;\n  }\n\n  /**\n   * Allows overriding the default locale week settings, i.e. the start of the week, the weekend and\n   * how many days are required in the first week of a year.\n   * Does not affect existing instances.\n   *\n   * @param {WeekSettings|null} weekSettings\n   */\n  static set defaultWeekSettings(weekSettings) {\n    defaultWeekSettings = validateWeekSettings(weekSettings);\n  }\n\n  /**\n   * Get the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n   * @type {number}\n   */\n  static get twoDigitCutoffYear() {\n    return twoDigitCutoffYear;\n  }\n\n  /**\n   * Set the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n   * @type {number}\n   * @example Settings.twoDigitCutoffYear = 0 // all 'yy' are interpreted as 20th century\n   * @example Settings.twoDigitCutoffYear = 99 // all 'yy' are interpreted as 21st century\n   * @example Settings.twoDigitCutoffYear = 50 // '49' -> 2049; '50' -> 1950\n   * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n   * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n   */\n  static set twoDigitCutoffYear(cutoffYear) {\n    twoDigitCutoffYear = cutoffYear % 100;\n  }\n\n  /**\n   * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static get throwOnInvalid() {\n    return throwOnInvalid;\n  }\n\n  /**\n   * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static set throwOnInvalid(t) {\n    throwOnInvalid = t;\n  }\n\n  /**\n   * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCaches() {\n    Locale.resetCache();\n    IANAZone.resetCache();\n    DateTime.resetCache();\n    resetDigitRegexCache();\n  }\n}\n\nclass Invalid {\n  constructor(reason, explanation) {\n    this.reason = reason;\n    this.explanation = explanation;\n  }\n  toMessage() {\n    if (this.explanation) {\n      return `${this.reason}: ${this.explanation}`;\n    } else {\n      return this.reason;\n    }\n  }\n}\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n  leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\nfunction unitOutOfRange(unit, value) {\n  return new Invalid(\"unit out of range\", `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`);\n}\nfunction dayOfWeek(year, month, day) {\n  const d = new Date(Date.UTC(year, month - 1, day));\n  if (year < 100 && year >= 0) {\n    d.setUTCFullYear(d.getUTCFullYear() - 1900);\n  }\n  const js = d.getUTCDay();\n  return js === 0 ? 7 : js;\n}\nfunction computeOrdinal(year, month, day) {\n  return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\nfunction uncomputeOrdinal(year, ordinal) {\n  const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n    month0 = table.findIndex(i => i < ordinal),\n    day = ordinal - table[month0];\n  return {\n    month: month0 + 1,\n    day\n  };\n}\nfunction isoWeekdayToLocal(isoWeekday, startOfWeek) {\n  return (isoWeekday - startOfWeek + 7) % 7 + 1;\n}\n\n/**\n * @private\n */\n\nfunction gregorianToWeek(gregObj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n  const {\n      year,\n      month,\n      day\n    } = gregObj,\n    ordinal = computeOrdinal(year, month, day),\n    weekday = isoWeekdayToLocal(dayOfWeek(year, month, day), startOfWeek);\n  let weekNumber = Math.floor((ordinal - weekday + 14 - minDaysInFirstWeek) / 7),\n    weekYear;\n  if (weekNumber < 1) {\n    weekYear = year - 1;\n    weekNumber = weeksInWeekYear(weekYear, minDaysInFirstWeek, startOfWeek);\n  } else if (weekNumber > weeksInWeekYear(year, minDaysInFirstWeek, startOfWeek)) {\n    weekYear = year + 1;\n    weekNumber = 1;\n  } else {\n    weekYear = year;\n  }\n  return {\n    weekYear,\n    weekNumber,\n    weekday,\n    ...timeObject(gregObj)\n  };\n}\nfunction weekToGregorian(weekData, minDaysInFirstWeek = 4, startOfWeek = 1) {\n  const {\n      weekYear,\n      weekNumber,\n      weekday\n    } = weekData,\n    weekdayOfJan4 = isoWeekdayToLocal(dayOfWeek(weekYear, 1, minDaysInFirstWeek), startOfWeek),\n    yearInDays = daysInYear(weekYear);\n  let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 7 + minDaysInFirstWeek,\n    year;\n  if (ordinal < 1) {\n    year = weekYear - 1;\n    ordinal += daysInYear(year);\n  } else if (ordinal > yearInDays) {\n    year = weekYear + 1;\n    ordinal -= daysInYear(weekYear);\n  } else {\n    year = weekYear;\n  }\n  const {\n    month,\n    day\n  } = uncomputeOrdinal(year, ordinal);\n  return {\n    year,\n    month,\n    day,\n    ...timeObject(weekData)\n  };\n}\nfunction gregorianToOrdinal(gregData) {\n  const {\n    year,\n    month,\n    day\n  } = gregData;\n  const ordinal = computeOrdinal(year, month, day);\n  return {\n    year,\n    ordinal,\n    ...timeObject(gregData)\n  };\n}\nfunction ordinalToGregorian(ordinalData) {\n  const {\n    year,\n    ordinal\n  } = ordinalData;\n  const {\n    month,\n    day\n  } = uncomputeOrdinal(year, ordinal);\n  return {\n    year,\n    month,\n    day,\n    ...timeObject(ordinalData)\n  };\n}\n\n/**\n * Check if local week units like localWeekday are used in obj.\n * If so, validates that they are not mixed with ISO week units and then copies them to the normal week unit properties.\n * Modifies obj in-place!\n * @param obj the object values\n */\nfunction usesLocalWeekValues(obj, loc) {\n  const hasLocaleWeekData = !isUndefined(obj.localWeekday) || !isUndefined(obj.localWeekNumber) || !isUndefined(obj.localWeekYear);\n  if (hasLocaleWeekData) {\n    const hasIsoWeekData = !isUndefined(obj.weekday) || !isUndefined(obj.weekNumber) || !isUndefined(obj.weekYear);\n    if (hasIsoWeekData) {\n      throw new ConflictingSpecificationError(\"Cannot mix locale-based week fields with ISO-based week fields\");\n    }\n    if (!isUndefined(obj.localWeekday)) obj.weekday = obj.localWeekday;\n    if (!isUndefined(obj.localWeekNumber)) obj.weekNumber = obj.localWeekNumber;\n    if (!isUndefined(obj.localWeekYear)) obj.weekYear = obj.localWeekYear;\n    delete obj.localWeekday;\n    delete obj.localWeekNumber;\n    delete obj.localWeekYear;\n    return {\n      minDaysInFirstWeek: loc.getMinDaysInFirstWeek(),\n      startOfWeek: loc.getStartOfWeek()\n    };\n  } else {\n    return {\n      minDaysInFirstWeek: 4,\n      startOfWeek: 1\n    };\n  }\n}\nfunction hasInvalidWeekData(obj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n  const validYear = isInteger(obj.weekYear),\n    validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear, minDaysInFirstWeek, startOfWeek)),\n    validWeekday = integerBetween(obj.weekday, 1, 7);\n  if (!validYear) {\n    return unitOutOfRange(\"weekYear\", obj.weekYear);\n  } else if (!validWeek) {\n    return unitOutOfRange(\"week\", obj.weekNumber);\n  } else if (!validWeekday) {\n    return unitOutOfRange(\"weekday\", obj.weekday);\n  } else return false;\n}\nfunction hasInvalidOrdinalData(obj) {\n  const validYear = isInteger(obj.year),\n    validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validOrdinal) {\n    return unitOutOfRange(\"ordinal\", obj.ordinal);\n  } else return false;\n}\nfunction hasInvalidGregorianData(obj) {\n  const validYear = isInteger(obj.year),\n    validMonth = integerBetween(obj.month, 1, 12),\n    validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validMonth) {\n    return unitOutOfRange(\"month\", obj.month);\n  } else if (!validDay) {\n    return unitOutOfRange(\"day\", obj.day);\n  } else return false;\n}\nfunction hasInvalidTimeData(obj) {\n  const {\n    hour,\n    minute,\n    second,\n    millisecond\n  } = obj;\n  const validHour = integerBetween(hour, 0, 23) || hour === 24 && minute === 0 && second === 0 && millisecond === 0,\n    validMinute = integerBetween(minute, 0, 59),\n    validSecond = integerBetween(second, 0, 59),\n    validMillisecond = integerBetween(millisecond, 0, 999);\n  if (!validHour) {\n    return unitOutOfRange(\"hour\", hour);\n  } else if (!validMinute) {\n    return unitOutOfRange(\"minute\", minute);\n  } else if (!validSecond) {\n    return unitOutOfRange(\"second\", second);\n  } else if (!validMillisecond) {\n    return unitOutOfRange(\"millisecond\", millisecond);\n  } else return false;\n}\n\n/*\n  This is just a junk drawer, containing anything used across multiple classes.\n  Because Luxon is small(ish), this should stay small and we won't worry about splitting\n  it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\n/**\n * @private\n */\n\n// TYPES\n\nfunction isUndefined(o) {\n  return typeof o === \"undefined\";\n}\nfunction isNumber(o) {\n  return typeof o === \"number\";\n}\nfunction isInteger(o) {\n  return typeof o === \"number\" && o % 1 === 0;\n}\nfunction isString(o) {\n  return typeof o === \"string\";\n}\nfunction isDate(o) {\n  return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nfunction hasRelative() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n  } catch (e) {\n    return false;\n  }\n}\nfunction hasLocaleWeekInfo() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.Locale && (\"weekInfo\" in Intl.Locale.prototype || \"getWeekInfo\" in Intl.Locale.prototype);\n  } catch (e) {\n    return false;\n  }\n}\n\n// OBJECTS AND ARRAYS\n\nfunction maybeArray(thing) {\n  return Array.isArray(thing) ? thing : [thing];\n}\nfunction bestBy(arr, by, compare) {\n  if (arr.length === 0) {\n    return undefined;\n  }\n  return arr.reduce((best, next) => {\n    const pair = [by(next), next];\n    if (!best) {\n      return pair;\n    } else if (compare(best[0], pair[0]) === best[0]) {\n      return best;\n    } else {\n      return pair;\n    }\n  }, null)[1];\n}\nfunction pick(obj, keys) {\n  return keys.reduce((a, k) => {\n    a[k] = obj[k];\n    return a;\n  }, {});\n}\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\nfunction validateWeekSettings(settings) {\n  if (settings == null) {\n    return null;\n  } else if (typeof settings !== \"object\") {\n    throw new InvalidArgumentError(\"Week settings must be an object\");\n  } else {\n    if (!integerBetween(settings.firstDay, 1, 7) || !integerBetween(settings.minimalDays, 1, 7) || !Array.isArray(settings.weekend) || settings.weekend.some(v => !integerBetween(v, 1, 7))) {\n      throw new InvalidArgumentError(\"Invalid week settings\");\n    }\n    return {\n      firstDay: settings.firstDay,\n      minimalDays: settings.minimalDays,\n      weekend: Array.from(settings.weekend)\n    };\n  }\n}\n\n// NUMBERS AND STRINGS\n\nfunction integerBetween(thing, bottom, top) {\n  return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nfunction floorMod(x, n) {\n  return x - n * Math.floor(x / n);\n}\nfunction padStart(input, n = 2) {\n  const isNeg = input < 0;\n  let padded;\n  if (isNeg) {\n    padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n  } else {\n    padded = (\"\" + input).padStart(n, \"0\");\n  }\n  return padded;\n}\nfunction parseInteger(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseInt(string, 10);\n  }\n}\nfunction parseFloating(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseFloat(string);\n  }\n}\nfunction parseMillis(fraction) {\n  // Return undefined (instead of 0) in these cases, where fraction is not set\n  if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n    return undefined;\n  } else {\n    const f = parseFloat(\"0.\" + fraction) * 1000;\n    return Math.floor(f);\n  }\n}\nfunction roundTo(number, digits, towardZero = false) {\n  const factor = 10 ** digits,\n    rounder = towardZero ? Math.trunc : Math.round;\n  return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nfunction isLeapYear(year) {\n  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\nfunction daysInYear(year) {\n  return isLeapYear(year) ? 366 : 365;\n}\nfunction daysInMonth(year, month) {\n  const modMonth = floorMod(month - 1, 12) + 1,\n    modYear = year + (month - modMonth) / 12;\n  if (modMonth === 2) {\n    return isLeapYear(modYear) ? 29 : 28;\n  } else {\n    return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n  }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nfunction objToLocalTS(obj) {\n  let d = Date.UTC(obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, obj.millisecond);\n\n  // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n  if (obj.year < 100 && obj.year >= 0) {\n    d = new Date(d);\n    // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n    // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n    // the calculations done by Date.UTC are using year 2000 - which is incorrect\n    d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n  }\n  return +d;\n}\n\n// adapted from moment.js: https://github.com/moment/moment/blob/000ac1800e620f770f4eb31b5ae908f6167b0ab2/src/lib/units/week-calendar-utils.js\nfunction firstWeekOffset(year, minDaysInFirstWeek, startOfWeek) {\n  const fwdlw = isoWeekdayToLocal(dayOfWeek(year, 1, minDaysInFirstWeek), startOfWeek);\n  return -fwdlw + minDaysInFirstWeek - 1;\n}\nfunction weeksInWeekYear(weekYear, minDaysInFirstWeek = 4, startOfWeek = 1) {\n  const weekOffset = firstWeekOffset(weekYear, minDaysInFirstWeek, startOfWeek);\n  const weekOffsetNext = firstWeekOffset(weekYear + 1, minDaysInFirstWeek, startOfWeek);\n  return (daysInYear(weekYear) - weekOffset + weekOffsetNext) / 7;\n}\nfunction untruncateYear(year) {\n  if (year > 99) {\n    return year;\n  } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nfunction parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n  const date = new Date(ts),\n    intlOpts = {\n      hourCycle: \"h23\",\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\"\n    };\n  if (timeZone) {\n    intlOpts.timeZone = timeZone;\n  }\n  const modified = {\n    timeZoneName: offsetFormat,\n    ...intlOpts\n  };\n  const parsed = new Intl.DateTimeFormat(locale, modified).formatToParts(date).find(m => m.type.toLowerCase() === \"timezonename\");\n  return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nfunction signedOffset(offHourStr, offMinuteStr) {\n  let offHour = parseInt(offHourStr, 10);\n\n  // don't || this because we want to preserve -0\n  if (Number.isNaN(offHour)) {\n    offHour = 0;\n  }\n  const offMin = parseInt(offMinuteStr, 10) || 0,\n    offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n  return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nfunction asNumber(value) {\n  const numericValue = Number(value);\n  if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue)) throw new InvalidArgumentError(`Invalid unit value ${value}`);\n  return numericValue;\n}\nfunction normalizeObject(obj, normalizer) {\n  const normalized = {};\n  for (const u in obj) {\n    if (hasOwnProperty(obj, u)) {\n      const v = obj[u];\n      if (v === undefined || v === null) continue;\n      normalized[normalizer(u)] = asNumber(v);\n    }\n  }\n  return normalized;\n}\n\n/**\n * Returns the offset's value as a string\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\nfunction formatOffset(offset, format) {\n  const hours = Math.trunc(Math.abs(offset / 60)),\n    minutes = Math.trunc(Math.abs(offset % 60)),\n    sign = offset >= 0 ? \"+\" : \"-\";\n  switch (format) {\n    case \"short\":\n      return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n    case \"narrow\":\n      return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n    case \"techie\":\n      return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n    default:\n      throw new RangeError(`Value format ${format} is out of range for property format`);\n  }\n}\nfunction timeObject(obj) {\n  return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n\n/**\n * @private\n */\n\nconst monthsLong = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\nconst monthsShort = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nconst monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\nfunction months(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...monthsNarrow];\n    case \"short\":\n      return [...monthsShort];\n    case \"long\":\n      return [...monthsLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n    case \"2-digit\":\n      return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n    default:\n      return null;\n  }\n}\nconst weekdaysLong = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\nconst weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\nconst weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\nfunction weekdays(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...weekdaysNarrow];\n    case \"short\":\n      return [...weekdaysShort];\n    case \"long\":\n      return [...weekdaysLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n    default:\n      return null;\n  }\n}\nconst meridiems = [\"AM\", \"PM\"];\nconst erasLong = [\"Before Christ\", \"Anno Domini\"];\nconst erasShort = [\"BC\", \"AD\"];\nconst erasNarrow = [\"B\", \"A\"];\nfunction eras(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...erasNarrow];\n    case \"short\":\n      return [...erasShort];\n    case \"long\":\n      return [...erasLong];\n    default:\n      return null;\n  }\n}\nfunction meridiemForDateTime(dt) {\n  return meridiems[dt.hour < 12 ? 0 : 1];\n}\nfunction weekdayForDateTime(dt, length) {\n  return weekdays(length)[dt.weekday - 1];\n}\nfunction monthForDateTime(dt, length) {\n  return months(length)[dt.month - 1];\n}\nfunction eraForDateTime(dt, length) {\n  return eras(length)[dt.year < 0 ? 0 : 1];\n}\nfunction formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n  const units = {\n    years: [\"year\", \"yr.\"],\n    quarters: [\"quarter\", \"qtr.\"],\n    months: [\"month\", \"mo.\"],\n    weeks: [\"week\", \"wk.\"],\n    days: [\"day\", \"day\", \"days\"],\n    hours: [\"hour\", \"hr.\"],\n    minutes: [\"minute\", \"min.\"],\n    seconds: [\"second\", \"sec.\"]\n  };\n  const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n  if (numeric === \"auto\" && lastable) {\n    const isDay = unit === \"days\";\n    switch (count) {\n      case 1:\n        return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n      case -1:\n        return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n      case 0:\n        return isDay ? \"today\" : `this ${units[unit][0]}`;\n    }\n  }\n\n  const isInPast = Object.is(count, -0) || count < 0,\n    fmtValue = Math.abs(count),\n    singular = fmtValue === 1,\n    lilUnits = units[unit],\n    fmtUnit = narrow ? singular ? lilUnits[1] : lilUnits[2] || lilUnits[1] : singular ? units[unit][0] : unit;\n  return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nfunction stringifyTokens(splits, tokenToString) {\n  let s = \"\";\n  for (const token of splits) {\n    if (token.literal) {\n      s += token.val;\n    } else {\n      s += tokenToString(token.val);\n    }\n  }\n  return s;\n}\nconst macroTokenToFormatOpts = {\n  D: DATE_SHORT,\n  DD: DATE_MED,\n  DDD: DATE_FULL,\n  DDDD: DATE_HUGE,\n  t: TIME_SIMPLE,\n  tt: TIME_WITH_SECONDS,\n  ttt: TIME_WITH_SHORT_OFFSET,\n  tttt: TIME_WITH_LONG_OFFSET,\n  T: TIME_24_SIMPLE,\n  TT: TIME_24_WITH_SECONDS,\n  TTT: TIME_24_WITH_SHORT_OFFSET,\n  TTTT: TIME_24_WITH_LONG_OFFSET,\n  f: DATETIME_SHORT,\n  ff: DATETIME_MED,\n  fff: DATETIME_FULL,\n  ffff: DATETIME_HUGE,\n  F: DATETIME_SHORT_WITH_SECONDS,\n  FF: DATETIME_MED_WITH_SECONDS,\n  FFF: DATETIME_FULL_WITH_SECONDS,\n  FFFF: DATETIME_HUGE_WITH_SECONDS\n};\n\n/**\n * @private\n */\n\nclass Formatter {\n  static create(locale, opts = {}) {\n    return new Formatter(locale, opts);\n  }\n  static parseFormat(fmt) {\n    // white-space is always considered a literal in user-provided formats\n    // the \" \" token has a special meaning (see unitForToken)\n\n    let current = null,\n      currentFull = \"\",\n      bracketed = false;\n    const splits = [];\n    for (let i = 0; i < fmt.length; i++) {\n      const c = fmt.charAt(i);\n      if (c === \"'\") {\n        if (currentFull.length > 0) {\n          splits.push({\n            literal: bracketed || /^\\s+$/.test(currentFull),\n            val: currentFull\n          });\n        }\n        current = null;\n        currentFull = \"\";\n        bracketed = !bracketed;\n      } else if (bracketed) {\n        currentFull += c;\n      } else if (c === current) {\n        currentFull += c;\n      } else {\n        if (currentFull.length > 0) {\n          splits.push({\n            literal: /^\\s+$/.test(currentFull),\n            val: currentFull\n          });\n        }\n        currentFull = c;\n        current = c;\n      }\n    }\n    if (currentFull.length > 0) {\n      splits.push({\n        literal: bracketed || /^\\s+$/.test(currentFull),\n        val: currentFull\n      });\n    }\n    return splits;\n  }\n  static macroTokenToFormatOpts(token) {\n    return macroTokenToFormatOpts[token];\n  }\n  constructor(locale, formatOpts) {\n    this.opts = formatOpts;\n    this.loc = locale;\n    this.systemLoc = null;\n  }\n  formatWithSystemDefault(dt, opts) {\n    if (this.systemLoc === null) {\n      this.systemLoc = this.loc.redefaultToSystem();\n    }\n    const df = this.systemLoc.dtFormatter(dt, {\n      ...this.opts,\n      ...opts\n    });\n    return df.format();\n  }\n  dtFormatter(dt, opts = {}) {\n    return this.loc.dtFormatter(dt, {\n      ...this.opts,\n      ...opts\n    });\n  }\n  formatDateTime(dt, opts) {\n    return this.dtFormatter(dt, opts).format();\n  }\n  formatDateTimeParts(dt, opts) {\n    return this.dtFormatter(dt, opts).formatToParts();\n  }\n  formatInterval(interval, opts) {\n    const df = this.dtFormatter(interval.start, opts);\n    return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n  }\n  resolvedOptions(dt, opts) {\n    return this.dtFormatter(dt, opts).resolvedOptions();\n  }\n  num(n, p = 0) {\n    // we get some perf out of doing this here, annoyingly\n    if (this.opts.forceSimple) {\n      return padStart(n, p);\n    }\n    const opts = {\n      ...this.opts\n    };\n    if (p > 0) {\n      opts.padTo = p;\n    }\n    return this.loc.numberFormatter(opts).format(n);\n  }\n  formatDateTimeFromString(dt, fmt) {\n    const knownEnglish = this.loc.listingMode() === \"en\",\n      useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n      string = (opts, extract) => this.loc.extract(dt, opts, extract),\n      formatOffset = opts => {\n        if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n          return \"Z\";\n        }\n        return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n      },\n      meridiem = () => knownEnglish ? meridiemForDateTime(dt) : string({\n        hour: \"numeric\",\n        hourCycle: \"h12\"\n      }, \"dayperiod\"),\n      month = (length, standalone) => knownEnglish ? monthForDateTime(dt, length) : string(standalone ? {\n        month: length\n      } : {\n        month: length,\n        day: \"numeric\"\n      }, \"month\"),\n      weekday = (length, standalone) => knownEnglish ? weekdayForDateTime(dt, length) : string(standalone ? {\n        weekday: length\n      } : {\n        weekday: length,\n        month: \"long\",\n        day: \"numeric\"\n      }, \"weekday\"),\n      maybeMacro = token => {\n        const formatOpts = Formatter.macroTokenToFormatOpts(token);\n        if (formatOpts) {\n          return this.formatWithSystemDefault(dt, formatOpts);\n        } else {\n          return token;\n        }\n      },\n      era = length => knownEnglish ? eraForDateTime(dt, length) : string({\n        era: length\n      }, \"era\"),\n      tokenToString = token => {\n        // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n        switch (token) {\n          // ms\n          case \"S\":\n            return this.num(dt.millisecond);\n          case \"u\":\n          // falls through\n          case \"SSS\":\n            return this.num(dt.millisecond, 3);\n          // seconds\n          case \"s\":\n            return this.num(dt.second);\n          case \"ss\":\n            return this.num(dt.second, 2);\n          // fractional seconds\n          case \"uu\":\n            return this.num(Math.floor(dt.millisecond / 10), 2);\n          case \"uuu\":\n            return this.num(Math.floor(dt.millisecond / 100));\n          // minutes\n          case \"m\":\n            return this.num(dt.minute);\n          case \"mm\":\n            return this.num(dt.minute, 2);\n          // hours\n          case \"h\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n          case \"hh\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n          case \"H\":\n            return this.num(dt.hour);\n          case \"HH\":\n            return this.num(dt.hour, 2);\n          // offset\n          case \"Z\":\n            // like +6\n            return formatOffset({\n              format: \"narrow\",\n              allowZ: this.opts.allowZ\n            });\n          case \"ZZ\":\n            // like +06:00\n            return formatOffset({\n              format: \"short\",\n              allowZ: this.opts.allowZ\n            });\n          case \"ZZZ\":\n            // like +0600\n            return formatOffset({\n              format: \"techie\",\n              allowZ: this.opts.allowZ\n            });\n          case \"ZZZZ\":\n            // like EST\n            return dt.zone.offsetName(dt.ts, {\n              format: \"short\",\n              locale: this.loc.locale\n            });\n          case \"ZZZZZ\":\n            // like Eastern Standard Time\n            return dt.zone.offsetName(dt.ts, {\n              format: \"long\",\n              locale: this.loc.locale\n            });\n          // zone\n          case \"z\":\n            // like America/New_York\n            return dt.zoneName;\n          // meridiems\n          case \"a\":\n            return meridiem();\n          // dates\n          case \"d\":\n            return useDateTimeFormatter ? string({\n              day: \"numeric\"\n            }, \"day\") : this.num(dt.day);\n          case \"dd\":\n            return useDateTimeFormatter ? string({\n              day: \"2-digit\"\n            }, \"day\") : this.num(dt.day, 2);\n          // weekdays - standalone\n          case \"c\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"ccc\":\n            // like 'Tues'\n            return weekday(\"short\", true);\n          case \"cccc\":\n            // like 'Tuesday'\n            return weekday(\"long\", true);\n          case \"ccccc\":\n            // like 'T'\n            return weekday(\"narrow\", true);\n          // weekdays - format\n          case \"E\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"EEE\":\n            // like 'Tues'\n            return weekday(\"short\", false);\n          case \"EEEE\":\n            // like 'Tuesday'\n            return weekday(\"long\", false);\n          case \"EEEEE\":\n            // like 'T'\n            return weekday(\"narrow\", false);\n          // months - standalone\n          case \"L\":\n            // like 1\n            return useDateTimeFormatter ? string({\n              month: \"numeric\",\n              day: \"numeric\"\n            }, \"month\") : this.num(dt.month);\n          case \"LL\":\n            // like 01, doesn't seem to work\n            return useDateTimeFormatter ? string({\n              month: \"2-digit\",\n              day: \"numeric\"\n            }, \"month\") : this.num(dt.month, 2);\n          case \"LLL\":\n            // like Jan\n            return month(\"short\", true);\n          case \"LLLL\":\n            // like January\n            return month(\"long\", true);\n          case \"LLLLL\":\n            // like J\n            return month(\"narrow\", true);\n          // months - format\n          case \"M\":\n            // like 1\n            return useDateTimeFormatter ? string({\n              month: \"numeric\"\n            }, \"month\") : this.num(dt.month);\n          case \"MM\":\n            // like 01\n            return useDateTimeFormatter ? string({\n              month: \"2-digit\"\n            }, \"month\") : this.num(dt.month, 2);\n          case \"MMM\":\n            // like Jan\n            return month(\"short\", false);\n          case \"MMMM\":\n            // like January\n            return month(\"long\", false);\n          case \"MMMMM\":\n            // like J\n            return month(\"narrow\", false);\n          // years\n          case \"y\":\n            // like 2014\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : this.num(dt.year);\n          case \"yy\":\n            // like 14\n            return useDateTimeFormatter ? string({\n              year: \"2-digit\"\n            }, \"year\") : this.num(dt.year.toString().slice(-2), 2);\n          case \"yyyy\":\n            // like 0012\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : this.num(dt.year, 4);\n          case \"yyyyyy\":\n            // like 000012\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : this.num(dt.year, 6);\n          // eras\n          case \"G\":\n            // like AD\n            return era(\"short\");\n          case \"GG\":\n            // like Anno Domini\n            return era(\"long\");\n          case \"GGGGG\":\n            return era(\"narrow\");\n          case \"kk\":\n            return this.num(dt.weekYear.toString().slice(-2), 2);\n          case \"kkkk\":\n            return this.num(dt.weekYear, 4);\n          case \"W\":\n            return this.num(dt.weekNumber);\n          case \"WW\":\n            return this.num(dt.weekNumber, 2);\n          case \"n\":\n            return this.num(dt.localWeekNumber);\n          case \"nn\":\n            return this.num(dt.localWeekNumber, 2);\n          case \"ii\":\n            return this.num(dt.localWeekYear.toString().slice(-2), 2);\n          case \"iiii\":\n            return this.num(dt.localWeekYear, 4);\n          case \"o\":\n            return this.num(dt.ordinal);\n          case \"ooo\":\n            return this.num(dt.ordinal, 3);\n          case \"q\":\n            // like 1\n            return this.num(dt.quarter);\n          case \"qq\":\n            // like 01\n            return this.num(dt.quarter, 2);\n          case \"X\":\n            return this.num(Math.floor(dt.ts / 1000));\n          case \"x\":\n            return this.num(dt.ts);\n          default:\n            return maybeMacro(token);\n        }\n      };\n    return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n  }\n  formatDurationFromString(dur, fmt) {\n    const tokenToField = token => {\n        switch (token[0]) {\n          case \"S\":\n            return \"millisecond\";\n          case \"s\":\n            return \"second\";\n          case \"m\":\n            return \"minute\";\n          case \"h\":\n            return \"hour\";\n          case \"d\":\n            return \"day\";\n          case \"w\":\n            return \"week\";\n          case \"M\":\n            return \"month\";\n          case \"y\":\n            return \"year\";\n          default:\n            return null;\n        }\n      },\n      tokenToString = lildur => token => {\n        const mapped = tokenToField(token);\n        if (mapped) {\n          return this.num(lildur.get(mapped), token.length);\n        } else {\n          return token;\n        }\n      },\n      tokens = Formatter.parseFormat(fmt),\n      realTokens = tokens.reduce((found, {\n        literal,\n        val\n      }) => literal ? found : found.concat(val), []),\n      collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter(t => t));\n    return stringifyTokens(tokens, tokenToString(collapsed));\n  }\n}\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nconst ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\nfunction combineRegexes(...regexes) {\n  const full = regexes.reduce((f, r) => f + r.source, \"\");\n  return RegExp(`^${full}$`);\n}\nfunction combineExtractors(...extractors) {\n  return m => extractors.reduce(([mergedVals, mergedZone, cursor], ex) => {\n    const [val, zone, next] = ex(m, cursor);\n    return [{\n      ...mergedVals,\n      ...val\n    }, zone || mergedZone, next];\n  }, [{}, null, 1]).slice(0, 2);\n}\nfunction parse(s, ...patterns) {\n  if (s == null) {\n    return [null, null];\n  }\n  for (const [regex, extractor] of patterns) {\n    const m = regex.exec(s);\n    if (m) {\n      return extractor(m);\n    }\n  }\n  return [null, null];\n}\nfunction simpleParse(...keys) {\n  return (match, cursor) => {\n    const ret = {};\n    let i;\n    for (i = 0; i < keys.length; i++) {\n      ret[keys[i]] = parseInteger(match[cursor + i]);\n    }\n    return [ret, null, cursor + i];\n  };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nconst isoExtendedZone = `(?:${offsetRegex.source}?(?:\\\\[(${ianaRegex.source})\\\\])?)?`;\nconst isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nconst isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);\nconst isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);\nconst isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nconst isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nconst isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nconst extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nconst extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nconst sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nconst sqlTimeRegex = RegExp(`${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`);\nconst sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\nfunction int(match, pos, fallback) {\n  const m = match[pos];\n  return isUndefined(m) ? fallback : parseInteger(m);\n}\nfunction extractISOYmd(match, cursor) {\n  const item = {\n    year: int(match, cursor),\n    month: int(match, cursor + 1, 1),\n    day: int(match, cursor + 2, 1)\n  };\n  return [item, null, cursor + 3];\n}\nfunction extractISOTime(match, cursor) {\n  const item = {\n    hours: int(match, cursor, 0),\n    minutes: int(match, cursor + 1, 0),\n    seconds: int(match, cursor + 2, 0),\n    milliseconds: parseMillis(match[cursor + 3])\n  };\n  return [item, null, cursor + 4];\n}\nfunction extractISOOffset(match, cursor) {\n  const local = !match[cursor] && !match[cursor + 1],\n    fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n    zone = local ? null : FixedOffsetZone.instance(fullOffset);\n  return [{}, zone, cursor + 3];\n}\nfunction extractIANAZone(match, cursor) {\n  const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n  return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration = /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\nfunction extractISODuration(match) {\n  const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] = match;\n  const hasNegativePrefix = s[0] === \"-\";\n  const negativeSeconds = secondStr && secondStr[0] === \"-\";\n  const maybeNegate = (num, force = false) => num !== undefined && (force || num && hasNegativePrefix) ? -num : num;\n  return [{\n    years: maybeNegate(parseFloating(yearStr)),\n    months: maybeNegate(parseFloating(monthStr)),\n    weeks: maybeNegate(parseFloating(weekStr)),\n    days: maybeNegate(parseFloating(dayStr)),\n    hours: maybeNegate(parseFloating(hourStr)),\n    minutes: maybeNegate(parseFloating(minuteStr)),\n    seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n    milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds)\n  }];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n  GMT: 0,\n  EDT: -4 * 60,\n  EST: -5 * 60,\n  CDT: -5 * 60,\n  CST: -6 * 60,\n  MDT: -6 * 60,\n  MST: -7 * 60,\n  PDT: -7 * 60,\n  PST: -8 * 60\n};\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n  const result = {\n    year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n    month: monthsShort.indexOf(monthStr) + 1,\n    day: parseInteger(dayStr),\n    hour: parseInteger(hourStr),\n    minute: parseInteger(minuteStr)\n  };\n  if (secondStr) result.second = parseInteger(secondStr);\n  if (weekdayStr) {\n    result.weekday = weekdayStr.length > 3 ? weekdaysLong.indexOf(weekdayStr) + 1 : weekdaysShort.indexOf(weekdayStr) + 1;\n  }\n  return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\nfunction extractRFC2822(match) {\n  const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr, obsOffset, milOffset, offHourStr, offMinuteStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  let offset;\n  if (obsOffset) {\n    offset = obsOffsets[obsOffset];\n  } else if (milOffset) {\n    offset = 0;\n  } else {\n    offset = signedOffset(offHourStr, offMinuteStr);\n  }\n  return [result, new FixedOffsetZone(offset)];\n}\nfunction preprocessRFC2822(s) {\n  // Remove comments and folding whitespace and replace multiple-spaces with a single space\n  return s.replace(/\\([^()]*\\)|[\\n\\t]/g, \" \").replace(/(\\s\\s+)/g, \" \").trim();\n}\n\n// http date\n\nconst rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  rfc850 = /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\nfunction extractRFC1123Or850(match) {\n  const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\nfunction extractASCII(match) {\n  const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\nconst extractISOYmdTimeAndOffset = combineExtractors(extractISOYmd, extractISOTime, extractISOOffset, extractIANAZone);\nconst extractISOWeekTimeAndOffset = combineExtractors(extractISOWeekData, extractISOTime, extractISOOffset, extractIANAZone);\nconst extractISOOrdinalDateAndTime = combineExtractors(extractISOOrdinalData, extractISOTime, extractISOOffset, extractIANAZone);\nconst extractISOTimeAndOffset = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone);\n\n/*\n * @private\n */\n\nfunction parseISODate(s) {\n  return parse(s, [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset], [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime], [isoTimeCombinedRegex, extractISOTimeAndOffset]);\n}\nfunction parseRFC2822Date(s) {\n  return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\nfunction parseHTTPDate(s) {\n  return parse(s, [rfc1123, extractRFC1123Or850], [rfc850, extractRFC1123Or850], [ascii, extractASCII]);\n}\nfunction parseISODuration(s) {\n  return parse(s, [isoDuration, extractISODuration]);\n}\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\nfunction parseISOTimeOnly(s) {\n  return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone);\nfunction parseSQL(s) {\n  return parse(s, [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]);\n}\n\nconst INVALID$2 = \"Invalid Duration\";\n\n// unit conversion constants\nconst lowOrderMatrix = {\n    weeks: {\n      days: 7,\n      hours: 7 * 24,\n      minutes: 7 * 24 * 60,\n      seconds: 7 * 24 * 60 * 60,\n      milliseconds: 7 * 24 * 60 * 60 * 1000\n    },\n    days: {\n      hours: 24,\n      minutes: 24 * 60,\n      seconds: 24 * 60 * 60,\n      milliseconds: 24 * 60 * 60 * 1000\n    },\n    hours: {\n      minutes: 60,\n      seconds: 60 * 60,\n      milliseconds: 60 * 60 * 1000\n    },\n    minutes: {\n      seconds: 60,\n      milliseconds: 60 * 1000\n    },\n    seconds: {\n      milliseconds: 1000\n    }\n  },\n  casualMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: 52,\n      days: 365,\n      hours: 365 * 24,\n      minutes: 365 * 24 * 60,\n      seconds: 365 * 24 * 60 * 60,\n      milliseconds: 365 * 24 * 60 * 60 * 1000\n    },\n    quarters: {\n      months: 3,\n      weeks: 13,\n      days: 91,\n      hours: 91 * 24,\n      minutes: 91 * 24 * 60,\n      seconds: 91 * 24 * 60 * 60,\n      milliseconds: 91 * 24 * 60 * 60 * 1000\n    },\n    months: {\n      weeks: 4,\n      days: 30,\n      hours: 30 * 24,\n      minutes: 30 * 24 * 60,\n      seconds: 30 * 24 * 60 * 60,\n      milliseconds: 30 * 24 * 60 * 60 * 1000\n    },\n    ...lowOrderMatrix\n  },\n  daysInYearAccurate = 146097.0 / 400,\n  daysInMonthAccurate = 146097.0 / 4800,\n  accurateMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: daysInYearAccurate / 7,\n      days: daysInYearAccurate,\n      hours: daysInYearAccurate * 24,\n      minutes: daysInYearAccurate * 24 * 60,\n      seconds: daysInYearAccurate * 24 * 60 * 60,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000\n    },\n    quarters: {\n      months: 3,\n      weeks: daysInYearAccurate / 28,\n      days: daysInYearAccurate / 4,\n      hours: daysInYearAccurate * 24 / 4,\n      minutes: daysInYearAccurate * 24 * 60 / 4,\n      seconds: daysInYearAccurate * 24 * 60 * 60 / 4,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000 / 4\n    },\n    months: {\n      weeks: daysInMonthAccurate / 7,\n      days: daysInMonthAccurate,\n      hours: daysInMonthAccurate * 24,\n      minutes: daysInMonthAccurate * 24 * 60,\n      seconds: daysInMonthAccurate * 24 * 60 * 60,\n      milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000\n    },\n    ...lowOrderMatrix\n  };\n\n// units ordered by size\nconst orderedUnits$1 = [\"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\"];\nconst reverseUnits = orderedUnits$1.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone$1(dur, alts, clear = false) {\n  // deep merge for vals\n  const conf = {\n    values: clear ? alts.values : {\n      ...dur.values,\n      ...(alts.values || {})\n    },\n    loc: dur.loc.clone(alts.loc),\n    conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n    matrix: alts.matrix || dur.matrix\n  };\n  return new Duration(conf);\n}\nfunction durationToMillis(matrix, vals) {\n  var _vals$milliseconds;\n  let sum = (_vals$milliseconds = vals.milliseconds) != null ? _vals$milliseconds : 0;\n  for (const unit of reverseUnits.slice(1)) {\n    if (vals[unit]) {\n      sum += vals[unit] * matrix[unit][\"milliseconds\"];\n    }\n  }\n  return sum;\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n  // the logic below assumes the overall value of the duration is positive\n  // if this is not the case, factor is used to make it so\n  const factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;\n  orderedUnits$1.reduceRight((previous, current) => {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        const previousVal = vals[previous] * factor;\n        const conv = matrix[current][previous];\n\n        // if (previousVal < 0):\n        // lower order unit is negative (e.g. { years: 2, days: -2 })\n        // normalize this by reducing the higher order unit by the appropriate amount\n        // and increasing the lower order unit\n        // this can never make the higher order unit negative, because this function only operates\n        // on positive durations, so the amount of time represented by the lower order unit cannot\n        // be larger than the higher order unit\n        // else:\n        // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })\n        // in this case we attempt to convert as much as possible from the lower order unit into\n        // the higher order one\n        //\n        // Math.floor takes care of both of these cases, rounding away from 0\n        // if previousVal < 0 it makes the absolute value larger\n        // if previousVal >= it makes the absolute value smaller\n        const rollUp = Math.floor(previousVal / conv);\n        vals[current] += rollUp * factor;\n        vals[previous] -= rollUp * conv * factor;\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n\n  // try to convert any decimals into smaller units if possible\n  // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }\n  orderedUnits$1.reduce((previous, current) => {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        const fraction = vals[previous] % 1;\n        vals[previous] -= fraction;\n        vals[current] += fraction * matrix[previous][current];\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n  const newVals = {};\n  for (const [key, value] of Object.entries(vals)) {\n    if (value !== 0) {\n      newVals[key] = value;\n    }\n  }\n  return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See  {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nclass Duration {\n  /**\n   * @private\n   */\n  constructor(config) {\n    const accurate = config.conversionAccuracy === \"longterm\" || false;\n    let matrix = accurate ? accurateMatrix : casualMatrix;\n    if (config.matrix) {\n      matrix = config.matrix;\n    }\n\n    /**\n     * @access private\n     */\n    this.values = config.values;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.matrix = matrix;\n    /**\n     * @access private\n     */\n    this.isLuxonDuration = true;\n  }\n\n  /**\n   * Create Duration from a number of milliseconds.\n   * @param {number} count of milliseconds\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  static fromMillis(count, opts) {\n    return Duration.fromObject({\n      milliseconds: count\n    }, opts);\n  }\n\n  /**\n   * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n   * If this object is empty then a zero milliseconds duration is returned.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.years\n   * @param {number} obj.quarters\n   * @param {number} obj.months\n   * @param {number} obj.weeks\n   * @param {number} obj.days\n   * @param {number} obj.hours\n   * @param {number} obj.minutes\n   * @param {number} obj.seconds\n   * @param {number} obj.milliseconds\n   * @param {Object} [opts=[]] - options for creating this Duration\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the custom conversion system to use\n   * @return {Duration}\n   */\n  static fromObject(obj, opts = {}) {\n    if (obj == null || typeof obj !== \"object\") {\n      throw new InvalidArgumentError(`Duration.fromObject: argument expected to be an object, got ${obj === null ? \"null\" : typeof obj}`);\n    }\n    return new Duration({\n      values: normalizeObject(obj, Duration.normalizeUnit),\n      loc: Locale.fromObject(opts),\n      conversionAccuracy: opts.conversionAccuracy,\n      matrix: opts.matrix\n    });\n  }\n\n  /**\n   * Create a Duration from DurationLike.\n   *\n   * @param {Object | number | Duration} durationLike\n   * One of:\n   * - object with keys like 'years' and 'hours'.\n   * - number representing milliseconds\n   * - Duration instance\n   * @return {Duration}\n   */\n  static fromDurationLike(durationLike) {\n    if (isNumber(durationLike)) {\n      return Duration.fromMillis(durationLike);\n    } else if (Duration.isDuration(durationLike)) {\n      return durationLike;\n    } else if (typeof durationLike === \"object\") {\n      return Duration.fromObject(durationLike);\n    } else {\n      throw new InvalidArgumentError(`Unknown duration argument ${durationLike} of type ${typeof durationLike}`);\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 duration string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the preset conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n   * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n   * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n   * @return {Duration}\n   */\n  static fromISO(text, opts) {\n    const [parsed] = parseISODuration(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 time string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n   * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @return {Duration}\n   */\n  static fromISOTime(text, opts) {\n    const [parsed] = parseISOTimeOnly(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create an invalid Duration.\n   * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Duration}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n    }\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDurationError(invalid);\n    } else {\n      return new Duration({\n        invalid\n      });\n    }\n  }\n\n  /**\n   * @private\n   */\n  static normalizeUnit(unit) {\n    const normalized = {\n      year: \"years\",\n      years: \"years\",\n      quarter: \"quarters\",\n      quarters: \"quarters\",\n      month: \"months\",\n      months: \"months\",\n      week: \"weeks\",\n      weeks: \"weeks\",\n      day: \"days\",\n      days: \"days\",\n      hour: \"hours\",\n      hours: \"hours\",\n      minute: \"minutes\",\n      minutes: \"minutes\",\n      second: \"seconds\",\n      seconds: \"seconds\",\n      millisecond: \"milliseconds\",\n      milliseconds: \"milliseconds\"\n    }[unit ? unit.toLowerCase() : unit];\n    if (!normalized) throw new InvalidUnitError(unit);\n    return normalized;\n  }\n\n  /**\n   * Check if an object is a Duration. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDuration(o) {\n    return o && o.isLuxonDuration || false;\n  }\n\n  /**\n   * Get  the locale of a Duration, such 'en-GB'\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n   * * `S` for milliseconds\n   * * `s` for seconds\n   * * `m` for minutes\n   * * `h` for hours\n   * * `d` for days\n   * * `w` for weeks\n   * * `M` for months\n   * * `y` for years\n   * Notes:\n   * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n   * * Tokens can be escaped by wrapping with single quotes.\n   * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - options\n   * @param {boolean} [opts.floor=true] - floor numerical values\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n    const fmtOpts = {\n      ...opts,\n      floor: opts.round !== false && opts.floor !== false\n    };\n    return this.isValid ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt) : INVALID$2;\n  }\n\n  /**\n   * Returns a string representation of a Duration with all units included.\n   * To modify its behavior, use `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options\n   * @param {Object} opts - Formatting options. Accepts the same keys as the options parameter of the native `Intl.NumberFormat` constructor, as well as `listStyle`.\n   * @param {string} [opts.listStyle='narrow'] - How to format the merged list. Corresponds to the `style` property of the options parameter of the native `Intl.ListFormat` constructor.\n   * @example\n   * ```js\n   * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n   * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n   * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n   * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n   * ```\n   */\n  toHuman(opts = {}) {\n    if (!this.isValid) return INVALID$2;\n    const l = orderedUnits$1.map(unit => {\n      const val = this.values[unit];\n      if (isUndefined(val)) {\n        return null;\n      }\n      return this.loc.numberFormatter({\n        style: \"unit\",\n        unitDisplay: \"long\",\n        ...opts,\n        unit: unit.slice(0, -1)\n      }).format(val);\n    }).filter(n => n);\n    return this.loc.listFormatter({\n      type: \"conjunction\",\n      style: opts.listStyle || \"narrow\",\n      ...opts\n    }).format(l);\n  }\n\n  /**\n   * Returns a JavaScript object with this Duration's values.\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n   * @return {Object}\n   */\n  toObject() {\n    if (!this.isValid) return {};\n    return {\n      ...this.values\n    };\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n   * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n   * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n   * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n   * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n   * @return {string}\n   */\n  toISO() {\n    // we could use the formatter, but this is an easier way to get the minimum string\n    if (!this.isValid) return null;\n    let s = \"P\";\n    if (this.years !== 0) s += this.years + \"Y\";\n    if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n    if (this.weeks !== 0) s += this.weeks + \"W\";\n    if (this.days !== 0) s += this.days + \"D\";\n    if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0) s += \"T\";\n    if (this.hours !== 0) s += this.hours + \"H\";\n    if (this.minutes !== 0) s += this.minutes + \"M\";\n    if (this.seconds !== 0 || this.milliseconds !== 0)\n      // this will handle \"floating point madness\" by removing extra decimal places\n      // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n      s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n    if (s === \"P\") s += \"T0S\";\n    return s;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n   * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n   * @return {string}\n   */\n  toISOTime(opts = {}) {\n    if (!this.isValid) return null;\n    const millis = this.toMillis();\n    if (millis < 0 || millis >= 86400000) return null;\n    opts = {\n      suppressMilliseconds: false,\n      suppressSeconds: false,\n      includePrefix: false,\n      format: \"extended\",\n      ...opts,\n      includeOffset: false\n    };\n    const dateTime = DateTime.fromMillis(millis, {\n      zone: \"UTC\"\n    });\n    return dateTime.toISOTime(opts);\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n   * @return {string}\n   */\n  toString() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a string representation of this Duration appropriate for the REPL.\n   * @return {string}\n   */\n  [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n    if (this.isValid) {\n      return `Duration { values: ${JSON.stringify(this.values)} }`;\n    } else {\n      return `Duration { Invalid, reason: ${this.invalidReason} }`;\n    }\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration.\n   * @return {number}\n   */\n  toMillis() {\n    if (!this.isValid) return NaN;\n    return durationToMillis(this.matrix, this.values);\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration),\n      result = {};\n    for (const k of orderedUnits$1) {\n      if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n        result[k] = dur.get(k) + this.get(k);\n      }\n    }\n    return clone$1(this, {\n      values: result\n    }, true);\n  }\n\n  /**\n   * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration);\n    return this.plus(dur.negate());\n  }\n\n  /**\n   * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n   * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n   * @return {Duration}\n   */\n  mapUnits(fn) {\n    if (!this.isValid) return this;\n    const result = {};\n    for (const k of Object.keys(this.values)) {\n      result[k] = asNumber(fn(this.values[k], k));\n    }\n    return clone$1(this, {\n      values: result\n    }, true);\n  }\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n   * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n   * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n   * @return {number}\n   */\n  get(unit) {\n    return this[Duration.normalizeUnit(unit)];\n  }\n\n  /**\n   * \"Set\" the values of specified units. Return a newly-constructed Duration.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dur.set({ years: 2017 })\n   * @example dur.set({ hours: 8, minutes: 30 })\n   * @return {Duration}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n    const mixed = {\n      ...this.values,\n      ...normalizeObject(values, Duration.normalizeUnit)\n    };\n    return clone$1(this, {\n      values: mixed\n    });\n  }\n\n  /**\n   * \"Set\" the locale and/or numberingSystem.  Returns a newly-constructed Duration.\n   * @example dur.reconfigure({ locale: 'en-GB' })\n   * @return {Duration}\n   */\n  reconfigure({\n    locale,\n    numberingSystem,\n    conversionAccuracy,\n    matrix\n  } = {}) {\n    const loc = this.loc.clone({\n      locale,\n      numberingSystem\n    });\n    const opts = {\n      loc,\n      matrix,\n      conversionAccuracy\n    };\n    return clone$1(this, opts);\n  }\n\n  /**\n   * Return the length of the duration in the specified unit.\n   * @param {string} unit - a unit such as 'minutes' or 'days'\n   * @example Duration.fromObject({years: 1}).as('days') //=> 365\n   * @example Duration.fromObject({years: 1}).as('months') //=> 12\n   * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n   * @return {number}\n   */\n  as(unit) {\n    return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n  }\n\n  /**\n   * Reduce this Duration to its canonical representation in its current units.\n   * Assuming the overall value of the Duration is positive, this means:\n   * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)\n   * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise\n   *   the overall value would be negative, see third example)\n   * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)\n   *\n   * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.\n   * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n   * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }\n   * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n   * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }\n   * @return {Duration}\n   */\n  normalize() {\n    if (!this.isValid) return this;\n    const vals = this.toObject();\n    normalizeValues(this.matrix, vals);\n    return clone$1(this, {\n      values: vals\n    }, true);\n  }\n\n  /**\n   * Rescale units to its largest representation\n   * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n   * @return {Duration}\n   */\n  rescale() {\n    if (!this.isValid) return this;\n    const vals = removeZeroes(this.normalize().shiftToAll().toObject());\n    return clone$1(this, {\n      values: vals\n    }, true);\n  }\n\n  /**\n   * Convert this Duration into its representation in a different set of units.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n   * @return {Duration}\n   */\n  shiftTo(...units) {\n    if (!this.isValid) return this;\n    if (units.length === 0) {\n      return this;\n    }\n    units = units.map(u => Duration.normalizeUnit(u));\n    const built = {},\n      accumulated = {},\n      vals = this.toObject();\n    let lastUnit;\n    for (const k of orderedUnits$1) {\n      if (units.indexOf(k) >= 0) {\n        lastUnit = k;\n        let own = 0;\n\n        // anything we haven't boiled down yet should get boiled to this unit\n        for (const ak in accumulated) {\n          own += this.matrix[ak][k] * accumulated[ak];\n          accumulated[ak] = 0;\n        }\n\n        // plus anything that's already in this unit\n        if (isNumber(vals[k])) {\n          own += vals[k];\n        }\n\n        // only keep the integer part for now in the hopes of putting any decimal part\n        // into a smaller unit later\n        const i = Math.trunc(own);\n        built[k] = i;\n        accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n        // otherwise, keep it in the wings to boil it later\n      } else if (isNumber(vals[k])) {\n        accumulated[k] = vals[k];\n      }\n    }\n\n    // anything leftover becomes the decimal for the last unit\n    // lastUnit must be defined since units is not empty\n    for (const key in accumulated) {\n      if (accumulated[key] !== 0) {\n        built[lastUnit] += key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n      }\n    }\n    normalizeValues(this.matrix, built);\n    return clone$1(this, {\n      values: built\n    }, true);\n  }\n\n  /**\n   * Shift this Duration to all available units.\n   * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n   * @return {Duration}\n   */\n  shiftToAll() {\n    if (!this.isValid) return this;\n    return this.shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\");\n  }\n\n  /**\n   * Return the negative of this Duration.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n   * @return {Duration}\n   */\n  negate() {\n    if (!this.isValid) return this;\n    const negated = {};\n    for (const k of Object.keys(this.values)) {\n      negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n    }\n    return clone$1(this, {\n      values: negated\n    }, true);\n  }\n\n  /**\n   * Get the years.\n   * @type {number}\n   */\n  get years() {\n    return this.isValid ? this.values.years || 0 : NaN;\n  }\n\n  /**\n   * Get the quarters.\n   * @type {number}\n   */\n  get quarters() {\n    return this.isValid ? this.values.quarters || 0 : NaN;\n  }\n\n  /**\n   * Get the months.\n   * @type {number}\n   */\n  get months() {\n    return this.isValid ? this.values.months || 0 : NaN;\n  }\n\n  /**\n   * Get the weeks\n   * @type {number}\n   */\n  get weeks() {\n    return this.isValid ? this.values.weeks || 0 : NaN;\n  }\n\n  /**\n   * Get the days.\n   * @type {number}\n   */\n  get days() {\n    return this.isValid ? this.values.days || 0 : NaN;\n  }\n\n  /**\n   * Get the hours.\n   * @type {number}\n   */\n  get hours() {\n    return this.isValid ? this.values.hours || 0 : NaN;\n  }\n\n  /**\n   * Get the minutes.\n   * @type {number}\n   */\n  get minutes() {\n    return this.isValid ? this.values.minutes || 0 : NaN;\n  }\n\n  /**\n   * Get the seconds.\n   * @return {number}\n   */\n  get seconds() {\n    return this.isValid ? this.values.seconds || 0 : NaN;\n  }\n\n  /**\n   * Get the milliseconds.\n   * @return {number}\n   */\n  get milliseconds() {\n    return this.isValid ? this.values.milliseconds || 0 : NaN;\n  }\n\n  /**\n   * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n   * on invalid DateTimes or Intervals.\n   * @return {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this Duration became invalid, or null if the Duration is valid\n   * @return {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Equality check\n   * Two Durations are equal iff they have the same units and the same values for each unit.\n   * @param {Duration} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n    if (!this.loc.equals(other.loc)) {\n      return false;\n    }\n    function eq(v1, v2) {\n      // Consider 0 and undefined as equal\n      if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n      return v1 === v2;\n    }\n    for (const u of orderedUnits$1) {\n      if (!eq(this.values[u], other.values[u])) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nconst INVALID$1 = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n  if (!start || !start.isValid) {\n    return Interval.invalid(\"missing or invalid start\");\n  } else if (!end || !end.isValid) {\n    return Interval.invalid(\"missing or invalid end\");\n  } else if (end < start) {\n    return Interval.invalid(\"end before start\", `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`);\n  } else {\n    return null;\n  }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nclass Interval {\n  /**\n   * @private\n   */\n  constructor(config) {\n    /**\n     * @access private\n     */\n    this.s = config.start;\n    /**\n     * @access private\n     */\n    this.e = config.end;\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.isLuxonInterval = true;\n  }\n\n  /**\n   * Create an invalid Interval.\n   * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Interval}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n    }\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidIntervalError(invalid);\n    } else {\n      return new Interval({\n        invalid\n      });\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n   * @param {DateTime|Date|Object} start\n   * @param {DateTime|Date|Object} end\n   * @return {Interval}\n   */\n  static fromDateTimes(start, end) {\n    const builtStart = friendlyDateTime(start),\n      builtEnd = friendlyDateTime(end);\n    const validateError = validateStartEnd(builtStart, builtEnd);\n    if (validateError == null) {\n      return new Interval({\n        start: builtStart,\n        end: builtEnd\n      });\n    } else {\n      return validateError;\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and a Duration to extend to.\n   * @param {DateTime|Date|Object} start\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static after(start, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(start);\n    return Interval.fromDateTimes(dt, dt.plus(dur));\n  }\n\n  /**\n   * Create an Interval from an end DateTime and a Duration to extend backwards to.\n   * @param {DateTime|Date|Object} end\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static before(end, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(end);\n    return Interval.fromDateTimes(dt.minus(dur), dt);\n  }\n\n  /**\n   * Create an Interval from an ISO 8601 string.\n   * Accepts `<start>/<end>`, `<start>/<duration>`, and `<duration>/<end>` formats.\n   * @param {string} text - the ISO string to parse\n   * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {Interval}\n   */\n  static fromISO(text, opts) {\n    const [s, e] = (text || \"\").split(\"/\", 2);\n    if (s && e) {\n      let start, startIsValid;\n      try {\n        start = DateTime.fromISO(s, opts);\n        startIsValid = start.isValid;\n      } catch (e) {\n        startIsValid = false;\n      }\n      let end, endIsValid;\n      try {\n        end = DateTime.fromISO(e, opts);\n        endIsValid = end.isValid;\n      } catch (e) {\n        endIsValid = false;\n      }\n      if (startIsValid && endIsValid) {\n        return Interval.fromDateTimes(start, end);\n      }\n      if (startIsValid) {\n        const dur = Duration.fromISO(e, opts);\n        if (dur.isValid) {\n          return Interval.after(start, dur);\n        }\n      } else if (endIsValid) {\n        const dur = Duration.fromISO(s, opts);\n        if (dur.isValid) {\n          return Interval.before(end, dur);\n        }\n      }\n    }\n    return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n  }\n\n  /**\n   * Check if an object is an Interval. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isInterval(o) {\n    return o && o.isLuxonInterval || false;\n  }\n\n  /**\n   * Returns the start of the Interval\n   * @type {DateTime}\n   */\n  get start() {\n    return this.isValid ? this.s : null;\n  }\n\n  /**\n   * Returns the end of the Interval\n   * @type {DateTime}\n   */\n  get end() {\n    return this.isValid ? this.e : null;\n  }\n\n  /**\n   * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalidReason === null;\n  }\n\n  /**\n   * Returns an error code if this Interval is invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Returns the length of the Interval in the specified unit.\n   * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n   * @return {number}\n   */\n  length(unit = \"milliseconds\") {\n    return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n  }\n\n  /**\n   * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n   * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n   * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n   * @param {string} [unit='milliseconds'] - the unit of time to count.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; this operation will always use the locale of the start DateTime\n   * @return {number}\n   */\n  count(unit = \"milliseconds\", opts) {\n    if (!this.isValid) return NaN;\n    const start = this.start.startOf(unit, opts);\n    let end;\n    if (opts != null && opts.useLocaleWeeks) {\n      end = this.end.reconfigure({\n        locale: start.locale\n      });\n    } else {\n      end = this.end;\n    }\n    end = end.startOf(unit, opts);\n    return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n  }\n\n  /**\n   * Returns whether this Interval's start and end are both in the same unit of time\n   * @param {string} unit - the unit of time to check sameness on\n   * @return {boolean}\n   */\n  hasSame(unit) {\n    return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end DateTimes.\n   * @return {boolean}\n   */\n  isEmpty() {\n    return this.s.valueOf() === this.e.valueOf();\n  }\n\n  /**\n   * Return whether this Interval's start is after the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isAfter(dateTime) {\n    if (!this.isValid) return false;\n    return this.s > dateTime;\n  }\n\n  /**\n   * Return whether this Interval's end is before the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isBefore(dateTime) {\n    if (!this.isValid) return false;\n    return this.e <= dateTime;\n  }\n\n  /**\n   * Return whether this Interval contains the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  contains(dateTime) {\n    if (!this.isValid) return false;\n    return this.s <= dateTime && this.e > dateTime;\n  }\n\n  /**\n   * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n   * @param {Object} values - the values to set\n   * @param {DateTime} values.start - the starting DateTime\n   * @param {DateTime} values.end - the ending DateTime\n   * @return {Interval}\n   */\n  set({\n    start,\n    end\n  } = {}) {\n    if (!this.isValid) return this;\n    return Interval.fromDateTimes(start || this.s, end || this.e);\n  }\n\n  /**\n   * Split this Interval at each of the specified DateTimes\n   * @param {...DateTime} dateTimes - the unit of time to count.\n   * @return {Array}\n   */\n  splitAt(...dateTimes) {\n    if (!this.isValid) return [];\n    const sorted = dateTimes.map(friendlyDateTime).filter(d => this.contains(d)).sort((a, b) => a.toMillis() - b.toMillis()),\n      results = [];\n    let {\n        s\n      } = this,\n      i = 0;\n    while (s < this.e) {\n      const added = sorted[i] || this.e,\n        next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      i += 1;\n    }\n    return results;\n  }\n\n  /**\n   * Split this Interval into smaller Intervals, each of the specified length.\n   * Left over time is grouped into a smaller interval\n   * @param {Duration|Object|number} duration - The length of each resulting interval.\n   * @return {Array}\n   */\n  splitBy(duration) {\n    const dur = Duration.fromDurationLike(duration);\n    if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n      return [];\n    }\n    let {\n        s\n      } = this,\n      idx = 1,\n      next;\n    const results = [];\n    while (s < this.e) {\n      const added = this.start.plus(dur.mapUnits(x => x * idx));\n      next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      idx += 1;\n    }\n    return results;\n  }\n\n  /**\n   * Split this Interval into the specified number of smaller intervals.\n   * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n   * @return {Array}\n   */\n  divideEqually(numberOfParts) {\n    if (!this.isValid) return [];\n    return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n  }\n\n  /**\n   * Return whether this Interval overlaps with the specified Interval\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  overlaps(other) {\n    return this.e > other.s && this.s < other.e;\n  }\n\n  /**\n   * Return whether this Interval's end is adjacent to the specified Interval's start.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsStart(other) {\n    if (!this.isValid) return false;\n    return +this.e === +other.s;\n  }\n\n  /**\n   * Return whether this Interval's start is adjacent to the specified Interval's end.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsEnd(other) {\n    if (!this.isValid) return false;\n    return +other.e === +this.s;\n  }\n\n  /**\n   * Returns true if this Interval fully contains the specified Interval, specifically if the intersect (of this Interval and the other Interval) is equal to the other Interval; false otherwise.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  engulfs(other) {\n    if (!this.isValid) return false;\n    return this.s <= other.s && this.e >= other.e;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end as the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n    return this.s.equals(other.s) && this.e.equals(other.e);\n  }\n\n  /**\n   * Return an Interval representing the intersection of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n   * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  intersection(other) {\n    if (!this.isValid) return this;\n    const s = this.s > other.s ? this.s : other.s,\n      e = this.e < other.e ? this.e : other.e;\n    if (s >= e) {\n      return null;\n    } else {\n      return Interval.fromDateTimes(s, e);\n    }\n  }\n\n  /**\n   * Return an Interval representing the union of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  union(other) {\n    if (!this.isValid) return this;\n    const s = this.s < other.s ? this.s : other.s,\n      e = this.e > other.e ? this.e : other.e;\n    return Interval.fromDateTimes(s, e);\n  }\n\n  /**\n   * Merge an array of Intervals into a equivalent minimal set of Intervals.\n   * Combines overlapping and adjacent Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static merge(intervals) {\n    const [found, final] = intervals.sort((a, b) => a.s - b.s).reduce(([sofar, current], item) => {\n      if (!current) {\n        return [sofar, item];\n      } else if (current.overlaps(item) || current.abutsStart(item)) {\n        return [sofar, current.union(item)];\n      } else {\n        return [sofar.concat([current]), item];\n      }\n    }, [[], null]);\n    if (final) {\n      found.push(final);\n    }\n    return found;\n  }\n\n  /**\n   * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static xor(intervals) {\n    let start = null,\n      currentCount = 0;\n    const results = [],\n      ends = intervals.map(i => [{\n        time: i.s,\n        type: \"s\"\n      }, {\n        time: i.e,\n        type: \"e\"\n      }]),\n      flattened = Array.prototype.concat(...ends),\n      arr = flattened.sort((a, b) => a.time - b.time);\n    for (const i of arr) {\n      currentCount += i.type === \"s\" ? 1 : -1;\n      if (currentCount === 1) {\n        start = i.time;\n      } else {\n        if (start && +start !== +i.time) {\n          results.push(Interval.fromDateTimes(start, i.time));\n        }\n        start = null;\n      }\n    }\n    return Interval.merge(results);\n  }\n\n  /**\n   * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n   * @param {...Interval} intervals\n   * @return {Array}\n   */\n  difference(...intervals) {\n    return Interval.xor([this].concat(intervals)).map(i => this.intersection(i)).filter(i => i && !i.isEmpty());\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for debugging.\n   * @return {string}\n   */\n  toString() {\n    if (!this.isValid) return INVALID$1;\n    return `[${this.s.toISO()} – ${this.e.toISO()})`;\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for the REPL.\n   * @return {string}\n   */\n  [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n    if (this.isValid) {\n      return `Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;\n    } else {\n      return `Interval { Invalid, reason: ${this.invalidReason} }`;\n    }\n  }\n\n  /**\n   * Returns a localized string representing this Interval. Accepts the same options as the\n   * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n   * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n   * is browser-specific, but in general it will return an appropriate representation of the\n   * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n   * specified.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n   * Intl.DateTimeFormat constructor options.\n   * @param {Object} opts - Options to override the configuration of the start DateTime.\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n   * @return {string}\n   */\n  toLocaleString(formatOpts = DATE_SHORT, opts = {}) {\n    return this.isValid ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this) : INVALID$1;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Interval.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISO(opts) {\n    if (!this.isValid) return INVALID$1;\n    return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of date of this Interval.\n   * The time components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {string}\n   */\n  toISODate() {\n    if (!this.isValid) return INVALID$1;\n    return `${this.s.toISODate()}/${this.e.toISODate()}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of time of this Interval.\n   * The date components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISOTime(opts) {\n    if (!this.isValid) return INVALID$1;\n    return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this Interval formatted according to the specified format\n   * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n   * formatting tool.\n   * @param {string} dateFormat - The format string. This string formats the start and end time.\n   * See {@link DateTime#toFormat} for details.\n   * @param {Object} opts - Options.\n   * @param {string} [opts.separator =  ' – '] - A separator to place between the start and end\n   * representations.\n   * @return {string}\n   */\n  toFormat(dateFormat, {\n    separator = \" – \"\n  } = {}) {\n    if (!this.isValid) return INVALID$1;\n    return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n  }\n\n  /**\n   * Return a Duration representing the time spanned by this interval.\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n   * @return {Duration}\n   */\n  toDuration(unit, opts) {\n    if (!this.isValid) {\n      return Duration.invalid(this.invalidReason);\n    }\n    return this.e.diff(this.s, unit, opts);\n  }\n\n  /**\n   * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n   * @param {function} mapFn\n   * @return {Interval}\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n   */\n  mapEndpoints(mapFn) {\n    return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n  }\n}\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nclass Info {\n  /**\n   * Return whether the specified zone contains a DST.\n   * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n   * @return {boolean}\n   */\n  static hasDST(zone = Settings.defaultZone) {\n    const proto = DateTime.now().setZone(zone).set({\n      month: 12\n    });\n    return !zone.isUniversal && proto.offset !== proto.set({\n      month: 6\n    }).offset;\n  }\n\n  /**\n   * Return whether the specified zone is a valid IANA specifier.\n   * @param {string} zone - Zone to check\n   * @return {boolean}\n   */\n  static isValidIANAZone(zone) {\n    return IANAZone.isValidZone(zone);\n  }\n\n  /**\n   * Converts the input into a {@link Zone} instance.\n   *\n   * * If `input` is already a Zone instance, it is returned unchanged.\n   * * If `input` is a string containing a valid time zone name, a Zone instance\n   *   with that name is returned.\n   * * If `input` is a string that doesn't refer to a known time zone, a Zone\n   *   instance with {@link Zone#isValid} == false is returned.\n   * * If `input is a number, a Zone instance with the specified fixed offset\n   *   in minutes is returned.\n   * * If `input` is `null` or `undefined`, the default zone is returned.\n   * @param {string|Zone|number} [input] - the value to be converted\n   * @return {Zone}\n   */\n  static normalizeZone(input) {\n    return normalizeZone(input, Settings.defaultZone);\n  }\n\n  /**\n   * Get the weekday on which the week starts according to the given locale.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number} the start of the week, 1 for Monday through 7 for Sunday\n   */\n  static getStartOfWeek({\n    locale = null,\n    locObj = null\n  } = {}) {\n    return (locObj || Locale.create(locale)).getStartOfWeek();\n  }\n\n  /**\n   * Get the minimum number of days necessary in a week before it is considered part of the next year according\n   * to the given locale.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number}\n   */\n  static getMinimumDaysInFirstWeek({\n    locale = null,\n    locObj = null\n  } = {}) {\n    return (locObj || Locale.create(locale)).getMinDaysInFirstWeek();\n  }\n\n  /**\n   * Get the weekdays, which are considered the weekend according to the given locale\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number[]} an array of weekdays, 1 for Monday through 7 for Sunday\n   */\n  static getWeekendWeekdays({\n    locale = null,\n    locObj = null\n  } = {}) {\n    // copy the array, because we cache it internally\n    return (locObj || Locale.create(locale)).getWeekendDays().slice();\n  }\n\n  /**\n   * Return an array of standalone month names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @example Info.months()[0] //=> 'January'\n   * @example Info.months('short')[0] //=> 'Jan'\n   * @example Info.months('numeric')[0] //=> '1'\n   * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n   * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n   * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n   * @return {Array}\n   */\n  static months(length = \"long\", {\n    locale = null,\n    numberingSystem = null,\n    locObj = null,\n    outputCalendar = \"gregory\"\n  } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n  }\n\n  /**\n   * Return an array of format month names.\n   * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n   * changes the string.\n   * See {@link Info#months}\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @return {Array}\n   */\n  static monthsFormat(length = \"long\", {\n    locale = null,\n    numberingSystem = null,\n    locObj = null,\n    outputCalendar = \"gregory\"\n  } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n  }\n\n  /**\n   * Return an array of standalone week names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @example Info.weekdays()[0] //=> 'Monday'\n   * @example Info.weekdays('short')[0] //=> 'Mon'\n   * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n   * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n   * @return {Array}\n   */\n  static weekdays(length = \"long\", {\n    locale = null,\n    numberingSystem = null,\n    locObj = null\n  } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n  }\n\n  /**\n   * Return an array of format week names.\n   * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n   * changes the string.\n   * See {@link Info#weekdays}\n   * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale=null] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @return {Array}\n   */\n  static weekdaysFormat(length = \"long\", {\n    locale = null,\n    numberingSystem = null,\n    locObj = null\n  } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n  }\n\n  /**\n   * Return an array of meridiems.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n   * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n   * @return {Array}\n   */\n  static meridiems({\n    locale = null\n  } = {}) {\n    return Locale.create(locale).meridiems();\n  }\n\n  /**\n   * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n   * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.eras() //=> [ 'BC', 'AD' ]\n   * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n   * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n   * @return {Array}\n   */\n  static eras(length = \"short\", {\n    locale = null\n  } = {}) {\n    return Locale.create(locale, null, \"gregory\").eras(length);\n  }\n\n  /**\n   * Return the set of available features in this environment.\n   * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n   * Keys:\n   * * `relative`: whether this environment supports relative time formatting\n   * * `localeWeek`: whether this environment supports different weekdays for the start of the week based on the locale\n   * @example Info.features() //=> { relative: false, localeWeek: true }\n   * @return {Object}\n   */\n  static features() {\n    return {\n      relative: hasRelative(),\n      localeWeek: hasLocaleWeekInfo()\n    };\n  }\n}\n\nfunction dayDiff(earlier, later) {\n  const utcDayStart = dt => dt.toUTC(0, {\n      keepLocalTime: true\n    }).startOf(\"day\").valueOf(),\n    ms = utcDayStart(later) - utcDayStart(earlier);\n  return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\nfunction highOrderDiffs(cursor, later, units) {\n  const differs = [[\"years\", (a, b) => b.year - a.year], [\"quarters\", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4], [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12], [\"weeks\", (a, b) => {\n    const days = dayDiff(a, b);\n    return (days - days % 7) / 7;\n  }], [\"days\", dayDiff]];\n  const results = {};\n  const earlier = cursor;\n  let lowestOrder, highWater;\n\n  /* This loop tries to diff using larger units first.\n     If we overshoot, we backtrack and try the next smaller unit.\n     \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n     as we use smaller and smaller units.\n     highWater keeps track of where we would be if we added one more of the smallest unit,\n     this is used later to potentially convert any difference smaller than the smallest higher order unit\n     into a fraction of that smallest higher order unit\n  */\n  for (const [unit, differ] of differs) {\n    if (units.indexOf(unit) >= 0) {\n      lowestOrder = unit;\n      results[unit] = differ(cursor, later);\n      highWater = earlier.plus(results);\n      if (highWater > later) {\n        // we overshot the end point, backtrack cursor by 1\n        results[unit]--;\n        cursor = earlier.plus(results);\n\n        // if we are still overshooting now, we need to backtrack again\n        // this happens in certain situations when diffing times in different zones,\n        // because this calculation ignores time zones\n        if (cursor > later) {\n          // keep the \"overshot by 1\" around as highWater\n          highWater = cursor;\n          // backtrack cursor by 1\n          results[unit]--;\n          cursor = earlier.plus(results);\n        }\n      } else {\n        cursor = highWater;\n      }\n    }\n  }\n  return [cursor, results, highWater, lowestOrder];\n}\nfunction diff (earlier, later, units, opts) {\n  let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n  const remainingMillis = later - cursor;\n  const lowerOrderUnits = units.filter(u => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0);\n  if (lowerOrderUnits.length === 0) {\n    if (highWater < later) {\n      highWater = cursor.plus({\n        [lowestOrder]: 1\n      });\n    }\n    if (highWater !== cursor) {\n      results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n    }\n  }\n  const duration = Duration.fromObject(results, opts);\n  if (lowerOrderUnits.length > 0) {\n    return Duration.fromMillis(remainingMillis, opts).shiftTo(...lowerOrderUnits).plus(duration);\n  } else {\n    return duration;\n  }\n}\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\nfunction intUnit(regex, post = i => i) {\n  return {\n    regex,\n    deser: ([s]) => post(parseDigits(s))\n  };\n}\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `[ ${NBSP}]`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\nfunction fixListRegex(s) {\n  // make dots optional and also make them literal\n  // make space and non breakable space characters interchangeable\n  return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\nfunction stripInsensitivities(s) {\n  return s.replace(/\\./g, \"\") // ignore dots that were made optional\n  .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n  .toLowerCase();\n}\nfunction oneOf(strings, startIndex) {\n  if (strings === null) {\n    return null;\n  } else {\n    return {\n      regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n      deser: ([s]) => strings.findIndex(i => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex\n    };\n  }\n}\nfunction offset(regex, groups) {\n  return {\n    regex,\n    deser: ([, h, m]) => signedOffset(h, m),\n    groups\n  };\n}\nfunction simple(regex) {\n  return {\n    regex,\n    deser: ([s]) => s\n  };\n}\nfunction escapeToken(value) {\n  return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n  const one = digitRegex(loc),\n    two = digitRegex(loc, \"{2}\"),\n    three = digitRegex(loc, \"{3}\"),\n    four = digitRegex(loc, \"{4}\"),\n    six = digitRegex(loc, \"{6}\"),\n    oneOrTwo = digitRegex(loc, \"{1,2}\"),\n    oneToThree = digitRegex(loc, \"{1,3}\"),\n    oneToSix = digitRegex(loc, \"{1,6}\"),\n    oneToNine = digitRegex(loc, \"{1,9}\"),\n    twoToFour = digitRegex(loc, \"{2,4}\"),\n    fourToSix = digitRegex(loc, \"{4,6}\"),\n    literal = t => ({\n      regex: RegExp(escapeToken(t.val)),\n      deser: ([s]) => s,\n      literal: true\n    }),\n    unitate = t => {\n      if (token.literal) {\n        return literal(t);\n      }\n      switch (t.val) {\n        // era\n        case \"G\":\n          return oneOf(loc.eras(\"short\"), 0);\n        case \"GG\":\n          return oneOf(loc.eras(\"long\"), 0);\n        // years\n        case \"y\":\n          return intUnit(oneToSix);\n        case \"yy\":\n          return intUnit(twoToFour, untruncateYear);\n        case \"yyyy\":\n          return intUnit(four);\n        case \"yyyyy\":\n          return intUnit(fourToSix);\n        case \"yyyyyy\":\n          return intUnit(six);\n        // months\n        case \"M\":\n          return intUnit(oneOrTwo);\n        case \"MM\":\n          return intUnit(two);\n        case \"MMM\":\n          return oneOf(loc.months(\"short\", true), 1);\n        case \"MMMM\":\n          return oneOf(loc.months(\"long\", true), 1);\n        case \"L\":\n          return intUnit(oneOrTwo);\n        case \"LL\":\n          return intUnit(two);\n        case \"LLL\":\n          return oneOf(loc.months(\"short\", false), 1);\n        case \"LLLL\":\n          return oneOf(loc.months(\"long\", false), 1);\n        // dates\n        case \"d\":\n          return intUnit(oneOrTwo);\n        case \"dd\":\n          return intUnit(two);\n        // ordinals\n        case \"o\":\n          return intUnit(oneToThree);\n        case \"ooo\":\n          return intUnit(three);\n        // time\n        case \"HH\":\n          return intUnit(two);\n        case \"H\":\n          return intUnit(oneOrTwo);\n        case \"hh\":\n          return intUnit(two);\n        case \"h\":\n          return intUnit(oneOrTwo);\n        case \"mm\":\n          return intUnit(two);\n        case \"m\":\n          return intUnit(oneOrTwo);\n        case \"q\":\n          return intUnit(oneOrTwo);\n        case \"qq\":\n          return intUnit(two);\n        case \"s\":\n          return intUnit(oneOrTwo);\n        case \"ss\":\n          return intUnit(two);\n        case \"S\":\n          return intUnit(oneToThree);\n        case \"SSS\":\n          return intUnit(three);\n        case \"u\":\n          return simple(oneToNine);\n        case \"uu\":\n          return simple(oneOrTwo);\n        case \"uuu\":\n          return intUnit(one);\n        // meridiem\n        case \"a\":\n          return oneOf(loc.meridiems(), 0);\n        // weekYear (k)\n        case \"kkkk\":\n          return intUnit(four);\n        case \"kk\":\n          return intUnit(twoToFour, untruncateYear);\n        // weekNumber (W)\n        case \"W\":\n          return intUnit(oneOrTwo);\n        case \"WW\":\n          return intUnit(two);\n        // weekdays\n        case \"E\":\n        case \"c\":\n          return intUnit(one);\n        case \"EEE\":\n          return oneOf(loc.weekdays(\"short\", false), 1);\n        case \"EEEE\":\n          return oneOf(loc.weekdays(\"long\", false), 1);\n        case \"ccc\":\n          return oneOf(loc.weekdays(\"short\", true), 1);\n        case \"cccc\":\n          return oneOf(loc.weekdays(\"long\", true), 1);\n        // offset/zone\n        case \"Z\":\n        case \"ZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n        case \"ZZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n        // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n        // because we don't have any way to figure out what they are\n        case \"z\":\n          return simple(/[a-z_+-/]{1,256}?/i);\n        // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n        // in this case we accept any non-newline white-space\n        case \" \":\n          return simple(/[^\\S\\n\\r]/);\n        default:\n          return literal(t);\n      }\n    };\n  const unit = unitate(token) || {\n    invalidReason: MISSING_FTP\n  };\n  unit.token = token;\n  return unit;\n}\nconst partTypeStyleToTokenVal = {\n  year: {\n    \"2-digit\": \"yy\",\n    numeric: \"yyyyy\"\n  },\n  month: {\n    numeric: \"M\",\n    \"2-digit\": \"MM\",\n    short: \"MMM\",\n    long: \"MMMM\"\n  },\n  day: {\n    numeric: \"d\",\n    \"2-digit\": \"dd\"\n  },\n  weekday: {\n    short: \"EEE\",\n    long: \"EEEE\"\n  },\n  dayperiod: \"a\",\n  dayPeriod: \"a\",\n  hour12: {\n    numeric: \"h\",\n    \"2-digit\": \"hh\"\n  },\n  hour24: {\n    numeric: \"H\",\n    \"2-digit\": \"HH\"\n  },\n  minute: {\n    numeric: \"m\",\n    \"2-digit\": \"mm\"\n  },\n  second: {\n    numeric: \"s\",\n    \"2-digit\": \"ss\"\n  },\n  timeZoneName: {\n    long: \"ZZZZZ\",\n    short: \"ZZZ\"\n  }\n};\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n  const {\n    type,\n    value\n  } = part;\n  if (type === \"literal\") {\n    const isSpace = /^\\s+$/.test(value);\n    return {\n      literal: !isSpace,\n      val: isSpace ? \" \" : value\n    };\n  }\n  const style = formatOpts[type];\n\n  // The user might have explicitly specified hour12 or hourCycle\n  // if so, respect their decision\n  // if not, refer back to the resolvedOpts, which are based on the locale\n  let actualType = type;\n  if (type === \"hour\") {\n    if (formatOpts.hour12 != null) {\n      actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n    } else if (formatOpts.hourCycle != null) {\n      if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n        actualType = \"hour12\";\n      } else {\n        actualType = \"hour24\";\n      }\n    } else {\n      // tokens only differentiate between 24 hours or not,\n      // so we do not need to check hourCycle here, which is less supported anyways\n      actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n    }\n  }\n  let val = partTypeStyleToTokenVal[actualType];\n  if (typeof val === \"object\") {\n    val = val[style];\n  }\n  if (val) {\n    return {\n      literal: false,\n      val\n    };\n  }\n  return undefined;\n}\nfunction buildRegex(units) {\n  const re = units.map(u => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n  return [`^${re}$`, units];\n}\nfunction match(input, regex, handlers) {\n  const matches = input.match(regex);\n  if (matches) {\n    const all = {};\n    let matchIndex = 1;\n    for (const i in handlers) {\n      if (hasOwnProperty(handlers, i)) {\n        const h = handlers[i],\n          groups = h.groups ? h.groups + 1 : 1;\n        if (!h.literal && h.token) {\n          all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n        }\n        matchIndex += groups;\n      }\n    }\n    return [matches, all];\n  } else {\n    return [matches, {}];\n  }\n}\nfunction dateTimeFromMatches(matches) {\n  const toField = token => {\n    switch (token) {\n      case \"S\":\n        return \"millisecond\";\n      case \"s\":\n        return \"second\";\n      case \"m\":\n        return \"minute\";\n      case \"h\":\n      case \"H\":\n        return \"hour\";\n      case \"d\":\n        return \"day\";\n      case \"o\":\n        return \"ordinal\";\n      case \"L\":\n      case \"M\":\n        return \"month\";\n      case \"y\":\n        return \"year\";\n      case \"E\":\n      case \"c\":\n        return \"weekday\";\n      case \"W\":\n        return \"weekNumber\";\n      case \"k\":\n        return \"weekYear\";\n      case \"q\":\n        return \"quarter\";\n      default:\n        return null;\n    }\n  };\n  let zone = null;\n  let specificOffset;\n  if (!isUndefined(matches.z)) {\n    zone = IANAZone.create(matches.z);\n  }\n  if (!isUndefined(matches.Z)) {\n    if (!zone) {\n      zone = new FixedOffsetZone(matches.Z);\n    }\n    specificOffset = matches.Z;\n  }\n  if (!isUndefined(matches.q)) {\n    matches.M = (matches.q - 1) * 3 + 1;\n  }\n  if (!isUndefined(matches.h)) {\n    if (matches.h < 12 && matches.a === 1) {\n      matches.h += 12;\n    } else if (matches.h === 12 && matches.a === 0) {\n      matches.h = 0;\n    }\n  }\n  if (matches.G === 0 && matches.y) {\n    matches.y = -matches.y;\n  }\n  if (!isUndefined(matches.u)) {\n    matches.S = parseMillis(matches.u);\n  }\n  const vals = Object.keys(matches).reduce((r, k) => {\n    const f = toField(k);\n    if (f) {\n      r[f] = matches[k];\n    }\n    return r;\n  }, {});\n  return [vals, zone, specificOffset];\n}\nlet dummyDateTimeCache = null;\nfunction getDummyDateTime() {\n  if (!dummyDateTimeCache) {\n    dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n  }\n  return dummyDateTimeCache;\n}\nfunction maybeExpandMacroToken(token, locale) {\n  if (token.literal) {\n    return token;\n  }\n  const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n  const tokens = formatOptsToTokens(formatOpts, locale);\n  if (tokens == null || tokens.includes(undefined)) {\n    return token;\n  }\n  return tokens;\n}\nfunction expandMacroTokens(tokens, locale) {\n  return Array.prototype.concat(...tokens.map(t => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nclass TokenParser {\n  constructor(locale, format) {\n    this.locale = locale;\n    this.format = format;\n    this.tokens = expandMacroTokens(Formatter.parseFormat(format), locale);\n    this.units = this.tokens.map(t => unitForToken(t, locale));\n    this.disqualifyingUnit = this.units.find(t => t.invalidReason);\n    if (!this.disqualifyingUnit) {\n      const [regexString, handlers] = buildRegex(this.units);\n      this.regex = RegExp(regexString, \"i\");\n      this.handlers = handlers;\n    }\n  }\n  explainFromTokens(input) {\n    if (!this.isValid) {\n      return {\n        input,\n        tokens: this.tokens,\n        invalidReason: this.invalidReason\n      };\n    } else {\n      const [rawMatches, matches] = match(input, this.regex, this.handlers),\n        [result, zone, specificOffset] = matches ? dateTimeFromMatches(matches) : [null, null, undefined];\n      if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n        throw new ConflictingSpecificationError(\"Can't include meridiem when specifying 24-hour format\");\n      }\n      return {\n        input,\n        tokens: this.tokens,\n        regex: this.regex,\n        rawMatches,\n        matches,\n        result,\n        zone,\n        specificOffset\n      };\n    }\n  }\n  get isValid() {\n    return !this.disqualifyingUnit;\n  }\n  get invalidReason() {\n    return this.disqualifyingUnit ? this.disqualifyingUnit.invalidReason : null;\n  }\n}\nfunction explainFromTokens(locale, input, format) {\n  const parser = new TokenParser(locale, format);\n  return parser.explainFromTokens(input);\n}\nfunction parseFromTokens(locale, input, format) {\n  const {\n    result,\n    zone,\n    specificOffset,\n    invalidReason\n  } = explainFromTokens(locale, input, format);\n  return [result, zone, specificOffset, invalidReason];\n}\nfunction formatOptsToTokens(formatOpts, locale) {\n  if (!formatOpts) {\n    return null;\n  }\n  const formatter = Formatter.create(locale, formatOpts);\n  const df = formatter.dtFormatter(getDummyDateTime());\n  const parts = df.formatToParts();\n  const resolvedOpts = df.resolvedOptions();\n  return parts.map(p => tokenForPart(p, formatOpts, resolvedOpts));\n}\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\nfunction unsupportedZone(zone) {\n  return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedWeekData(dt) {\n  if (dt.weekData === null) {\n    dt.weekData = gregorianToWeek(dt.c);\n  }\n  return dt.weekData;\n}\n\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedLocalWeekData(dt) {\n  if (dt.localWeekData === null) {\n    dt.localWeekData = gregorianToWeek(dt.c, dt.loc.getMinDaysInFirstWeek(), dt.loc.getStartOfWeek());\n  }\n  return dt.localWeekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n  const current = {\n    ts: inst.ts,\n    zone: inst.zone,\n    c: inst.c,\n    o: inst.o,\n    loc: inst.loc,\n    invalid: inst.invalid\n  };\n  return new DateTime({\n    ...current,\n    ...alts,\n    old: current\n  });\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n  // Our UTC time is just a guess because our offset is just a guess\n  let utcGuess = localTS - o * 60 * 1000;\n\n  // Test whether the zone matches the offset for this ts\n  const o2 = tz.offset(utcGuess);\n\n  // If so, offset didn't change and we're done\n  if (o === o2) {\n    return [utcGuess, o];\n  }\n\n  // If not, change the ts by the difference in the offset\n  utcGuess -= (o2 - o) * 60 * 1000;\n\n  // If that gives us the local time we want, we're done\n  const o3 = tz.offset(utcGuess);\n  if (o2 === o3) {\n    return [utcGuess, o2];\n  }\n\n  // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n  return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n  ts += offset * 60 * 1000;\n  const d = new Date(ts);\n  return {\n    year: d.getUTCFullYear(),\n    month: d.getUTCMonth() + 1,\n    day: d.getUTCDate(),\n    hour: d.getUTCHours(),\n    minute: d.getUTCMinutes(),\n    second: d.getUTCSeconds(),\n    millisecond: d.getUTCMilliseconds()\n  };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n  return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n  const oPre = inst.o,\n    year = inst.c.year + Math.trunc(dur.years),\n    month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n    c = {\n      ...inst.c,\n      year,\n      month,\n      day: Math.min(inst.c.day, daysInMonth(year, month)) + Math.trunc(dur.days) + Math.trunc(dur.weeks) * 7\n    },\n    millisToAdd = Duration.fromObject({\n      years: dur.years - Math.trunc(dur.years),\n      quarters: dur.quarters - Math.trunc(dur.quarters),\n      months: dur.months - Math.trunc(dur.months),\n      weeks: dur.weeks - Math.trunc(dur.weeks),\n      days: dur.days - Math.trunc(dur.days),\n      hours: dur.hours,\n      minutes: dur.minutes,\n      seconds: dur.seconds,\n      milliseconds: dur.milliseconds\n    }).as(\"milliseconds\"),\n    localTS = objToLocalTS(c);\n  let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n  if (millisToAdd !== 0) {\n    ts += millisToAdd;\n    // that could have changed the offset by going over a DST, but we want to keep the ts the same\n    o = inst.zone.offset(ts);\n  }\n  return {\n    ts,\n    o\n  };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n  const {\n    setZone,\n    zone\n  } = opts;\n  if (parsed && Object.keys(parsed).length !== 0 || parsedZone) {\n    const interpretationZone = parsedZone || zone,\n      inst = DateTime.fromObject(parsed, {\n        ...opts,\n        zone: interpretationZone,\n        specificOffset\n      });\n    return setZone ? inst : inst.setZone(zone);\n  } else {\n    return DateTime.invalid(new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`));\n  }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n  return dt.isValid ? Formatter.create(Locale.create(\"en-US\"), {\n    allowZ,\n    forceSimple: true\n  }).formatDateTimeFromString(dt, format) : null;\n}\nfunction toISODate(o, extended) {\n  const longFormat = o.c.year > 9999 || o.c.year < 0;\n  let c = \"\";\n  if (longFormat && o.c.year >= 0) c += \"+\";\n  c += padStart(o.c.year, longFormat ? 6 : 4);\n  if (extended) {\n    c += \"-\";\n    c += padStart(o.c.month);\n    c += \"-\";\n    c += padStart(o.c.day);\n  } else {\n    c += padStart(o.c.month);\n    c += padStart(o.c.day);\n  }\n  return c;\n}\nfunction toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone) {\n  let c = padStart(o.c.hour);\n  if (extended) {\n    c += \":\";\n    c += padStart(o.c.minute);\n    if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n      c += \":\";\n    }\n  } else {\n    c += padStart(o.c.minute);\n  }\n  if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n    c += padStart(o.c.second);\n    if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n      c += \".\";\n      c += padStart(o.c.millisecond, 3);\n    }\n  }\n  if (includeOffset) {\n    if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n      c += \"Z\";\n    } else if (o.o < 0) {\n      c += \"-\";\n      c += padStart(Math.trunc(-o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(-o.o % 60));\n    } else {\n      c += \"+\";\n      c += padStart(Math.trunc(o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(o.o % 60));\n    }\n  }\n  if (extendedZone) {\n    c += \"[\" + o.zone.ianaName + \"]\";\n  }\n  return c;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n    month: 1,\n    day: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  },\n  defaultWeekUnitValues = {\n    weekNumber: 1,\n    weekday: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  },\n  defaultOrdinalUnitValues = {\n    ordinal: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedWeekUnits = [\"weekYear\", \"weekNumber\", \"weekday\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n  const normalized = {\n    year: \"year\",\n    years: \"year\",\n    month: \"month\",\n    months: \"month\",\n    day: \"day\",\n    days: \"day\",\n    hour: \"hour\",\n    hours: \"hour\",\n    minute: \"minute\",\n    minutes: \"minute\",\n    quarter: \"quarter\",\n    quarters: \"quarter\",\n    second: \"second\",\n    seconds: \"second\",\n    millisecond: \"millisecond\",\n    milliseconds: \"millisecond\",\n    weekday: \"weekday\",\n    weekdays: \"weekday\",\n    weeknumber: \"weekNumber\",\n    weeksnumber: \"weekNumber\",\n    weeknumbers: \"weekNumber\",\n    weekyear: \"weekYear\",\n    weekyears: \"weekYear\",\n    ordinal: \"ordinal\"\n  }[unit.toLowerCase()];\n  if (!normalized) throw new InvalidUnitError(unit);\n  return normalized;\n}\nfunction normalizeUnitWithLocalWeeks(unit) {\n  switch (unit.toLowerCase()) {\n    case \"localweekday\":\n    case \"localweekdays\":\n      return \"localWeekday\";\n    case \"localweeknumber\":\n    case \"localweeknumbers\":\n      return \"localWeekNumber\";\n    case \"localweekyear\":\n    case \"localweekyears\":\n      return \"localWeekYear\";\n    default:\n      return normalizeUnit(unit);\n  }\n}\n\n// cache offsets for zones based on the current timestamp when this function is\n// first called. When we are handling a datetime from components like (year,\n// month, day, hour) in a time zone, we need a guess about what the timezone\n// offset is so that we can convert into a UTC timestamp. One way is to find the\n// offset of now in the zone. The actual date may have a different offset (for\n// example, if we handle a date in June while we're in December in a zone that\n// observes DST), but we can check and adjust that.\n//\n// When handling many dates, calculating the offset for now every time is\n// expensive. It's just a guess, so we can cache the offset to use even if we\n// are right on a time change boundary (we'll just correct in the other\n// direction). Using a timestamp from first read is a slight optimization for\n// handling dates close to the current date, since those dates will usually be\n// in the same offset (we could set the timestamp statically, instead). We use a\n// single timestamp for all zones to make things a bit more predictable.\n//\n// This is safe for quickDT (used by local() and utc()) because we don't fill in\n// higher-order units from tsNow (as we do in fromObject, this requires that\n// offset is calculated from tsNow).\nfunction guessOffsetForZone(zone) {\n  if (!zoneOffsetGuessCache[zone]) {\n    if (zoneOffsetTs === undefined) {\n      zoneOffsetTs = Settings.now();\n    }\n    zoneOffsetGuessCache[zone] = zone.offset(zoneOffsetTs);\n  }\n  return zoneOffsetGuessCache[zone];\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n  const zone = normalizeZone(opts.zone, Settings.defaultZone);\n  if (!zone.isValid) {\n    return DateTime.invalid(unsupportedZone(zone));\n  }\n  const loc = Locale.fromObject(opts);\n  let ts, o;\n\n  // assume we have the higher-order units\n  if (!isUndefined(obj.year)) {\n    for (const u of orderedUnits) {\n      if (isUndefined(obj[u])) {\n        obj[u] = defaultUnitValues[u];\n      }\n    }\n    const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n    const offsetProvis = guessOffsetForZone(zone);\n    [ts, o] = objToTS(obj, offsetProvis, zone);\n  } else {\n    ts = Settings.now();\n  }\n  return new DateTime({\n    ts,\n    zone,\n    loc,\n    o\n  });\n}\nfunction diffRelative(start, end, opts) {\n  const round = isUndefined(opts.round) ? true : opts.round,\n    format = (c, unit) => {\n      c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n      const formatter = end.loc.clone(opts).relFormatter(opts);\n      return formatter.format(c, unit);\n    },\n    differ = unit => {\n      if (opts.calendary) {\n        if (!end.hasSame(start, unit)) {\n          return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n        } else return 0;\n      } else {\n        return end.diff(start, unit).get(unit);\n      }\n    };\n  if (opts.unit) {\n    return format(differ(opts.unit), opts.unit);\n  }\n  for (const unit of opts.units) {\n    const count = differ(unit);\n    if (Math.abs(count) >= 1) {\n      return format(count, unit);\n    }\n  }\n  return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\nfunction lastOpts(argList) {\n  let opts = {},\n    args;\n  if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n    opts = argList[argList.length - 1];\n    args = Array.from(argList).slice(0, argList.length - 1);\n  } else {\n    args = Array.from(argList);\n  }\n  return [opts, args];\n}\n\n/**\n * Timestamp to use for cached zone offset guesses (exposed for test)\n */\nlet zoneOffsetTs;\n/**\n * Cache for zone offset guesses (exposed for test).\n *\n * This optimizes quickDT via guessOffsetForZone to avoid repeated calls of\n * zone.offset().\n */\nlet zoneOffsetGuessCache = {};\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nclass DateTime {\n  /**\n   * @access private\n   */\n  constructor(config) {\n    const zone = config.zone || Settings.defaultZone;\n    let invalid = config.invalid || (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) || (!zone.isValid ? unsupportedZone(zone) : null);\n    /**\n     * @access private\n     */\n    this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n    let c = null,\n      o = null;\n    if (!invalid) {\n      const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n      if (unchanged) {\n        [c, o] = [config.old.c, config.old.o];\n      } else {\n        // If an offset has been passed and we have not been called from\n        // clone(), we can trust it and avoid the offset calculation.\n        const ot = isNumber(config.o) && !config.old ? config.o : zone.offset(this.ts);\n        c = tsToObj(this.ts, ot);\n        invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n        c = invalid ? null : c;\n        o = invalid ? null : ot;\n      }\n    }\n\n    /**\n     * @access private\n     */\n    this._zone = zone;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.invalid = invalid;\n    /**\n     * @access private\n     */\n    this.weekData = null;\n    /**\n     * @access private\n     */\n    this.localWeekData = null;\n    /**\n     * @access private\n     */\n    this.c = c;\n    /**\n     * @access private\n     */\n    this.o = o;\n    /**\n     * @access private\n     */\n    this.isLuxonDateTime = true;\n  }\n\n  // CONSTRUCT\n\n  /**\n   * Create a DateTime for the current instant, in the system's time zone.\n   *\n   * Use Settings to override these default values if needed.\n   * @example DateTime.now().toISO() //~> now in the ISO format\n   * @return {DateTime}\n   */\n  static now() {\n    return new DateTime({});\n  }\n\n  /**\n   * Create a local DateTime\n   * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month, 1-indexed\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @example DateTime.local()                                  //~> now\n   * @example DateTime.local({ zone: \"America/New_York\" })      //~> now, in US east coast time\n   * @example DateTime.local(2017)                              //~> 2017-01-01T00:00:00\n   * @example DateTime.local(2017, 3)                           //~> 2017-03-01T00:00:00\n   * @example DateTime.local(2017, 3, 12, { locale: \"fr\" })     //~> 2017-03-12T00:00:00, with a French locale\n   * @example DateTime.local(2017, 3, 12, 5)                    //~> 2017-03-12T05:00:00\n   * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" })   //~> 2017-03-12T05:00:00, in UTC\n   * @example DateTime.local(2017, 3, 12, 5, 45)                //~> 2017-03-12T05:45:00\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10)            //~> 2017-03-12T05:45:10\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765)       //~> 2017-03-12T05:45:10.765\n   * @return {DateTime}\n   */\n  static local() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n    return quickDT({\n      year,\n      month,\n      day,\n      hour,\n      minute,\n      second,\n      millisecond\n    }, opts);\n  }\n\n  /**\n   * Create a DateTime in UTC\n   * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @param {string} [options.weekSettings] - the week settings to set on the resulting DateTime instance\n   * @example DateTime.utc()                                              //~> now\n   * @example DateTime.utc(2017)                                          //~> 2017-01-01T00:00:00Z\n   * @example DateTime.utc(2017, 3)                                       //~> 2017-03-01T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12)                                   //~> 2017-03-12T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5)                                //~> 2017-03-12T05:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45)                            //~> 2017-03-12T05:45:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" })          //~> 2017-03-12T05:45:00Z with a French locale\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10)                        //~> 2017-03-12T05:45:10Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n   * @return {DateTime}\n   */\n  static utc() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n    opts.zone = FixedOffsetZone.utcInstance;\n    return quickDT({\n      year,\n      month,\n      day,\n      hour,\n      minute,\n      second,\n      millisecond\n    }, opts);\n  }\n\n  /**\n   * Create a DateTime from a JavaScript Date object. Uses the default zone.\n   * @param {Date} date - a JavaScript Date object\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @return {DateTime}\n   */\n  static fromJSDate(date, options = {}) {\n    const ts = isDate(date) ? date.valueOf() : NaN;\n    if (Number.isNaN(ts)) {\n      return DateTime.invalid(\"invalid input\");\n    }\n    const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n    return new DateTime({\n      ts: ts,\n      zone: zoneToUse,\n      loc: Locale.fromObject(options)\n    });\n  }\n\n  /**\n   * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromMillis(milliseconds, options = {}) {\n    if (!isNumber(milliseconds)) {\n      throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`);\n    } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n      // this isn't perfect because we can still end up out of range because of additional shifting, but it's a start\n      return DateTime.invalid(\"Timestamp out of range\");\n    } else {\n      return new DateTime({\n        ts: milliseconds,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options)\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} seconds - a number of seconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromSeconds(seconds, options = {}) {\n    if (!isNumber(seconds)) {\n      throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n    } else {\n      return new DateTime({\n        ts: seconds * 1000,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options)\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.year - a year, such as 1987\n   * @param {number} obj.month - a month, 1-12\n   * @param {number} obj.day - a day of the month, 1-31, depending on the month\n   * @param {number} obj.ordinal - day of the year, 1-365 or 366\n   * @param {number} obj.weekYear - an ISO week year\n   * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n   * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n   * @param {number} obj.localWeekYear - a week year, according to the locale\n   * @param {number} obj.localWeekNumber - a week number, between 1 and 52 or 53, depending on the year, according to the locale\n   * @param {number} obj.localWeekday - a weekday, 1-7, where 1 is the first and 7 is the last day of the week, according to the locale\n   * @param {number} obj.hour - hour of the day, 0-23\n   * @param {number} obj.minute - minute of the hour, 0-59\n   * @param {number} obj.second - second of the minute, 0-59\n   * @param {number} obj.millisecond - millisecond of the second, 0-999\n   * @param {Object} opts - options for creating this DateTime\n   * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n   * @param {string} [opts.locale='system\\'s locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n   * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n   * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n   * @example DateTime.fromObject({ localWeekYear: 2022, localWeekNumber: 1, localWeekday: 1 }, { locale: \"en-US\" }).toISODate() //=> '2021-12-26'\n   * @return {DateTime}\n   */\n  static fromObject(obj, opts = {}) {\n    obj = obj || {};\n    const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n    const loc = Locale.fromObject(opts);\n    const normalized = normalizeObject(obj, normalizeUnitWithLocalWeeks);\n    const {\n      minDaysInFirstWeek,\n      startOfWeek\n    } = usesLocalWeekValues(normalized, loc);\n    const tsNow = Settings.now(),\n      offsetProvis = !isUndefined(opts.specificOffset) ? opts.specificOffset : zoneToUse.offset(tsNow),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n    // cases:\n    // just a weekday -> this week's instance of that weekday, no worries\n    // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n    // (gregorian month or day) + ordinal -> error\n    // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\"Can't mix weekYear/weekNumber units with year/month/day or ordinals\");\n    }\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n    const useWeekData = definiteWeekDef || normalized.weekday && !containsGregor;\n\n    // configure ourselves to deal with gregorian dates or week stuff\n    let units,\n      defaultValues,\n      objNow = tsToObj(tsNow, offsetProvis);\n    if (useWeekData) {\n      units = orderedWeekUnits;\n      defaultValues = defaultWeekUnitValues;\n      objNow = gregorianToWeek(objNow, minDaysInFirstWeek, startOfWeek);\n    } else if (containsOrdinal) {\n      units = orderedOrdinalUnits;\n      defaultValues = defaultOrdinalUnitValues;\n      objNow = gregorianToOrdinal(objNow);\n    } else {\n      units = orderedUnits;\n      defaultValues = defaultUnitValues;\n    }\n\n    // set default values for missing stuff\n    let foundFirst = false;\n    for (const u of units) {\n      const v = normalized[u];\n      if (!isUndefined(v)) {\n        foundFirst = true;\n      } else if (foundFirst) {\n        normalized[u] = defaultValues[u];\n      } else {\n        normalized[u] = objNow[u];\n      }\n    }\n\n    // make sure the values we have are in range\n    const higherOrderInvalid = useWeekData ? hasInvalidWeekData(normalized, minDaysInFirstWeek, startOfWeek) : containsOrdinal ? hasInvalidOrdinalData(normalized) : hasInvalidGregorianData(normalized),\n      invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    // compute the actual time\n    const gregorian = useWeekData ? weekToGregorian(normalized, minDaysInFirstWeek, startOfWeek) : containsOrdinal ? ordinalToGregorian(normalized) : normalized,\n      [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n      inst = new DateTime({\n        ts: tsFinal,\n        zone: zoneToUse,\n        o: offsetFinal,\n        loc\n      });\n\n    // gregorian data + weekday serves only to validate\n    if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n      return DateTime.invalid(\"mismatched weekday\", `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`);\n    }\n    if (!inst.isValid) {\n      return DateTime.invalid(inst.invalid);\n    }\n    return inst;\n  }\n\n  /**\n   * Create a DateTime from an ISO 8601 string\n   * @param {string} text - the ISO string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @param {string} [opts.weekSettings] - the week settings to set on the resulting DateTime instance\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n   * @example DateTime.fromISO('2016-W05-4')\n   * @return {DateTime}\n   */\n  static fromISO(text, opts = {}) {\n    const [vals, parsedZone] = parseISODate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n  }\n\n  /**\n   * Create a DateTime from an RFC 2822 string\n   * @param {string} text - the RFC 2822 string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n   * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n   * @return {DateTime}\n   */\n  static fromRFC2822(text, opts = {}) {\n    const [vals, parsedZone] = parseRFC2822Date(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n  }\n\n  /**\n   * Create a DateTime from an HTTP header date\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @param {string} text - the HTTP header date\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sun Nov  6 08:49:37 1994')\n   * @return {DateTime}\n   */\n  static fromHTTP(text, opts = {}) {\n    const [vals, parsedZone] = parseHTTPDate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n  }\n\n  /**\n   * Create a DateTime from an input string and format string.\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromFormat(text, fmt, opts = {}) {\n    if (isUndefined(text) || isUndefined(fmt)) {\n      throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n    }\n    const {\n        locale = null,\n        numberingSystem = null\n      } = opts,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true\n      }),\n      [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    } else {\n      return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);\n    }\n  }\n\n  /**\n   * @deprecated use fromFormat instead\n   */\n  static fromString(text, fmt, opts = {}) {\n    return DateTime.fromFormat(text, fmt, opts);\n  }\n\n  /**\n   * Create a DateTime from a SQL date, time, or datetime\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale\n   * @param {string} text - the string to parse\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @example DateTime.fromSQL('2017-05-15')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n   * @example DateTime.fromSQL('09:12:34.342')\n   * @return {DateTime}\n   */\n  static fromSQL(text, opts = {}) {\n    const [vals, parsedZone] = parseSQL(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n  }\n\n  /**\n   * Create an invalid DateTime.\n   * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {DateTime}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n    }\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDateTimeError(invalid);\n    } else {\n      return new DateTime({\n        invalid\n      });\n    }\n  }\n\n  /**\n   * Check if an object is an instance of DateTime. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDateTime(o) {\n    return o && o.isLuxonDateTime || false;\n  }\n\n  /**\n   * Produce the format string for a set of options\n   * @param formatOpts\n   * @param localeOpts\n   * @returns {string}\n   */\n  static parseFormatForOpts(formatOpts, localeOpts = {}) {\n    const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n    return !tokenList ? null : tokenList.map(t => t ? t.val : null).join(\"\");\n  }\n\n  /**\n   * Produce the the fully expanded format token for the locale\n   * Does NOT quote characters, so quoted tokens will not round trip correctly\n   * @param fmt\n   * @param localeOpts\n   * @returns {string}\n   */\n  static expandFormat(fmt, localeOpts = {}) {\n    const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n    return expanded.map(t => t.val).join(\"\");\n  }\n  static resetCache() {\n    zoneOffsetTs = undefined;\n    zoneOffsetGuessCache = {};\n  }\n\n  // INFO\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n   * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n   * @return {number}\n   */\n  get(unit) {\n    return this[unit];\n  }\n\n  /**\n   * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n   * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n   * * The DateTime was created by an operation on another invalid date\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get outputCalendar() {\n    return this.isValid ? this.loc.outputCalendar : null;\n  }\n\n  /**\n   * Get the time zone associated with this DateTime.\n   * @type {Zone}\n   */\n  get zone() {\n    return this._zone;\n  }\n\n  /**\n   * Get the name of the time zone.\n   * @type {string}\n   */\n  get zoneName() {\n    return this.isValid ? this.zone.name : null;\n  }\n\n  /**\n   * Get the year\n   * @example DateTime.local(2017, 5, 25).year //=> 2017\n   * @type {number}\n   */\n  get year() {\n    return this.isValid ? this.c.year : NaN;\n  }\n\n  /**\n   * Get the quarter\n   * @example DateTime.local(2017, 5, 25).quarter //=> 2\n   * @type {number}\n   */\n  get quarter() {\n    return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n  }\n\n  /**\n   * Get the month (1-12).\n   * @example DateTime.local(2017, 5, 25).month //=> 5\n   * @type {number}\n   */\n  get month() {\n    return this.isValid ? this.c.month : NaN;\n  }\n\n  /**\n   * Get the day of the month (1-30ish).\n   * @example DateTime.local(2017, 5, 25).day //=> 25\n   * @type {number}\n   */\n  get day() {\n    return this.isValid ? this.c.day : NaN;\n  }\n\n  /**\n   * Get the hour of the day (0-23).\n   * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n   * @type {number}\n   */\n  get hour() {\n    return this.isValid ? this.c.hour : NaN;\n  }\n\n  /**\n   * Get the minute of the hour (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n   * @type {number}\n   */\n  get minute() {\n    return this.isValid ? this.c.minute : NaN;\n  }\n\n  /**\n   * Get the second of the minute (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n   * @type {number}\n   */\n  get second() {\n    return this.isValid ? this.c.second : NaN;\n  }\n\n  /**\n   * Get the millisecond of the second (0-999).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n   * @type {number}\n   */\n  get millisecond() {\n    return this.isValid ? this.c.millisecond : NaN;\n  }\n\n  /**\n   * Get the week year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n   * @type {number}\n   */\n  get weekYear() {\n    return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n  }\n\n  /**\n   * Get the week number of the week year (1-52ish).\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n   * @type {number}\n   */\n  get weekNumber() {\n    return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n  }\n\n  /**\n   * Get the day of the week.\n   * 1 is Monday and 7 is Sunday\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 11, 31).weekday //=> 4\n   * @type {number}\n   */\n  get weekday() {\n    return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n  }\n\n  /**\n   * Returns true if this date is on a weekend according to the locale, false otherwise\n   * @returns {boolean}\n   */\n  get isWeekend() {\n    return this.isValid && this.loc.getWeekendDays().includes(this.weekday);\n  }\n\n  /**\n   * Get the day of the week according to the locale.\n   * 1 is the first day of the week and 7 is the last day of the week.\n   * If the locale assigns Sunday as the first day of the week, then a date which is a Sunday will return 1,\n   * @returns {number}\n   */\n  get localWeekday() {\n    return this.isValid ? possiblyCachedLocalWeekData(this).weekday : NaN;\n  }\n\n  /**\n   * Get the week number of the week year according to the locale. Different locales assign week numbers differently,\n   * because the week can start on different days of the week (see localWeekday) and because a different number of days\n   * is required for a week to count as the first week of a year.\n   * @returns {number}\n   */\n  get localWeekNumber() {\n    return this.isValid ? possiblyCachedLocalWeekData(this).weekNumber : NaN;\n  }\n\n  /**\n   * Get the week year according to the locale. Different locales assign week numbers (and therefor week years)\n   * differently, see localWeekNumber.\n   * @returns {number}\n   */\n  get localWeekYear() {\n    return this.isValid ? possiblyCachedLocalWeekData(this).weekYear : NaN;\n  }\n\n  /**\n   * Get the ordinal (meaning the day of the year)\n   * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n   * @type {number|DateTime}\n   */\n  get ordinal() {\n    return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n  }\n\n  /**\n   * Get the human readable short month name, such as 'Oct'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n   * @type {string}\n   */\n  get monthShort() {\n    return this.isValid ? Info.months(\"short\", {\n      locObj: this.loc\n    })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable long month name, such as 'October'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthLong //=> October\n   * @type {string}\n   */\n  get monthLong() {\n    return this.isValid ? Info.months(\"long\", {\n      locObj: this.loc\n    })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable short weekday, such as 'Mon'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n   * @type {string}\n   */\n  get weekdayShort() {\n    return this.isValid ? Info.weekdays(\"short\", {\n      locObj: this.loc\n    })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the human readable long weekday, such as 'Monday'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n   * @type {string}\n   */\n  get weekdayLong() {\n    return this.isValid ? Info.weekdays(\"long\", {\n      locObj: this.loc\n    })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the UTC offset of this DateTime in minutes\n   * @example DateTime.now().offset //=> -240\n   * @example DateTime.utc().offset //=> 0\n   * @type {number}\n   */\n  get offset() {\n    return this.isValid ? +this.o : NaN;\n  }\n\n  /**\n   * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameShort() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"short\",\n        locale: this.locale\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameLong() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"long\",\n        locale: this.locale\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get whether this zone's offset ever changes, as in a DST.\n   * @type {boolean}\n   */\n  get isOffsetFixed() {\n    return this.isValid ? this.zone.isUniversal : null;\n  }\n\n  /**\n   * Get whether the DateTime is in a DST.\n   * @type {boolean}\n   */\n  get isInDST() {\n    if (this.isOffsetFixed) {\n      return false;\n    } else {\n      return this.offset > this.set({\n        month: 1,\n        day: 1\n      }).offset || this.offset > this.set({\n        month: 5\n      }).offset;\n    }\n  }\n\n  /**\n   * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n   * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n   * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n   * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n   * @returns {DateTime[]}\n   */\n  getPossibleOffsets() {\n    if (!this.isValid || this.isOffsetFixed) {\n      return [this];\n    }\n    const dayMs = 86400000;\n    const minuteMs = 60000;\n    const localTS = objToLocalTS(this.c);\n    const oEarlier = this.zone.offset(localTS - dayMs);\n    const oLater = this.zone.offset(localTS + dayMs);\n    const o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n    const o2 = this.zone.offset(localTS - oLater * minuteMs);\n    if (o1 === o2) {\n      return [this];\n    }\n    const ts1 = localTS - o1 * minuteMs;\n    const ts2 = localTS - o2 * minuteMs;\n    const c1 = tsToObj(ts1, o1);\n    const c2 = tsToObj(ts2, o2);\n    if (c1.hour === c2.hour && c1.minute === c2.minute && c1.second === c2.second && c1.millisecond === c2.millisecond) {\n      return [clone(this, {\n        ts: ts1\n      }), clone(this, {\n        ts: ts2\n      })];\n    }\n    return [this];\n  }\n\n  /**\n   * Returns true if this DateTime is in a leap year, false otherwise\n   * @example DateTime.local(2016).isInLeapYear //=> true\n   * @example DateTime.local(2013).isInLeapYear //=> false\n   * @type {boolean}\n   */\n  get isInLeapYear() {\n    return isLeapYear(this.year);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's month\n   * @example DateTime.local(2016, 2).daysInMonth //=> 29\n   * @example DateTime.local(2016, 3).daysInMonth //=> 31\n   * @type {number}\n   */\n  get daysInMonth() {\n    return daysInMonth(this.year, this.month);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's year\n   * @example DateTime.local(2016).daysInYear //=> 366\n   * @example DateTime.local(2013).daysInYear //=> 365\n   * @type {number}\n   */\n  get daysInYear() {\n    return this.isValid ? daysInYear(this.year) : NaN;\n  }\n\n  /**\n   * Returns the number of weeks in this DateTime's year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2004).weeksInWeekYear //=> 53\n   * @example DateTime.local(2013).weeksInWeekYear //=> 52\n   * @type {number}\n   */\n  get weeksInWeekYear() {\n    return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n  }\n\n  /**\n   * Returns the number of weeks in this DateTime's local week year\n   * @example DateTime.local(2020, 6, {locale: 'en-US'}).weeksInLocalWeekYear //=> 52\n   * @example DateTime.local(2020, 6, {locale: 'de-DE'}).weeksInLocalWeekYear //=> 53\n   * @type {number}\n   */\n  get weeksInLocalWeekYear() {\n    return this.isValid ? weeksInWeekYear(this.localWeekYear, this.loc.getMinDaysInFirstWeek(), this.loc.getStartOfWeek()) : NaN;\n  }\n\n  /**\n   * Returns the resolved Intl options for this DateTime.\n   * This is useful in understanding the behavior of formatting methods\n   * @param {Object} opts - the same options as toLocaleString\n   * @return {Object}\n   */\n  resolvedLocaleOptions(opts = {}) {\n    const {\n      locale,\n      numberingSystem,\n      calendar\n    } = Formatter.create(this.loc.clone(opts), opts).resolvedOptions(this);\n    return {\n      locale,\n      numberingSystem,\n      outputCalendar: calendar\n    };\n  }\n\n  // TRANSFORM\n\n  /**\n   * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to {@link DateTime#setZone}('utc')\n   * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n   * @param {Object} [opts={}] - options to pass to `setZone()`\n   * @return {DateTime}\n   */\n  toUTC(offset = 0, opts = {}) {\n    return this.setZone(FixedOffsetZone.instance(offset), opts);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to `setZone('local')`\n   * @return {DateTime}\n   */\n  toLocal() {\n    return this.setZone(Settings.defaultZone);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n   *\n   * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n   * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n   * @return {DateTime}\n   */\n  setZone(zone, {\n    keepLocalTime = false,\n    keepCalendarTime = false\n  } = {}) {\n    zone = normalizeZone(zone, Settings.defaultZone);\n    if (zone.equals(this.zone)) {\n      return this;\n    } else if (!zone.isValid) {\n      return DateTime.invalid(unsupportedZone(zone));\n    } else {\n      let newTS = this.ts;\n      if (keepLocalTime || keepCalendarTime) {\n        const offsetGuess = zone.offset(this.ts);\n        const asObj = this.toObject();\n        [newTS] = objToTS(asObj, offsetGuess, zone);\n      }\n      return clone(this, {\n        ts: newTS,\n        zone\n      });\n    }\n  }\n\n  /**\n   * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n   * @param {Object} properties - the properties to set\n   * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n   * @return {DateTime}\n   */\n  reconfigure({\n    locale,\n    numberingSystem,\n    outputCalendar\n  } = {}) {\n    const loc = this.loc.clone({\n      locale,\n      numberingSystem,\n      outputCalendar\n    });\n    return clone(this, {\n      loc\n    });\n  }\n\n  /**\n   * \"Set\" the locale. Returns a newly-constructed DateTime.\n   * Just a convenient alias for reconfigure({ locale })\n   * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n   * @return {DateTime}\n   */\n  setLocale(locale) {\n    return this.reconfigure({\n      locale\n    });\n  }\n\n  /**\n   * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n   * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n   *\n   * This method also supports setting locale-based week units, i.e. `localWeekday`, `localWeekNumber` and `localWeekYear`.\n   * They cannot be mixed with ISO-week units like `weekday`.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dt.set({ year: 2017 })\n   * @example dt.set({ hour: 8, minute: 30 })\n   * @example dt.set({ weekday: 5 })\n   * @example dt.set({ year: 2005, ordinal: 234 })\n   * @return {DateTime}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n    const normalized = normalizeObject(values, normalizeUnitWithLocalWeeks);\n    const {\n      minDaysInFirstWeek,\n      startOfWeek\n    } = usesLocalWeekValues(normalized, this.loc);\n    const settingWeekStuff = !isUndefined(normalized.weekYear) || !isUndefined(normalized.weekNumber) || !isUndefined(normalized.weekday),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\"Can't mix weekYear/weekNumber units with year/month/day or ordinals\");\n    }\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n    let mixed;\n    if (settingWeekStuff) {\n      mixed = weekToGregorian({\n        ...gregorianToWeek(this.c, minDaysInFirstWeek, startOfWeek),\n        ...normalized\n      }, minDaysInFirstWeek, startOfWeek);\n    } else if (!isUndefined(normalized.ordinal)) {\n      mixed = ordinalToGregorian({\n        ...gregorianToOrdinal(this.c),\n        ...normalized\n      });\n    } else {\n      mixed = {\n        ...this.toObject(),\n        ...normalized\n      };\n\n      // if we didn't set the day but we ended up on an overflow date,\n      // use the last day of the right month\n      if (isUndefined(normalized.day)) {\n        mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n      }\n    }\n    const [ts, o] = objToTS(mixed, this.o, this.zone);\n    return clone(this, {\n      ts,\n      o\n    });\n  }\n\n  /**\n   * Add a period of time to this DateTime and return the resulting DateTime\n   *\n   * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @example DateTime.now().plus(123) //~> in 123 milliseconds\n   * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n   * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n   * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n   * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n   * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n   * @return {DateTime}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration);\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * Subtract a period of time to this DateTime and return the resulting DateTime\n   * See {@link DateTime#plus}\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   @return {DateTime}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration).negate();\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * \"Set\" this DateTime to the beginning of a unit of time.\n   * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n   * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n   * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n   * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n   * @return {DateTime}\n   */\n  startOf(unit, {\n    useLocaleWeeks = false\n  } = {}) {\n    if (!this.isValid) return this;\n    const o = {},\n      normalizedUnit = Duration.normalizeUnit(unit);\n    switch (normalizedUnit) {\n      case \"years\":\n        o.month = 1;\n      // falls through\n      case \"quarters\":\n      case \"months\":\n        o.day = 1;\n      // falls through\n      case \"weeks\":\n      case \"days\":\n        o.hour = 0;\n      // falls through\n      case \"hours\":\n        o.minute = 0;\n      // falls through\n      case \"minutes\":\n        o.second = 0;\n      // falls through\n      case \"seconds\":\n        o.millisecond = 0;\n        break;\n      // no default, invalid units throw in normalizeUnit()\n    }\n\n    if (normalizedUnit === \"weeks\") {\n      if (useLocaleWeeks) {\n        const startOfWeek = this.loc.getStartOfWeek();\n        const {\n          weekday\n        } = this;\n        if (weekday < startOfWeek) {\n          o.weekNumber = this.weekNumber - 1;\n        }\n        o.weekday = startOfWeek;\n      } else {\n        o.weekday = 1;\n      }\n    }\n    if (normalizedUnit === \"quarters\") {\n      const q = Math.ceil(this.month / 3);\n      o.month = (q - 1) * 3 + 1;\n    }\n    return this.set(o);\n  }\n\n  /**\n   * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n   * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n   * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n   * @return {DateTime}\n   */\n  endOf(unit, opts) {\n    return this.isValid ? this.plus({\n      [unit]: 1\n    }).startOf(unit, opts).minus(1) : this;\n  }\n\n  // OUTPUT\n\n  /**\n   * Returns a string representation of this DateTime formatted according to the specified format string.\n   * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n   * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    return this.isValid ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt) : INVALID;\n  }\n\n  /**\n   * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n   * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n   * of the DateTime in the assigned locale.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n   * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n   * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n   * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n   * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n   * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n   * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n   * @return {string}\n   */\n  toLocaleString(formatOpts = DATE_SHORT, opts = {}) {\n    return this.isValid ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this) : INVALID;\n  }\n\n  /**\n   * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n   * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n   * @example DateTime.now().toLocaleParts(); //=> [\n   *                                   //=>   { type: 'day', value: '25' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'month', value: '05' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'year', value: '1982' }\n   *                                   //=> ]\n   */\n  toLocaleParts(opts = {}) {\n    return this.isValid ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this) : [];\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n   * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n   * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n   * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n   * @return {string}\n   */\n  toISO({\n    format = \"extended\",\n    suppressSeconds = false,\n    suppressMilliseconds = false,\n    includeOffset = true,\n    extendedZone = false\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n    const ext = format === \"extended\";\n    let c = toISODate(this, ext);\n    c += \"T\";\n    c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n    return c;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's date component\n   * @param {Object} opts - options\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n   * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n   * @return {string}\n   */\n  toISODate({\n    format = \"extended\"\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n    return toISODate(this, format === \"extended\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's week date\n   * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n   * @return {string}\n   */\n  toISOWeekDate() {\n    return toTechFormat(this, \"kkkk-'W'WW-c\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's time component\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n   * @return {string}\n   */\n  toISOTime({\n    suppressMilliseconds = false,\n    suppressSeconds = false,\n    includeOffset = true,\n    includePrefix = false,\n    extendedZone = false,\n    format = \"extended\"\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n    let c = includePrefix ? \"T\" : \"\";\n    return c + toISOTime(this, format === \"extended\", suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n  }\n\n  /**\n   * Returns an RFC 2822-compatible string representation of this DateTime\n   * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n   * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n   * @return {string}\n   */\n  toRFC2822() {\n    return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n   * Specifically, the string conforms to RFC 1123.\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n   * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n   * @return {string}\n   */\n  toHTTP() {\n    return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Date\n   * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n   * @return {string}\n   */\n  toSQLDate() {\n    if (!this.isValid) {\n      return null;\n    }\n    return toISODate(this, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Time\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n   * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n   * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n   * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n   * @return {string}\n   */\n  toSQLTime({\n    includeOffset = true,\n    includeZone = false,\n    includeOffsetSpace = true\n  } = {}) {\n    let fmt = \"HH:mm:ss.SSS\";\n    if (includeZone || includeOffset) {\n      if (includeOffsetSpace) {\n        fmt += \" \";\n      }\n      if (includeZone) {\n        fmt += \"z\";\n      } else if (includeOffset) {\n        fmt += \"ZZ\";\n      }\n    }\n    return toTechFormat(this, fmt, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n   * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n   * @return {string}\n   */\n  toSQL(opts = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n    return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for debugging\n   * @return {string}\n   */\n  toString() {\n    return this.isValid ? this.toISO() : INVALID;\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for the REPL.\n   * @return {string}\n   */\n  [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n    if (this.isValid) {\n      return `DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;\n    } else {\n      return `DateTime { Invalid, reason: ${this.invalidReason} }`;\n    }\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime.\n   * @return {number}\n   */\n  toMillis() {\n    return this.isValid ? this.ts : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds of this DateTime.\n   * @return {number}\n   */\n  toSeconds() {\n    return this.isValid ? this.ts / 1000 : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds (as a whole number) of this DateTime.\n   * @return {number}\n   */\n  toUnixInteger() {\n    return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a BSON serializable equivalent to this DateTime.\n   * @return {Date}\n   */\n  toBSON() {\n    return this.toJSDate();\n  }\n\n  /**\n   * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n   * @param opts - options for generating the object\n   * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n   * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n   * @return {Object}\n   */\n  toObject(opts = {}) {\n    if (!this.isValid) return {};\n    const base = {\n      ...this.c\n    };\n    if (opts.includeConfig) {\n      base.outputCalendar = this.outputCalendar;\n      base.numberingSystem = this.loc.numberingSystem;\n      base.locale = this.loc.locale;\n    }\n    return base;\n  }\n\n  /**\n   * Returns a JavaScript Date equivalent to this DateTime.\n   * @return {Date}\n   */\n  toJSDate() {\n    return new Date(this.isValid ? this.ts : NaN);\n  }\n\n  // COMPARE\n\n  /**\n   * Return the difference between two DateTimes as a Duration.\n   * @param {DateTime} otherDateTime - the DateTime to compare this one to\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example\n   * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n   *     i2 = DateTime.fromISO('1983-10-14T10:30');\n   * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n   * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n   * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n   * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n   * @return {Duration}\n   */\n  diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n    if (!this.isValid || !otherDateTime.isValid) {\n      return Duration.invalid(\"created by diffing an invalid DateTime\");\n    }\n    const durOpts = {\n      locale: this.locale,\n      numberingSystem: this.numberingSystem,\n      ...opts\n    };\n    const units = maybeArray(unit).map(Duration.normalizeUnit),\n      otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n      earlier = otherIsLater ? this : otherDateTime,\n      later = otherIsLater ? otherDateTime : this,\n      diffed = diff(earlier, later, units, durOpts);\n    return otherIsLater ? diffed.negate() : diffed;\n  }\n\n  /**\n   * Return the difference between this DateTime and right now.\n   * See {@link DateTime#diff}\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  diffNow(unit = \"milliseconds\", opts = {}) {\n    return this.diff(DateTime.now(), unit, opts);\n  }\n\n  /**\n   * Return an Interval spanning between this DateTime and another DateTime\n   * @param {DateTime} otherDateTime - the other end point of the Interval\n   * @return {Interval}\n   */\n  until(otherDateTime) {\n    return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n  }\n\n  /**\n   * Return whether this DateTime is in the same unit of time as another DateTime.\n   * Higher-order units must also be identical for this function to return `true`.\n   * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n   * @param {DateTime} otherDateTime - the other DateTime\n   * @param {string} unit - the unit of time to check sameness on\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; only the locale of this DateTime is used\n   * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n   * @return {boolean}\n   */\n  hasSame(otherDateTime, unit, opts) {\n    if (!this.isValid) return false;\n    const inputMs = otherDateTime.valueOf();\n    const adjustedToZone = this.setZone(otherDateTime.zone, {\n      keepLocalTime: true\n    });\n    return adjustedToZone.startOf(unit, opts) <= inputMs && inputMs <= adjustedToZone.endOf(unit, opts);\n  }\n\n  /**\n   * Equality check\n   * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n   * To compare just the millisecond values, use `+dt1 === +dt2`.\n   * @param {DateTime} other - the other DateTime\n   * @return {boolean}\n   */\n  equals(other) {\n    return this.isValid && other.isValid && this.valueOf() === other.valueOf() && this.zone.equals(other.zone) && this.loc.equals(other.loc);\n  }\n\n  /**\n   * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n   * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n   * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n   * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n   * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n   * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n   * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n   * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n   */\n  toRelative(options = {}) {\n    if (!this.isValid) return null;\n    const base = options.base || DateTime.fromObject({}, {\n        zone: this.zone\n      }),\n      padding = options.padding ? this < base ? -options.padding : options.padding : 0;\n    let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n    let unit = options.unit;\n    if (Array.isArray(options.unit)) {\n      units = options.unit;\n      unit = undefined;\n    }\n    return diffRelative(base, this.plus(padding), {\n      ...options,\n      numeric: \"always\",\n      units,\n      unit\n    });\n  }\n\n  /**\n   * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n   * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n   * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n   * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n   */\n  toRelativeCalendar(options = {}) {\n    if (!this.isValid) return null;\n    return diffRelative(options.base || DateTime.fromObject({}, {\n      zone: this.zone\n    }), this, {\n      ...options,\n      numeric: \"auto\",\n      units: [\"years\", \"months\", \"days\"],\n      calendary: true\n    });\n  }\n\n  /**\n   * Return the min of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n   * @return {DateTime} the min DateTime, or undefined if called with no argument\n   */\n  static min(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, i => i.valueOf(), Math.min);\n  }\n\n  /**\n   * Return the max of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n   * @return {DateTime} the max DateTime, or undefined if called with no argument\n   */\n  static max(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, i => i.valueOf(), Math.max);\n  }\n\n  // MISC\n\n  /**\n   * Explain how a string would be parsed by fromFormat()\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see description)\n   * @param {Object} options - options taken by fromFormat()\n   * @return {Object}\n   */\n  static fromFormatExplain(text, fmt, options = {}) {\n    const {\n        locale = null,\n        numberingSystem = null\n      } = options,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true\n      });\n    return explainFromTokens(localeToUse, text, fmt);\n  }\n\n  /**\n   * @deprecated use fromFormatExplain instead\n   */\n  static fromStringExplain(text, fmt, options = {}) {\n    return DateTime.fromFormatExplain(text, fmt, options);\n  }\n\n  /**\n   * Build a parser for `fmt` using the given locale. This parser can be passed\n   * to {@link DateTime.fromFormatParser} to a parse a date in this format. This\n   * can be used to optimize cases where many dates need to be parsed in a\n   * specific format.\n   *\n   * @param {String} fmt - the format the string is expected to be in (see\n   * description)\n   * @param {Object} options - options used to set locale and numberingSystem\n   * for parser\n   * @returns {TokenParser} - opaque object to be used\n   */\n  static buildFormatParser(fmt, options = {}) {\n    const {\n        locale = null,\n        numberingSystem = null\n      } = options,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true\n      });\n    return new TokenParser(localeToUse, fmt);\n  }\n\n  /**\n   * Create a DateTime from an input string and format parser.\n   *\n   * The format parser must have been created with the same locale as this call.\n   *\n   * @param {String} text - the string to parse\n   * @param {TokenParser} formatParser - parser from {@link DateTime.buildFormatParser}\n   * @param {Object} opts - options taken by fromFormat()\n   * @returns {DateTime}\n   */\n  static fromFormatParser(text, formatParser, opts = {}) {\n    if (isUndefined(text) || isUndefined(formatParser)) {\n      throw new InvalidArgumentError(\"fromFormatParser requires an input string and a format parser\");\n    }\n    const {\n        locale = null,\n        numberingSystem = null\n      } = opts,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true\n      });\n    if (!localeToUse.equals(formatParser.locale)) {\n      throw new InvalidArgumentError(`fromFormatParser called with a locale of ${localeToUse}, ` + `but the format parser was created for ${formatParser.locale}`);\n    }\n    const {\n      result,\n      zone,\n      specificOffset,\n      invalidReason\n    } = formatParser.explainFromTokens(text);\n    if (invalidReason) {\n      return DateTime.invalid(invalidReason);\n    } else {\n      return parseDataToDateTime(result, zone, opts, `format ${formatParser.format}`, text, specificOffset);\n    }\n  }\n\n  // FORMAT PRESETS\n\n  /**\n   * {@link DateTime#toLocaleString} format like 10/14/1983\n   * @type {Object}\n   */\n  static get DATE_SHORT() {\n    return DATE_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED() {\n    return DATE_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED_WITH_WEEKDAY() {\n    return DATE_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_FULL() {\n    return DATE_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_HUGE() {\n    return DATE_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_SIMPLE() {\n    return TIME_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SECONDS() {\n    return TIME_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SHORT_OFFSET() {\n    return TIME_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_LONG_OFFSET() {\n    return TIME_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_SIMPLE() {\n    return TIME_24_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SECONDS() {\n    return TIME_24_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SHORT_OFFSET() {\n    return TIME_24_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_LONG_OFFSET() {\n    return TIME_24_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT() {\n    return DATETIME_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT_WITH_SECONDS() {\n    return DATETIME_SHORT_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED() {\n    return DATETIME_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_SECONDS() {\n    return DATETIME_MED_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_WEEKDAY() {\n    return DATETIME_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL() {\n    return DATETIME_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL_WITH_SECONDS() {\n    return DATETIME_FULL_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE() {\n    return DATETIME_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE_WITH_SECONDS() {\n    return DATETIME_HUGE_WITH_SECONDS;\n  }\n}\n\n/**\n * @private\n */\nfunction friendlyDateTime(dateTimeish) {\n  if (DateTime.isDateTime(dateTimeish)) {\n    return dateTimeish;\n  } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n    return DateTime.fromJSDate(dateTimeish);\n  } else if (dateTimeish && typeof dateTimeish === \"object\") {\n    return DateTime.fromObject(dateTimeish);\n  } else {\n    throw new InvalidArgumentError(`Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`);\n  }\n}\n\nconst VERSION = \"3.5.0\";\n\nexports.DateTime = DateTime;\nexports.Duration = Duration;\nexports.FixedOffsetZone = FixedOffsetZone;\nexports.IANAZone = IANAZone;\nexports.Info = Info;\nexports.Interval = Interval;\nexports.InvalidZone = InvalidZone;\nexports.Settings = Settings;\nexports.SystemZone = SystemZone;\nexports.VERSION = VERSION;\nexports.Zone = Zone;\n//# sourceMappingURL=luxon.js.map\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var af = moment.defineLocale('af', {\n        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n        meridiemParse: /vm|nm/i,\n        isPM: function (input) {\n            return /^nm$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'vm' : 'VM';\n            } else {\n                return isLower ? 'nm' : 'NM';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Vandag om] LT',\n            nextDay: '[Môre om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[Gister om] LT',\n            lastWeek: '[Laas] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oor %s',\n            past: '%s gelede',\n            s: \"'n paar sekondes\",\n            ss: '%d sekondes',\n            m: \"'n minuut\",\n            mm: '%d minute',\n            h: \"'n uur\",\n            hh: '%d ure',\n            d: \"'n dag\",\n            dd: '%d dae',\n            M: \"'n maand\",\n            MM: '%d maande',\n            y: \"'n jaar\",\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            ); // Thanks to Joris Röling : https://github.com/jjupiter\n        },\n        week: {\n            dow: 1, // Maandag is die eerste dag van die week.\n            doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n        },\n    });\n\n    return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'جانفي',\n            'فيفري',\n            'مارس',\n            'أفريل',\n            'ماي',\n            'جوان',\n            'جويلية',\n            'أوت',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arDz = moment.defineLocale('ar-dz', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arKw = moment.defineLocale('ar-kw', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '1',\n            2: '2',\n            3: '3',\n            4: '4',\n            5: '5',\n            6: '6',\n            7: '7',\n            8: '8',\n            9: '9',\n            0: '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arLy = moment.defineLocale('ar-ly', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arMa = moment.defineLocale('ar-ma', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Palestine) [ar-ps]\n//! author : Majd Al-Shihabi : https://github.com/majdal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arPs = moment.defineLocale('ar-ps', {\n        months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n            '_'\n        ),\n        monthsShort:\n            'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .split('') // reversed since negative lookbehind not supported everywhere\n                .reverse()\n                .join('')\n                .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n                    return numberMap[match];\n                })\n                .split('')\n                .reverse()\n                .join('')\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arPs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arSa = moment.defineLocale('ar-sa', {\n        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale  :  Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arTn = moment.defineLocale('ar-tn', {\n        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var ar = moment.defineLocale('ar', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: '-inci',\n        5: '-inci',\n        8: '-inci',\n        70: '-inci',\n        80: '-inci',\n        2: '-nci',\n        7: '-nci',\n        20: '-nci',\n        50: '-nci',\n        3: '-üncü',\n        4: '-üncü',\n        100: '-üncü',\n        6: '-ncı',\n        9: '-uncu',\n        10: '-uncu',\n        30: '-uncu',\n        60: '-ıncı',\n        90: '-ıncı',\n    };\n\n    var az = moment.defineLocale('az', {\n        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n        weekdays:\n            'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n                '_'\n            ),\n        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[sabah saat] LT',\n            nextWeek: '[gələn həftə] dddd [saat] LT',\n            lastDay: '[dünən] LT',\n            lastWeek: '[keçən həftə] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s əvvəl',\n            s: 'bir neçə saniyə',\n            ss: '%d saniyə',\n            m: 'bir dəqiqə',\n            mm: '%d dəqiqə',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir il',\n            yy: '%d il',\n        },\n        meridiemParse: /gecə|səhər|gündüz|axşam/,\n        isPM: function (input) {\n            return /^(gündüz|axşam)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'gecə';\n            } else if (hour < 12) {\n                return 'səhər';\n            } else if (hour < 17) {\n                return 'gündüz';\n            } else {\n                return 'axşam';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n        ordinal: function (number) {\n            if (number === 0) {\n                // special case for zero\n                return number + '-ıncı';\n            }\n            var a = number % 10,\n                b = (number % 100) - a,\n                c = number >= 100 ? 100 : null;\n            return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n            hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n            dd: 'дзень_дні_дзён',\n            MM: 'месяц_месяцы_месяцаў',\n            yy: 'год_гады_гадоў',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвіліна' : 'хвіліну';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'гадзіна' : 'гадзіну';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n\n    var be = moment.defineLocale('be', {\n        months: {\n            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n                '_'\n            ),\n            standalone:\n                'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n        weekdays: {\n            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n                '_'\n            ),\n            standalone:\n                'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n                    '_'\n                ),\n            isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n        },\n        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n        },\n        calendar: {\n            sameDay: '[Сёння ў] LT',\n            nextDay: '[Заўтра ў] LT',\n            lastDay: '[Учора ў] LT',\n            nextWeek: function () {\n                return '[У] dddd [ў] LT';\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return '[У мінулую] dddd [ў] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                        return '[У мінулы] dddd [ў] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'праз %s',\n            past: '%s таму',\n            s: 'некалькі секунд',\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithPlural,\n            hh: relativeTimeWithPlural,\n            d: 'дзень',\n            dd: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночы|раніцы|дня|вечара/,\n        isPM: function (input) {\n            return /^(дня|вечара)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночы';\n            } else if (hour < 12) {\n                return 'раніцы';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечара';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return (number % 10 === 2 || number % 10 === 3) &&\n                        number % 100 !== 12 &&\n                        number % 100 !== 13\n                        ? number + '-і'\n                        : number + '-ы';\n                case 'D':\n                    return number + '-га';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bg = moment.defineLocale('bg', {\n        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Днес в] LT',\n            nextDay: '[Утре в] LT',\n            nextWeek: 'dddd [в] LT',\n            lastDay: '[Вчера в] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Миналата] dddd [в] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Миналия] dddd [в] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'след %s',\n            past: 'преди %s',\n            s: 'няколко секунди',\n            ss: '%d секунди',\n            m: 'минута',\n            mm: '%d минути',\n            h: 'час',\n            hh: '%d часа',\n            d: 'ден',\n            dd: '%d дена',\n            w: 'седмица',\n            ww: '%d седмици',\n            M: 'месец',\n            MM: '%d месеца',\n            y: 'година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bm = moment.defineLocale('bm', {\n        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n            '_'\n        ),\n        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'MMMM [tile] D [san] YYYY',\n            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bi lɛrɛ] LT',\n            nextDay: '[Sini lɛrɛ] LT',\n            nextWeek: 'dddd [don lɛrɛ] LT',\n            lastDay: '[Kunu lɛrɛ] LT',\n            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s kɔnɔ',\n            past: 'a bɛ %s bɔ',\n            s: 'sanga dama dama',\n            ss: 'sekondi %d',\n            m: 'miniti kelen',\n            mm: 'miniti %d',\n            h: 'lɛrɛ kelen',\n            hh: 'lɛrɛ %d',\n            d: 'tile kelen',\n            dd: 'tile %d',\n            M: 'kalo kelen',\n            MM: 'kalo %d',\n            y: 'san kelen',\n            yy: 'san %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bnBd = moment.defineLocale('bn-bd', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n\n        meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'রাত') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ভোর') {\n                return hour;\n            } else if (meridiem === 'সকাল') {\n                return hour;\n            } else if (meridiem === 'দুপুর') {\n                return hour >= 3 ? hour : hour + 12;\n            } else if (meridiem === 'বিকাল') {\n                return hour + 12;\n            } else if (meridiem === 'সন্ধ্যা') {\n                return hour + 12;\n            }\n        },\n\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 6) {\n                return 'ভোর';\n            } else if (hour < 12) {\n                return 'সকাল';\n            } else if (hour < 15) {\n                return 'দুপুর';\n            } else if (hour < 18) {\n                return 'বিকাল';\n            } else if (hour < 20) {\n                return 'সন্ধ্যা';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bn = moment.defineLocale('bn', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'রাত' && hour >= 4) ||\n                (meridiem === 'দুপুর' && hour < 5) ||\n                meridiem === 'বিকাল'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 10) {\n                return 'সকাল';\n            } else if (hour < 17) {\n                return 'দুপুর';\n            } else if (hour < 20) {\n                return 'বিকাল';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '༡',\n            2: '༢',\n            3: '༣',\n            4: '༤',\n            5: '༥',\n            6: '༦',\n            7: '༧',\n            8: '༨',\n            9: '༩',\n            0: '༠',\n        },\n        numberMap = {\n            '༡': '1',\n            '༢': '2',\n            '༣': '3',\n            '༤': '4',\n            '༥': '5',\n            '༦': '6',\n            '༧': '7',\n            '༨': '8',\n            '༩': '9',\n            '༠': '0',\n        };\n\n    var bo = moment.defineLocale('bo', {\n        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n                '_'\n            ),\n        monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n        monthsParseExact: true,\n        weekdays:\n            'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n                '_'\n            ),\n        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n            '_'\n        ),\n        weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[དི་རིང] LT',\n            nextDay: '[སང་ཉིན] LT',\n            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n            lastDay: '[ཁ་སང] LT',\n            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ལ་',\n            past: '%s སྔན་ལ',\n            s: 'ལམ་སང',\n            ss: '%d སྐར་ཆ།',\n            m: 'སྐར་མ་གཅིག',\n            mm: '%d སྐར་མ',\n            h: 'ཆུ་ཚོད་གཅིག',\n            hh: '%d ཆུ་ཚོད',\n            d: 'ཉིན་གཅིག',\n            dd: '%d ཉིན་',\n            M: 'ཟླ་བ་གཅིག',\n            MM: '%d ཟླ་བ',\n            y: 'ལོ་གཅིག',\n            yy: '%d ལོ',\n        },\n        preparse: function (string) {\n            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'མཚན་མོ' && hour >= 4) ||\n                (meridiem === 'ཉིན་གུང' && hour < 5) ||\n                meridiem === 'དགོང་དག'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'མཚན་མོ';\n            } else if (hour < 10) {\n                return 'ཞོགས་ཀས';\n            } else if (hour < 17) {\n                return 'ཉིན་གུང';\n            } else if (hour < 20) {\n                return 'དགོང་དག';\n            } else {\n                return 'མཚན་མོ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithMutation(number, withoutSuffix, key) {\n        var format = {\n            mm: 'munutenn',\n            MM: 'miz',\n            dd: 'devezh',\n        };\n        return number + ' ' + mutation(format[key], number);\n    }\n    function specialMutationForYears(number) {\n        switch (lastNumber(number)) {\n            case 1:\n            case 3:\n            case 4:\n            case 5:\n            case 9:\n                return number + ' bloaz';\n            default:\n                return number + ' vloaz';\n        }\n    }\n    function lastNumber(number) {\n        if (number > 9) {\n            return lastNumber(number % 10);\n        }\n        return number;\n    }\n    function mutation(text, number) {\n        if (number === 2) {\n            return softMutation(text);\n        }\n        return text;\n    }\n    function softMutation(text) {\n        var mutationTable = {\n            m: 'v',\n            b: 'v',\n            d: 'z',\n        };\n        if (mutationTable[text.charAt(0)] === undefined) {\n            return text;\n        }\n        return mutationTable[text.charAt(0)] + text.substring(1);\n    }\n\n    var monthsParse = [\n            /^gen/i,\n            /^c[ʼ\\']hwe/i,\n            /^meu/i,\n            /^ebr/i,\n            /^mae/i,\n            /^(mez|eve)/i,\n            /^gou/i,\n            /^eos/i,\n            /^gwe/i,\n            /^her/i,\n            /^du/i,\n            /^ker/i,\n        ],\n        monthsRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        monthsStrictRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n        monthsShortStrictRegex =\n            /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        fullWeekdaysParse = [\n            /^sul/i,\n            /^lun/i,\n            /^meurzh/i,\n            /^merc[ʼ\\']her/i,\n            /^yaou/i,\n            /^gwener/i,\n            /^sadorn/i,\n        ],\n        shortWeekdaysParse = [\n            /^Sul/i,\n            /^Lun/i,\n            /^Meu/i,\n            /^Mer/i,\n            /^Yao/i,\n            /^Gwe/i,\n            /^Sad/i,\n        ],\n        minWeekdaysParse = [\n            /^Su/i,\n            /^Lu/i,\n            /^Me([^r]|$)/i,\n            /^Mer/i,\n            /^Ya/i,\n            /^Gw/i,\n            /^Sa/i,\n        ];\n\n    var br = moment.defineLocale('br', {\n        months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n            '_'\n        ),\n        monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n        weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n        weekdaysParse: minWeekdaysParse,\n        fullWeekdaysParse: fullWeekdaysParse,\n        shortWeekdaysParse: shortWeekdaysParse,\n        minWeekdaysParse: minWeekdaysParse,\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [a viz] MMMM YYYY',\n            LLL: 'D [a viz] MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hiziv da] LT',\n            nextDay: '[Warcʼhoazh da] LT',\n            nextWeek: 'dddd [da] LT',\n            lastDay: '[Decʼh da] LT',\n            lastWeek: 'dddd [paset da] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'a-benn %s',\n            past: '%s ʼzo',\n            s: 'un nebeud segondennoù',\n            ss: '%d eilenn',\n            m: 'ur vunutenn',\n            mm: relativeTimeWithMutation,\n            h: 'un eur',\n            hh: '%d eur',\n            d: 'un devezh',\n            dd: relativeTimeWithMutation,\n            M: 'ur miz',\n            MM: relativeTimeWithMutation,\n            y: 'ur bloaz',\n            yy: specialMutationForYears,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'añ' : 'vet';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n        isPM: function (token) {\n            return token === 'g.m.';\n        },\n        meridiem: function (hour, minute, isLower) {\n            return hour < 12 ? 'a.m.' : 'g.m.';\n        },\n    });\n\n    return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! author : Rasid Redzic : https://github.com/rasidre\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 'm':\n                return withoutSuffix\n                    ? 'jedna minuta'\n                    : isFuture\n                      ? 'jednu minutu'\n                      : 'jedne minute';\n        }\n    }\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jedan sat';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var bs = moment.defineLocale('bs', {\n        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: processRelativeTime,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ca = moment.defineLocale('ca', {\n        months: {\n            standalone:\n                'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n                    '_'\n                ),\n            format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n                '_'\n            ),\n        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a les] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextDay: function () {\n                return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastDay: function () {\n                return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [passat a ' +\n                    (this.hours() !== 1 ? 'les' : 'la') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'uns segons',\n            ss: '%d segons',\n            m: 'un minut',\n            mm: '%d minuts',\n            h: 'una hora',\n            hh: '%d hores',\n            d: 'un dia',\n            dd: '%d dies',\n            M: 'un mes',\n            MM: '%d mesos',\n            y: 'un any',\n            yy: '%d anys',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                      ? 'n'\n                      : number === 3\n                        ? 'r'\n                        : number === 4\n                          ? 't'\n                          : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = {\n            standalone:\n                'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n                    '_'\n                ),\n            format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n                '_'\n            ),\n            isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n        },\n        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n        monthsParse = [\n            /^led/i,\n            /^úno/i,\n            /^bře/i,\n            /^dub/i,\n            /^kvě/i,\n            /^(čvn|červen$|června)/i,\n            /^(čvc|červenec|července)/i,\n            /^srp/i,\n            /^zář/i,\n            /^říj/i,\n            /^lis/i,\n            /^pro/i,\n        ],\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsRegex =\n            /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n    function plural(n) {\n        return n > 1 && n < 5 && ~~(n / 10) !== 1;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekund');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minuty' : 'minut');\n                } else {\n                    return result + 'minutami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodin');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'den' : 'dnem';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dny' : 'dní');\n                } else {\n                    return result + 'dny';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'měsíce' : 'měsíců');\n                } else {\n                    return result + 'měsíci';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokem';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'let');\n                } else {\n                    return result + 'lety';\n                }\n        }\n    }\n\n    var cs = moment.defineLocale('cs', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsStrictRegex:\n            /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n        monthsShortStrictRegex:\n            /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n            l: 'D. M. YYYY',\n        },\n        calendar: {\n            sameDay: '[dnes v] LT',\n            nextDay: '[zítra v] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [v] LT';\n                    case 3:\n                        return '[ve středu v] LT';\n                    case 4:\n                        return '[ve čtvrtek v] LT';\n                    case 5:\n                        return '[v pátek v] LT';\n                    case 6:\n                        return '[v sobotu v] LT';\n                }\n            },\n            lastDay: '[včera v] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulou neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[minulé] dddd [v] LT';\n                    case 3:\n                        return '[minulou středu v] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [v] LT';\n                    case 6:\n                        return '[minulou sobotu v] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'před %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cv = moment.defineLocale('cv', {\n        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n            '_'\n        ),\n        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n        weekdays:\n            'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n                '_'\n            ),\n        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n        },\n        calendar: {\n            sameDay: '[Паян] LT [сехетре]',\n            nextDay: '[Ыран] LT [сехетре]',\n            lastDay: '[Ӗнер] LT [сехетре]',\n            nextWeek: '[Ҫитес] dddd LT [сехетре]',\n            lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (output) {\n                var affix = /сехет$/i.exec(output)\n                    ? 'рен'\n                    : /ҫул$/i.exec(output)\n                      ? 'тан'\n                      : 'ран';\n                return output + affix;\n            },\n            past: '%s каялла',\n            s: 'пӗр-ик ҫеккунт',\n            ss: '%d ҫеккунт',\n            m: 'пӗр минут',\n            mm: '%d минут',\n            h: 'пӗр сехет',\n            hh: '%d сехет',\n            d: 'пӗр кун',\n            dd: '%d кун',\n            M: 'пӗр уйӑх',\n            MM: '%d уйӑх',\n            y: 'пӗр ҫул',\n            yy: '%d ҫул',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n        ordinal: '%d-мӗш',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cy = moment.defineLocale('cy', {\n        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n            '_'\n        ),\n        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n            '_'\n        ),\n        weekdays:\n            'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n        weekdaysParseExact: true,\n        // time formats are the same as en-gb\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Heddiw am] LT',\n            nextDay: '[Yfory am] LT',\n            nextWeek: 'dddd [am] LT',\n            lastDay: '[Ddoe am] LT',\n            lastWeek: 'dddd [diwethaf am] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'mewn %s',\n            past: '%s yn ôl',\n            s: 'ychydig eiliadau',\n            ss: '%d eiliad',\n            m: 'munud',\n            mm: '%d munud',\n            h: 'awr',\n            hh: '%d awr',\n            d: 'diwrnod',\n            dd: '%d diwrnod',\n            M: 'mis',\n            MM: '%d mis',\n            y: 'blwyddyn',\n            yy: '%d flynedd',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n        ordinal: function (number) {\n            var b = number,\n                output = '',\n                lookup = [\n                    '',\n                    'af',\n                    'il',\n                    'ydd',\n                    'ydd',\n                    'ed',\n                    'ed',\n                    'ed',\n                    'fed',\n                    'fed',\n                    'fed', // 1af to 10fed\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'fed', // 11eg to 20fed\n                ];\n            if (b > 20) {\n                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n                    output = 'fed'; // not 30ain, 70ain or 90ain\n                } else {\n                    output = 'ain';\n                }\n            } else if (b > 0) {\n                output = lookup[b];\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var da = moment.defineLocale('da', {\n        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'på dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[i] dddd[s kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'få sekunder',\n            ss: '%d sekunder',\n            m: 'et minut',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dage',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'et år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deAt = moment.defineLocale('de-at', {\n        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deCh = moment.defineLocale('de-ch', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var de = moment.defineLocale('de', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'ޖެނުއަރީ',\n            'ފެބްރުއަރީ',\n            'މާރިޗު',\n            'އޭޕްރީލު',\n            'މޭ',\n            'ޖޫން',\n            'ޖުލައި',\n            'އޯގަސްޓު',\n            'ސެޕްޓެމްބަރު',\n            'އޮކްޓޯބަރު',\n            'ނޮވެމްބަރު',\n            'ޑިސެމްބަރު',\n        ],\n        weekdays = [\n            'އާދިއްތަ',\n            'ހޯމަ',\n            'އަންގާރަ',\n            'ބުދަ',\n            'ބުރާސްފަތި',\n            'ހުކުރު',\n            'ހޮނިހިރު',\n        ];\n\n    var dv = moment.defineLocale('dv', {\n        months: months,\n        monthsShort: months,\n        weekdays: weekdays,\n        weekdaysShort: weekdays,\n        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/M/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /މކ|މފ/,\n        isPM: function (input) {\n            return 'މފ' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'މކ';\n            } else {\n                return 'މފ';\n            }\n        },\n        calendar: {\n            sameDay: '[މިއަދު] LT',\n            nextDay: '[މާދަމާ] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[އިއްޔެ] LT',\n            lastWeek: '[ފާއިތުވި] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ތެރޭގައި %s',\n            past: 'ކުރިން %s',\n            s: 'ސިކުންތުކޮޅެއް',\n            ss: 'd% ސިކުންތު',\n            m: 'މިނިޓެއް',\n            mm: 'މިނިޓު %d',\n            h: 'ގަޑިއިރެއް',\n            hh: 'ގަޑިއިރު %d',\n            d: 'ދުވަހެއް',\n            dd: 'ދުވަސް %d',\n            M: 'މަހެއް',\n            MM: 'މަސް %d',\n            y: 'އަހަރެއް',\n            yy: 'އަހަރު %d',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 7, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    var el = moment.defineLocale('el', {\n        monthsNominativeEl:\n            'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n                '_'\n            ),\n        monthsGenitiveEl:\n            'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n                '_'\n            ),\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return this._monthsNominativeEl;\n            } else if (\n                typeof format === 'string' &&\n                /D/.test(format.substring(0, format.indexOf('MMMM')))\n            ) {\n                // if there is a day number before 'MMMM'\n                return this._monthsGenitiveEl[momentToFormat.month()];\n            } else {\n                return this._monthsNominativeEl[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n            '_'\n        ),\n        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'μμ' : 'ΜΜ';\n            } else {\n                return isLower ? 'πμ' : 'ΠΜ';\n            }\n        },\n        isPM: function (input) {\n            return (input + '').toLowerCase()[0] === 'μ';\n        },\n        meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendarEl: {\n            sameDay: '[Σήμερα {}] LT',\n            nextDay: '[Αύριο {}] LT',\n            nextWeek: 'dddd [{}] LT',\n            lastDay: '[Χθες {}] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 6:\n                        return '[το προηγούμενο] dddd [{}] LT';\n                    default:\n                        return '[την προηγούμενη] dddd [{}] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        calendar: function (key, mom) {\n            var output = this._calendarEl[key],\n                hours = mom && mom.hours();\n            if (isFunction(output)) {\n                output = output.apply(mom);\n            }\n            return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n        },\n        relativeTime: {\n            future: 'σε %s',\n            past: '%s πριν',\n            s: 'λίγα δευτερόλεπτα',\n            ss: '%d δευτερόλεπτα',\n            m: 'ένα λεπτό',\n            mm: '%d λεπτά',\n            h: 'μία ώρα',\n            hh: '%d ώρες',\n            d: 'μία μέρα',\n            dd: '%d μέρες',\n            M: 'ένας μήνας',\n            MM: '%d μήνες',\n            y: 'ένας χρόνος',\n            yy: '%d χρόνια',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}η/,\n        ordinal: '%dη',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4st is the first week of the year.\n        },\n    });\n\n    return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enAu = moment.defineLocale('en-au', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enCa = moment.defineLocale('en-ca', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'YYYY-MM-DD',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY h:mm A',\n            LLLL: 'dddd, MMMM D, YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enGb = moment.defineLocale('en-gb', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIe = moment.defineLocale('en-ie', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIl = moment.defineLocale('en-il', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIn = moment.defineLocale('en-in', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enNz = moment.defineLocale('en-nz', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enSg = moment.defineLocale('en-sg', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eo = moment.defineLocale('eo', {\n        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: '[la] D[-an de] MMMM, YYYY',\n            LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n            LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n            llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n        },\n        meridiemParse: /[ap]\\.t\\.m/i,\n        isPM: function (input) {\n            return input.charAt(0).toLowerCase() === 'p';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'p.t.m.' : 'P.T.M.';\n            } else {\n                return isLower ? 'a.t.m.' : 'A.T.M.';\n            }\n        },\n        calendar: {\n            sameDay: '[Hodiaŭ je] LT',\n            nextDay: '[Morgaŭ je] LT',\n            nextWeek: 'dddd[n je] LT',\n            lastDay: '[Hieraŭ je] LT',\n            lastWeek: '[pasintan] dddd[n je] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'post %s',\n            past: 'antaŭ %s',\n            s: 'kelkaj sekundoj',\n            ss: '%d sekundoj',\n            m: 'unu minuto',\n            mm: '%d minutoj',\n            h: 'unu horo',\n            hh: '%d horoj',\n            d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n            dd: '%d tagoj',\n            M: 'unu monato',\n            MM: '%d monatoj',\n            y: 'unu jaro',\n            yy: '%d jaroj',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}a/,\n        ordinal: '%da',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esDo = moment.defineLocale('es-do', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esMx = moment.defineLocale('es-mx', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esUs = moment.defineLocale('es-us', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'MM/DD/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var es = moment.defineLocale('es', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n            ss: [number + 'sekundi', number + 'sekundit'],\n            m: ['ühe minuti', 'üks minut'],\n            mm: [number + ' minuti', number + ' minutit'],\n            h: ['ühe tunni', 'tund aega', 'üks tund'],\n            hh: [number + ' tunni', number + ' tundi'],\n            d: ['ühe päeva', 'üks päev'],\n            M: ['kuu aja', 'kuu aega', 'üks kuu'],\n            MM: [number + ' kuu', number + ' kuud'],\n            y: ['ühe aasta', 'aasta', 'üks aasta'],\n            yy: [number + ' aasta', number + ' aastat'],\n        };\n        if (withoutSuffix) {\n            return format[key][2] ? format[key][2] : format[key][1];\n        }\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var et = moment.defineLocale('et', {\n        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n        weekdays:\n            'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n                '_'\n            ),\n        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Täna,] LT',\n            nextDay: '[Homme,] LT',\n            nextWeek: '[Järgmine] dddd LT',\n            lastDay: '[Eile,] LT',\n            lastWeek: '[Eelmine] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s pärast',\n            past: '%s tagasi',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: '%d päeva',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eu = moment.defineLocale('eu', {\n        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n            '_'\n        ),\n        monthsShort:\n            'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n                '_'\n            ),\n        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY[ko] MMMM[ren] D[a]',\n            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n            l: 'YYYY-M-D',\n            ll: 'YYYY[ko] MMM D[a]',\n            lll: 'YYYY[ko] MMM D[a] HH:mm',\n            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n        },\n        calendar: {\n            sameDay: '[gaur] LT[etan]',\n            nextDay: '[bihar] LT[etan]',\n            nextWeek: 'dddd LT[etan]',\n            lastDay: '[atzo] LT[etan]',\n            lastWeek: '[aurreko] dddd LT[etan]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s barru',\n            past: 'duela %s',\n            s: 'segundo batzuk',\n            ss: '%d segundo',\n            m: 'minutu bat',\n            mm: '%d minutu',\n            h: 'ordu bat',\n            hh: '%d ordu',\n            d: 'egun bat',\n            dd: '%d egun',\n            M: 'hilabete bat',\n            MM: '%d hilabete',\n            y: 'urte bat',\n            yy: '%d urte',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '۱',\n            2: '۲',\n            3: '۳',\n            4: '۴',\n            5: '۵',\n            6: '۶',\n            7: '۷',\n            8: '۸',\n            9: '۹',\n            0: '۰',\n        },\n        numberMap = {\n            '۱': '1',\n            '۲': '2',\n            '۳': '3',\n            '۴': '4',\n            '۵': '5',\n            '۶': '6',\n            '۷': '7',\n            '۸': '8',\n            '۹': '9',\n            '۰': '0',\n        };\n\n    var fa = moment.defineLocale('fa', {\n        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n                '_'\n            ),\n        weekdays:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /قبل از ظهر|بعد از ظهر/,\n        isPM: function (input) {\n            return /بعد از ظهر/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'قبل از ظهر';\n            } else {\n                return 'بعد از ظهر';\n            }\n        },\n        calendar: {\n            sameDay: '[امروز ساعت] LT',\n            nextDay: '[فردا ساعت] LT',\n            nextWeek: 'dddd [ساعت] LT',\n            lastDay: '[دیروز ساعت] LT',\n            lastWeek: 'dddd [پیش] [ساعت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'در %s',\n            past: '%s پیش',\n            s: 'چند ثانیه',\n            ss: '%d ثانیه',\n            m: 'یک دقیقه',\n            mm: '%d دقیقه',\n            h: 'یک ساعت',\n            hh: '%d ساعت',\n            d: 'یک روز',\n            dd: '%d روز',\n            M: 'یک ماه',\n            MM: '%d ماه',\n            y: 'یک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[۰-۹]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}م/,\n        ordinal: '%dم',\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersPast =\n            'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n                ' '\n            ),\n        numbersFuture = [\n            'nolla',\n            'yhden',\n            'kahden',\n            'kolmen',\n            'neljän',\n            'viiden',\n            'kuuden',\n            numbersPast[7],\n            numbersPast[8],\n            numbersPast[9],\n        ];\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = '';\n        switch (key) {\n            case 's':\n                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n            case 'ss':\n                result = isFuture ? 'sekunnin' : 'sekuntia';\n                break;\n            case 'm':\n                return isFuture ? 'minuutin' : 'minuutti';\n            case 'mm':\n                result = isFuture ? 'minuutin' : 'minuuttia';\n                break;\n            case 'h':\n                return isFuture ? 'tunnin' : 'tunti';\n            case 'hh':\n                result = isFuture ? 'tunnin' : 'tuntia';\n                break;\n            case 'd':\n                return isFuture ? 'päivän' : 'päivä';\n            case 'dd':\n                result = isFuture ? 'päivän' : 'päivää';\n                break;\n            case 'M':\n                return isFuture ? 'kuukauden' : 'kuukausi';\n            case 'MM':\n                result = isFuture ? 'kuukauden' : 'kuukautta';\n                break;\n            case 'y':\n                return isFuture ? 'vuoden' : 'vuosi';\n            case 'yy':\n                result = isFuture ? 'vuoden' : 'vuotta';\n                break;\n        }\n        result = verbalNumber(number, isFuture) + ' ' + result;\n        return result;\n    }\n    function verbalNumber(number, isFuture) {\n        return number < 10\n            ? isFuture\n                ? numbersFuture[number]\n                : numbersPast[number]\n            : number;\n    }\n\n    var fi = moment.defineLocale('fi', {\n        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n            '_'\n        ),\n        monthsShort:\n            'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n                '_'\n            ),\n        weekdays:\n            'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n                '_'\n            ),\n        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[ta] YYYY',\n            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n            l: 'D.M.YYYY',\n            ll: 'Do MMM YYYY',\n            lll: 'Do MMM YYYY, [klo] HH.mm',\n            llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n        },\n        calendar: {\n            sameDay: '[tänään] [klo] LT',\n            nextDay: '[huomenna] [klo] LT',\n            nextWeek: 'dddd [klo] LT',\n            lastDay: '[eilen] [klo] LT',\n            lastWeek: '[viime] dddd[na] [klo] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s päästä',\n            past: '%s sitten',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fil = moment.defineLocale('fil', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fo = moment.defineLocale('fo', {\n        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D. MMMM, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Í dag kl.] LT',\n            nextDay: '[Í morgin kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[Í gjár kl.] LT',\n            lastWeek: '[síðstu] dddd [kl] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'um %s',\n            past: '%s síðani',\n            s: 'fá sekund',\n            ss: '%d sekundir',\n            m: 'ein minuttur',\n            mm: '%d minuttir',\n            h: 'ein tími',\n            hh: '%d tímar',\n            d: 'ein dagur',\n            dd: '%d dagar',\n            M: 'ein mánaður',\n            MM: '%d mánaðir',\n            y: 'eitt ár',\n            yy: '%d ár',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCa = moment.defineLocale('fr-ca', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n    });\n\n    return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCh = moment.defineLocale('fr-ch', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsStrictRegex =\n            /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsShortStrictRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n        monthsRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsParse = [\n            /^janv/i,\n            /^févr/i,\n            /^mars/i,\n            /^avr/i,\n            /^mai/i,\n            /^juin/i,\n            /^juil/i,\n            /^août/i,\n            /^sept/i,\n            /^oct/i,\n            /^nov/i,\n            /^déc/i,\n        ];\n\n    var fr = moment.defineLocale('fr', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            w: 'une semaine',\n            ww: '%d semaines',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // TODO: Return 'e' when day of month > 1. Move this case inside\n                // block for masculine words below.\n                // See https://github.com/moment/moment/issues/3375\n                case 'D':\n                    return number + (number === 1 ? 'er' : '');\n\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n    var fy = moment.defineLocale('fy', {\n        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n        monthsParseExact: true,\n        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n            '_'\n        ),\n        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[hjoed om] LT',\n            nextDay: '[moarn om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[juster om] LT',\n            lastWeek: '[ôfrûne] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oer %s',\n            past: '%s lyn',\n            s: 'in pear sekonden',\n            ss: '%d sekonden',\n            m: 'ien minút',\n            mm: '%d minuten',\n            h: 'ien oere',\n            hh: '%d oeren',\n            d: 'ien dei',\n            dd: '%d dagen',\n            M: 'ien moanne',\n            MM: '%d moannen',\n            y: 'ien jier',\n            yy: '%d jierren',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Eanáir',\n            'Feabhra',\n            'Márta',\n            'Aibreán',\n            'Bealtaine',\n            'Meitheamh',\n            'Iúil',\n            'Lúnasa',\n            'Meán Fómhair',\n            'Deireadh Fómhair',\n            'Samhain',\n            'Nollaig',\n        ],\n        monthsShort = [\n            'Ean',\n            'Feabh',\n            'Márt',\n            'Aib',\n            'Beal',\n            'Meith',\n            'Iúil',\n            'Lún',\n            'M.F.',\n            'D.F.',\n            'Samh',\n            'Noll',\n        ],\n        weekdays = [\n            'Dé Domhnaigh',\n            'Dé Luain',\n            'Dé Máirt',\n            'Dé Céadaoin',\n            'Déardaoin',\n            'Dé hAoine',\n            'Dé Sathairn',\n        ],\n        weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n        weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n    var ga = moment.defineLocale('ga', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Inniu ag] LT',\n            nextDay: '[Amárach ag] LT',\n            nextWeek: 'dddd [ag] LT',\n            lastDay: '[Inné ag] LT',\n            lastWeek: 'dddd [seo caite] [ag] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i %s',\n            past: '%s ó shin',\n            s: 'cúpla soicind',\n            ss: '%d soicind',\n            m: 'nóiméad',\n            mm: '%d nóiméad',\n            h: 'uair an chloig',\n            hh: '%d uair an chloig',\n            d: 'lá',\n            dd: '%d lá',\n            M: 'mí',\n            MM: '%d míonna',\n            y: 'bliain',\n            yy: '%d bliain',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Am Faoilleach',\n            'An Gearran',\n            'Am Màrt',\n            'An Giblean',\n            'An Cèitean',\n            'An t-Ògmhios',\n            'An t-Iuchar',\n            'An Lùnastal',\n            'An t-Sultain',\n            'An Dàmhair',\n            'An t-Samhain',\n            'An Dùbhlachd',\n        ],\n        monthsShort = [\n            'Faoi',\n            'Gear',\n            'Màrt',\n            'Gibl',\n            'Cèit',\n            'Ògmh',\n            'Iuch',\n            'Lùn',\n            'Sult',\n            'Dàmh',\n            'Samh',\n            'Dùbh',\n        ],\n        weekdays = [\n            'Didòmhnaich',\n            'Diluain',\n            'Dimàirt',\n            'Diciadain',\n            'Diardaoin',\n            'Dihaoine',\n            'Disathairne',\n        ],\n        weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n        weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n    var gd = moment.defineLocale('gd', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[An-diugh aig] LT',\n            nextDay: '[A-màireach aig] LT',\n            nextWeek: 'dddd [aig] LT',\n            lastDay: '[An-dè aig] LT',\n            lastWeek: 'dddd [seo chaidh] [aig] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ann an %s',\n            past: 'bho chionn %s',\n            s: 'beagan diogan',\n            ss: '%d diogan',\n            m: 'mionaid',\n            mm: '%d mionaidean',\n            h: 'uair',\n            hh: '%d uairean',\n            d: 'latha',\n            dd: '%d latha',\n            M: 'mìos',\n            MM: '%d mìosan',\n            y: 'bliadhna',\n            yy: '%d bliadhna',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var gl = moment.defineLocale('gl', {\n        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort:\n            'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n            },\n            lastDay: function () {\n                return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (str) {\n                if (str.indexOf('un') === 0) {\n                    return 'n' + str;\n                }\n                return 'en ' + str;\n            },\n            past: 'hai %s',\n            s: 'uns segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'unha hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n            ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n            m: ['एका मिणटान', 'एक मिनूट'],\n            mm: [number + ' मिणटांनी', number + ' मिणटां'],\n            h: ['एका वरान', 'एक वर'],\n            hh: [number + ' वरांनी', number + ' वरां'],\n            d: ['एका दिसान', 'एक दीस'],\n            dd: [number + ' दिसांनी', number + ' दीस'],\n            M: ['एका म्हयन्यान', 'एक म्हयनो'],\n            MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n            y: ['एका वर्सान', 'एक वर्स'],\n            yy: [number + ' वर्सांनी', number + ' वर्सां'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomDeva = moment.defineLocale('gom-deva', {\n        months: {\n            standalone:\n                'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n                    '_'\n                ),\n            format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n        weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n        weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [वाजतां]',\n            LTS: 'A h:mm:ss [वाजतां]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n            llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n        },\n        calendar: {\n            sameDay: '[आयज] LT',\n            nextDay: '[फाल्यां] LT',\n            nextWeek: '[फुडलो] dddd[,] LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[फाटलो] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s आदीं',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'वेर' only applies to day of the month\n                case 'D':\n                    return number + 'वेर';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राती') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सकाळीं') {\n                return hour;\n            } else if (meridiem === 'दनपारां') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'सांजे') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'राती';\n            } else if (hour < 12) {\n                return 'सकाळीं';\n            } else if (hour < 16) {\n                return 'दनपारां';\n            } else if (hour < 20) {\n                return 'सांजे';\n            } else {\n                return 'राती';\n            }\n        },\n    });\n\n    return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['thoddea sekondamni', 'thodde sekond'],\n            ss: [number + ' sekondamni', number + ' sekond'],\n            m: ['eka mintan', 'ek minut'],\n            mm: [number + ' mintamni', number + ' mintam'],\n            h: ['eka voran', 'ek vor'],\n            hh: [number + ' voramni', number + ' voram'],\n            d: ['eka disan', 'ek dis'],\n            dd: [number + ' disamni', number + ' dis'],\n            M: ['eka mhoinean', 'ek mhoino'],\n            MM: [number + ' mhoineamni', number + ' mhoine'],\n            y: ['eka vorsan', 'ek voros'],\n            yy: [number + ' vorsamni', number + ' vorsam'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomLatn = moment.defineLocale('gom-latn', {\n        months: {\n            standalone:\n                'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n                    '_'\n                ),\n            format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [vazta]',\n            LTS: 'A h:mm:ss [vazta]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [vazta]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n            llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n        },\n        calendar: {\n            sameDay: '[Aiz] LT',\n            nextDay: '[Faleam] LT',\n            nextWeek: '[Fuddlo] dddd[,] LT',\n            lastDay: '[Kal] LT',\n            lastWeek: '[Fattlo] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s adim',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'er' only applies to day of the month\n                case 'D':\n                    return number + 'er';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /rati|sokallim|donparam|sanje/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'rati') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'sokallim') {\n                return hour;\n            } else if (meridiem === 'donparam') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'sanje') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'rati';\n            } else if (hour < 12) {\n                return 'sokallim';\n            } else if (hour < 16) {\n                return 'donparam';\n            } else if (hour < 20) {\n                return 'sanje';\n            } else {\n                return 'rati';\n            }\n        },\n    });\n\n    return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '૧',\n            2: '૨',\n            3: '૩',\n            4: '૪',\n            5: '૫',\n            6: '૬',\n            7: '૭',\n            8: '૮',\n            9: '૯',\n            0: '૦',\n        },\n        numberMap = {\n            '૧': '1',\n            '૨': '2',\n            '૩': '3',\n            '૪': '4',\n            '૫': '5',\n            '૬': '6',\n            '૭': '7',\n            '૮': '8',\n            '૯': '9',\n            '૦': '0',\n        };\n\n    var gu = moment.defineLocale('gu', {\n        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n            '_'\n        ),\n        monthsShort:\n            'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n            '_'\n        ),\n        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm વાગ્યે',\n            LTS: 'A h:mm:ss વાગ્યે',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n        },\n        calendar: {\n            sameDay: '[આજ] LT',\n            nextDay: '[કાલે] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ગઇકાલે] LT',\n            lastWeek: '[પાછલા] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s મા',\n            past: '%s પહેલા',\n            s: 'અમુક પળો',\n            ss: '%d સેકંડ',\n            m: 'એક મિનિટ',\n            mm: '%d મિનિટ',\n            h: 'એક કલાક',\n            hh: '%d કલાક',\n            d: 'એક દિવસ',\n            dd: '%d દિવસ',\n            M: 'એક મહિનો',\n            MM: '%d મહિનો',\n            y: 'એક વર્ષ',\n            yy: '%d વર્ષ',\n        },\n        preparse: function (string) {\n            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'રાત') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'સવાર') {\n                return hour;\n            } else if (meridiem === 'બપોર') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'સાંજ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'રાત';\n            } else if (hour < 10) {\n                return 'સવાર';\n            } else if (hour < 17) {\n                return 'બપોર';\n            } else if (hour < 20) {\n                return 'સાંજ';\n            } else {\n                return 'રાત';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var he = moment.defineLocale('he', {\n        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n            '_'\n        ),\n        monthsShort:\n            'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [ב]MMMM YYYY',\n            LLL: 'D [ב]MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[היום ב־]LT',\n            nextDay: '[מחר ב־]LT',\n            nextWeek: 'dddd [בשעה] LT',\n            lastDay: '[אתמול ב־]LT',\n            lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'בעוד %s',\n            past: 'לפני %s',\n            s: 'מספר שניות',\n            ss: '%d שניות',\n            m: 'דקה',\n            mm: '%d דקות',\n            h: 'שעה',\n            hh: function (number) {\n                if (number === 2) {\n                    return 'שעתיים';\n                }\n                return number + ' שעות';\n            },\n            d: 'יום',\n            dd: function (number) {\n                if (number === 2) {\n                    return 'יומיים';\n                }\n                return number + ' ימים';\n            },\n            M: 'חודש',\n            MM: function (number) {\n                if (number === 2) {\n                    return 'חודשיים';\n                }\n                return number + ' חודשים';\n            },\n            y: 'שנה',\n            yy: function (number) {\n                if (number === 2) {\n                    return 'שנתיים';\n                } else if (number % 10 === 0 && number !== 10) {\n                    return number + ' שנה';\n                }\n                return number + ' שנים';\n            },\n        },\n        meridiemParse:\n            /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n        isPM: function (input) {\n            return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 5) {\n                return 'לפנות בוקר';\n            } else if (hour < 10) {\n                return 'בבוקר';\n            } else if (hour < 12) {\n                return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n            } else if (hour < 18) {\n                return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n            } else {\n                return 'בערב';\n            }\n        },\n    });\n\n    return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        },\n        monthsParse = [\n            /^जन/i,\n            /^फ़र|फर/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सितं|सित/i,\n            /^अक्टू/i,\n            /^नव|नवं/i,\n            /^दिसं|दिस/i,\n        ],\n        shortMonthsParse = [\n            /^जन/i,\n            /^फ़र/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सित/i,\n            /^अक्टू/i,\n            /^नव/i,\n            /^दिस/i,\n        ];\n\n    var hi = moment.defineLocale('hi', {\n        months: {\n            format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n                '_'\n            ),\n            standalone:\n                'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm बजे',\n            LTS: 'A h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n        },\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: shortMonthsParse,\n\n        monthsRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsShortRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsStrictRegex:\n            /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n        monthsShortStrictRegex:\n            /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[कल] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[कल] LT',\n            lastWeek: '[पिछले] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s में',\n            past: '%s पहले',\n            s: 'कुछ ही क्षण',\n            ss: '%d सेकंड',\n            m: 'एक मिनट',\n            mm: '%d मिनट',\n            h: 'एक घंटा',\n            hh: '%d घंटे',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महीने',\n            MM: '%d महीने',\n            y: 'एक वर्ष',\n            yy: '%d वर्ष',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n        meridiemParse: /रात|सुबह|दोपहर|शाम/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सुबह') {\n                return hour;\n            } else if (meridiem === 'दोपहर') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'शाम') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात';\n            } else if (hour < 10) {\n                return 'सुबह';\n            } else if (hour < 17) {\n                return 'दोपहर';\n            } else if (hour < 20) {\n                return 'शाम';\n            } else {\n                return 'रात';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var hr = moment.defineLocale('hr', {\n        months: {\n            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n                '_'\n            ),\n            standalone:\n                'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM YYYY',\n            LLL: 'Do MMMM YYYY H:mm',\n            LLLL: 'dddd, Do MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prošlu] [nedjelju] [u] LT';\n                    case 3:\n                        return '[prošlu] [srijedu] [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt  : https://github.com/passatgt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var weekEndings =\n        'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n    function translate(number, withoutSuffix, key, isFuture) {\n        var num = number;\n        switch (key) {\n            case 's':\n                return isFuture || withoutSuffix\n                    ? 'néhány másodperc'\n                    : 'néhány másodperce';\n            case 'ss':\n                return num + (isFuture || withoutSuffix)\n                    ? ' másodperc'\n                    : ' másodperce';\n            case 'm':\n                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'mm':\n                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'h':\n                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'hh':\n                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'd':\n                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'dd':\n                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'M':\n                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'MM':\n                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'y':\n                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n            case 'yy':\n                return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n        }\n        return '';\n    }\n    function week(isFuture) {\n        return (\n            (isFuture ? '' : '[múlt] ') +\n            '[' +\n            weekEndings[this.day()] +\n            '] LT[-kor]'\n        );\n    }\n\n    var hu = moment.defineLocale('hu', {\n        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY. MMMM D.',\n            LLL: 'YYYY. MMMM D. H:mm',\n            LLLL: 'YYYY. MMMM D., dddd H:mm',\n        },\n        meridiemParse: /de|du/i,\n        isPM: function (input) {\n            return input.charAt(1).toLowerCase() === 'u';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower === true ? 'de' : 'DE';\n            } else {\n                return isLower === true ? 'du' : 'DU';\n            }\n        },\n        calendar: {\n            sameDay: '[ma] LT[-kor]',\n            nextDay: '[holnap] LT[-kor]',\n            nextWeek: function () {\n                return week.call(this, true);\n            },\n            lastDay: '[tegnap] LT[-kor]',\n            lastWeek: function () {\n                return week.call(this, false);\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s múlva',\n            past: '%s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var hyAm = moment.defineLocale('hy-am', {\n        months: {\n            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n                '_'\n            ),\n            standalone:\n                'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n        weekdays:\n            'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n                '_'\n            ),\n        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY թ.',\n            LLL: 'D MMMM YYYY թ., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n        },\n        calendar: {\n            sameDay: '[այսօր] LT',\n            nextDay: '[վաղը] LT',\n            lastDay: '[երեկ] LT',\n            nextWeek: function () {\n                return 'dddd [օրը ժամը] LT';\n            },\n            lastWeek: function () {\n                return '[անցած] dddd [օրը ժամը] LT';\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s հետո',\n            past: '%s առաջ',\n            s: 'մի քանի վայրկյան',\n            ss: '%d վայրկյան',\n            m: 'րոպե',\n            mm: '%d րոպե',\n            h: 'ժամ',\n            hh: '%d ժամ',\n            d: 'օր',\n            dd: '%d օր',\n            M: 'ամիս',\n            MM: '%d ամիս',\n            y: 'տարի',\n            yy: '%d տարի',\n        },\n        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n        isPM: function (input) {\n            return /^(ցերեկվա|երեկոյան)$/.test(input);\n        },\n        meridiem: function (hour) {\n            if (hour < 4) {\n                return 'գիշերվա';\n            } else if (hour < 12) {\n                return 'առավոտվա';\n            } else if (hour < 17) {\n                return 'ցերեկվա';\n            } else {\n                return 'երեկոյան';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'DDD':\n                case 'w':\n                case 'W':\n                case 'DDDo':\n                    if (number === 1) {\n                        return number + '-ին';\n                    }\n                    return number + '-րդ';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var id = moment.defineLocale('id', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|siang|sore|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'siang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sore' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'siang';\n            } else if (hours < 19) {\n                return 'sore';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Besok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kemarin pukul] LT',\n            lastWeek: 'dddd [lalu pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lalu',\n            s: 'beberapa detik',\n            ss: '%d detik',\n            m: 'semenit',\n            mm: '%d menit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(n) {\n        if (n % 100 === 11) {\n            return true;\n        } else if (n % 10 === 1) {\n            return false;\n        }\n        return true;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nokkrar sekúndur'\n                    : 'nokkrum sekúndum';\n            case 'ss':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n                    );\n                }\n                return result + 'sekúnda';\n            case 'm':\n                return withoutSuffix ? 'mínúta' : 'mínútu';\n            case 'mm':\n                if (plural(number)) {\n                    return (\n                        result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n                    );\n                } else if (withoutSuffix) {\n                    return result + 'mínúta';\n                }\n                return result + 'mínútu';\n            case 'hh':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture\n                            ? 'klukkustundir'\n                            : 'klukkustundum')\n                    );\n                }\n                return result + 'klukkustund';\n            case 'd':\n                if (withoutSuffix) {\n                    return 'dagur';\n                }\n                return isFuture ? 'dag' : 'degi';\n            case 'dd':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'dagar';\n                    }\n                    return result + (isFuture ? 'daga' : 'dögum');\n                } else if (withoutSuffix) {\n                    return result + 'dagur';\n                }\n                return result + (isFuture ? 'dag' : 'degi');\n            case 'M':\n                if (withoutSuffix) {\n                    return 'mánuður';\n                }\n                return isFuture ? 'mánuð' : 'mánuði';\n            case 'MM':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'mánuðir';\n                    }\n                    return result + (isFuture ? 'mánuði' : 'mánuðum');\n                } else if (withoutSuffix) {\n                    return result + 'mánuður';\n                }\n                return result + (isFuture ? 'mánuð' : 'mánuði');\n            case 'y':\n                return withoutSuffix || isFuture ? 'ár' : 'ári';\n            case 'yy':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n                }\n                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n        }\n    }\n\n    var is = moment.defineLocale('is', {\n        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n        },\n        calendar: {\n            sameDay: '[í dag kl.] LT',\n            nextDay: '[á morgun kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[í gær kl.] LT',\n            lastWeek: '[síðasta] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'eftir %s',\n            past: 'fyrir %s síðan',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: 'klukkustund',\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var itCh = moment.defineLocale('it-ch', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var it = moment.defineLocale('it', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return (\n                    '[Oggi a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextDay: function () {\n                return (\n                    '[Domani a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextWeek: function () {\n                return (\n                    'dddd [a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastDay: function () {\n                return (\n                    '[Ieri a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return (\n                            '[La scorsa] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                  ? ' '\n                                  : \"ll'\") +\n                            ']LT'\n                        );\n                    default:\n                        return (\n                            '[Lo scorso] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                  ? ' '\n                                  : \"ll'\") +\n                            ']LT'\n                        );\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'tra %s',\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            w: 'una settimana',\n            ww: '%d settimane',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ja = moment.defineLocale('ja', {\n        eras: [\n            {\n                since: '2019-05-01',\n                offset: 1,\n                name: '令和',\n                narrow: '㋿',\n                abbr: 'R',\n            },\n            {\n                since: '1989-01-08',\n                until: '2019-04-30',\n                offset: 1,\n                name: '平成',\n                narrow: '㍻',\n                abbr: 'H',\n            },\n            {\n                since: '1926-12-25',\n                until: '1989-01-07',\n                offset: 1,\n                name: '昭和',\n                narrow: '㍼',\n                abbr: 'S',\n            },\n            {\n                since: '1912-07-30',\n                until: '1926-12-24',\n                offset: 1,\n                name: '大正',\n                narrow: '㍽',\n                abbr: 'T',\n            },\n            {\n                since: '1873-01-01',\n                until: '1912-07-29',\n                offset: 6,\n                name: '明治',\n                narrow: '㍾',\n                abbr: 'M',\n            },\n            {\n                since: '0001-01-01',\n                until: '1873-12-31',\n                offset: 1,\n                name: '西暦',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: '紀元前',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        eraYearOrdinalRegex: /(元|\\d+)年/,\n        eraYearOrdinalParse: function (input, match) {\n            return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n        },\n        months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日 dddd HH:mm',\n            l: 'YYYY/MM/DD',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日(ddd) HH:mm',\n        },\n        meridiemParse: /午前|午後/i,\n        isPM: function (input) {\n            return input === '午後';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return '午前';\n            } else {\n                return '午後';\n            }\n        },\n        calendar: {\n            sameDay: '[今日] LT',\n            nextDay: '[明日] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[来週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            lastDay: '[昨日] LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[先週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}日/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'y':\n                    return number === 1 ? '元年' : number + '年';\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '数秒',\n            ss: '%d秒',\n            m: '1分',\n            mm: '%d分',\n            h: '1時間',\n            hh: '%d時間',\n            d: '1日',\n            dd: '%d日',\n            M: '1ヶ月',\n            MM: '%dヶ月',\n            y: '1年',\n            yy: '%d年',\n        },\n    });\n\n    return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var jv = moment.defineLocale('jv', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /enjing|siyang|sonten|ndalu/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'enjing') {\n                return hour;\n            } else if (meridiem === 'siyang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'enjing';\n            } else if (hours < 15) {\n                return 'siyang';\n            } else if (hours < 19) {\n                return 'sonten';\n            } else {\n                return 'ndalu';\n            }\n        },\n        calendar: {\n            sameDay: '[Dinten puniko pukul] LT',\n            nextDay: '[Mbenjang pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kala wingi pukul] LT',\n            lastWeek: 'dddd [kepengker pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'wonten ing %s',\n            past: '%s ingkang kepengker',\n            s: 'sawetawis detik',\n            ss: '%d detik',\n            m: 'setunggal menit',\n            mm: '%d menit',\n            h: 'setunggal jam',\n            hh: '%d jam',\n            d: 'sedinten',\n            dd: '%d dinten',\n            M: 'sewulan',\n            MM: '%d wulan',\n            y: 'setaun',\n            yy: '%d taun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ka = moment.defineLocale('ka', {\n        months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n            '_'\n        ),\n        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n        weekdays: {\n            standalone:\n                'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n                    '_'\n                ),\n            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n                '_'\n            ),\n            isFormat: /(წინა|შემდეგ)/,\n        },\n        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[დღეს] LT[-ზე]',\n            nextDay: '[ხვალ] LT[-ზე]',\n            lastDay: '[გუშინ] LT[-ზე]',\n            nextWeek: '[შემდეგ] dddd LT[-ზე]',\n            lastWeek: '[წინა] dddd LT-ზე',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return s.replace(\n                    /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n                    function ($0, $1, $2) {\n                        return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n                    }\n                );\n            },\n            past: function (s) {\n                if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n                    return s.replace(/(ი|ე)$/, 'ის წინ');\n                }\n                if (/წელი/.test(s)) {\n                    return s.replace(/წელი$/, 'წლის წინ');\n                }\n                return s;\n            },\n            s: 'რამდენიმე წამი',\n            ss: '%d წამი',\n            m: 'წუთი',\n            mm: '%d წუთი',\n            h: 'საათი',\n            hh: '%d საათი',\n            d: 'დღე',\n            dd: '%d დღე',\n            M: 'თვე',\n            MM: '%d თვე',\n            y: 'წელი',\n            yy: '%d წელი',\n        },\n        dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n        ordinal: function (number) {\n            if (number === 0) {\n                return number;\n            }\n            if (number === 1) {\n                return number + '-ლი';\n            }\n            if (\n                number < 20 ||\n                (number <= 100 && number % 20 === 0) ||\n                number % 100 === 0\n            ) {\n                return 'მე-' + number;\n            }\n            return number + '-ე';\n        },\n        week: {\n            dow: 1,\n            doy: 7,\n        },\n    });\n\n    return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ші',\n        1: '-ші',\n        2: '-ші',\n        3: '-ші',\n        4: '-ші',\n        5: '-ші',\n        6: '-шы',\n        7: '-ші',\n        8: '-ші',\n        9: '-шы',\n        10: '-шы',\n        20: '-шы',\n        30: '-шы',\n        40: '-шы',\n        50: '-ші',\n        60: '-шы',\n        70: '-ші',\n        80: '-ші',\n        90: '-шы',\n        100: '-ші',\n    };\n\n    var kk = moment.defineLocale('kk', {\n        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n            '_'\n        ),\n        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n            '_'\n        ),\n        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгін сағат] LT',\n            nextDay: '[Ертең сағат] LT',\n            nextWeek: 'dddd [сағат] LT',\n            lastDay: '[Кеше сағат] LT',\n            lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ішінде',\n            past: '%s бұрын',\n            s: 'бірнеше секунд',\n            ss: '%d секунд',\n            m: 'бір минут',\n            mm: '%d минут',\n            h: 'бір сағат',\n            hh: '%d сағат',\n            d: 'бір күн',\n            dd: '%d күн',\n            M: 'бір ай',\n            MM: '%d ай',\n            y: 'бір жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '១',\n            2: '២',\n            3: '៣',\n            4: '៤',\n            5: '៥',\n            6: '៦',\n            7: '៧',\n            8: '៨',\n            9: '៩',\n            0: '០',\n        },\n        numberMap = {\n            '១': '1',\n            '២': '2',\n            '៣': '3',\n            '៤': '4',\n            '៥': '5',\n            '៦': '6',\n            '៧': '7',\n            '៨': '8',\n            '៩': '9',\n            '០': '0',\n        };\n\n    var km = moment.defineLocale('km', {\n        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        monthsShort:\n            'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n                '_'\n            ),\n        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ព្រឹក|ល្ងាច/,\n        isPM: function (input) {\n            return input === 'ល្ងាច';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ព្រឹក';\n            } else {\n                return 'ល្ងាច';\n            }\n        },\n        calendar: {\n            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n            nextDay: '[ស្អែក ម៉ោង] LT',\n            nextWeek: 'dddd [ម៉ោង] LT',\n            lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sទៀត',\n            past: '%sមុន',\n            s: 'ប៉ុន្មានវិនាទី',\n            ss: '%d វិនាទី',\n            m: 'មួយនាទី',\n            mm: '%d នាទី',\n            h: 'មួយម៉ោង',\n            hh: '%d ម៉ោង',\n            d: 'មួយថ្ងៃ',\n            dd: '%d ថ្ងៃ',\n            M: 'មួយខែ',\n            MM: '%d ខែ',\n            y: 'មួយឆ្នាំ',\n            yy: '%d ឆ្នាំ',\n        },\n        dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n        ordinal: 'ទី%d',\n        preparse: function (string) {\n            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '೧',\n            2: '೨',\n            3: '೩',\n            4: '೪',\n            5: '೫',\n            6: '೬',\n            7: '೭',\n            8: '೮',\n            9: '೯',\n            0: '೦',\n        },\n        numberMap = {\n            '೧': '1',\n            '೨': '2',\n            '೩': '3',\n            '೪': '4',\n            '೫': '5',\n            '೬': '6',\n            '೭': '7',\n            '೮': '8',\n            '೯': '9',\n            '೦': '0',\n        };\n\n    var kn = moment.defineLocale('kn', {\n        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n            '_'\n        ),\n        monthsShort:\n            'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[ಇಂದು] LT',\n            nextDay: '[ನಾಳೆ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ನಿನ್ನೆ] LT',\n            lastWeek: '[ಕೊನೆಯ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ನಂತರ',\n            past: '%s ಹಿಂದೆ',\n            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n            ss: '%d ಸೆಕೆಂಡುಗಳು',\n            m: 'ಒಂದು ನಿಮಿಷ',\n            mm: '%d ನಿಮಿಷ',\n            h: 'ಒಂದು ಗಂಟೆ',\n            hh: '%d ಗಂಟೆ',\n            d: 'ಒಂದು ದಿನ',\n            dd: '%d ದಿನ',\n            M: 'ಒಂದು ತಿಂಗಳು',\n            MM: '%d ತಿಂಗಳು',\n            y: 'ಒಂದು ವರ್ಷ',\n            yy: '%d ವರ್ಷ',\n        },\n        preparse: function (string) {\n            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ರಾತ್ರಿ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n                return hour;\n            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ಸಂಜೆ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ರಾತ್ರಿ';\n            } else if (hour < 10) {\n                return 'ಬೆಳಿಗ್ಗೆ';\n            } else if (hour < 17) {\n                return 'ಮಧ್ಯಾಹ್ನ';\n            } else if (hour < 20) {\n                return 'ಸಂಜೆ';\n            } else {\n                return 'ರಾತ್ರಿ';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n        ordinal: function (number) {\n            return number + 'ನೇ';\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ko = moment.defineLocale('ko', {\n        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n            '_'\n        ),\n        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY년 MMMM D일',\n            LLL: 'YYYY년 MMMM D일 A h:mm',\n            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n            l: 'YYYY.MM.DD.',\n            ll: 'YYYY년 MMMM D일',\n            lll: 'YYYY년 MMMM D일 A h:mm',\n            llll: 'YYYY년 MMMM D일 dddd A h:mm',\n        },\n        calendar: {\n            sameDay: '오늘 LT',\n            nextDay: '내일 LT',\n            nextWeek: 'dddd LT',\n            lastDay: '어제 LT',\n            lastWeek: '지난주 dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s 후',\n            past: '%s 전',\n            s: '몇 초',\n            ss: '%d초',\n            m: '1분',\n            mm: '%d분',\n            h: '한 시간',\n            hh: '%d시간',\n            d: '하루',\n            dd: '%d일',\n            M: '한 달',\n            MM: '%d달',\n            y: '일 년',\n            yy: '%d년',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '일';\n                case 'M':\n                    return number + '월';\n                case 'w':\n                case 'W':\n                    return number + '주';\n                default:\n                    return number;\n            }\n        },\n        meridiemParse: /오전|오후/,\n        isPM: function (token) {\n            return token === '오후';\n        },\n        meridiem: function (hour, minute, isUpper) {\n            return hour < 12 ? '오전' : '오후';\n        },\n    });\n\n    return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Kurdish [ku-kmr]\n//! authors : Mazlum Özdogan : https://github.com/mergehez\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(num, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['çend sanîye', 'çend sanîyeyan'],\n            ss: [num + ' sanîye', num + ' sanîyeyan'],\n            m: ['deqîqeyek', 'deqîqeyekê'],\n            mm: [num + ' deqîqe', num + ' deqîqeyan'],\n            h: ['saetek', 'saetekê'],\n            hh: [num + ' saet', num + ' saetan'],\n            d: ['rojek', 'rojekê'],\n            dd: [num + ' roj', num + ' rojan'],\n            w: ['hefteyek', 'hefteyekê'],\n            ww: [num + ' hefte', num + ' hefteyan'],\n            M: ['mehek', 'mehekê'],\n            MM: [num + ' meh', num + ' mehan'],\n            y: ['salek', 'salekê'],\n            yy: [num + ' sal', num + ' salan'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    // function obliqueNumSuffix(num) {\n    //     if(num.includes(':'))\n    //         num = parseInt(num.split(':')[0]);\n    //     else\n    //         num = parseInt(num);\n    //     return num == 0 || num % 10 == 1 ? 'ê'\n    //                         : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n    // }\n    function ezafeNumSuffix(num) {\n        num = '' + num;\n        var l = num.substring(num.length - 1),\n            ll = num.length > 1 ? num.substring(num.length - 2) : '';\n        if (\n            !(ll == 12 || ll == 13) &&\n            (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n        )\n            return 'yê';\n        return 'ê';\n    }\n\n    var kuKmr = moment.defineLocale('ku-kmr', {\n        // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n        // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n        // But the names below are more well known and handy\n        months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n            '_'\n        ),\n        monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n        weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n        weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'bn' : 'BN';\n            } else {\n                return isLower ? 'pn' : 'PN';\n            }\n        },\n        meridiemParse: /bn|BN|pn|PN/,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[a] YYYY[an]',\n            LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n            LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n            ll: 'Do MMM[.] YYYY[an]',\n            lll: 'Do MMM[.] YYYY[an] HH:mm',\n            llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Îro di saet] LT [de]',\n            nextDay: '[Sibê di saet] LT [de]',\n            nextWeek: 'dddd [di saet] LT [de]',\n            lastDay: '[Duh di saet] LT [de]',\n            lastWeek: 'dddd[a borî di saet] LT [de]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'di %s de',\n            past: 'berî %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n        ordinal: function (num, period) {\n            var p = period.toLowerCase();\n            if (p.includes('w') || p.includes('m')) return num + '.';\n\n            return num + ezafeNumSuffix(num);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return kuKmr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        months = [\n            'کانونی دووەم',\n            'شوبات',\n            'ئازار',\n            'نیسان',\n            'ئایار',\n            'حوزەیران',\n            'تەمموز',\n            'ئاب',\n            'ئەیلوول',\n            'تشرینی یەكەم',\n            'تشرینی دووەم',\n            'كانونی یەکەم',\n        ];\n\n    var ku = moment.defineLocale('ku', {\n        months: months,\n        monthsShort: months,\n        weekdays:\n            'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n        weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ئێواره‌|به‌یانی/,\n        isPM: function (input) {\n            return /ئێواره‌/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'به‌یانی';\n            } else {\n                return 'ئێواره‌';\n            }\n        },\n        calendar: {\n            sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n            nextDay: '[به‌یانی كاتژمێر] LT',\n            nextWeek: 'dddd [كاتژمێر] LT',\n            lastDay: '[دوێنێ كاتژمێر] LT',\n            lastWeek: 'dddd [كاتژمێر] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'له‌ %s',\n            past: '%s',\n            s: 'چه‌ند چركه‌یه‌ك',\n            ss: 'چركه‌ %d',\n            m: 'یه‌ك خوله‌ك',\n            mm: '%d خوله‌ك',\n            h: 'یه‌ك كاتژمێر',\n            hh: '%d كاتژمێر',\n            d: 'یه‌ك ڕۆژ',\n            dd: '%d ڕۆژ',\n            M: 'یه‌ك مانگ',\n            MM: '%d مانگ',\n            y: 'یه‌ك ساڵ',\n            yy: '%d ساڵ',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-чү',\n        1: '-чи',\n        2: '-чи',\n        3: '-чү',\n        4: '-чү',\n        5: '-чи',\n        6: '-чы',\n        7: '-чи',\n        8: '-чи',\n        9: '-чу',\n        10: '-чу',\n        20: '-чы',\n        30: '-чу',\n        40: '-чы',\n        50: '-чү',\n        60: '-чы',\n        70: '-чи',\n        80: '-чи',\n        90: '-чу',\n        100: '-чү',\n    };\n\n    var ky = moment.defineLocale('ky', {\n        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n            '_'\n        ),\n        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n            '_'\n        ),\n        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгүн саат] LT',\n            nextDay: '[Эртең саат] LT',\n            nextWeek: 'dddd [саат] LT',\n            lastDay: '[Кечээ саат] LT',\n            lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ичинде',\n            past: '%s мурун',\n            s: 'бирнече секунд',\n            ss: '%d секунд',\n            m: 'бир мүнөт',\n            mm: '%d мүнөт',\n            h: 'бир саат',\n            hh: '%d саат',\n            d: 'бир күн',\n            dd: '%d күн',\n            M: 'бир ай',\n            MM: '%d ай',\n            y: 'бир жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eng Minutt', 'enger Minutt'],\n            h: ['eng Stonn', 'enger Stonn'],\n            d: ['een Dag', 'engem Dag'],\n            M: ['ee Mount', 'engem Mount'],\n            y: ['ee Joer', 'engem Joer'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    function processFutureTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'a ' + string;\n        }\n        return 'an ' + string;\n    }\n    function processPastTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'viru ' + string;\n        }\n        return 'virun ' + string;\n    }\n    /**\n     * Returns true if the word before the given number loses the '-n' ending.\n     * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n     *\n     * @param number {integer}\n     * @returns {boolean}\n     */\n    function eifelerRegelAppliesToNumber(number) {\n        number = parseInt(number, 10);\n        if (isNaN(number)) {\n            return false;\n        }\n        if (number < 0) {\n            // Negative Number --> always true\n            return true;\n        } else if (number < 10) {\n            // Only 1 digit\n            if (4 <= number && number <= 7) {\n                return true;\n            }\n            return false;\n        } else if (number < 100) {\n            // 2 digits\n            var lastDigit = number % 10,\n                firstDigit = number / 10;\n            if (lastDigit === 0) {\n                return eifelerRegelAppliesToNumber(firstDigit);\n            }\n            return eifelerRegelAppliesToNumber(lastDigit);\n        } else if (number < 10000) {\n            // 3 or 4 digits --> recursively check first digit\n            while (number >= 10) {\n                number = number / 10;\n            }\n            return eifelerRegelAppliesToNumber(number);\n        } else {\n            // Anything larger than 4 digits: recursively check first n-3 digits\n            number = number / 1000;\n            return eifelerRegelAppliesToNumber(number);\n        }\n    }\n\n    var lb = moment.defineLocale('lb', {\n        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm [Auer]',\n            LTS: 'H:mm:ss [Auer]',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm [Auer]',\n            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n        },\n        calendar: {\n            sameDay: '[Haut um] LT',\n            sameElse: 'L',\n            nextDay: '[Muer um] LT',\n            nextWeek: 'dddd [um] LT',\n            lastDay: '[Gëschter um] LT',\n            lastWeek: function () {\n                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n                switch (this.day()) {\n                    case 2:\n                    case 4:\n                        return '[Leschten] dddd [um] LT';\n                    default:\n                        return '[Leschte] dddd [um] LT';\n                }\n            },\n        },\n        relativeTime: {\n            future: processFutureTime,\n            past: processPastTime,\n            s: 'e puer Sekonnen',\n            ss: '%d Sekonnen',\n            m: processRelativeTime,\n            mm: '%d Minutten',\n            h: processRelativeTime,\n            hh: '%d Stonnen',\n            d: processRelativeTime,\n            dd: '%d Deeg',\n            M: processRelativeTime,\n            MM: '%d Méint',\n            y: processRelativeTime,\n            yy: '%d Joer',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var lo = moment.defineLocale('lo', {\n        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n                '_'\n            ),\n        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n        isPM: function (input) {\n            return input === 'ຕອນແລງ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ຕອນເຊົ້າ';\n            } else {\n                return 'ຕອນແລງ';\n            }\n        },\n        calendar: {\n            sameDay: '[ມື້ນີ້ເວລາ] LT',\n            nextDay: '[ມື້ອື່ນເວລາ] LT',\n            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n            lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ອີກ %s',\n            past: '%sຜ່ານມາ',\n            s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n            ss: '%d ວິນາທີ',\n            m: '1 ນາທີ',\n            mm: '%d ນາທີ',\n            h: '1 ຊົ່ວໂມງ',\n            hh: '%d ຊົ່ວໂມງ',\n            d: '1 ມື້',\n            dd: '%d ມື້',\n            M: '1 ເດືອນ',\n            MM: '%d ເດືອນ',\n            y: '1 ປີ',\n            yy: '%d ປີ',\n        },\n        dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n        ordinal: function (number) {\n            return 'ທີ່' + number;\n        },\n    });\n\n    return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundė_sekundžių_sekundes',\n        m: 'minutė_minutės_minutę',\n        mm: 'minutės_minučių_minutes',\n        h: 'valanda_valandos_valandą',\n        hh: 'valandos_valandų_valandas',\n        d: 'diena_dienos_dieną',\n        dd: 'dienos_dienų_dienas',\n        M: 'mėnuo_mėnesio_mėnesį',\n        MM: 'mėnesiai_mėnesių_mėnesius',\n        y: 'metai_metų_metus',\n        yy: 'metai_metų_metus',\n    };\n    function translateSeconds(number, withoutSuffix, key, isFuture) {\n        if (withoutSuffix) {\n            return 'kelios sekundės';\n        } else {\n            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n        }\n    }\n    function translateSingular(number, withoutSuffix, key, isFuture) {\n        return withoutSuffix\n            ? forms(key)[0]\n            : isFuture\n              ? forms(key)[1]\n              : forms(key)[2];\n    }\n    function special(number) {\n        return number % 10 === 0 || (number > 10 && number < 20);\n    }\n    function forms(key) {\n        return units[key].split('_');\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        if (number === 1) {\n            return (\n                result + translateSingular(number, withoutSuffix, key[0], isFuture)\n            );\n        } else if (withoutSuffix) {\n            return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n        } else {\n            if (isFuture) {\n                return result + forms(key)[1];\n            } else {\n                return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n            }\n        }\n    }\n    var lt = moment.defineLocale('lt', {\n        months: {\n            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n                '_'\n            ),\n            standalone:\n                'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n                    '_'\n                ),\n            isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n        },\n        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n        weekdays: {\n            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n                '_'\n            ),\n            standalone:\n                'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n                    '_'\n                ),\n            isFormat: /dddd HH:mm/,\n        },\n        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n        weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY [m.] MMMM D [d.]',\n            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n            l: 'YYYY-MM-DD',\n            ll: 'YYYY [m.] MMMM D [d.]',\n            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n        },\n        calendar: {\n            sameDay: '[Šiandien] LT',\n            nextDay: '[Rytoj] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[Vakar] LT',\n            lastWeek: '[Praėjusį] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'po %s',\n            past: 'prieš %s',\n            s: translateSeconds,\n            ss: translate,\n            m: translateSingular,\n            mm: translate,\n            h: translateSingular,\n            hh: translate,\n            d: translateSingular,\n            dd: translate,\n            M: translateSingular,\n            MM: translate,\n            y: translateSingular,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n        ordinal: function (number) {\n            return number + '-oji';\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n        m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        h: 'stundas_stundām_stunda_stundas'.split('_'),\n        hh: 'stundas_stundām_stunda_stundas'.split('_'),\n        d: 'dienas_dienām_diena_dienas'.split('_'),\n        dd: 'dienas_dienām_diena_dienas'.split('_'),\n        M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        y: 'gada_gadiem_gads_gadi'.split('_'),\n        yy: 'gada_gadiem_gads_gadi'.split('_'),\n    };\n    /**\n     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n     */\n    function format(forms, number, withoutSuffix) {\n        if (withoutSuffix) {\n            // E.g. \"21 minūte\", \"3 minūtes\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n        } else {\n            // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n            // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n        }\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        return number + ' ' + format(units[key], number, withoutSuffix);\n    }\n    function relativeTimeWithSingular(number, withoutSuffix, key) {\n        return format(units[key], number, withoutSuffix);\n    }\n    function relativeSeconds(number, withoutSuffix) {\n        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n    }\n\n    var lv = moment.defineLocale('lv', {\n        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n        weekdays:\n            'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY.',\n            LL: 'YYYY. [gada] D. MMMM',\n            LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n        },\n        calendar: {\n            sameDay: '[Šodien pulksten] LT',\n            nextDay: '[Rīt pulksten] LT',\n            nextWeek: 'dddd [pulksten] LT',\n            lastDay: '[Vakar pulksten] LT',\n            lastWeek: '[Pagājušā] dddd [pulksten] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'pēc %s',\n            past: 'pirms %s',\n            s: relativeSeconds,\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithSingular,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithSingular,\n            hh: relativeTimeWithPlural,\n            d: relativeTimeWithSingular,\n            dd: relativeTimeWithPlural,\n            M: relativeTimeWithSingular,\n            MM: relativeTimeWithPlural,\n            y: relativeTimeWithSingular,\n            yy: relativeTimeWithPlural,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekund', 'sekunda', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mjesec', 'mjeseca', 'mjeseci'],\n            yy: ['godina', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                  ? wordKey[1]\n                  : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var me = moment.defineLocale('me', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sjutra u] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedjelje] [u] LT',\n                    '[prošlog] [ponedjeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srijede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'dan',\n            dd: translator.translate,\n            M: 'mjesec',\n            MM: translator.translate,\n            y: 'godinu',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mi = moment.defineLocale('mi', {\n        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n            '_'\n        ),\n        monthsShort:\n            'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n                '_'\n            ),\n        monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [i] HH:mm',\n            LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i teie mahana, i] LT',\n            nextDay: '[apopo i] LT',\n            nextWeek: 'dddd [i] LT',\n            lastDay: '[inanahi i] LT',\n            lastWeek: 'dddd [whakamutunga i] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i roto i %s',\n            past: '%s i mua',\n            s: 'te hēkona ruarua',\n            ss: '%d hēkona',\n            m: 'he meneti',\n            mm: '%d meneti',\n            h: 'te haora',\n            hh: '%d haora',\n            d: 'he ra',\n            dd: '%d ra',\n            M: 'he marama',\n            MM: '%d marama',\n            y: 'he tau',\n            yy: '%d tau',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mk = moment.defineLocale('mk', {\n        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Денес во] LT',\n            nextDay: '[Утре во] LT',\n            nextWeek: '[Во] dddd [во] LT',\n            lastDay: '[Вчера во] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Изминатата] dddd [во] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Изминатиот] dddd [во] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пред %s',\n            s: 'неколку секунди',\n            ss: '%d секунди',\n            m: 'една минута',\n            mm: '%d минути',\n            h: 'еден час',\n            hh: '%d часа',\n            d: 'еден ден',\n            dd: '%d дена',\n            M: 'еден месец',\n            MM: '%d месеци',\n            y: 'една година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ml = moment.defineLocale('ml', {\n        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n                '_'\n            ),\n        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm -നു',\n            LTS: 'A h:mm:ss -നു',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm -നു',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n        },\n        calendar: {\n            sameDay: '[ഇന്ന്] LT',\n            nextDay: '[നാളെ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ഇന്നലെ] LT',\n            lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s കഴിഞ്ഞ്',\n            past: '%s മുൻപ്',\n            s: 'അൽപ നിമിഷങ്ങൾ',\n            ss: '%d സെക്കൻഡ്',\n            m: 'ഒരു മിനിറ്റ്',\n            mm: '%d മിനിറ്റ്',\n            h: 'ഒരു മണിക്കൂർ',\n            hh: '%d മണിക്കൂർ',\n            d: 'ഒരു ദിവസം',\n            dd: '%d ദിവസം',\n            M: 'ഒരു മാസം',\n            MM: '%d മാസം',\n            y: 'ഒരു വർഷം',\n            yy: '%d വർഷം',\n        },\n        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'രാത്രി' && hour >= 4) ||\n                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n                meridiem === 'വൈകുന്നേരം'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'രാത്രി';\n            } else if (hour < 12) {\n                return 'രാവിലെ';\n            } else if (hour < 17) {\n                return 'ഉച്ച കഴിഞ്ഞ്';\n            } else if (hour < 20) {\n                return 'വൈകുന്നേരം';\n            } else {\n                return 'രാത്രി';\n            }\n        },\n    });\n\n    return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 's':\n                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n            case 'ss':\n                return number + (withoutSuffix ? ' секунд' : ' секундын');\n            case 'm':\n            case 'mm':\n                return number + (withoutSuffix ? ' минут' : ' минутын');\n            case 'h':\n            case 'hh':\n                return number + (withoutSuffix ? ' цаг' : ' цагийн');\n            case 'd':\n            case 'dd':\n                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n            case 'M':\n            case 'MM':\n                return number + (withoutSuffix ? ' сар' : ' сарын');\n            case 'y':\n            case 'yy':\n                return number + (withoutSuffix ? ' жил' : ' жилийн');\n            default:\n                return number;\n        }\n    }\n\n    var mn = moment.defineLocale('mn', {\n        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n            '_'\n        ),\n        monthsShort:\n            '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY оны MMMMын D',\n            LLL: 'YYYY оны MMMMын D HH:mm',\n            LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n        },\n        meridiemParse: /ҮӨ|ҮХ/i,\n        isPM: function (input) {\n            return input === 'ҮХ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ҮӨ';\n            } else {\n                return 'ҮХ';\n            }\n        },\n        calendar: {\n            sameDay: '[Өнөөдөр] LT',\n            nextDay: '[Маргааш] LT',\n            nextWeek: '[Ирэх] dddd LT',\n            lastDay: '[Өчигдөр] LT',\n            lastWeek: '[Өнгөрсөн] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s дараа',\n            past: '%s өмнө',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + ' өдөр';\n                default:\n                    return number;\n            }\n        },\n    });\n\n    return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n        var output = '';\n        if (withoutSuffix) {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंद';\n                    break;\n                case 'ss':\n                    output = '%d सेकंद';\n                    break;\n                case 'm':\n                    output = 'एक मिनिट';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटे';\n                    break;\n                case 'h':\n                    output = 'एक तास';\n                    break;\n                case 'hh':\n                    output = '%d तास';\n                    break;\n                case 'd':\n                    output = 'एक दिवस';\n                    break;\n                case 'dd':\n                    output = '%d दिवस';\n                    break;\n                case 'M':\n                    output = 'एक महिना';\n                    break;\n                case 'MM':\n                    output = '%d महिने';\n                    break;\n                case 'y':\n                    output = 'एक वर्ष';\n                    break;\n                case 'yy':\n                    output = '%d वर्षे';\n                    break;\n            }\n        } else {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंदां';\n                    break;\n                case 'ss':\n                    output = '%d सेकंदां';\n                    break;\n                case 'm':\n                    output = 'एका मिनिटा';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटां';\n                    break;\n                case 'h':\n                    output = 'एका तासा';\n                    break;\n                case 'hh':\n                    output = '%d तासां';\n                    break;\n                case 'd':\n                    output = 'एका दिवसा';\n                    break;\n                case 'dd':\n                    output = '%d दिवसां';\n                    break;\n                case 'M':\n                    output = 'एका महिन्या';\n                    break;\n                case 'MM':\n                    output = '%d महिन्यां';\n                    break;\n                case 'y':\n                    output = 'एका वर्षा';\n                    break;\n                case 'yy':\n                    output = '%d वर्षां';\n                    break;\n            }\n        }\n        return output.replace(/%d/i, number);\n    }\n\n    var mr = moment.defineLocale('mr', {\n        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm वाजता',\n            LTS: 'A h:mm:ss वाजता',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm वाजता',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[उद्या] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[मागील] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमध्ये',\n            past: '%sपूर्वी',\n            s: relativeTimeMr,\n            ss: relativeTimeMr,\n            m: relativeTimeMr,\n            mm: relativeTimeMr,\n            h: relativeTimeMr,\n            hh: relativeTimeMr,\n            d: relativeTimeMr,\n            dd: relativeTimeMr,\n            M: relativeTimeMr,\n            MM: relativeTimeMr,\n            y: relativeTimeMr,\n            yy: relativeTimeMr,\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n                return hour;\n            } else if (\n                meridiem === 'दुपारी' ||\n                meridiem === 'सायंकाळी' ||\n                meridiem === 'रात्री'\n            ) {\n                return hour >= 12 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour >= 0 && hour < 6) {\n                return 'पहाटे';\n            } else if (hour < 12) {\n                return 'सकाळी';\n            } else if (hour < 17) {\n                return 'दुपारी';\n            } else if (hour < 20) {\n                return 'सायंकाळी';\n            } else {\n                return 'रात्री';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var msMy = moment.defineLocale('ms-my', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ms = moment.defineLocale('ms', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mt = moment.defineLocale('mt', {\n        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n        weekdays:\n            'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n                '_'\n            ),\n        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Illum fil-]LT',\n            nextDay: '[Għada fil-]LT',\n            nextWeek: 'dddd [fil-]LT',\n            lastDay: '[Il-bieraħ fil-]LT',\n            lastWeek: 'dddd [li għadda] [fil-]LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'f’ %s',\n            past: '%s ilu',\n            s: 'ftit sekondi',\n            ss: '%d sekondi',\n            m: 'minuta',\n            mm: '%d minuti',\n            h: 'siegħa',\n            hh: '%d siegħat',\n            d: 'ġurnata',\n            dd: '%d ġranet',\n            M: 'xahar',\n            MM: '%d xhur',\n            y: 'sena',\n            yy: '%d sni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '၁',\n            2: '၂',\n            3: '၃',\n            4: '၄',\n            5: '၅',\n            6: '၆',\n            7: '၇',\n            8: '၈',\n            9: '၉',\n            0: '၀',\n        },\n        numberMap = {\n            '၁': '1',\n            '၂': '2',\n            '၃': '3',\n            '၄': '4',\n            '၅': '5',\n            '၆': '6',\n            '၇': '7',\n            '၈': '8',\n            '၉': '9',\n            '၀': '0',\n        };\n\n    var my = moment.defineLocale('my', {\n        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n            '_'\n        ),\n        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n            '_'\n        ),\n        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ယနေ.] LT [မှာ]',\n            nextDay: '[မနက်ဖြန်] LT [မှာ]',\n            nextWeek: 'dddd LT [မှာ]',\n            lastDay: '[မနေ.က] LT [မှာ]',\n            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'လာမည့် %s မှာ',\n            past: 'လွန်ခဲ့သော %s က',\n            s: 'စက္ကန်.အနည်းငယ်',\n            ss: '%d စက္ကန့်',\n            m: 'တစ်မိနစ်',\n            mm: '%d မိနစ်',\n            h: 'တစ်နာရီ',\n            hh: '%d နာရီ',\n            d: 'တစ်ရက်',\n            dd: '%d ရက်',\n            M: 'တစ်လ',\n            MM: '%d လ',\n            y: 'တစ်နှစ်',\n            yy: '%d နှစ်',\n        },\n        preparse: function (string) {\n            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//!           Sigurd Gartmann : https://github.com/sigurdga\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nb = moment.defineLocale('nb', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[forrige] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'noen sekunder',\n            ss: '%d sekunder',\n            m: 'ett minutt',\n            mm: '%d minutter',\n            h: 'én time',\n            hh: '%d timer',\n            d: 'én dag',\n            dd: '%d dager',\n            w: 'én uke',\n            ww: '%d uker',\n            M: 'én måned',\n            MM: '%d måneder',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    var ne = moment.defineLocale('ne', {\n        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n            '_'\n        ),\n        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'Aको h:mm बजे',\n            LTS: 'Aको h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, Aको h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राति') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'बिहान') {\n                return hour;\n            } else if (meridiem === 'दिउँसो') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'साँझ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 3) {\n                return 'राति';\n            } else if (hour < 12) {\n                return 'बिहान';\n            } else if (hour < 16) {\n                return 'दिउँसो';\n            } else if (hour < 20) {\n                return 'साँझ';\n            } else {\n                return 'राति';\n            }\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[भोलि] LT',\n            nextWeek: '[आउँदो] dddd[,] LT',\n            lastDay: '[हिजो] LT',\n            lastWeek: '[गएको] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमा',\n            past: '%s अगाडि',\n            s: 'केही क्षण',\n            ss: '%d सेकेण्ड',\n            m: 'एक मिनेट',\n            mm: '%d मिनेट',\n            h: 'एक घण्टा',\n            hh: '%d घण्टा',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महिना',\n            MM: '%d महिना',\n            y: 'एक बर्ष',\n            yy: '%d बर्ष',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^(maart|mrt\\.?)$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nlBe = moment.defineLocale('nl-be', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^(maart|mrt\\.?)$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nl = moment.defineLocale('nl', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            w: 'één week',\n            ww: '%d weken',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nn = moment.defineLocale('nn', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n        weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n        weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[I dag klokka] LT',\n            nextDay: '[I morgon klokka] LT',\n            nextWeek: 'dddd [klokka] LT',\n            lastDay: '[I går klokka] LT',\n            lastWeek: '[Føregåande] dddd [klokka] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s sidan',\n            s: 'nokre sekund',\n            ss: '%d sekund',\n            m: 'eit minutt',\n            mm: '%d minutt',\n            h: 'ein time',\n            hh: '%d timar',\n            d: 'ein dag',\n            dd: '%d dagar',\n            w: 'ei veke',\n            ww: '%d veker',\n            M: 'ein månad',\n            MM: '%d månader',\n            y: 'eit år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ocLnc = moment.defineLocale('oc-lnc', {\n        months: {\n            standalone:\n                'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n                    '_'\n                ),\n            format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n            '_'\n        ),\n        weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: '[uèi a] LT',\n            nextDay: '[deman a] LT',\n            nextWeek: 'dddd [a] LT',\n            lastDay: '[ièr a] LT',\n            lastWeek: 'dddd [passat a] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'unas segondas',\n            ss: '%d segondas',\n            m: 'una minuta',\n            mm: '%d minutas',\n            h: 'una ora',\n            hh: '%d oras',\n            d: 'un jorn',\n            dd: '%d jorns',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                      ? 'n'\n                      : number === 3\n                        ? 'r'\n                        : number === 4\n                          ? 't'\n                          : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4,\n        },\n    });\n\n    return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '੧',\n            2: '੨',\n            3: '੩',\n            4: '੪',\n            5: '੫',\n            6: '੬',\n            7: '੭',\n            8: '੮',\n            9: '੯',\n            0: '੦',\n        },\n        numberMap = {\n            '੧': '1',\n            '੨': '2',\n            '੩': '3',\n            '੪': '4',\n            '੫': '5',\n            '੬': '6',\n            '੭': '7',\n            '੮': '8',\n            '੯': '9',\n            '੦': '0',\n        };\n\n    var paIn = moment.defineLocale('pa-in', {\n        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n                '_'\n            ),\n        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm ਵਜੇ',\n            LTS: 'A h:mm:ss ਵਜੇ',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n        },\n        calendar: {\n            sameDay: '[ਅਜ] LT',\n            nextDay: '[ਕਲ] LT',\n            nextWeek: '[ਅਗਲਾ] dddd, LT',\n            lastDay: '[ਕਲ] LT',\n            lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ਵਿੱਚ',\n            past: '%s ਪਿਛਲੇ',\n            s: 'ਕੁਝ ਸਕਿੰਟ',\n            ss: '%d ਸਕਿੰਟ',\n            m: 'ਇਕ ਮਿੰਟ',\n            mm: '%d ਮਿੰਟ',\n            h: 'ਇੱਕ ਘੰਟਾ',\n            hh: '%d ਘੰਟੇ',\n            d: 'ਇੱਕ ਦਿਨ',\n            dd: '%d ਦਿਨ',\n            M: 'ਇੱਕ ਮਹੀਨਾ',\n            MM: '%d ਮਹੀਨੇ',\n            y: 'ਇੱਕ ਸਾਲ',\n            yy: '%d ਸਾਲ',\n        },\n        preparse: function (string) {\n            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ਰਾਤ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ਸਵੇਰ') {\n                return hour;\n            } else if (meridiem === 'ਦੁਪਹਿਰ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ਸ਼ਾਮ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ਰਾਤ';\n            } else if (hour < 10) {\n                return 'ਸਵੇਰ';\n            } else if (hour < 17) {\n                return 'ਦੁਪਹਿਰ';\n            } else if (hour < 20) {\n                return 'ਸ਼ਾਮ';\n            } else {\n                return 'ਰਾਤ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsNominative =\n            'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n                '_'\n            ),\n        monthsSubjective =\n            'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n                '_'\n            ),\n        monthsParse = [\n            /^sty/i,\n            /^lut/i,\n            /^mar/i,\n            /^kwi/i,\n            /^maj/i,\n            /^cze/i,\n            /^lip/i,\n            /^sie/i,\n            /^wrz/i,\n            /^paź/i,\n            /^lis/i,\n            /^gru/i,\n        ];\n    function plural(n) {\n        return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n    }\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                return result + (plural(number) ? 'sekundy' : 'sekund');\n            case 'm':\n                return withoutSuffix ? 'minuta' : 'minutę';\n            case 'mm':\n                return result + (plural(number) ? 'minuty' : 'minut');\n            case 'h':\n                return withoutSuffix ? 'godzina' : 'godzinę';\n            case 'hh':\n                return result + (plural(number) ? 'godziny' : 'godzin');\n            case 'ww':\n                return result + (plural(number) ? 'tygodnie' : 'tygodni');\n            case 'MM':\n                return result + (plural(number) ? 'miesiące' : 'miesięcy');\n            case 'yy':\n                return result + (plural(number) ? 'lata' : 'lat');\n        }\n    }\n\n    var pl = moment.defineLocale('pl', {\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return monthsNominative;\n            } else if (/D MMMM/.test(format)) {\n                return monthsSubjective[momentToFormat.month()];\n            } else {\n                return monthsNominative[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays:\n            'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Dziś o] LT',\n            nextDay: '[Jutro o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W niedzielę o] LT';\n\n                    case 2:\n                        return '[We wtorek o] LT';\n\n                    case 3:\n                        return '[W środę o] LT';\n\n                    case 6:\n                        return '[W sobotę o] LT';\n\n                    default:\n                        return '[W] dddd [o] LT';\n                }\n            },\n            lastDay: '[Wczoraj o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W zeszłą niedzielę o] LT';\n                    case 3:\n                        return '[W zeszłą środę o] LT';\n                    case 6:\n                        return '[W zeszłą sobotę o] LT';\n                    default:\n                        return '[W zeszły] dddd [o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: '%s temu',\n            s: 'kilka sekund',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: '1 dzień',\n            dd: '%d dni',\n            w: 'tydzień',\n            ww: translate,\n            M: 'miesiąc',\n            MM: translate,\n            y: 'rok',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ptBr = moment.defineLocale('pt-br', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n        weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'poucos segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        invalidDate: 'Data inválida',\n    });\n\n    return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pt = moment.defineLocale('pt', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            w: 'uma semana',\n            ww: '%d semanas',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n                ss: 'secunde',\n                mm: 'minute',\n                hh: 'ore',\n                dd: 'zile',\n                ww: 'săptămâni',\n                MM: 'luni',\n                yy: 'ani',\n            },\n            separator = ' ';\n        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n            separator = ' de ';\n        }\n        return number + separator + format[key];\n    }\n\n    var ro = moment.defineLocale('ro', {\n        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n            '_'\n        ),\n        monthsShort:\n            'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[azi la] LT',\n            nextDay: '[mâine la] LT',\n            nextWeek: 'dddd [la] LT',\n            lastDay: '[ieri la] LT',\n            lastWeek: '[fosta] dddd [la] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'peste %s',\n            past: '%s în urmă',\n            s: 'câteva secunde',\n            ss: relativeTimeWithPlural,\n            m: 'un minut',\n            mm: relativeTimeWithPlural,\n            h: 'o oră',\n            hh: relativeTimeWithPlural,\n            d: 'o zi',\n            dd: relativeTimeWithPlural,\n            w: 'o săptămână',\n            ww: relativeTimeWithPlural,\n            M: 'o lună',\n            MM: relativeTimeWithPlural,\n            y: 'un an',\n            yy: relativeTimeWithPlural,\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n            hh: 'час_часа_часов',\n            dd: 'день_дня_дней',\n            ww: 'неделя_недели_недель',\n            MM: 'месяц_месяца_месяцев',\n            yy: 'год_года_лет',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'минута' : 'минуту';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    var monthsParse = [\n        /^янв/i,\n        /^фев/i,\n        /^мар/i,\n        /^апр/i,\n        /^ма[йя]/i,\n        /^июн/i,\n        /^июл/i,\n        /^авг/i,\n        /^сен/i,\n        /^окт/i,\n        /^ноя/i,\n        /^дек/i,\n    ];\n\n    // http://new.gramota.ru/spravka/rules/139-prop : § 103\n    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n    var ru = moment.defineLocale('ru', {\n        months: {\n            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n                '_'\n            ),\n            standalone:\n                'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n                    '_'\n                ),\n        },\n        monthsShort: {\n            // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n                '_'\n            ),\n            standalone:\n                'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n                    '_'\n                ),\n        },\n        weekdays: {\n            standalone:\n                'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n                    '_'\n                ),\n            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n                '_'\n            ),\n            isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n        },\n        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n        monthsRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // копия предыдущего\n        monthsShortRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // полные названия с падежами\n        monthsStrictRegex:\n            /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n        // Выражение, которое соответствует только сокращённым формам\n        monthsShortStrictRegex:\n            /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., H:mm',\n            LLLL: 'dddd, D MMMM YYYY г., H:mm',\n        },\n        calendar: {\n            sameDay: '[Сегодня, в] LT',\n            nextDay: '[Завтра, в] LT',\n            lastDay: '[Вчера, в] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В следующее] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В следующий] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В следующую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            lastWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В прошлое] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В прошлый] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В прошлую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'через %s',\n            past: '%s назад',\n            s: 'несколько секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'час',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            w: 'неделя',\n            ww: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночи|утра|дня|вечера/i,\n        isPM: function (input) {\n            return /^(дня|вечера)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночи';\n            } else if (hour < 12) {\n                return 'утра';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечера';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                case 'w':\n                case 'W':\n                    return number + '-я';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوري',\n            'فيبروري',\n            'مارچ',\n            'اپريل',\n            'مئي',\n            'جون',\n            'جولاءِ',\n            'آگسٽ',\n            'سيپٽمبر',\n            'آڪٽوبر',\n            'نومبر',\n            'ڊسمبر',\n        ],\n        days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n    var sd = moment.defineLocale('sd', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[اڄ] LT',\n            nextDay: '[سڀاڻي] LT',\n            nextWeek: 'dddd [اڳين هفتي تي] LT',\n            lastDay: '[ڪالهه] LT',\n            lastWeek: '[گزريل هفتي] dddd [تي] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s پوء',\n            past: '%s اڳ',\n            s: 'چند سيڪنڊ',\n            ss: '%d سيڪنڊ',\n            m: 'هڪ منٽ',\n            mm: '%d منٽ',\n            h: 'هڪ ڪلاڪ',\n            hh: '%d ڪلاڪ',\n            d: 'هڪ ڏينهن',\n            dd: '%d ڏينهن',\n            M: 'هڪ مهينو',\n            MM: '%d مهينا',\n            y: 'هڪ سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var se = moment.defineLocale('se', {\n        months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n            '_'\n        ),\n        monthsShort:\n            'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n        weekdays:\n            'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n                '_'\n            ),\n        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'MMMM D. [b.] YYYY',\n            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[otne ti] LT',\n            nextDay: '[ihttin ti] LT',\n            nextWeek: 'dddd [ti] LT',\n            lastDay: '[ikte ti] LT',\n            lastWeek: '[ovddit] dddd [ti] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s geažes',\n            past: 'maŋit %s',\n            s: 'moadde sekunddat',\n            ss: '%d sekunddat',\n            m: 'okta minuhta',\n            mm: '%d minuhtat',\n            h: 'okta diimmu',\n            hh: '%d diimmut',\n            d: 'okta beaivi',\n            dd: '%d beaivvit',\n            M: 'okta mánnu',\n            MM: '%d mánut',\n            y: 'okta jahki',\n            yy: '%d jagit',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    /*jshint -W100*/\n    var si = moment.defineLocale('si', {\n        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n            '_'\n        ),\n        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n            '_'\n        ),\n        weekdays:\n            'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n                '_'\n            ),\n        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'a h:mm',\n            LTS: 'a h:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY MMMM D',\n            LLL: 'YYYY MMMM D, a h:mm',\n            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n        },\n        calendar: {\n            sameDay: '[අද] LT[ට]',\n            nextDay: '[හෙට] LT[ට]',\n            nextWeek: 'dddd LT[ට]',\n            lastDay: '[ඊයේ] LT[ට]',\n            lastWeek: '[පසුගිය] dddd LT[ට]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sකින්',\n            past: '%sකට පෙර',\n            s: 'තත්පර කිහිපය',\n            ss: 'තත්පර %d',\n            m: 'මිනිත්තුව',\n            mm: 'මිනිත්තු %d',\n            h: 'පැය',\n            hh: 'පැය %d',\n            d: 'දිනය',\n            dd: 'දින %d',\n            M: 'මාසය',\n            MM: 'මාස %d',\n            y: 'වසර',\n            yy: 'වසර %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n        ordinal: function (number) {\n            return number + ' වැනි';\n        },\n        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n        isPM: function (input) {\n            return input === 'ප.ව.' || input === 'පස් වරු';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'ප.ව.' : 'පස් වරු';\n            } else {\n                return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n            }\n        },\n    });\n\n    return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months =\n            'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n                '_'\n            ),\n        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n    function plural(n) {\n        return n > 1 && n < 5;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekúnd');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minúty' : 'minút');\n                } else {\n                    return result + 'minútami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodín');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'deň' : 'dňom';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dni' : 'dní');\n                } else {\n                    return result + 'dňami';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'mesiace' : 'mesiacov');\n                } else {\n                    return result + 'mesiacmi';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokom';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'rokov');\n                } else {\n                    return result + 'rokmi';\n                }\n        }\n    }\n\n    var sk = moment.defineLocale('sk', {\n        months: months,\n        monthsShort: monthsShort,\n        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[dnes o] LT',\n            nextDay: '[zajtra o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [o] LT';\n                    case 3:\n                        return '[v stredu o] LT';\n                    case 4:\n                        return '[vo štvrtok o] LT';\n                    case 5:\n                        return '[v piatok o] LT';\n                    case 6:\n                        return '[v sobotu o] LT';\n                }\n            },\n            lastDay: '[včera o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulú nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[minulý] dddd [o] LT';\n                    case 3:\n                        return '[minulú stredu o] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [o] LT';\n                    case 6:\n                        return '[minulú sobotu o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pred %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nekaj sekund'\n                    : 'nekaj sekundami';\n            case 'ss':\n                if (number === 1) {\n                    result += withoutSuffix ? 'sekundo' : 'sekundi';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n                } else {\n                    result += 'sekund';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'ena minuta' : 'eno minuto';\n            case 'mm':\n                if (number === 1) {\n                    result += withoutSuffix ? 'minuta' : 'minuto';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'ena ura' : 'eno uro';\n            case 'hh':\n                if (number === 1) {\n                    result += withoutSuffix ? 'ura' : 'uro';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'uri' : 'urama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'ure' : 'urami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'ur' : 'urami';\n                }\n                return result;\n            case 'd':\n                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n            case 'dd':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n                } else {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n                }\n                return result;\n            case 'M':\n                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n            case 'MM':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n                } else {\n                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n                }\n                return result;\n            case 'y':\n                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n            case 'yy':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'leto' : 'letom';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'leta' : 'leti';\n                } else {\n                    result += withoutSuffix || isFuture ? 'let' : 'leti';\n                }\n                return result;\n        }\n    }\n\n    var sl = moment.defineLocale('sl', {\n        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD. MM. YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danes ob] LT',\n            nextDay: '[jutri ob] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[v] [sredo] [ob] LT';\n                    case 6:\n                        return '[v] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[v] dddd [ob] LT';\n                }\n            },\n            lastDay: '[včeraj ob] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prejšnjo] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[prejšnjo] [sredo] [ob] LT';\n                    case 6:\n                        return '[prejšnjo] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prejšnji] dddd [ob] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'čez %s',\n            past: 'pred %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sq = moment.defineLocale('sq', {\n        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n            '_'\n        ),\n        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /PD|MD/,\n        isPM: function (input) {\n            return input.charAt(0) === 'M';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            return hours < 12 ? 'PD' : 'MD';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Sot në] LT',\n            nextDay: '[Nesër në] LT',\n            nextWeek: 'dddd [në] LT',\n            lastDay: '[Dje në] LT',\n            lastWeek: 'dddd [e kaluar në] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'në %s',\n            past: '%s më parë',\n            s: 'disa sekonda',\n            ss: '%d sekonda',\n            m: 'një minutë',\n            mm: '%d minuta',\n            h: 'një orë',\n            hh: '%d orë',\n            d: 'një ditë',\n            dd: '%d ditë',\n            M: 'një muaj',\n            MM: '%d muaj',\n            y: 'një vit',\n            yy: '%d vite',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['секунда', 'секунде', 'секунди'],\n            m: ['један минут', 'једног минута'],\n            mm: ['минут', 'минута', 'минута'],\n            h: ['један сат', 'једног сата'],\n            hh: ['сат', 'сата', 'сати'],\n            d: ['један дан', 'једног дана'],\n            dd: ['дан', 'дана', 'дана'],\n            M: ['један месец', 'једног месеца'],\n            MM: ['месец', 'месеца', 'месеци'],\n            y: ['једну годину', 'једне године'],\n            yy: ['годину', 'године', 'година'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'једна година';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'годину') {\n                return number + ' година';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var srCyrl = moment.defineLocale('sr-cyrl', {\n        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n            '_'\n        ),\n        monthsShort:\n            'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[данас у] LT',\n            nextDay: '[сутра у] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[у] [недељу] [у] LT';\n                    case 3:\n                        return '[у] [среду] [у] LT';\n                    case 6:\n                        return '[у] [суботу] [у] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[у] dddd [у] LT';\n                }\n            },\n            lastDay: '[јуче у] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[прошле] [недеље] [у] LT',\n                    '[прошлог] [понедељка] [у] LT',\n                    '[прошлог] [уторка] [у] LT',\n                    '[прошле] [среде] [у] LT',\n                    '[прошлог] [четвртка] [у] LT',\n                    '[прошлог] [петка] [у] LT',\n                    '[прошле] [суботе] [у] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пре %s',\n            s: 'неколико секунди',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekunda', 'sekunde', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            d: ['jedan dan', 'jednog dana'],\n            dd: ['dan', 'dana', 'dana'],\n            M: ['jedan mesec', 'jednog meseca'],\n            MM: ['mesec', 'meseca', 'meseci'],\n            y: ['jednu godinu', 'jedne godine'],\n            yy: ['godinu', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'jedna godina';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'godinu') {\n                return number + ' godina';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var sr = moment.defineLocale('sr', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedelju] [u] LT';\n                    case 3:\n                        return '[u] [sredu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedelje] [u] LT',\n                    '[prošlog] [ponedeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pre %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ss = moment.defineLocale('ss', {\n        months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n            '_'\n        ),\n        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n        weekdays:\n            'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n                '_'\n            ),\n        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Namuhla nga] LT',\n            nextDay: '[Kusasa nga] LT',\n            nextWeek: 'dddd [nga] LT',\n            lastDay: '[Itolo nga] LT',\n            lastWeek: 'dddd [leliphelile] [nga] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'nga %s',\n            past: 'wenteka nga %s',\n            s: 'emizuzwana lomcane',\n            ss: '%d mzuzwana',\n            m: 'umzuzu',\n            mm: '%d emizuzu',\n            h: 'lihora',\n            hh: '%d emahora',\n            d: 'lilanga',\n            dd: '%d emalanga',\n            M: 'inyanga',\n            MM: '%d tinyanga',\n            y: 'umnyaka',\n            yy: '%d iminyaka',\n        },\n        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'ekuseni';\n            } else if (hours < 15) {\n                return 'emini';\n            } else if (hours < 19) {\n                return 'entsambama';\n            } else {\n                return 'ebusuku';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ekuseni') {\n                return hour;\n            } else if (meridiem === 'emini') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n                if (hour === 0) {\n                    return 0;\n                }\n                return hour + 12;\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: '%d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sv = moment.defineLocale('sv', {\n        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Idag] LT',\n            nextDay: '[Imorgon] LT',\n            lastDay: '[Igår] LT',\n            nextWeek: '[På] dddd LT',\n            lastWeek: '[I] dddd[s] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: 'för %s sedan',\n            s: 'några sekunder',\n            ss: '%d sekunder',\n            m: 'en minut',\n            mm: '%d minuter',\n            h: 'en timme',\n            hh: '%d timmar',\n            d: 'en dag',\n            dd: '%d dagar',\n            M: 'en månad',\n            MM: '%d månader',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? ':e'\n                        : b === 1\n                          ? ':a'\n                          : b === 2\n                            ? ':a'\n                            : b === 3\n                              ? ':e'\n                              : ':e';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sw = moment.defineLocale('sw', {\n        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n        weekdays:\n            'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n                '_'\n            ),\n        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'hh:mm A',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[leo saa] LT',\n            nextDay: '[kesho saa] LT',\n            nextWeek: '[wiki ijayo] dddd [saat] LT',\n            lastDay: '[jana] LT',\n            lastWeek: '[wiki iliyopita] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s baadaye',\n            past: 'tokea %s',\n            s: 'hivi punde',\n            ss: 'sekunde %d',\n            m: 'dakika moja',\n            mm: 'dakika %d',\n            h: 'saa limoja',\n            hh: 'masaa %d',\n            d: 'siku moja',\n            dd: 'siku %d',\n            M: 'mwezi mmoja',\n            MM: 'miezi %d',\n            y: 'mwaka mmoja',\n            yy: 'miaka %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '௧',\n            2: '௨',\n            3: '௩',\n            4: '௪',\n            5: '௫',\n            6: '௬',\n            7: '௭',\n            8: '௮',\n            9: '௯',\n            0: '௦',\n        },\n        numberMap = {\n            '௧': '1',\n            '௨': '2',\n            '௩': '3',\n            '௪': '4',\n            '௫': '5',\n            '௬': '6',\n            '௭': '7',\n            '௮': '8',\n            '௯': '9',\n            '௦': '0',\n        };\n\n    var ta = moment.defineLocale('ta', {\n        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n            '_'\n        ),\n        monthsShort:\n            'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n                '_'\n            ),\n        weekdays:\n            'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n                '_'\n            ),\n        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n            '_'\n        ),\n        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, HH:mm',\n            LLLL: 'dddd, D MMMM YYYY, HH:mm',\n        },\n        calendar: {\n            sameDay: '[இன்று] LT',\n            nextDay: '[நாளை] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[நேற்று] LT',\n            lastWeek: '[கடந்த வாரம்] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s இல்',\n            past: '%s முன்',\n            s: 'ஒரு சில விநாடிகள்',\n            ss: '%d விநாடிகள்',\n            m: 'ஒரு நிமிடம்',\n            mm: '%d நிமிடங்கள்',\n            h: 'ஒரு மணி நேரம்',\n            hh: '%d மணி நேரம்',\n            d: 'ஒரு நாள்',\n            dd: '%d நாட்கள்',\n            M: 'ஒரு மாதம்',\n            MM: '%d மாதங்கள்',\n            y: 'ஒரு வருடம்',\n            yy: '%d ஆண்டுகள்',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n        ordinal: function (number) {\n            return number + 'வது';\n        },\n        preparse: function (string) {\n            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // refer http://ta.wikipedia.org/s/1er1\n        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 2) {\n                return ' யாமம்';\n            } else if (hour < 6) {\n                return ' வைகறை'; // வைகறை\n            } else if (hour < 10) {\n                return ' காலை'; // காலை\n            } else if (hour < 14) {\n                return ' நண்பகல்'; // நண்பகல்\n            } else if (hour < 18) {\n                return ' எற்பாடு'; // எற்பாடு\n            } else if (hour < 22) {\n                return ' மாலை'; // மாலை\n            } else {\n                return ' யாமம்';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'யாமம்') {\n                return hour < 2 ? hour : hour + 12;\n            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n                return hour;\n            } else if (meridiem === 'நண்பகல்') {\n                return hour >= 10 ? hour : hour + 12;\n            } else {\n                return hour + 12;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var te = moment.defineLocale('te', {\n        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n            '_'\n        ),\n        monthsShort:\n            'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n                '_'\n            ),\n        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[నేడు] LT',\n            nextDay: '[రేపు] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[నిన్న] LT',\n            lastWeek: '[గత] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s లో',\n            past: '%s క్రితం',\n            s: 'కొన్ని క్షణాలు',\n            ss: '%d సెకన్లు',\n            m: 'ఒక నిమిషం',\n            mm: '%d నిమిషాలు',\n            h: 'ఒక గంట',\n            hh: '%d గంటలు',\n            d: 'ఒక రోజు',\n            dd: '%d రోజులు',\n            M: 'ఒక నెల',\n            MM: '%d నెలలు',\n            y: 'ఒక సంవత్సరం',\n            yy: '%d సంవత్సరాలు',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n        ordinal: '%dవ',\n        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'రాత్రి') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ఉదయం') {\n                return hour;\n            } else if (meridiem === 'మధ్యాహ్నం') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'సాయంత్రం') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'రాత్రి';\n            } else if (hour < 10) {\n                return 'ఉదయం';\n            } else if (hour < 17) {\n                return 'మధ్యాహ్నం';\n            } else if (hour < 20) {\n                return 'సాయంత్రం';\n            } else {\n                return 'రాత్రి';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tet = moment.defineLocale('tet', {\n        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Ohin iha] LT',\n            nextDay: '[Aban iha] LT',\n            nextWeek: 'dddd [iha] LT',\n            lastDay: '[Horiseik iha] LT',\n            lastWeek: 'dddd [semana kotuk] [iha] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'iha %s',\n            past: '%s liuba',\n            s: 'segundu balun',\n            ss: 'segundu %d',\n            m: 'minutu ida',\n            mm: 'minutu %d',\n            h: 'oras ida',\n            hh: 'oras %d',\n            d: 'loron ida',\n            dd: 'loron %d',\n            M: 'fulan ida',\n            MM: 'fulan %d',\n            y: 'tinan ida',\n            yy: 'tinan %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ум',\n        1: '-ум',\n        2: '-юм',\n        3: '-юм',\n        4: '-ум',\n        5: '-ум',\n        6: '-ум',\n        7: '-ум',\n        8: '-ум',\n        9: '-ум',\n        10: '-ум',\n        12: '-ум',\n        13: '-ум',\n        20: '-ум',\n        30: '-юм',\n        40: '-ум',\n        50: '-ум',\n        60: '-ум',\n        70: '-ум',\n        80: '-ум',\n        90: '-ум',\n        100: '-ум',\n    };\n\n    var tg = moment.defineLocale('tg', {\n        months: {\n            format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n                '_'\n            ),\n            standalone:\n                'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n            '_'\n        ),\n        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Имрӯз соати] LT',\n            nextDay: '[Фардо соати] LT',\n            lastDay: '[Дирӯз соати] LT',\n            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'баъди %s',\n            past: '%s пеш',\n            s: 'якчанд сония',\n            m: 'як дақиқа',\n            mm: '%d дақиқа',\n            h: 'як соат',\n            hh: '%d соат',\n            d: 'як рӯз',\n            dd: '%d рӯз',\n            M: 'як моҳ',\n            MM: '%d моҳ',\n            y: 'як сол',\n            yy: '%d сол',\n        },\n        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'шаб') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'субҳ') {\n                return hour;\n            } else if (meridiem === 'рӯз') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'бегоҳ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'шаб';\n            } else if (hour < 11) {\n                return 'субҳ';\n            } else if (hour < 16) {\n                return 'рӯз';\n            } else if (hour < 19) {\n                return 'бегоҳ';\n            } else {\n                return 'шаб';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1th is the first week of the year.\n        },\n    });\n\n    return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var th = moment.defineLocale('th', {\n        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n            '_'\n        ),\n        monthsShort:\n            'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY เวลา H:mm',\n            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n        },\n        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n        isPM: function (input) {\n            return input === 'หลังเที่ยง';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ก่อนเที่ยง';\n            } else {\n                return 'หลังเที่ยง';\n            }\n        },\n        calendar: {\n            sameDay: '[วันนี้ เวลา] LT',\n            nextDay: '[พรุ่งนี้ เวลา] LT',\n            nextWeek: 'dddd[หน้า เวลา] LT',\n            lastDay: '[เมื่อวานนี้ เวลา] LT',\n            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'อีก %s',\n            past: '%sที่แล้ว',\n            s: 'ไม่กี่วินาที',\n            ss: '%d วินาที',\n            m: '1 นาที',\n            mm: '%d นาที',\n            h: '1 ชั่วโมง',\n            hh: '%d ชั่วโมง',\n            d: '1 วัน',\n            dd: '%d วัน',\n            w: '1 สัปดาห์',\n            ww: '%d สัปดาห์',\n            M: '1 เดือน',\n            MM: '%d เดือน',\n            y: '1 ปี',\n            yy: '%d ปี',\n        },\n    });\n\n    return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inji\",\n        5: \"'inji\",\n        8: \"'inji\",\n        70: \"'inji\",\n        80: \"'inji\",\n        2: \"'nji\",\n        7: \"'nji\",\n        20: \"'nji\",\n        50: \"'nji\",\n        3: \"'ünji\",\n        4: \"'ünji\",\n        100: \"'ünji\",\n        6: \"'njy\",\n        9: \"'unjy\",\n        10: \"'unjy\",\n        30: \"'unjy\",\n        60: \"'ynjy\",\n        90: \"'ynjy\",\n    };\n\n    var tk = moment.defineLocale('tk', {\n        months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n        weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n            '_'\n        ),\n        weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n        weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün sagat] LT',\n            nextDay: '[ertir sagat] LT',\n            nextWeek: '[indiki] dddd [sagat] LT',\n            lastDay: '[düýn] LT',\n            lastWeek: '[geçen] dddd [sagat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s soň',\n            past: '%s öň',\n            s: 'birnäçe sekunt',\n            m: 'bir minut',\n            mm: '%d minut',\n            h: 'bir sagat',\n            hh: '%d sagat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir aý',\n            MM: '%d aý',\n            y: 'bir ýyl',\n            yy: '%d ýyl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'unjy\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tlPh = moment.defineLocale('tl-ph', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n    function translateFuture(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'leS'\n                : output.indexOf('jar') !== -1\n                  ? time.slice(0, -3) + 'waQ'\n                  : output.indexOf('DIS') !== -1\n                    ? time.slice(0, -3) + 'nem'\n                    : time + ' pIq';\n        return time;\n    }\n\n    function translatePast(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'Hu’'\n                : output.indexOf('jar') !== -1\n                  ? time.slice(0, -3) + 'wen'\n                  : output.indexOf('DIS') !== -1\n                    ? time.slice(0, -3) + 'ben'\n                    : time + ' ret';\n        return time;\n    }\n\n    function translate(number, withoutSuffix, string, isFuture) {\n        var numberNoun = numberAsNoun(number);\n        switch (string) {\n            case 'ss':\n                return numberNoun + ' lup';\n            case 'mm':\n                return numberNoun + ' tup';\n            case 'hh':\n                return numberNoun + ' rep';\n            case 'dd':\n                return numberNoun + ' jaj';\n            case 'MM':\n                return numberNoun + ' jar';\n            case 'yy':\n                return numberNoun + ' DIS';\n        }\n    }\n\n    function numberAsNoun(number) {\n        var hundred = Math.floor((number % 1000) / 100),\n            ten = Math.floor((number % 100) / 10),\n            one = number % 10,\n            word = '';\n        if (hundred > 0) {\n            word += numbersNouns[hundred] + 'vatlh';\n        }\n        if (ten > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n        }\n        if (one > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[one];\n        }\n        return word === '' ? 'pagh' : word;\n    }\n\n    var tlh = moment.defineLocale('tlh', {\n        months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n            '_'\n        ),\n        monthsShort:\n            'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        weekdaysShort:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        weekdaysMin:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[DaHjaj] LT',\n            nextDay: '[wa’leS] LT',\n            nextWeek: 'LLL',\n            lastDay: '[wa’Hu’] LT',\n            lastWeek: 'LLL',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: translateFuture,\n            past: translatePast,\n            s: 'puS lup',\n            ss: translate,\n            m: 'wa’ tup',\n            mm: translate,\n            h: 'wa’ rep',\n            hh: translate,\n            d: 'wa’ jaj',\n            dd: translate,\n            M: 'wa’ jar',\n            MM: translate,\n            y: 'wa’ DIS',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//!           Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inci\",\n        5: \"'inci\",\n        8: \"'inci\",\n        70: \"'inci\",\n        80: \"'inci\",\n        2: \"'nci\",\n        7: \"'nci\",\n        20: \"'nci\",\n        50: \"'nci\",\n        3: \"'üncü\",\n        4: \"'üncü\",\n        100: \"'üncü\",\n        6: \"'ncı\",\n        9: \"'uncu\",\n        10: \"'uncu\",\n        30: \"'uncu\",\n        60: \"'ıncı\",\n        90: \"'ıncı\",\n    };\n\n    var tr = moment.defineLocale('tr', {\n        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n            '_'\n        ),\n        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n            '_'\n        ),\n        weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'öö' : 'ÖÖ';\n            } else {\n                return isLower ? 'ös' : 'ÖS';\n            }\n        },\n        meridiemParse: /öö|ÖÖ|ös|ÖS/,\n        isPM: function (input) {\n            return input === 'ös' || input === 'ÖS';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[yarın saat] LT',\n            nextWeek: '[gelecek] dddd [saat] LT',\n            lastDay: '[dün] LT',\n            lastWeek: '[geçen] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s önce',\n            s: 'birkaç saniye',\n            ss: '%d saniye',\n            m: 'bir dakika',\n            mm: '%d dakika',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            w: 'bir hafta',\n            ww: '%d hafta',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir yıl',\n            yy: '%d yıl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'ıncı\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n    // This is currently too difficult (maybe even impossible) to add.\n    var tzl = moment.defineLocale('tzl', {\n        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM [dallas] YYYY',\n            LLL: 'D. MMMM [dallas] YYYY HH.mm',\n            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n        },\n        meridiemParse: /d\\'o|d\\'a/i,\n        isPM: function (input) {\n            return \"d'o\" === input.toLowerCase();\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? \"d'o\" : \"D'O\";\n            } else {\n                return isLower ? \"d'a\" : \"D'A\";\n            }\n        },\n        calendar: {\n            sameDay: '[oxhi à] LT',\n            nextDay: '[demà à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[ieiri à] LT',\n            lastWeek: '[sür el] dddd [lasteu à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'osprei %s',\n            past: 'ja%s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['viensas secunds', \"'iensas secunds\"],\n            ss: [number + ' secunds', '' + number + ' secunds'],\n            m: [\"'n míut\", \"'iens míut\"],\n            mm: [number + ' míuts', '' + number + ' míuts'],\n            h: [\"'n þora\", \"'iensa þora\"],\n            hh: [number + ' þoras', '' + number + ' þoras'],\n            d: [\"'n ziua\", \"'iensa ziua\"],\n            dd: [number + ' ziuas', '' + number + ' ziuas'],\n            M: [\"'n mes\", \"'iens mes\"],\n            MM: [number + ' mesen', '' + number + ' mesen'],\n            y: [\"'n ar\", \"'iens ar\"],\n            yy: [number + ' ars', '' + number + ' ars'],\n        };\n        return isFuture\n            ? format[key][0]\n            : withoutSuffix\n              ? format[key][0]\n              : format[key][1];\n    }\n\n    return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzmLatn = moment.defineLocale('tzm-latn', {\n        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n            '_'\n        ),\n        monthsShort:\n            'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n                '_'\n            ),\n        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[asdkh g] LT',\n            nextDay: '[aska g] LT',\n            nextWeek: 'dddd [g] LT',\n            lastDay: '[assant g] LT',\n            lastWeek: 'dddd [g] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dadkh s yan %s',\n            past: 'yan %s',\n            s: 'imik',\n            ss: '%d imik',\n            m: 'minuḍ',\n            mm: '%d minuḍ',\n            h: 'saɛa',\n            hh: '%d tassaɛin',\n            d: 'ass',\n            dd: '%d ossan',\n            M: 'ayowr',\n            MM: '%d iyyirn',\n            y: 'asgas',\n            yy: '%d isgasn',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzm = moment.defineLocale('tzm', {\n        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n                '_'\n            ),\n        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n            nextWeek: 'dddd [ⴴ] LT',\n            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n            lastWeek: 'dddd [ⴴ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n            past: 'ⵢⴰⵏ %s',\n            s: 'ⵉⵎⵉⴽ',\n            ss: '%d ⵉⵎⵉⴽ',\n            m: 'ⵎⵉⵏⵓⴺ',\n            mm: '%d ⵎⵉⵏⵓⴺ',\n            h: 'ⵙⴰⵄⴰ',\n            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n            d: 'ⴰⵙⵙ',\n            dd: '%d oⵙⵙⴰⵏ',\n            M: 'ⴰⵢoⵓⵔ',\n            MM: '%d ⵉⵢⵢⵉⵔⵏ',\n            y: 'ⴰⵙⴳⴰⵙ',\n            yy: '%d ⵉⵙⴳⴰⵙⵏ',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ugCn = moment.defineLocale('ug-cn', {\n        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n                '_'\n            ),\n        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n            '_'\n        ),\n        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n        },\n        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                meridiem === 'يېرىم كېچە' ||\n                meridiem === 'سەھەر' ||\n                meridiem === 'چۈشتىن بۇرۇن'\n            ) {\n                return hour;\n            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n                return hour + 12;\n            } else {\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return 'يېرىم كېچە';\n            } else if (hm < 900) {\n                return 'سەھەر';\n            } else if (hm < 1130) {\n                return 'چۈشتىن بۇرۇن';\n            } else if (hm < 1230) {\n                return 'چۈش';\n            } else if (hm < 1800) {\n                return 'چۈشتىن كېيىن';\n            } else {\n                return 'كەچ';\n            }\n        },\n        calendar: {\n            sameDay: '[بۈگۈن سائەت] LT',\n            nextDay: '[ئەتە سائەت] LT',\n            nextWeek: '[كېلەركى] dddd [سائەت] LT',\n            lastDay: '[تۆنۈگۈن] LT',\n            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s كېيىن',\n            past: '%s بۇرۇن',\n            s: 'نەچچە سېكونت',\n            ss: '%d سېكونت',\n            m: 'بىر مىنۇت',\n            mm: '%d مىنۇت',\n            h: 'بىر سائەت',\n            hh: '%d سائەت',\n            d: 'بىر كۈن',\n            dd: '%d كۈن',\n            M: 'بىر ئاي',\n            MM: '%d ئاي',\n            y: 'بىر يىل',\n            yy: '%d يىل',\n        },\n\n        dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '-كۈنى';\n                case 'w':\n                case 'W':\n                    return number + '-ھەپتە';\n                default:\n                    return number;\n            }\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n            mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n            hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n            dd: 'день_дні_днів',\n            MM: 'місяць_місяці_місяців',\n            yy: 'рік_роки_років',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвилина' : 'хвилину';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'година' : 'годину';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    function weekdaysCaseReplace(m, format) {\n        var weekdays = {\n                nominative:\n                    'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n                        '_'\n                    ),\n                accusative:\n                    'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n                        '_'\n                    ),\n                genitive:\n                    'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n                        '_'\n                    ),\n            },\n            nounCase;\n\n        if (m === true) {\n            return weekdays['nominative']\n                .slice(1, 7)\n                .concat(weekdays['nominative'].slice(0, 1));\n        }\n        if (!m) {\n            return weekdays['nominative'];\n        }\n\n        nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n            ? 'accusative'\n            : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n              ? 'genitive'\n              : 'nominative';\n        return weekdays[nounCase][m.day()];\n    }\n    function processHoursFunction(str) {\n        return function () {\n            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n        };\n    }\n\n    var uk = moment.defineLocale('uk', {\n        months: {\n            format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n                '_'\n            ),\n            standalone:\n                'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n            '_'\n        ),\n        weekdays: weekdaysCaseReplace,\n        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY р.',\n            LLL: 'D MMMM YYYY р., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n        },\n        calendar: {\n            sameDay: processHoursFunction('[Сьогодні '),\n            nextDay: processHoursFunction('[Завтра '),\n            lastDay: processHoursFunction('[Вчора '),\n            nextWeek: processHoursFunction('[У] dddd ['),\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return processHoursFunction('[Минулої] dddd [').call(this);\n                    case 1:\n                    case 2:\n                    case 4:\n                        return processHoursFunction('[Минулого] dddd [').call(this);\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: '%s тому',\n            s: 'декілька секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'годину',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            M: 'місяць',\n            MM: relativeTimeWithPlural,\n            y: 'рік',\n            yy: relativeTimeWithPlural,\n        },\n        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n        meridiemParse: /ночі|ранку|дня|вечора/,\n        isPM: function (input) {\n            return /^(дня|вечора)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночі';\n            } else if (hour < 12) {\n                return 'ранку';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечора';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوری',\n            'فروری',\n            'مارچ',\n            'اپریل',\n            'مئی',\n            'جون',\n            'جولائی',\n            'اگست',\n            'ستمبر',\n            'اکتوبر',\n            'نومبر',\n            'دسمبر',\n        ],\n        days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n    var ur = moment.defineLocale('ur', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[آج بوقت] LT',\n            nextDay: '[کل بوقت] LT',\n            nextWeek: 'dddd [بوقت] LT',\n            lastDay: '[گذشتہ روز بوقت] LT',\n            lastWeek: '[گذشتہ] dddd [بوقت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s بعد',\n            past: '%s قبل',\n            s: 'چند سیکنڈ',\n            ss: '%d سیکنڈ',\n            m: 'ایک منٹ',\n            mm: '%d منٹ',\n            h: 'ایک گھنٹہ',\n            hh: '%d گھنٹے',\n            d: 'ایک دن',\n            dd: '%d دن',\n            M: 'ایک ماہ',\n            MM: '%d ماہ',\n            y: 'ایک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uzLatn = moment.defineLocale('uz-latn', {\n        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n        weekdays:\n            'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n                '_'\n            ),\n        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bugun soat] LT [da]',\n            nextDay: '[Ertaga] LT [da]',\n            nextWeek: 'dddd [kuni soat] LT [da]',\n            lastDay: '[Kecha soat] LT [da]',\n            lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Yaqin %s ichida',\n            past: 'Bir necha %s oldin',\n            s: 'soniya',\n            ss: '%d soniya',\n            m: 'bir daqiqa',\n            mm: '%d daqiqa',\n            h: 'bir soat',\n            hh: '%d soat',\n            d: 'bir kun',\n            dd: '%d kun',\n            M: 'bir oy',\n            MM: '%d oy',\n            y: 'bir yil',\n            yy: '%d yil',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uz = moment.defineLocale('uz', {\n        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бугун соат] LT [да]',\n            nextDay: '[Эртага] LT [да]',\n            nextWeek: 'dddd [куни соат] LT [да]',\n            lastDay: '[Кеча соат] LT [да]',\n            lastWeek: '[Утган] dddd [куни соат] LT [да]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Якин %s ичида',\n            past: 'Бир неча %s олдин',\n            s: 'фурсат',\n            ss: '%d фурсат',\n            m: 'бир дакика',\n            mm: '%d дакика',\n            h: 'бир соат',\n            hh: '%d соат',\n            d: 'бир кун',\n            dd: '%d кун',\n            M: 'бир ой',\n            MM: '%d ой',\n            y: 'бир йил',\n            yy: '%d йил',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var vi = moment.defineLocale('vi', {\n        months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n            '_'\n        ),\n        monthsShort:\n            'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n            '_'\n        ),\n        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /sa|ch/i,\n        isPM: function (input) {\n            return /^ch$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'sa' : 'SA';\n            } else {\n                return isLower ? 'ch' : 'CH';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [năm] YYYY',\n            LLL: 'D MMMM [năm] YYYY HH:mm',\n            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n            l: 'DD/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hôm nay lúc] LT',\n            nextDay: '[Ngày mai lúc] LT',\n            nextWeek: 'dddd [tuần tới lúc] LT',\n            lastDay: '[Hôm qua lúc] LT',\n            lastWeek: 'dddd [tuần trước lúc] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s tới',\n            past: '%s trước',\n            s: 'vài giây',\n            ss: '%d giây',\n            m: 'một phút',\n            mm: '%d phút',\n            h: 'một giờ',\n            hh: '%d giờ',\n            d: 'một ngày',\n            dd: '%d ngày',\n            w: 'một tuần',\n            ww: '%d tuần',\n            M: 'một tháng',\n            MM: '%d tháng',\n            y: 'một năm',\n            yy: '%d năm',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var xPseudo = moment.defineLocale('x-pseudo', {\n        months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n            '_'\n        ),\n        monthsShort:\n            'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n                '_'\n            ),\n        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[T~ódá~ý át] LT',\n            nextDay: '[T~ómó~rró~w át] LT',\n            nextWeek: 'dddd [át] LT',\n            lastDay: '[Ý~ést~érdá~ý át] LT',\n            lastWeek: '[L~ást] dddd [át] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'í~ñ %s',\n            past: '%s á~gó',\n            s: 'á ~féw ~sécó~ñds',\n            ss: '%d s~écóñ~ds',\n            m: 'á ~míñ~úté',\n            mm: '%d m~íñú~tés',\n            h: 'á~ñ hó~úr',\n            hh: '%d h~óúrs',\n            d: 'á ~dáý',\n            dd: '%d d~áýs',\n            M: 'á ~móñ~th',\n            MM: '%d m~óñt~hs',\n            y: 'á ~ýéár',\n            yy: '%d ý~éárs',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var yo = moment.defineLocale('yo', {\n        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n            '_'\n        ),\n        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Ònì ni] LT',\n            nextDay: '[Ọ̀la ni] LT',\n            nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n            lastDay: '[Àna ni] LT',\n            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ní %s',\n            past: '%s kọjá',\n            s: 'ìsẹjú aayá die',\n            ss: 'aayá %d',\n            m: 'ìsẹjú kan',\n            mm: 'ìsẹjú %d',\n            h: 'wákati kan',\n            hh: 'wákati %d',\n            d: 'ọjọ́ kan',\n            dd: 'ọjọ́ %d',\n            M: 'osù kan',\n            MM: 'osù %d',\n            y: 'ọdún kan',\n            yy: 'ọdún %d',\n        },\n        dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n        ordinal: 'ọjọ́ %d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhCn = moment.defineLocale('zh-cn', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日Ah点mm分',\n            LLLL: 'YYYY年M月D日ddddAh点mm分',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            } else {\n                // '中午'\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[下]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            lastDay: '[昨天]LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[上]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '周';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s后',\n            past: '%s前',\n            s: '几秒',\n            ss: '%d 秒',\n            m: '1 分钟',\n            mm: '%d 分钟',\n            h: '1 小时',\n            hh: '%d 小时',\n            d: '1 天',\n            dd: '%d 天',\n            w: '1 周',\n            ww: '%d 周',\n            M: '1 个月',\n            MM: '%d 个月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhHk = moment.defineLocale('zh-hk', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1200) {\n                return '上午';\n            } else if (hm === 1200) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: '[下]ddddLT',\n            lastDay: '[昨天]LT',\n            lastWeek: '[上]ddddLT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhMo = moment.defineLocale('zh-mo', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s內',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhTw = moment.defineLocale('zh-tw', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhTw;\n\n})));\n","var map = {\n\t\"./af\": 297,\n\t\"./af.js\": 297,\n\t\"./ar\": 298,\n\t\"./ar-dz\": 299,\n\t\"./ar-dz.js\": 299,\n\t\"./ar-kw\": 300,\n\t\"./ar-kw.js\": 300,\n\t\"./ar-ly\": 301,\n\t\"./ar-ly.js\": 301,\n\t\"./ar-ma\": 302,\n\t\"./ar-ma.js\": 302,\n\t\"./ar-ps\": 303,\n\t\"./ar-ps.js\": 303,\n\t\"./ar-sa\": 304,\n\t\"./ar-sa.js\": 304,\n\t\"./ar-tn\": 305,\n\t\"./ar-tn.js\": 305,\n\t\"./ar.js\": 298,\n\t\"./az\": 306,\n\t\"./az.js\": 306,\n\t\"./be\": 307,\n\t\"./be.js\": 307,\n\t\"./bg\": 308,\n\t\"./bg.js\": 308,\n\t\"./bm\": 309,\n\t\"./bm.js\": 309,\n\t\"./bn\": 310,\n\t\"./bn-bd\": 311,\n\t\"./bn-bd.js\": 311,\n\t\"./bn.js\": 310,\n\t\"./bo\": 312,\n\t\"./bo.js\": 312,\n\t\"./br\": 313,\n\t\"./br.js\": 313,\n\t\"./bs\": 314,\n\t\"./bs.js\": 314,\n\t\"./ca\": 315,\n\t\"./ca.js\": 315,\n\t\"./cs\": 316,\n\t\"./cs.js\": 316,\n\t\"./cv\": 317,\n\t\"./cv.js\": 317,\n\t\"./cy\": 318,\n\t\"./cy.js\": 318,\n\t\"./da\": 319,\n\t\"./da.js\": 319,\n\t\"./de\": 320,\n\t\"./de-at\": 321,\n\t\"./de-at.js\": 321,\n\t\"./de-ch\": 322,\n\t\"./de-ch.js\": 322,\n\t\"./de.js\": 320,\n\t\"./dv\": 323,\n\t\"./dv.js\": 323,\n\t\"./el\": 324,\n\t\"./el.js\": 324,\n\t\"./en-au\": 325,\n\t\"./en-au.js\": 325,\n\t\"./en-ca\": 326,\n\t\"./en-ca.js\": 326,\n\t\"./en-gb\": 327,\n\t\"./en-gb.js\": 327,\n\t\"./en-ie\": 328,\n\t\"./en-ie.js\": 328,\n\t\"./en-il\": 329,\n\t\"./en-il.js\": 329,\n\t\"./en-in\": 330,\n\t\"./en-in.js\": 330,\n\t\"./en-nz\": 331,\n\t\"./en-nz.js\": 331,\n\t\"./en-sg\": 332,\n\t\"./en-sg.js\": 332,\n\t\"./eo\": 333,\n\t\"./eo.js\": 333,\n\t\"./es\": 334,\n\t\"./es-do\": 335,\n\t\"./es-do.js\": 335,\n\t\"./es-mx\": 336,\n\t\"./es-mx.js\": 336,\n\t\"./es-us\": 337,\n\t\"./es-us.js\": 337,\n\t\"./es.js\": 334,\n\t\"./et\": 338,\n\t\"./et.js\": 338,\n\t\"./eu\": 339,\n\t\"./eu.js\": 339,\n\t\"./fa\": 340,\n\t\"./fa.js\": 340,\n\t\"./fi\": 341,\n\t\"./fi.js\": 341,\n\t\"./fil\": 342,\n\t\"./fil.js\": 342,\n\t\"./fo\": 343,\n\t\"./fo.js\": 343,\n\t\"./fr\": 344,\n\t\"./fr-ca\": 345,\n\t\"./fr-ca.js\": 345,\n\t\"./fr-ch\": 346,\n\t\"./fr-ch.js\": 346,\n\t\"./fr.js\": 344,\n\t\"./fy\": 347,\n\t\"./fy.js\": 347,\n\t\"./ga\": 348,\n\t\"./ga.js\": 348,\n\t\"./gd\": 349,\n\t\"./gd.js\": 349,\n\t\"./gl\": 350,\n\t\"./gl.js\": 350,\n\t\"./gom-deva\": 351,\n\t\"./gom-deva.js\": 351,\n\t\"./gom-latn\": 352,\n\t\"./gom-latn.js\": 352,\n\t\"./gu\": 353,\n\t\"./gu.js\": 353,\n\t\"./he\": 354,\n\t\"./he.js\": 354,\n\t\"./hi\": 355,\n\t\"./hi.js\": 355,\n\t\"./hr\": 356,\n\t\"./hr.js\": 356,\n\t\"./hu\": 357,\n\t\"./hu.js\": 357,\n\t\"./hy-am\": 358,\n\t\"./hy-am.js\": 358,\n\t\"./id\": 359,\n\t\"./id.js\": 359,\n\t\"./is\": 360,\n\t\"./is.js\": 360,\n\t\"./it\": 361,\n\t\"./it-ch\": 362,\n\t\"./it-ch.js\": 362,\n\t\"./it.js\": 361,\n\t\"./ja\": 363,\n\t\"./ja.js\": 363,\n\t\"./jv\": 364,\n\t\"./jv.js\": 364,\n\t\"./ka\": 365,\n\t\"./ka.js\": 365,\n\t\"./kk\": 366,\n\t\"./kk.js\": 366,\n\t\"./km\": 367,\n\t\"./km.js\": 367,\n\t\"./kn\": 368,\n\t\"./kn.js\": 368,\n\t\"./ko\": 369,\n\t\"./ko.js\": 369,\n\t\"./ku\": 370,\n\t\"./ku-kmr\": 371,\n\t\"./ku-kmr.js\": 371,\n\t\"./ku.js\": 370,\n\t\"./ky\": 372,\n\t\"./ky.js\": 372,\n\t\"./lb\": 373,\n\t\"./lb.js\": 373,\n\t\"./lo\": 374,\n\t\"./lo.js\": 374,\n\t\"./lt\": 375,\n\t\"./lt.js\": 375,\n\t\"./lv\": 376,\n\t\"./lv.js\": 376,\n\t\"./me\": 377,\n\t\"./me.js\": 377,\n\t\"./mi\": 378,\n\t\"./mi.js\": 378,\n\t\"./mk\": 379,\n\t\"./mk.js\": 379,\n\t\"./ml\": 380,\n\t\"./ml.js\": 380,\n\t\"./mn\": 381,\n\t\"./mn.js\": 381,\n\t\"./mr\": 382,\n\t\"./mr.js\": 382,\n\t\"./ms\": 383,\n\t\"./ms-my\": 384,\n\t\"./ms-my.js\": 384,\n\t\"./ms.js\": 383,\n\t\"./mt\": 385,\n\t\"./mt.js\": 385,\n\t\"./my\": 386,\n\t\"./my.js\": 386,\n\t\"./nb\": 387,\n\t\"./nb.js\": 387,\n\t\"./ne\": 388,\n\t\"./ne.js\": 388,\n\t\"./nl\": 389,\n\t\"./nl-be\": 390,\n\t\"./nl-be.js\": 390,\n\t\"./nl.js\": 389,\n\t\"./nn\": 391,\n\t\"./nn.js\": 391,\n\t\"./oc-lnc\": 392,\n\t\"./oc-lnc.js\": 392,\n\t\"./pa-in\": 393,\n\t\"./pa-in.js\": 393,\n\t\"./pl\": 394,\n\t\"./pl.js\": 394,\n\t\"./pt\": 395,\n\t\"./pt-br\": 396,\n\t\"./pt-br.js\": 396,\n\t\"./pt.js\": 395,\n\t\"./ro\": 397,\n\t\"./ro.js\": 397,\n\t\"./ru\": 398,\n\t\"./ru.js\": 398,\n\t\"./sd\": 399,\n\t\"./sd.js\": 399,\n\t\"./se\": 400,\n\t\"./se.js\": 400,\n\t\"./si\": 401,\n\t\"./si.js\": 401,\n\t\"./sk\": 402,\n\t\"./sk.js\": 402,\n\t\"./sl\": 403,\n\t\"./sl.js\": 403,\n\t\"./sq\": 404,\n\t\"./sq.js\": 404,\n\t\"./sr\": 405,\n\t\"./sr-cyrl\": 406,\n\t\"./sr-cyrl.js\": 406,\n\t\"./sr.js\": 405,\n\t\"./ss\": 407,\n\t\"./ss.js\": 407,\n\t\"./sv\": 408,\n\t\"./sv.js\": 408,\n\t\"./sw\": 409,\n\t\"./sw.js\": 409,\n\t\"./ta\": 410,\n\t\"./ta.js\": 410,\n\t\"./te\": 411,\n\t\"./te.js\": 411,\n\t\"./tet\": 412,\n\t\"./tet.js\": 412,\n\t\"./tg\": 413,\n\t\"./tg.js\": 413,\n\t\"./th\": 414,\n\t\"./th.js\": 414,\n\t\"./tk\": 415,\n\t\"./tk.js\": 415,\n\t\"./tl-ph\": 416,\n\t\"./tl-ph.js\": 416,\n\t\"./tlh\": 417,\n\t\"./tlh.js\": 417,\n\t\"./tr\": 418,\n\t\"./tr.js\": 418,\n\t\"./tzl\": 419,\n\t\"./tzl.js\": 419,\n\t\"./tzm\": 420,\n\t\"./tzm-latn\": 421,\n\t\"./tzm-latn.js\": 421,\n\t\"./tzm.js\": 420,\n\t\"./ug-cn\": 422,\n\t\"./ug-cn.js\": 422,\n\t\"./uk\": 423,\n\t\"./uk.js\": 423,\n\t\"./ur\": 424,\n\t\"./ur.js\": 424,\n\t\"./uz\": 425,\n\t\"./uz-latn\": 426,\n\t\"./uz-latn.js\": 426,\n\t\"./uz.js\": 425,\n\t\"./vi\": 427,\n\t\"./vi.js\": 427,\n\t\"./x-pseudo\": 428,\n\t\"./x-pseudo.js\": 428,\n\t\"./yo\": 429,\n\t\"./yo.js\": 429,\n\t\"./zh-cn\": 430,\n\t\"./zh-cn.js\": 430,\n\t\"./zh-hk\": 431,\n\t\"./zh-hk.js\": 431,\n\t\"./zh-mo\": 432,\n\t\"./zh-mo.js\": 432,\n\t\"./zh-tw\": 433,\n\t\"./zh-tw.js\": 433\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 657;","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\n    var hookCallback;\n\n    function hooks() {\n        return hookCallback.apply(null, arguments);\n    }\n\n    // This is done to register the method called with moment()\n    // without creating circular dependencies.\n    function setHookCallback(callback) {\n        hookCallback = callback;\n    }\n\n    function isArray(input) {\n        return (\n            input instanceof Array ||\n            Object.prototype.toString.call(input) === '[object Array]'\n        );\n    }\n\n    function isObject(input) {\n        // IE8 will treat undefined and null as object if it wasn't for\n        // input != null\n        return (\n            input != null &&\n            Object.prototype.toString.call(input) === '[object Object]'\n        );\n    }\n\n    function hasOwnProp(a, b) {\n        return Object.prototype.hasOwnProperty.call(a, b);\n    }\n\n    function isObjectEmpty(obj) {\n        if (Object.getOwnPropertyNames) {\n            return Object.getOwnPropertyNames(obj).length === 0;\n        } else {\n            var k;\n            for (k in obj) {\n                if (hasOwnProp(obj, k)) {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n\n    function isUndefined(input) {\n        return input === void 0;\n    }\n\n    function isNumber(input) {\n        return (\n            typeof input === 'number' ||\n            Object.prototype.toString.call(input) === '[object Number]'\n        );\n    }\n\n    function isDate(input) {\n        return (\n            input instanceof Date ||\n            Object.prototype.toString.call(input) === '[object Date]'\n        );\n    }\n\n    function map(arr, fn) {\n        var res = [],\n            i,\n            arrLen = arr.length;\n        for (i = 0; i < arrLen; ++i) {\n            res.push(fn(arr[i], i));\n        }\n        return res;\n    }\n\n    function extend(a, b) {\n        for (var i in b) {\n            if (hasOwnProp(b, i)) {\n                a[i] = b[i];\n            }\n        }\n\n        if (hasOwnProp(b, 'toString')) {\n            a.toString = b.toString;\n        }\n\n        if (hasOwnProp(b, 'valueOf')) {\n            a.valueOf = b.valueOf;\n        }\n\n        return a;\n    }\n\n    function createUTC(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, true).utc();\n    }\n\n    function defaultParsingFlags() {\n        // We need to deep clone this object.\n        return {\n            empty: false,\n            unusedTokens: [],\n            unusedInput: [],\n            overflow: -2,\n            charsLeftOver: 0,\n            nullInput: false,\n            invalidEra: null,\n            invalidMonth: null,\n            invalidFormat: false,\n            userInvalidated: false,\n            iso: false,\n            parsedDateParts: [],\n            era: null,\n            meridiem: null,\n            rfc2822: false,\n            weekdayMismatch: false,\n        };\n    }\n\n    function getParsingFlags(m) {\n        if (m._pf == null) {\n            m._pf = defaultParsingFlags();\n        }\n        return m._pf;\n    }\n\n    var some;\n    if (Array.prototype.some) {\n        some = Array.prototype.some;\n    } else {\n        some = function (fun) {\n            var t = Object(this),\n                len = t.length >>> 0,\n                i;\n\n            for (i = 0; i < len; i++) {\n                if (i in t && fun.call(this, t[i], i, t)) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n    }\n\n    function isValid(m) {\n        var flags = null,\n            parsedParts = false,\n            isNowValid = m._d && !isNaN(m._d.getTime());\n        if (isNowValid) {\n            flags = getParsingFlags(m);\n            parsedParts = some.call(flags.parsedDateParts, function (i) {\n                return i != null;\n            });\n            isNowValid =\n                flags.overflow < 0 &&\n                !flags.empty &&\n                !flags.invalidEra &&\n                !flags.invalidMonth &&\n                !flags.invalidWeekday &&\n                !flags.weekdayMismatch &&\n                !flags.nullInput &&\n                !flags.invalidFormat &&\n                !flags.userInvalidated &&\n                (!flags.meridiem || (flags.meridiem && parsedParts));\n            if (m._strict) {\n                isNowValid =\n                    isNowValid &&\n                    flags.charsLeftOver === 0 &&\n                    flags.unusedTokens.length === 0 &&\n                    flags.bigHour === undefined;\n            }\n        }\n        if (Object.isFrozen == null || !Object.isFrozen(m)) {\n            m._isValid = isNowValid;\n        } else {\n            return isNowValid;\n        }\n        return m._isValid;\n    }\n\n    function createInvalid(flags) {\n        var m = createUTC(NaN);\n        if (flags != null) {\n            extend(getParsingFlags(m), flags);\n        } else {\n            getParsingFlags(m).userInvalidated = true;\n        }\n\n        return m;\n    }\n\n    // Plugins that add properties should also add the key here (null value),\n    // so we can properly clone ourselves.\n    var momentProperties = (hooks.momentProperties = []),\n        updateInProgress = false;\n\n    function copyConfig(to, from) {\n        var i,\n            prop,\n            val,\n            momentPropertiesLen = momentProperties.length;\n\n        if (!isUndefined(from._isAMomentObject)) {\n            to._isAMomentObject = from._isAMomentObject;\n        }\n        if (!isUndefined(from._i)) {\n            to._i = from._i;\n        }\n        if (!isUndefined(from._f)) {\n            to._f = from._f;\n        }\n        if (!isUndefined(from._l)) {\n            to._l = from._l;\n        }\n        if (!isUndefined(from._strict)) {\n            to._strict = from._strict;\n        }\n        if (!isUndefined(from._tzm)) {\n            to._tzm = from._tzm;\n        }\n        if (!isUndefined(from._isUTC)) {\n            to._isUTC = from._isUTC;\n        }\n        if (!isUndefined(from._offset)) {\n            to._offset = from._offset;\n        }\n        if (!isUndefined(from._pf)) {\n            to._pf = getParsingFlags(from);\n        }\n        if (!isUndefined(from._locale)) {\n            to._locale = from._locale;\n        }\n\n        if (momentPropertiesLen > 0) {\n            for (i = 0; i < momentPropertiesLen; i++) {\n                prop = momentProperties[i];\n                val = from[prop];\n                if (!isUndefined(val)) {\n                    to[prop] = val;\n                }\n            }\n        }\n\n        return to;\n    }\n\n    // Moment prototype object\n    function Moment(config) {\n        copyConfig(this, config);\n        this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n        if (!this.isValid()) {\n            this._d = new Date(NaN);\n        }\n        // Prevent infinite loop in case updateOffset creates new moment\n        // objects.\n        if (updateInProgress === false) {\n            updateInProgress = true;\n            hooks.updateOffset(this);\n            updateInProgress = false;\n        }\n    }\n\n    function isMoment(obj) {\n        return (\n            obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n        );\n    }\n\n    function warn(msg) {\n        if (\n            hooks.suppressDeprecationWarnings === false &&\n            typeof console !== 'undefined' &&\n            console.warn\n        ) {\n            console.warn('Deprecation warning: ' + msg);\n        }\n    }\n\n    function deprecate(msg, fn) {\n        var firstTime = true;\n\n        return extend(function () {\n            if (hooks.deprecationHandler != null) {\n                hooks.deprecationHandler(null, msg);\n            }\n            if (firstTime) {\n                var args = [],\n                    arg,\n                    i,\n                    key,\n                    argLen = arguments.length;\n                for (i = 0; i < argLen; i++) {\n                    arg = '';\n                    if (typeof arguments[i] === 'object') {\n                        arg += '\\n[' + i + '] ';\n                        for (key in arguments[0]) {\n                            if (hasOwnProp(arguments[0], key)) {\n                                arg += key + ': ' + arguments[0][key] + ', ';\n                            }\n                        }\n                        arg = arg.slice(0, -2); // Remove trailing comma and space\n                    } else {\n                        arg = arguments[i];\n                    }\n                    args.push(arg);\n                }\n                warn(\n                    msg +\n                        '\\nArguments: ' +\n                        Array.prototype.slice.call(args).join('') +\n                        '\\n' +\n                        new Error().stack\n                );\n                firstTime = false;\n            }\n            return fn.apply(this, arguments);\n        }, fn);\n    }\n\n    var deprecations = {};\n\n    function deprecateSimple(name, msg) {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(name, msg);\n        }\n        if (!deprecations[name]) {\n            warn(msg);\n            deprecations[name] = true;\n        }\n    }\n\n    hooks.suppressDeprecationWarnings = false;\n    hooks.deprecationHandler = null;\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    function set(config) {\n        var prop, i;\n        for (i in config) {\n            if (hasOwnProp(config, i)) {\n                prop = config[i];\n                if (isFunction(prop)) {\n                    this[i] = prop;\n                } else {\n                    this['_' + i] = prop;\n                }\n            }\n        }\n        this._config = config;\n        // Lenient ordinal parsing accepts just a number in addition to\n        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        this._dayOfMonthOrdinalParseLenient = new RegExp(\n            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n                '|' +\n                /\\d{1,2}/.source\n        );\n    }\n\n    function mergeConfigs(parentConfig, childConfig) {\n        var res = extend({}, parentConfig),\n            prop;\n        for (prop in childConfig) {\n            if (hasOwnProp(childConfig, prop)) {\n                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                    res[prop] = {};\n                    extend(res[prop], parentConfig[prop]);\n                    extend(res[prop], childConfig[prop]);\n                } else if (childConfig[prop] != null) {\n                    res[prop] = childConfig[prop];\n                } else {\n                    delete res[prop];\n                }\n            }\n        }\n        for (prop in parentConfig) {\n            if (\n                hasOwnProp(parentConfig, prop) &&\n                !hasOwnProp(childConfig, prop) &&\n                isObject(parentConfig[prop])\n            ) {\n                // make sure changes to properties don't modify parent config\n                res[prop] = extend({}, res[prop]);\n            }\n        }\n        return res;\n    }\n\n    function Locale(config) {\n        if (config != null) {\n            this.set(config);\n        }\n    }\n\n    var keys;\n\n    if (Object.keys) {\n        keys = Object.keys;\n    } else {\n        keys = function (obj) {\n            var i,\n                res = [];\n            for (i in obj) {\n                if (hasOwnProp(obj, i)) {\n                    res.push(i);\n                }\n            }\n            return res;\n        };\n    }\n\n    var defaultCalendar = {\n        sameDay: '[Today at] LT',\n        nextDay: '[Tomorrow at] LT',\n        nextWeek: 'dddd [at] LT',\n        lastDay: '[Yesterday at] LT',\n        lastWeek: '[Last] dddd [at] LT',\n        sameElse: 'L',\n    };\n\n    function calendar(key, mom, now) {\n        var output = this._calendar[key] || this._calendar['sameElse'];\n        return isFunction(output) ? output.call(mom, now) : output;\n    }\n\n    function zeroFill(number, targetLength, forceSign) {\n        var absNumber = '' + Math.abs(number),\n            zerosToFill = targetLength - absNumber.length,\n            sign = number >= 0;\n        return (\n            (sign ? (forceSign ? '+' : '') : '-') +\n            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n            absNumber\n        );\n    }\n\n    var formattingTokens =\n            /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n        localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n        formatFunctions = {},\n        formatTokenFunctions = {};\n\n    // token:    'M'\n    // padded:   ['MM', 2]\n    // ordinal:  'Mo'\n    // callback: function () { this.month() + 1 }\n    function addFormatToken(token, padded, ordinal, callback) {\n        var func = callback;\n        if (typeof callback === 'string') {\n            func = function () {\n                return this[callback]();\n            };\n        }\n        if (token) {\n            formatTokenFunctions[token] = func;\n        }\n        if (padded) {\n            formatTokenFunctions[padded[0]] = function () {\n                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n            };\n        }\n        if (ordinal) {\n            formatTokenFunctions[ordinal] = function () {\n                return this.localeData().ordinal(\n                    func.apply(this, arguments),\n                    token\n                );\n            };\n        }\n    }\n\n    function removeFormattingTokens(input) {\n        if (input.match(/\\[[\\s\\S]/)) {\n            return input.replace(/^\\[|\\]$/g, '');\n        }\n        return input.replace(/\\\\/g, '');\n    }\n\n    function makeFormatFunction(format) {\n        var array = format.match(formattingTokens),\n            i,\n            length;\n\n        for (i = 0, length = array.length; i < length; i++) {\n            if (formatTokenFunctions[array[i]]) {\n                array[i] = formatTokenFunctions[array[i]];\n            } else {\n                array[i] = removeFormattingTokens(array[i]);\n            }\n        }\n\n        return function (mom) {\n            var output = '',\n                i;\n            for (i = 0; i < length; i++) {\n                output += isFunction(array[i])\n                    ? array[i].call(mom, format)\n                    : array[i];\n            }\n            return output;\n        };\n    }\n\n    // format date using native date object\n    function formatMoment(m, format) {\n        if (!m.isValid()) {\n            return m.localeData().invalidDate();\n        }\n\n        format = expandFormat(format, m.localeData());\n        formatFunctions[format] =\n            formatFunctions[format] || makeFormatFunction(format);\n\n        return formatFunctions[format](m);\n    }\n\n    function expandFormat(format, locale) {\n        var i = 5;\n\n        function replaceLongDateFormatTokens(input) {\n            return locale.longDateFormat(input) || input;\n        }\n\n        localFormattingTokens.lastIndex = 0;\n        while (i >= 0 && localFormattingTokens.test(format)) {\n            format = format.replace(\n                localFormattingTokens,\n                replaceLongDateFormatTokens\n            );\n            localFormattingTokens.lastIndex = 0;\n            i -= 1;\n        }\n\n        return format;\n    }\n\n    var defaultLongDateFormat = {\n        LTS: 'h:mm:ss A',\n        LT: 'h:mm A',\n        L: 'MM/DD/YYYY',\n        LL: 'MMMM D, YYYY',\n        LLL: 'MMMM D, YYYY h:mm A',\n        LLLL: 'dddd, MMMM D, YYYY h:mm A',\n    };\n\n    function longDateFormat(key) {\n        var format = this._longDateFormat[key],\n            formatUpper = this._longDateFormat[key.toUpperCase()];\n\n        if (format || !formatUpper) {\n            return format;\n        }\n\n        this._longDateFormat[key] = formatUpper\n            .match(formattingTokens)\n            .map(function (tok) {\n                if (\n                    tok === 'MMMM' ||\n                    tok === 'MM' ||\n                    tok === 'DD' ||\n                    tok === 'dddd'\n                ) {\n                    return tok.slice(1);\n                }\n                return tok;\n            })\n            .join('');\n\n        return this._longDateFormat[key];\n    }\n\n    var defaultInvalidDate = 'Invalid date';\n\n    function invalidDate() {\n        return this._invalidDate;\n    }\n\n    var defaultOrdinal = '%d',\n        defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n    function ordinal(number) {\n        return this._ordinal.replace('%d', number);\n    }\n\n    var defaultRelativeTime = {\n        future: 'in %s',\n        past: '%s ago',\n        s: 'a few seconds',\n        ss: '%d seconds',\n        m: 'a minute',\n        mm: '%d minutes',\n        h: 'an hour',\n        hh: '%d hours',\n        d: 'a day',\n        dd: '%d days',\n        w: 'a week',\n        ww: '%d weeks',\n        M: 'a month',\n        MM: '%d months',\n        y: 'a year',\n        yy: '%d years',\n    };\n\n    function relativeTime(number, withoutSuffix, string, isFuture) {\n        var output = this._relativeTime[string];\n        return isFunction(output)\n            ? output(number, withoutSuffix, string, isFuture)\n            : output.replace(/%d/i, number);\n    }\n\n    function pastFuture(diff, output) {\n        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n        return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n    }\n\n    var aliases = {\n        D: 'date',\n        dates: 'date',\n        date: 'date',\n        d: 'day',\n        days: 'day',\n        day: 'day',\n        e: 'weekday',\n        weekdays: 'weekday',\n        weekday: 'weekday',\n        E: 'isoWeekday',\n        isoweekdays: 'isoWeekday',\n        isoweekday: 'isoWeekday',\n        DDD: 'dayOfYear',\n        dayofyears: 'dayOfYear',\n        dayofyear: 'dayOfYear',\n        h: 'hour',\n        hours: 'hour',\n        hour: 'hour',\n        ms: 'millisecond',\n        milliseconds: 'millisecond',\n        millisecond: 'millisecond',\n        m: 'minute',\n        minutes: 'minute',\n        minute: 'minute',\n        M: 'month',\n        months: 'month',\n        month: 'month',\n        Q: 'quarter',\n        quarters: 'quarter',\n        quarter: 'quarter',\n        s: 'second',\n        seconds: 'second',\n        second: 'second',\n        gg: 'weekYear',\n        weekyears: 'weekYear',\n        weekyear: 'weekYear',\n        GG: 'isoWeekYear',\n        isoweekyears: 'isoWeekYear',\n        isoweekyear: 'isoWeekYear',\n        w: 'week',\n        weeks: 'week',\n        week: 'week',\n        W: 'isoWeek',\n        isoweeks: 'isoWeek',\n        isoweek: 'isoWeek',\n        y: 'year',\n        years: 'year',\n        year: 'year',\n    };\n\n    function normalizeUnits(units) {\n        return typeof units === 'string'\n            ? aliases[units] || aliases[units.toLowerCase()]\n            : undefined;\n    }\n\n    function normalizeObjectUnits(inputObject) {\n        var normalizedInput = {},\n            normalizedProp,\n            prop;\n\n        for (prop in inputObject) {\n            if (hasOwnProp(inputObject, prop)) {\n                normalizedProp = normalizeUnits(prop);\n                if (normalizedProp) {\n                    normalizedInput[normalizedProp] = inputObject[prop];\n                }\n            }\n        }\n\n        return normalizedInput;\n    }\n\n    var priorities = {\n        date: 9,\n        day: 11,\n        weekday: 11,\n        isoWeekday: 11,\n        dayOfYear: 4,\n        hour: 13,\n        millisecond: 16,\n        minute: 14,\n        month: 8,\n        quarter: 7,\n        second: 15,\n        weekYear: 1,\n        isoWeekYear: 1,\n        week: 5,\n        isoWeek: 5,\n        year: 1,\n    };\n\n    function getPrioritizedUnits(unitsObj) {\n        var units = [],\n            u;\n        for (u in unitsObj) {\n            if (hasOwnProp(unitsObj, u)) {\n                units.push({ unit: u, priority: priorities[u] });\n            }\n        }\n        units.sort(function (a, b) {\n            return a.priority - b.priority;\n        });\n        return units;\n    }\n\n    var match1 = /\\d/, //       0 - 9\n        match2 = /\\d\\d/, //      00 - 99\n        match3 = /\\d{3}/, //     000 - 999\n        match4 = /\\d{4}/, //    0000 - 9999\n        match6 = /[+-]?\\d{6}/, // -999999 - 999999\n        match1to2 = /\\d\\d?/, //       0 - 99\n        match3to4 = /\\d\\d\\d\\d?/, //     999 - 9999\n        match5to6 = /\\d\\d\\d\\d\\d\\d?/, //   99999 - 999999\n        match1to3 = /\\d{1,3}/, //       0 - 999\n        match1to4 = /\\d{1,4}/, //       0 - 9999\n        match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n        matchUnsigned = /\\d+/, //       0 - inf\n        matchSigned = /[+-]?\\d+/, //    -inf - inf\n        matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n        matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n        matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n        // any word (or two) characters or numbers including two/three word month in arabic.\n        // includes scottish gaelic two word and hyphenated months\n        matchWord =\n            /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n        match1to2NoLeadingZero = /^[1-9]\\d?/, //         1-99\n        match1to2HasZero = /^([1-9]\\d|\\d)/, //           0-99\n        regexes;\n\n    regexes = {};\n\n    function addRegexToken(token, regex, strictRegex) {\n        regexes[token] = isFunction(regex)\n            ? regex\n            : function (isStrict, localeData) {\n                  return isStrict && strictRegex ? strictRegex : regex;\n              };\n    }\n\n    function getParseRegexForToken(token, config) {\n        if (!hasOwnProp(regexes, token)) {\n            return new RegExp(unescapeFormat(token));\n        }\n\n        return regexes[token](config._strict, config._locale);\n    }\n\n    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n    function unescapeFormat(s) {\n        return regexEscape(\n            s\n                .replace('\\\\', '')\n                .replace(\n                    /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n                    function (matched, p1, p2, p3, p4) {\n                        return p1 || p2 || p3 || p4;\n                    }\n                )\n        );\n    }\n\n    function regexEscape(s) {\n        return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    function absFloor(number) {\n        if (number < 0) {\n            // -0 -> 0\n            return Math.ceil(number) || 0;\n        } else {\n            return Math.floor(number);\n        }\n    }\n\n    function toInt(argumentForCoercion) {\n        var coercedNumber = +argumentForCoercion,\n            value = 0;\n\n        if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n            value = absFloor(coercedNumber);\n        }\n\n        return value;\n    }\n\n    var tokens = {};\n\n    function addParseToken(token, callback) {\n        var i,\n            func = callback,\n            tokenLen;\n        if (typeof token === 'string') {\n            token = [token];\n        }\n        if (isNumber(callback)) {\n            func = function (input, array) {\n                array[callback] = toInt(input);\n            };\n        }\n        tokenLen = token.length;\n        for (i = 0; i < tokenLen; i++) {\n            tokens[token[i]] = func;\n        }\n    }\n\n    function addWeekParseToken(token, callback) {\n        addParseToken(token, function (input, array, config, token) {\n            config._w = config._w || {};\n            callback(input, config._w, config, token);\n        });\n    }\n\n    function addTimeToArrayFromToken(token, input, config) {\n        if (input != null && hasOwnProp(tokens, token)) {\n            tokens[token](input, config._a, config, token);\n        }\n    }\n\n    function isLeapYear(year) {\n        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n    }\n\n    var YEAR = 0,\n        MONTH = 1,\n        DATE = 2,\n        HOUR = 3,\n        MINUTE = 4,\n        SECOND = 5,\n        MILLISECOND = 6,\n        WEEK = 7,\n        WEEKDAY = 8;\n\n    // FORMATTING\n\n    addFormatToken('Y', 0, 0, function () {\n        var y = this.year();\n        return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n    });\n\n    addFormatToken(0, ['YY', 2], 0, function () {\n        return this.year() % 100;\n    });\n\n    addFormatToken(0, ['YYYY', 4], 0, 'year');\n    addFormatToken(0, ['YYYYY', 5], 0, 'year');\n    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n    // PARSING\n\n    addRegexToken('Y', matchSigned);\n    addRegexToken('YY', match1to2, match2);\n    addRegexToken('YYYY', match1to4, match4);\n    addRegexToken('YYYYY', match1to6, match6);\n    addRegexToken('YYYYYY', match1to6, match6);\n\n    addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n    addParseToken('YYYY', function (input, array) {\n        array[YEAR] =\n            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n    });\n    addParseToken('YY', function (input, array) {\n        array[YEAR] = hooks.parseTwoDigitYear(input);\n    });\n    addParseToken('Y', function (input, array) {\n        array[YEAR] = parseInt(input, 10);\n    });\n\n    // HELPERS\n\n    function daysInYear(year) {\n        return isLeapYear(year) ? 366 : 365;\n    }\n\n    // HOOKS\n\n    hooks.parseTwoDigitYear = function (input) {\n        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n    };\n\n    // MOMENTS\n\n    var getSetYear = makeGetSet('FullYear', true);\n\n    function getIsLeapYear() {\n        return isLeapYear(this.year());\n    }\n\n    function makeGetSet(unit, keepTime) {\n        return function (value) {\n            if (value != null) {\n                set$1(this, unit, value);\n                hooks.updateOffset(this, keepTime);\n                return this;\n            } else {\n                return get(this, unit);\n            }\n        };\n    }\n\n    function get(mom, unit) {\n        if (!mom.isValid()) {\n            return NaN;\n        }\n\n        var d = mom._d,\n            isUTC = mom._isUTC;\n\n        switch (unit) {\n            case 'Milliseconds':\n                return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n            case 'Seconds':\n                return isUTC ? d.getUTCSeconds() : d.getSeconds();\n            case 'Minutes':\n                return isUTC ? d.getUTCMinutes() : d.getMinutes();\n            case 'Hours':\n                return isUTC ? d.getUTCHours() : d.getHours();\n            case 'Date':\n                return isUTC ? d.getUTCDate() : d.getDate();\n            case 'Day':\n                return isUTC ? d.getUTCDay() : d.getDay();\n            case 'Month':\n                return isUTC ? d.getUTCMonth() : d.getMonth();\n            case 'FullYear':\n                return isUTC ? d.getUTCFullYear() : d.getFullYear();\n            default:\n                return NaN; // Just in case\n        }\n    }\n\n    function set$1(mom, unit, value) {\n        var d, isUTC, year, month, date;\n\n        if (!mom.isValid() || isNaN(value)) {\n            return;\n        }\n\n        d = mom._d;\n        isUTC = mom._isUTC;\n\n        switch (unit) {\n            case 'Milliseconds':\n                return void (isUTC\n                    ? d.setUTCMilliseconds(value)\n                    : d.setMilliseconds(value));\n            case 'Seconds':\n                return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n            case 'Minutes':\n                return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n            case 'Hours':\n                return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n            case 'Date':\n                return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n            // case 'Day': // Not real\n            //    return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n            // case 'Month': // Not used because we need to pass two variables\n            //     return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n            case 'FullYear':\n                break; // See below ...\n            default:\n                return; // Just in case\n        }\n\n        year = value;\n        month = mom.month();\n        date = mom.date();\n        date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n        void (isUTC\n            ? d.setUTCFullYear(year, month, date)\n            : d.setFullYear(year, month, date));\n    }\n\n    // MOMENTS\n\n    function stringGet(units) {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units]();\n        }\n        return this;\n    }\n\n    function stringSet(units, value) {\n        if (typeof units === 'object') {\n            units = normalizeObjectUnits(units);\n            var prioritized = getPrioritizedUnits(units),\n                i,\n                prioritizedLen = prioritized.length;\n            for (i = 0; i < prioritizedLen; i++) {\n                this[prioritized[i].unit](units[prioritized[i].unit]);\n            }\n        } else {\n            units = normalizeUnits(units);\n            if (isFunction(this[units])) {\n                return this[units](value);\n            }\n        }\n        return this;\n    }\n\n    function mod(n, x) {\n        return ((n % x) + x) % x;\n    }\n\n    var indexOf;\n\n    if (Array.prototype.indexOf) {\n        indexOf = Array.prototype.indexOf;\n    } else {\n        indexOf = function (o) {\n            // I know\n            var i;\n            for (i = 0; i < this.length; ++i) {\n                if (this[i] === o) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n    }\n\n    function daysInMonth(year, month) {\n        if (isNaN(year) || isNaN(month)) {\n            return NaN;\n        }\n        var modMonth = mod(month, 12);\n        year += (month - modMonth) / 12;\n        return modMonth === 1\n            ? isLeapYear(year)\n                ? 29\n                : 28\n            : 31 - ((modMonth % 7) % 2);\n    }\n\n    // FORMATTING\n\n    addFormatToken('M', ['MM', 2], 'Mo', function () {\n        return this.month() + 1;\n    });\n\n    addFormatToken('MMM', 0, 0, function (format) {\n        return this.localeData().monthsShort(this, format);\n    });\n\n    addFormatToken('MMMM', 0, 0, function (format) {\n        return this.localeData().months(this, format);\n    });\n\n    // PARSING\n\n    addRegexToken('M', match1to2, match1to2NoLeadingZero);\n    addRegexToken('MM', match1to2, match2);\n    addRegexToken('MMM', function (isStrict, locale) {\n        return locale.monthsShortRegex(isStrict);\n    });\n    addRegexToken('MMMM', function (isStrict, locale) {\n        return locale.monthsRegex(isStrict);\n    });\n\n    addParseToken(['M', 'MM'], function (input, array) {\n        array[MONTH] = toInt(input) - 1;\n    });\n\n    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n        var month = config._locale.monthsParse(input, token, config._strict);\n        // if we didn't find a month name, mark the date as invalid.\n        if (month != null) {\n            array[MONTH] = month;\n        } else {\n            getParsingFlags(config).invalidMonth = input;\n        }\n    });\n\n    // LOCALES\n\n    var defaultLocaleMonths =\n            'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n                '_'\n            ),\n        defaultLocaleMonthsShort =\n            'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n        defaultMonthsShortRegex = matchWord,\n        defaultMonthsRegex = matchWord;\n\n    function localeMonths(m, format) {\n        if (!m) {\n            return isArray(this._months)\n                ? this._months\n                : this._months['standalone'];\n        }\n        return isArray(this._months)\n            ? this._months[m.month()]\n            : this._months[\n                  (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n                      ? 'format'\n                      : 'standalone'\n              ][m.month()];\n    }\n\n    function localeMonthsShort(m, format) {\n        if (!m) {\n            return isArray(this._monthsShort)\n                ? this._monthsShort\n                : this._monthsShort['standalone'];\n        }\n        return isArray(this._monthsShort)\n            ? this._monthsShort[m.month()]\n            : this._monthsShort[\n                  MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n              ][m.month()];\n    }\n\n    function handleStrictParse(monthName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = monthName.toLocaleLowerCase();\n        if (!this._monthsParse) {\n            // this is not used\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n            for (i = 0; i < 12; ++i) {\n                mom = createUTC([2000, i]);\n                this._shortMonthsParse[i] = this.monthsShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeMonthsParse(monthName, format, strict) {\n        var i, mom, regex;\n\n        if (this._monthsParseExact) {\n            return handleStrictParse.call(this, monthName, format, strict);\n        }\n\n        if (!this._monthsParse) {\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n        }\n\n        // TODO: add sorting\n        // Sorting makes sure if one month (or abbr) is a prefix of another\n        // see sorting in computeMonthsParse\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            if (strict && !this._longMonthsParse[i]) {\n                this._longMonthsParse[i] = new RegExp(\n                    '^' + this.months(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n                this._shortMonthsParse[i] = new RegExp(\n                    '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n            }\n            if (!strict && !this._monthsParse[i]) {\n                regex =\n                    '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'MMMM' &&\n                this._longMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'MMM' &&\n                this._shortMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (!strict && this._monthsParse[i].test(monthName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function setMonth(mom, value) {\n        if (!mom.isValid()) {\n            // No op\n            return mom;\n        }\n\n        if (typeof value === 'string') {\n            if (/^\\d+$/.test(value)) {\n                value = toInt(value);\n            } else {\n                value = mom.localeData().monthsParse(value);\n                // TODO: Another silent failure?\n                if (!isNumber(value)) {\n                    return mom;\n                }\n            }\n        }\n\n        var month = value,\n            date = mom.date();\n\n        date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n        void (mom._isUTC\n            ? mom._d.setUTCMonth(month, date)\n            : mom._d.setMonth(month, date));\n        return mom;\n    }\n\n    function getSetMonth(value) {\n        if (value != null) {\n            setMonth(this, value);\n            hooks.updateOffset(this, true);\n            return this;\n        } else {\n            return get(this, 'Month');\n        }\n    }\n\n    function getDaysInMonth() {\n        return daysInMonth(this.year(), this.month());\n    }\n\n    function monthsShortRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsShortStrictRegex;\n            } else {\n                return this._monthsShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsShortRegex')) {\n                this._monthsShortRegex = defaultMonthsShortRegex;\n            }\n            return this._monthsShortStrictRegex && isStrict\n                ? this._monthsShortStrictRegex\n                : this._monthsShortRegex;\n        }\n    }\n\n    function monthsRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsStrictRegex;\n            } else {\n                return this._monthsRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                this._monthsRegex = defaultMonthsRegex;\n            }\n            return this._monthsStrictRegex && isStrict\n                ? this._monthsStrictRegex\n                : this._monthsRegex;\n        }\n    }\n\n    function computeMonthsParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            shortP,\n            longP;\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            shortP = regexEscape(this.monthsShort(mom, ''));\n            longP = regexEscape(this.months(mom, ''));\n            shortPieces.push(shortP);\n            longPieces.push(longP);\n            mixedPieces.push(longP);\n            mixedPieces.push(shortP);\n        }\n        // Sorting makes sure if one month (or abbr) is a prefix of another it\n        // will match the longer piece.\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._monthsShortRegex = this._monthsRegex;\n        this._monthsStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._monthsShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    function createDate(y, m, d, h, M, s, ms) {\n        // can't just apply() to create a date:\n        // https://stackoverflow.com/q/181348\n        var date;\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            date = new Date(y + 400, m, d, h, M, s, ms);\n            if (isFinite(date.getFullYear())) {\n                date.setFullYear(y);\n            }\n        } else {\n            date = new Date(y, m, d, h, M, s, ms);\n        }\n\n        return date;\n    }\n\n    function createUTCDate(y) {\n        var date, args;\n        // the Date.UTC function remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            args = Array.prototype.slice.call(arguments);\n            // preserve leap years using a full 400 year cycle, then reset\n            args[0] = y + 400;\n            date = new Date(Date.UTC.apply(null, args));\n            if (isFinite(date.getUTCFullYear())) {\n                date.setUTCFullYear(y);\n            }\n        } else {\n            date = new Date(Date.UTC.apply(null, arguments));\n        }\n\n        return date;\n    }\n\n    // start-of-first-week - start-of-year\n    function firstWeekOffset(year, dow, doy) {\n        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n            fwd = 7 + dow - doy,\n            // first-week day local weekday -- which local weekday is fwd\n            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n        return -fwdlw + fwd - 1;\n    }\n\n    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n        var localWeekday = (7 + weekday - dow) % 7,\n            weekOffset = firstWeekOffset(year, dow, doy),\n            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n            resYear,\n            resDayOfYear;\n\n        if (dayOfYear <= 0) {\n            resYear = year - 1;\n            resDayOfYear = daysInYear(resYear) + dayOfYear;\n        } else if (dayOfYear > daysInYear(year)) {\n            resYear = year + 1;\n            resDayOfYear = dayOfYear - daysInYear(year);\n        } else {\n            resYear = year;\n            resDayOfYear = dayOfYear;\n        }\n\n        return {\n            year: resYear,\n            dayOfYear: resDayOfYear,\n        };\n    }\n\n    function weekOfYear(mom, dow, doy) {\n        var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n            resWeek,\n            resYear;\n\n        if (week < 1) {\n            resYear = mom.year() - 1;\n            resWeek = week + weeksInYear(resYear, dow, doy);\n        } else if (week > weeksInYear(mom.year(), dow, doy)) {\n            resWeek = week - weeksInYear(mom.year(), dow, doy);\n            resYear = mom.year() + 1;\n        } else {\n            resYear = mom.year();\n            resWeek = week;\n        }\n\n        return {\n            week: resWeek,\n            year: resYear,\n        };\n    }\n\n    function weeksInYear(year, dow, doy) {\n        var weekOffset = firstWeekOffset(year, dow, doy),\n            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n    }\n\n    // FORMATTING\n\n    addFormatToken('w', ['ww', 2], 'wo', 'week');\n    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n    // PARSING\n\n    addRegexToken('w', match1to2, match1to2NoLeadingZero);\n    addRegexToken('ww', match1to2, match2);\n    addRegexToken('W', match1to2, match1to2NoLeadingZero);\n    addRegexToken('WW', match1to2, match2);\n\n    addWeekParseToken(\n        ['w', 'ww', 'W', 'WW'],\n        function (input, week, config, token) {\n            week[token.substr(0, 1)] = toInt(input);\n        }\n    );\n\n    // HELPERS\n\n    // LOCALES\n\n    function localeWeek(mom) {\n        return weekOfYear(mom, this._week.dow, this._week.doy).week;\n    }\n\n    var defaultLocaleWeek = {\n        dow: 0, // Sunday is the first day of the week.\n        doy: 6, // The week that contains Jan 6th is the first week of the year.\n    };\n\n    function localeFirstDayOfWeek() {\n        return this._week.dow;\n    }\n\n    function localeFirstDayOfYear() {\n        return this._week.doy;\n    }\n\n    // MOMENTS\n\n    function getSetWeek(input) {\n        var week = this.localeData().week(this);\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    function getSetISOWeek(input) {\n        var week = weekOfYear(this, 1, 4).week;\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('d', 0, 'do', 'day');\n\n    addFormatToken('dd', 0, 0, function (format) {\n        return this.localeData().weekdaysMin(this, format);\n    });\n\n    addFormatToken('ddd', 0, 0, function (format) {\n        return this.localeData().weekdaysShort(this, format);\n    });\n\n    addFormatToken('dddd', 0, 0, function (format) {\n        return this.localeData().weekdays(this, format);\n    });\n\n    addFormatToken('e', 0, 0, 'weekday');\n    addFormatToken('E', 0, 0, 'isoWeekday');\n\n    // PARSING\n\n    addRegexToken('d', match1to2);\n    addRegexToken('e', match1to2);\n    addRegexToken('E', match1to2);\n    addRegexToken('dd', function (isStrict, locale) {\n        return locale.weekdaysMinRegex(isStrict);\n    });\n    addRegexToken('ddd', function (isStrict, locale) {\n        return locale.weekdaysShortRegex(isStrict);\n    });\n    addRegexToken('dddd', function (isStrict, locale) {\n        return locale.weekdaysRegex(isStrict);\n    });\n\n    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n        var weekday = config._locale.weekdaysParse(input, token, config._strict);\n        // if we didn't get a weekday name, mark the date as invalid\n        if (weekday != null) {\n            week.d = weekday;\n        } else {\n            getParsingFlags(config).invalidWeekday = input;\n        }\n    });\n\n    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n        week[token] = toInt(input);\n    });\n\n    // HELPERS\n\n    function parseWeekday(input, locale) {\n        if (typeof input !== 'string') {\n            return input;\n        }\n\n        if (!isNaN(input)) {\n            return parseInt(input, 10);\n        }\n\n        input = locale.weekdaysParse(input);\n        if (typeof input === 'number') {\n            return input;\n        }\n\n        return null;\n    }\n\n    function parseIsoWeekday(input, locale) {\n        if (typeof input === 'string') {\n            return locale.weekdaysParse(input) % 7 || 7;\n        }\n        return isNaN(input) ? null : input;\n    }\n\n    // LOCALES\n    function shiftWeekdays(ws, n) {\n        return ws.slice(n, 7).concat(ws.slice(0, n));\n    }\n\n    var defaultLocaleWeekdays =\n            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        defaultWeekdaysRegex = matchWord,\n        defaultWeekdaysShortRegex = matchWord,\n        defaultWeekdaysMinRegex = matchWord;\n\n    function localeWeekdays(m, format) {\n        var weekdays = isArray(this._weekdays)\n            ? this._weekdays\n            : this._weekdays[\n                  m && m !== true && this._weekdays.isFormat.test(format)\n                      ? 'format'\n                      : 'standalone'\n              ];\n        return m === true\n            ? shiftWeekdays(weekdays, this._week.dow)\n            : m\n              ? weekdays[m.day()]\n              : weekdays;\n    }\n\n    function localeWeekdaysShort(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n            : m\n              ? this._weekdaysShort[m.day()]\n              : this._weekdaysShort;\n    }\n\n    function localeWeekdaysMin(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n            : m\n              ? this._weekdaysMin[m.day()]\n              : this._weekdaysMin;\n    }\n\n    function handleStrictParse$1(weekdayName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = weekdayName.toLocaleLowerCase();\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._minWeekdaysParse = [];\n\n            for (i = 0; i < 7; ++i) {\n                mom = createUTC([2000, 1]).day(i);\n                this._minWeekdaysParse[i] = this.weekdaysMin(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._shortWeekdaysParse[i] = this.weekdaysShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeWeekdaysParse(weekdayName, format, strict) {\n        var i, mom, regex;\n\n        if (this._weekdaysParseExact) {\n            return handleStrictParse$1.call(this, weekdayName, format, strict);\n        }\n\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._minWeekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._fullWeekdaysParse = [];\n        }\n\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n\n            mom = createUTC([2000, 1]).day(i);\n            if (strict && !this._fullWeekdaysParse[i]) {\n                this._fullWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._shortWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._minWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n            }\n            if (!this._weekdaysParse[i]) {\n                regex =\n                    '^' +\n                    this.weekdays(mom, '') +\n                    '|^' +\n                    this.weekdaysShort(mom, '') +\n                    '|^' +\n                    this.weekdaysMin(mom, '');\n                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'dddd' &&\n                this._fullWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'ddd' &&\n                this._shortWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'dd' &&\n                this._minWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function getSetDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        var day = get(this, 'Day');\n        if (input != null) {\n            input = parseWeekday(input, this.localeData());\n            return this.add(input - day, 'd');\n        } else {\n            return day;\n        }\n    }\n\n    function getSetLocaleDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n        return input == null ? weekday : this.add(input - weekday, 'd');\n    }\n\n    function getSetISODayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        // behaves the same as moment#day except\n        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n        // as a setter, sunday should belong to the previous week.\n\n        if (input != null) {\n            var weekday = parseIsoWeekday(input, this.localeData());\n            return this.day(this.day() % 7 ? weekday : weekday - 7);\n        } else {\n            return this.day() || 7;\n        }\n    }\n\n    function weekdaysRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysStrictRegex;\n            } else {\n                return this._weekdaysRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                this._weekdaysRegex = defaultWeekdaysRegex;\n            }\n            return this._weekdaysStrictRegex && isStrict\n                ? this._weekdaysStrictRegex\n                : this._weekdaysRegex;\n        }\n    }\n\n    function weekdaysShortRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysShortStrictRegex;\n            } else {\n                return this._weekdaysShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n                this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n            }\n            return this._weekdaysShortStrictRegex && isStrict\n                ? this._weekdaysShortStrictRegex\n                : this._weekdaysShortRegex;\n        }\n    }\n\n    function weekdaysMinRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysMinStrictRegex;\n            } else {\n                return this._weekdaysMinRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n                this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n            }\n            return this._weekdaysMinStrictRegex && isStrict\n                ? this._weekdaysMinStrictRegex\n                : this._weekdaysMinRegex;\n        }\n    }\n\n    function computeWeekdaysParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var minPieces = [],\n            shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            minp,\n            shortp,\n            longp;\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, 1]).day(i);\n            minp = regexEscape(this.weekdaysMin(mom, ''));\n            shortp = regexEscape(this.weekdaysShort(mom, ''));\n            longp = regexEscape(this.weekdays(mom, ''));\n            minPieces.push(minp);\n            shortPieces.push(shortp);\n            longPieces.push(longp);\n            mixedPieces.push(minp);\n            mixedPieces.push(shortp);\n            mixedPieces.push(longp);\n        }\n        // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n        // will match the longer piece.\n        minPieces.sort(cmpLenRev);\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._weekdaysShortRegex = this._weekdaysRegex;\n        this._weekdaysMinRegex = this._weekdaysRegex;\n\n        this._weekdaysStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysMinStrictRegex = new RegExp(\n            '^(' + minPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    function hFormat() {\n        return this.hours() % 12 || 12;\n    }\n\n    function kFormat() {\n        return this.hours() || 24;\n    }\n\n    addFormatToken('H', ['HH', 2], 0, 'hour');\n    addFormatToken('h', ['hh', 2], 0, hFormat);\n    addFormatToken('k', ['kk', 2], 0, kFormat);\n\n    addFormatToken('hmm', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('hmmss', 0, 0, function () {\n        return (\n            '' +\n            hFormat.apply(this) +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    addFormatToken('Hmm', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('Hmmss', 0, 0, function () {\n        return (\n            '' +\n            this.hours() +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    function meridiem(token, lowercase) {\n        addFormatToken(token, 0, 0, function () {\n            return this.localeData().meridiem(\n                this.hours(),\n                this.minutes(),\n                lowercase\n            );\n        });\n    }\n\n    meridiem('a', true);\n    meridiem('A', false);\n\n    // PARSING\n\n    function matchMeridiem(isStrict, locale) {\n        return locale._meridiemParse;\n    }\n\n    addRegexToken('a', matchMeridiem);\n    addRegexToken('A', matchMeridiem);\n    addRegexToken('H', match1to2, match1to2HasZero);\n    addRegexToken('h', match1to2, match1to2NoLeadingZero);\n    addRegexToken('k', match1to2, match1to2NoLeadingZero);\n    addRegexToken('HH', match1to2, match2);\n    addRegexToken('hh', match1to2, match2);\n    addRegexToken('kk', match1to2, match2);\n\n    addRegexToken('hmm', match3to4);\n    addRegexToken('hmmss', match5to6);\n    addRegexToken('Hmm', match3to4);\n    addRegexToken('Hmmss', match5to6);\n\n    addParseToken(['H', 'HH'], HOUR);\n    addParseToken(['k', 'kk'], function (input, array, config) {\n        var kInput = toInt(input);\n        array[HOUR] = kInput === 24 ? 0 : kInput;\n    });\n    addParseToken(['a', 'A'], function (input, array, config) {\n        config._isPm = config._locale.isPM(input);\n        config._meridiem = input;\n    });\n    addParseToken(['h', 'hh'], function (input, array, config) {\n        array[HOUR] = toInt(input);\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('Hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n    });\n    addParseToken('Hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n    });\n\n    // LOCALES\n\n    function localeIsPM(input) {\n        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n        // Using charAt should be more compatible.\n        return (input + '').toLowerCase().charAt(0) === 'p';\n    }\n\n    var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n        // Setting the hour should keep the time, because the user explicitly\n        // specified which hour they want. So trying to maintain the same hour (in\n        // a new timezone) makes sense. Adding/subtracting hours does not follow\n        // this rule.\n        getSetHour = makeGetSet('Hours', true);\n\n    function localeMeridiem(hours, minutes, isLower) {\n        if (hours > 11) {\n            return isLower ? 'pm' : 'PM';\n        } else {\n            return isLower ? 'am' : 'AM';\n        }\n    }\n\n    var baseConfig = {\n        calendar: defaultCalendar,\n        longDateFormat: defaultLongDateFormat,\n        invalidDate: defaultInvalidDate,\n        ordinal: defaultOrdinal,\n        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n        relativeTime: defaultRelativeTime,\n\n        months: defaultLocaleMonths,\n        monthsShort: defaultLocaleMonthsShort,\n\n        week: defaultLocaleWeek,\n\n        weekdays: defaultLocaleWeekdays,\n        weekdaysMin: defaultLocaleWeekdaysMin,\n        weekdaysShort: defaultLocaleWeekdaysShort,\n\n        meridiemParse: defaultLocaleMeridiemParse,\n    };\n\n    // internal storage for locale config files\n    var locales = {},\n        localeFamilies = {},\n        globalLocale;\n\n    function commonPrefix(arr1, arr2) {\n        var i,\n            minl = Math.min(arr1.length, arr2.length);\n        for (i = 0; i < minl; i += 1) {\n            if (arr1[i] !== arr2[i]) {\n                return i;\n            }\n        }\n        return minl;\n    }\n\n    function normalizeLocale(key) {\n        return key ? key.toLowerCase().replace('_', '-') : key;\n    }\n\n    // pick the locale from the array\n    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n    function chooseLocale(names) {\n        var i = 0,\n            j,\n            next,\n            locale,\n            split;\n\n        while (i < names.length) {\n            split = normalizeLocale(names[i]).split('-');\n            j = split.length;\n            next = normalizeLocale(names[i + 1]);\n            next = next ? next.split('-') : null;\n            while (j > 0) {\n                locale = loadLocale(split.slice(0, j).join('-'));\n                if (locale) {\n                    return locale;\n                }\n                if (\n                    next &&\n                    next.length >= j &&\n                    commonPrefix(split, next) >= j - 1\n                ) {\n                    //the next array item is better than a shallower substring of this one\n                    break;\n                }\n                j--;\n            }\n            i++;\n        }\n        return globalLocale;\n    }\n\n    function isLocaleNameSane(name) {\n        // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n        // Ensure name is available and function returns boolean\n        return !!(name && name.match('^[^/\\\\\\\\]*$'));\n    }\n\n    function loadLocale(name) {\n        var oldLocale = null,\n            aliasedRequire;\n        // TODO: Find a better way to register and load all the locales in Node\n        if (\n            locales[name] === undefined &&\n            typeof module !== 'undefined' &&\n            module &&\n            module.exports &&\n            isLocaleNameSane(name)\n        ) {\n            try {\n                oldLocale = globalLocale._abbr;\n                aliasedRequire = require;\n                aliasedRequire('./locale/' + name);\n                getSetGlobalLocale(oldLocale);\n            } catch (e) {\n                // mark as not found to avoid repeating expensive file require call causing high CPU\n                // when trying to find en-US, en_US, en-us for every format call\n                locales[name] = null; // null means not found\n            }\n        }\n        return locales[name];\n    }\n\n    // This function will load locale and then set the global locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    function getSetGlobalLocale(key, values) {\n        var data;\n        if (key) {\n            if (isUndefined(values)) {\n                data = getLocale(key);\n            } else {\n                data = defineLocale(key, values);\n            }\n\n            if (data) {\n                // moment.duration._locale = moment._locale = data;\n                globalLocale = data;\n            } else {\n                if (typeof console !== 'undefined' && console.warn) {\n                    //warn user if arguments are passed but the locale could not be set\n                    console.warn(\n                        'Locale ' + key + ' not found. Did you forget to load it?'\n                    );\n                }\n            }\n        }\n\n        return globalLocale._abbr;\n    }\n\n    function defineLocale(name, config) {\n        if (config !== null) {\n            var locale,\n                parentConfig = baseConfig;\n            config.abbr = name;\n            if (locales[name] != null) {\n                deprecateSimple(\n                    'defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                        'an existing locale. moment.defineLocale(localeName, ' +\n                        'config) should only be used for creating a new locale ' +\n                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n                );\n                parentConfig = locales[name]._config;\n            } else if (config.parentLocale != null) {\n                if (locales[config.parentLocale] != null) {\n                    parentConfig = locales[config.parentLocale]._config;\n                } else {\n                    locale = loadLocale(config.parentLocale);\n                    if (locale != null) {\n                        parentConfig = locale._config;\n                    } else {\n                        if (!localeFamilies[config.parentLocale]) {\n                            localeFamilies[config.parentLocale] = [];\n                        }\n                        localeFamilies[config.parentLocale].push({\n                            name: name,\n                            config: config,\n                        });\n                        return null;\n                    }\n                }\n            }\n            locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n            if (localeFamilies[name]) {\n                localeFamilies[name].forEach(function (x) {\n                    defineLocale(x.name, x.config);\n                });\n            }\n\n            // backwards compat for now: also set the locale\n            // make sure we set the locale AFTER all child locales have been\n            // created, so we won't end up with the child locale set.\n            getSetGlobalLocale(name);\n\n            return locales[name];\n        } else {\n            // useful for testing\n            delete locales[name];\n            return null;\n        }\n    }\n\n    function updateLocale(name, config) {\n        if (config != null) {\n            var locale,\n                tmpLocale,\n                parentConfig = baseConfig;\n\n            if (locales[name] != null && locales[name].parentLocale != null) {\n                // Update existing child locale in-place to avoid memory-leaks\n                locales[name].set(mergeConfigs(locales[name]._config, config));\n            } else {\n                // MERGE\n                tmpLocale = loadLocale(name);\n                if (tmpLocale != null) {\n                    parentConfig = tmpLocale._config;\n                }\n                config = mergeConfigs(parentConfig, config);\n                if (tmpLocale == null) {\n                    // updateLocale is called for creating a new locale\n                    // Set abbr so it will have a name (getters return\n                    // undefined otherwise).\n                    config.abbr = name;\n                }\n                locale = new Locale(config);\n                locale.parentLocale = locales[name];\n                locales[name] = locale;\n            }\n\n            // backwards compat for now: also set the locale\n            getSetGlobalLocale(name);\n        } else {\n            // pass null for config to unupdate, useful for tests\n            if (locales[name] != null) {\n                if (locales[name].parentLocale != null) {\n                    locales[name] = locales[name].parentLocale;\n                    if (name === getSetGlobalLocale()) {\n                        getSetGlobalLocale(name);\n                    }\n                } else if (locales[name] != null) {\n                    delete locales[name];\n                }\n            }\n        }\n        return locales[name];\n    }\n\n    // returns locale data\n    function getLocale(key) {\n        var locale;\n\n        if (key && key._locale && key._locale._abbr) {\n            key = key._locale._abbr;\n        }\n\n        if (!key) {\n            return globalLocale;\n        }\n\n        if (!isArray(key)) {\n            //short-circuit everything else\n            locale = loadLocale(key);\n            if (locale) {\n                return locale;\n            }\n            key = [key];\n        }\n\n        return chooseLocale(key);\n    }\n\n    function listLocales() {\n        return keys(locales);\n    }\n\n    function checkOverflow(m) {\n        var overflow,\n            a = m._a;\n\n        if (a && getParsingFlags(m).overflow === -2) {\n            overflow =\n                a[MONTH] < 0 || a[MONTH] > 11\n                    ? MONTH\n                    : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n                      ? DATE\n                      : a[HOUR] < 0 ||\n                          a[HOUR] > 24 ||\n                          (a[HOUR] === 24 &&\n                              (a[MINUTE] !== 0 ||\n                                  a[SECOND] !== 0 ||\n                                  a[MILLISECOND] !== 0))\n                        ? HOUR\n                        : a[MINUTE] < 0 || a[MINUTE] > 59\n                          ? MINUTE\n                          : a[SECOND] < 0 || a[SECOND] > 59\n                            ? SECOND\n                            : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n                              ? MILLISECOND\n                              : -1;\n\n            if (\n                getParsingFlags(m)._overflowDayOfYear &&\n                (overflow < YEAR || overflow > DATE)\n            ) {\n                overflow = DATE;\n            }\n            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n                overflow = WEEK;\n            }\n            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n                overflow = WEEKDAY;\n            }\n\n            getParsingFlags(m).overflow = overflow;\n        }\n\n        return m;\n    }\n\n    // iso 8601 regex\n    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n    var extendedIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        basicIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n        isoDates = [\n            ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n            ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n            ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n            ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n            ['YYYY-DDD', /\\d{4}-\\d{3}/],\n            ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n            ['YYYYYYMMDD', /[+-]\\d{10}/],\n            ['YYYYMMDD', /\\d{8}/],\n            ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n            ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n            ['YYYYDDD', /\\d{7}/],\n            ['YYYYMM', /\\d{6}/, false],\n            ['YYYY', /\\d{4}/, false],\n        ],\n        // iso time formats and regexes\n        isoTimes = [\n            ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n            ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n            ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n            ['HH:mm', /\\d\\d:\\d\\d/],\n            ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n            ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n            ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n            ['HHmm', /\\d\\d\\d\\d/],\n            ['HH', /\\d\\d/],\n        ],\n        aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n        // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n        rfc2822 =\n            /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n        obsOffsets = {\n            UT: 0,\n            GMT: 0,\n            EDT: -4 * 60,\n            EST: -5 * 60,\n            CDT: -5 * 60,\n            CST: -6 * 60,\n            MDT: -6 * 60,\n            MST: -7 * 60,\n            PDT: -7 * 60,\n            PST: -8 * 60,\n        };\n\n    // date from iso format\n    function configFromISO(config) {\n        var i,\n            l,\n            string = config._i,\n            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n            allowTime,\n            dateFormat,\n            timeFormat,\n            tzFormat,\n            isoDatesLen = isoDates.length,\n            isoTimesLen = isoTimes.length;\n\n        if (match) {\n            getParsingFlags(config).iso = true;\n            for (i = 0, l = isoDatesLen; i < l; i++) {\n                if (isoDates[i][1].exec(match[1])) {\n                    dateFormat = isoDates[i][0];\n                    allowTime = isoDates[i][2] !== false;\n                    break;\n                }\n            }\n            if (dateFormat == null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[3]) {\n                for (i = 0, l = isoTimesLen; i < l; i++) {\n                    if (isoTimes[i][1].exec(match[3])) {\n                        // match[2] should be 'T' or space\n                        timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                        break;\n                    }\n                }\n                if (timeFormat == null) {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            if (!allowTime && timeFormat != null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[4]) {\n                if (tzRegex.exec(match[4])) {\n                    tzFormat = 'Z';\n                } else {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n            configFromStringAndFormat(config);\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    function extractFromRFC2822Strings(\n        yearStr,\n        monthStr,\n        dayStr,\n        hourStr,\n        minuteStr,\n        secondStr\n    ) {\n        var result = [\n            untruncateYear(yearStr),\n            defaultLocaleMonthsShort.indexOf(monthStr),\n            parseInt(dayStr, 10),\n            parseInt(hourStr, 10),\n            parseInt(minuteStr, 10),\n        ];\n\n        if (secondStr) {\n            result.push(parseInt(secondStr, 10));\n        }\n\n        return result;\n    }\n\n    function untruncateYear(yearStr) {\n        var year = parseInt(yearStr, 10);\n        if (year <= 49) {\n            return 2000 + year;\n        } else if (year <= 999) {\n            return 1900 + year;\n        }\n        return year;\n    }\n\n    function preprocessRFC2822(s) {\n        // Remove comments and folding whitespace and replace multiple-spaces with a single space\n        return s\n            .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n            .replace(/(\\s\\s+)/g, ' ')\n            .replace(/^\\s\\s*/, '')\n            .replace(/\\s\\s*$/, '');\n    }\n\n    function checkWeekday(weekdayStr, parsedInput, config) {\n        if (weekdayStr) {\n            // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n                weekdayActual = new Date(\n                    parsedInput[0],\n                    parsedInput[1],\n                    parsedInput[2]\n                ).getDay();\n            if (weekdayProvided !== weekdayActual) {\n                getParsingFlags(config).weekdayMismatch = true;\n                config._isValid = false;\n                return false;\n            }\n        }\n        return true;\n    }\n\n    function calculateOffset(obsOffset, militaryOffset, numOffset) {\n        if (obsOffset) {\n            return obsOffsets[obsOffset];\n        } else if (militaryOffset) {\n            // the only allowed military tz is Z\n            return 0;\n        } else {\n            var hm = parseInt(numOffset, 10),\n                m = hm % 100,\n                h = (hm - m) / 100;\n            return h * 60 + m;\n        }\n    }\n\n    // date and time from ref 2822 format\n    function configFromRFC2822(config) {\n        var match = rfc2822.exec(preprocessRFC2822(config._i)),\n            parsedArray;\n        if (match) {\n            parsedArray = extractFromRFC2822Strings(\n                match[4],\n                match[3],\n                match[2],\n                match[5],\n                match[6],\n                match[7]\n            );\n            if (!checkWeekday(match[1], parsedArray, config)) {\n                return;\n            }\n\n            config._a = parsedArray;\n            config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n            config._d = createUTCDate.apply(null, config._a);\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n            getParsingFlags(config).rfc2822 = true;\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n    function configFromString(config) {\n        var matched = aspNetJsonRegex.exec(config._i);\n        if (matched !== null) {\n            config._d = new Date(+matched[1]);\n            return;\n        }\n\n        configFromISO(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        configFromRFC2822(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        if (config._strict) {\n            config._isValid = false;\n        } else {\n            // Final attempt, use Input Fallback\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    hooks.createFromInputFallback = deprecate(\n        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n            'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n            'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n        function (config) {\n            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n        }\n    );\n\n    // Pick the first defined of two or three arguments.\n    function defaults(a, b, c) {\n        if (a != null) {\n            return a;\n        }\n        if (b != null) {\n            return b;\n        }\n        return c;\n    }\n\n    function currentDateArray(config) {\n        // hooks is actually the exported moment object\n        var nowValue = new Date(hooks.now());\n        if (config._useUTC) {\n            return [\n                nowValue.getUTCFullYear(),\n                nowValue.getUTCMonth(),\n                nowValue.getUTCDate(),\n            ];\n        }\n        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n    }\n\n    // convert an array to a date.\n    // the array should mirror the parameters below\n    // note: all values past the year are optional and will default to the lowest possible value.\n    // [year, month, day , hour, minute, second, millisecond]\n    function configFromArray(config) {\n        var i,\n            date,\n            input = [],\n            currentDate,\n            expectedWeekday,\n            yearToUse;\n\n        if (config._d) {\n            return;\n        }\n\n        currentDate = currentDateArray(config);\n\n        //compute day of the year from weeks and weekdays\n        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n            dayOfYearFromWeekInfo(config);\n        }\n\n        //if the day of the year is set, figure out what it is\n        if (config._dayOfYear != null) {\n            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n            if (\n                config._dayOfYear > daysInYear(yearToUse) ||\n                config._dayOfYear === 0\n            ) {\n                getParsingFlags(config)._overflowDayOfYear = true;\n            }\n\n            date = createUTCDate(yearToUse, 0, config._dayOfYear);\n            config._a[MONTH] = date.getUTCMonth();\n            config._a[DATE] = date.getUTCDate();\n        }\n\n        // Default to current date.\n        // * if no year, month, day of month are given, default to today\n        // * if day of month is given, default month and year\n        // * if month is given, default only year\n        // * if year is given, don't default anything\n        for (i = 0; i < 3 && config._a[i] == null; ++i) {\n            config._a[i] = input[i] = currentDate[i];\n        }\n\n        // Zero out whatever was not defaulted, including time\n        for (; i < 7; i++) {\n            config._a[i] = input[i] =\n                config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n        }\n\n        // Check for 24:00:00.000\n        if (\n            config._a[HOUR] === 24 &&\n            config._a[MINUTE] === 0 &&\n            config._a[SECOND] === 0 &&\n            config._a[MILLISECOND] === 0\n        ) {\n            config._nextDay = true;\n            config._a[HOUR] = 0;\n        }\n\n        config._d = (config._useUTC ? createUTCDate : createDate).apply(\n            null,\n            input\n        );\n        expectedWeekday = config._useUTC\n            ? config._d.getUTCDay()\n            : config._d.getDay();\n\n        // Apply timezone offset from input. The actual utcOffset can be changed\n        // with parseZone.\n        if (config._tzm != null) {\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n        }\n\n        if (config._nextDay) {\n            config._a[HOUR] = 24;\n        }\n\n        // check for mismatching day of week\n        if (\n            config._w &&\n            typeof config._w.d !== 'undefined' &&\n            config._w.d !== expectedWeekday\n        ) {\n            getParsingFlags(config).weekdayMismatch = true;\n        }\n    }\n\n    function dayOfYearFromWeekInfo(config) {\n        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n        w = config._w;\n        if (w.GG != null || w.W != null || w.E != null) {\n            dow = 1;\n            doy = 4;\n\n            // TODO: We need to take the current isoWeekYear, but that depends on\n            // how we interpret now (local, utc, fixed offset). So create\n            // a now version of current config (take local/utc/offset flags, and\n            // create now).\n            weekYear = defaults(\n                w.GG,\n                config._a[YEAR],\n                weekOfYear(createLocal(), 1, 4).year\n            );\n            week = defaults(w.W, 1);\n            weekday = defaults(w.E, 1);\n            if (weekday < 1 || weekday > 7) {\n                weekdayOverflow = true;\n            }\n        } else {\n            dow = config._locale._week.dow;\n            doy = config._locale._week.doy;\n\n            curWeek = weekOfYear(createLocal(), dow, doy);\n\n            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n            // Default to current week.\n            week = defaults(w.w, curWeek.week);\n\n            if (w.d != null) {\n                // weekday -- low day numbers are considered next week\n                weekday = w.d;\n                if (weekday < 0 || weekday > 6) {\n                    weekdayOverflow = true;\n                }\n            } else if (w.e != null) {\n                // local weekday -- counting starts from beginning of week\n                weekday = w.e + dow;\n                if (w.e < 0 || w.e > 6) {\n                    weekdayOverflow = true;\n                }\n            } else {\n                // default to beginning of week\n                weekday = dow;\n            }\n        }\n        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n            getParsingFlags(config)._overflowWeeks = true;\n        } else if (weekdayOverflow != null) {\n            getParsingFlags(config)._overflowWeekday = true;\n        } else {\n            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n            config._a[YEAR] = temp.year;\n            config._dayOfYear = temp.dayOfYear;\n        }\n    }\n\n    // constant that refers to the ISO standard\n    hooks.ISO_8601 = function () {};\n\n    // constant that refers to the RFC 2822 form\n    hooks.RFC_2822 = function () {};\n\n    // date from string and format string\n    function configFromStringAndFormat(config) {\n        // TODO: Move this to another part of the creation flow to prevent circular deps\n        if (config._f === hooks.ISO_8601) {\n            configFromISO(config);\n            return;\n        }\n        if (config._f === hooks.RFC_2822) {\n            configFromRFC2822(config);\n            return;\n        }\n        config._a = [];\n        getParsingFlags(config).empty = true;\n\n        // This array is used to make a Date, either with `new Date` or `Date.UTC`\n        var string = '' + config._i,\n            i,\n            parsedInput,\n            tokens,\n            token,\n            skipped,\n            stringLength = string.length,\n            totalParsedInputLength = 0,\n            era,\n            tokenLen;\n\n        tokens =\n            expandFormat(config._f, config._locale).match(formattingTokens) || [];\n        tokenLen = tokens.length;\n        for (i = 0; i < tokenLen; i++) {\n            token = tokens[i];\n            parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n                [])[0];\n            if (parsedInput) {\n                skipped = string.substr(0, string.indexOf(parsedInput));\n                if (skipped.length > 0) {\n                    getParsingFlags(config).unusedInput.push(skipped);\n                }\n                string = string.slice(\n                    string.indexOf(parsedInput) + parsedInput.length\n                );\n                totalParsedInputLength += parsedInput.length;\n            }\n            // don't parse if it's not a known token\n            if (formatTokenFunctions[token]) {\n                if (parsedInput) {\n                    getParsingFlags(config).empty = false;\n                } else {\n                    getParsingFlags(config).unusedTokens.push(token);\n                }\n                addTimeToArrayFromToken(token, parsedInput, config);\n            } else if (config._strict && !parsedInput) {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n        }\n\n        // add remaining unparsed input length to the string\n        getParsingFlags(config).charsLeftOver =\n            stringLength - totalParsedInputLength;\n        if (string.length > 0) {\n            getParsingFlags(config).unusedInput.push(string);\n        }\n\n        // clear _12h flag if hour is <= 12\n        if (\n            config._a[HOUR] <= 12 &&\n            getParsingFlags(config).bigHour === true &&\n            config._a[HOUR] > 0\n        ) {\n            getParsingFlags(config).bigHour = undefined;\n        }\n\n        getParsingFlags(config).parsedDateParts = config._a.slice(0);\n        getParsingFlags(config).meridiem = config._meridiem;\n        // handle meridiem\n        config._a[HOUR] = meridiemFixWrap(\n            config._locale,\n            config._a[HOUR],\n            config._meridiem\n        );\n\n        // handle era\n        era = getParsingFlags(config).era;\n        if (era !== null) {\n            config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n        }\n\n        configFromArray(config);\n        checkOverflow(config);\n    }\n\n    function meridiemFixWrap(locale, hour, meridiem) {\n        var isPm;\n\n        if (meridiem == null) {\n            // nothing to do\n            return hour;\n        }\n        if (locale.meridiemHour != null) {\n            return locale.meridiemHour(hour, meridiem);\n        } else if (locale.isPM != null) {\n            // Fallback\n            isPm = locale.isPM(meridiem);\n            if (isPm && hour < 12) {\n                hour += 12;\n            }\n            if (!isPm && hour === 12) {\n                hour = 0;\n            }\n            return hour;\n        } else {\n            // this is not supposed to happen\n            return hour;\n        }\n    }\n\n    // date from string and array of format strings\n    function configFromStringAndArray(config) {\n        var tempConfig,\n            bestMoment,\n            scoreToBeat,\n            i,\n            currentScore,\n            validFormatFound,\n            bestFormatIsValid = false,\n            configfLen = config._f.length;\n\n        if (configfLen === 0) {\n            getParsingFlags(config).invalidFormat = true;\n            config._d = new Date(NaN);\n            return;\n        }\n\n        for (i = 0; i < configfLen; i++) {\n            currentScore = 0;\n            validFormatFound = false;\n            tempConfig = copyConfig({}, config);\n            if (config._useUTC != null) {\n                tempConfig._useUTC = config._useUTC;\n            }\n            tempConfig._f = config._f[i];\n            configFromStringAndFormat(tempConfig);\n\n            if (isValid(tempConfig)) {\n                validFormatFound = true;\n            }\n\n            // if there is any input that was not parsed add a penalty for that format\n            currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n            //or tokens\n            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n            getParsingFlags(tempConfig).score = currentScore;\n\n            if (!bestFormatIsValid) {\n                if (\n                    scoreToBeat == null ||\n                    currentScore < scoreToBeat ||\n                    validFormatFound\n                ) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                    if (validFormatFound) {\n                        bestFormatIsValid = true;\n                    }\n                }\n            } else {\n                if (currentScore < scoreToBeat) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                }\n            }\n        }\n\n        extend(config, bestMoment || tempConfig);\n    }\n\n    function configFromObject(config) {\n        if (config._d) {\n            return;\n        }\n\n        var i = normalizeObjectUnits(config._i),\n            dayOrDate = i.day === undefined ? i.date : i.day;\n        config._a = map(\n            [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n            function (obj) {\n                return obj && parseInt(obj, 10);\n            }\n        );\n\n        configFromArray(config);\n    }\n\n    function createFromConfig(config) {\n        var res = new Moment(checkOverflow(prepareConfig(config)));\n        if (res._nextDay) {\n            // Adding is smart enough around DST\n            res.add(1, 'd');\n            res._nextDay = undefined;\n        }\n\n        return res;\n    }\n\n    function prepareConfig(config) {\n        var input = config._i,\n            format = config._f;\n\n        config._locale = config._locale || getLocale(config._l);\n\n        if (input === null || (format === undefined && input === '')) {\n            return createInvalid({ nullInput: true });\n        }\n\n        if (typeof input === 'string') {\n            config._i = input = config._locale.preparse(input);\n        }\n\n        if (isMoment(input)) {\n            return new Moment(checkOverflow(input));\n        } else if (isDate(input)) {\n            config._d = input;\n        } else if (isArray(format)) {\n            configFromStringAndArray(config);\n        } else if (format) {\n            configFromStringAndFormat(config);\n        } else {\n            configFromInput(config);\n        }\n\n        if (!isValid(config)) {\n            config._d = null;\n        }\n\n        return config;\n    }\n\n    function configFromInput(config) {\n        var input = config._i;\n        if (isUndefined(input)) {\n            config._d = new Date(hooks.now());\n        } else if (isDate(input)) {\n            config._d = new Date(input.valueOf());\n        } else if (typeof input === 'string') {\n            configFromString(config);\n        } else if (isArray(input)) {\n            config._a = map(input.slice(0), function (obj) {\n                return parseInt(obj, 10);\n            });\n            configFromArray(config);\n        } else if (isObject(input)) {\n            configFromObject(config);\n        } else if (isNumber(input)) {\n            // from milliseconds\n            config._d = new Date(input);\n        } else {\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    function createLocalOrUTC(input, format, locale, strict, isUTC) {\n        var c = {};\n\n        if (format === true || format === false) {\n            strict = format;\n            format = undefined;\n        }\n\n        if (locale === true || locale === false) {\n            strict = locale;\n            locale = undefined;\n        }\n\n        if (\n            (isObject(input) && isObjectEmpty(input)) ||\n            (isArray(input) && input.length === 0)\n        ) {\n            input = undefined;\n        }\n        // object construction must be done this way.\n        // https://github.com/moment/moment/issues/1423\n        c._isAMomentObject = true;\n        c._useUTC = c._isUTC = isUTC;\n        c._l = locale;\n        c._i = input;\n        c._f = format;\n        c._strict = strict;\n\n        return createFromConfig(c);\n    }\n\n    function createLocal(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, false);\n    }\n\n    var prototypeMin = deprecate(\n            'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other < this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        ),\n        prototypeMax = deprecate(\n            'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other > this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        );\n\n    // Pick a moment m from moments so that m[fn](other) is true for all\n    // other. This relies on the function fn to be transitive.\n    //\n    // moments should either be an array of moment objects or an array, whose\n    // first element is an array of moment objects.\n    function pickBy(fn, moments) {\n        var res, i;\n        if (moments.length === 1 && isArray(moments[0])) {\n            moments = moments[0];\n        }\n        if (!moments.length) {\n            return createLocal();\n        }\n        res = moments[0];\n        for (i = 1; i < moments.length; ++i) {\n            if (!moments[i].isValid() || moments[i][fn](res)) {\n                res = moments[i];\n            }\n        }\n        return res;\n    }\n\n    // TODO: Use [].sort instead?\n    function min() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isBefore', args);\n    }\n\n    function max() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isAfter', args);\n    }\n\n    var now = function () {\n        return Date.now ? Date.now() : +new Date();\n    };\n\n    var ordering = [\n        'year',\n        'quarter',\n        'month',\n        'week',\n        'day',\n        'hour',\n        'minute',\n        'second',\n        'millisecond',\n    ];\n\n    function isDurationValid(m) {\n        var key,\n            unitHasDecimal = false,\n            i,\n            orderLen = ordering.length;\n        for (key in m) {\n            if (\n                hasOwnProp(m, key) &&\n                !(\n                    indexOf.call(ordering, key) !== -1 &&\n                    (m[key] == null || !isNaN(m[key]))\n                )\n            ) {\n                return false;\n            }\n        }\n\n        for (i = 0; i < orderLen; ++i) {\n            if (m[ordering[i]]) {\n                if (unitHasDecimal) {\n                    return false; // only allow non-integers for smallest unit\n                }\n                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                    unitHasDecimal = true;\n                }\n            }\n        }\n\n        return true;\n    }\n\n    function isValid$1() {\n        return this._isValid;\n    }\n\n    function createInvalid$1() {\n        return createDuration(NaN);\n    }\n\n    function Duration(duration) {\n        var normalizedInput = normalizeObjectUnits(duration),\n            years = normalizedInput.year || 0,\n            quarters = normalizedInput.quarter || 0,\n            months = normalizedInput.month || 0,\n            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n            days = normalizedInput.day || 0,\n            hours = normalizedInput.hour || 0,\n            minutes = normalizedInput.minute || 0,\n            seconds = normalizedInput.second || 0,\n            milliseconds = normalizedInput.millisecond || 0;\n\n        this._isValid = isDurationValid(normalizedInput);\n\n        // representation for dateAddRemove\n        this._milliseconds =\n            +milliseconds +\n            seconds * 1e3 + // 1000\n            minutes * 6e4 + // 1000 * 60\n            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n        // Because of dateAddRemove treats 24 hours as different from a\n        // day when working around DST, we need to store them separately\n        this._days = +days + weeks * 7;\n        // It is impossible to translate months into days without knowing\n        // which months you are are talking about, so we have to store\n        // it separately.\n        this._months = +months + quarters * 3 + years * 12;\n\n        this._data = {};\n\n        this._locale = getLocale();\n\n        this._bubble();\n    }\n\n    function isDuration(obj) {\n        return obj instanceof Duration;\n    }\n\n    function absRound(number) {\n        if (number < 0) {\n            return Math.round(-1 * number) * -1;\n        } else {\n            return Math.round(number);\n        }\n    }\n\n    // compare two arrays, return the number of differences\n    function compareArrays(array1, array2, dontConvert) {\n        var len = Math.min(array1.length, array2.length),\n            lengthDiff = Math.abs(array1.length - array2.length),\n            diffs = 0,\n            i;\n        for (i = 0; i < len; i++) {\n            if (\n                (dontConvert && array1[i] !== array2[i]) ||\n                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n            ) {\n                diffs++;\n            }\n        }\n        return diffs + lengthDiff;\n    }\n\n    // FORMATTING\n\n    function offset(token, separator) {\n        addFormatToken(token, 0, 0, function () {\n            var offset = this.utcOffset(),\n                sign = '+';\n            if (offset < 0) {\n                offset = -offset;\n                sign = '-';\n            }\n            return (\n                sign +\n                zeroFill(~~(offset / 60), 2) +\n                separator +\n                zeroFill(~~offset % 60, 2)\n            );\n        });\n    }\n\n    offset('Z', ':');\n    offset('ZZ', '');\n\n    // PARSING\n\n    addRegexToken('Z', matchShortOffset);\n    addRegexToken('ZZ', matchShortOffset);\n    addParseToken(['Z', 'ZZ'], function (input, array, config) {\n        config._useUTC = true;\n        config._tzm = offsetFromString(matchShortOffset, input);\n    });\n\n    // HELPERS\n\n    // timezone chunker\n    // '+10:00' > ['10',  '00']\n    // '-1530'  > ['-15', '30']\n    var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n    function offsetFromString(matcher, string) {\n        var matches = (string || '').match(matcher),\n            chunk,\n            parts,\n            minutes;\n\n        if (matches === null) {\n            return null;\n        }\n\n        chunk = matches[matches.length - 1] || [];\n        parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n        minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n        return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n    }\n\n    // Return a moment from input, that is local/utc/zone equivalent to model.\n    function cloneWithOffset(input, model) {\n        var res, diff;\n        if (model._isUTC) {\n            res = model.clone();\n            diff =\n                (isMoment(input) || isDate(input)\n                    ? input.valueOf()\n                    : createLocal(input).valueOf()) - res.valueOf();\n            // Use low-level api, because this fn is low-level api.\n            res._d.setTime(res._d.valueOf() + diff);\n            hooks.updateOffset(res, false);\n            return res;\n        } else {\n            return createLocal(input).local();\n        }\n    }\n\n    function getDateOffset(m) {\n        // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n        // https://github.com/moment/moment/pull/1871\n        return -Math.round(m._d.getTimezoneOffset());\n    }\n\n    // HOOKS\n\n    // This function will be called whenever a moment is mutated.\n    // It is intended to keep the offset in sync with the timezone.\n    hooks.updateOffset = function () {};\n\n    // MOMENTS\n\n    // keepLocalTime = true means only change the timezone, without\n    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n    // +0200, so we adjust the time as needed, to be valid.\n    //\n    // Keeping the time actually adds/subtracts (one hour)\n    // from the actual represented time. That is why we call updateOffset\n    // a second time. In case it wants us to change the offset again\n    // _changeInProgress == true case, then we have to adjust, because\n    // there is no such time in the given timezone.\n    function getSetOffset(input, keepLocalTime, keepMinutes) {\n        var offset = this._offset || 0,\n            localAdjust;\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        if (input != null) {\n            if (typeof input === 'string') {\n                input = offsetFromString(matchShortOffset, input);\n                if (input === null) {\n                    return this;\n                }\n            } else if (Math.abs(input) < 16 && !keepMinutes) {\n                input = input * 60;\n            }\n            if (!this._isUTC && keepLocalTime) {\n                localAdjust = getDateOffset(this);\n            }\n            this._offset = input;\n            this._isUTC = true;\n            if (localAdjust != null) {\n                this.add(localAdjust, 'm');\n            }\n            if (offset !== input) {\n                if (!keepLocalTime || this._changeInProgress) {\n                    addSubtract(\n                        this,\n                        createDuration(input - offset, 'm'),\n                        1,\n                        false\n                    );\n                } else if (!this._changeInProgress) {\n                    this._changeInProgress = true;\n                    hooks.updateOffset(this, true);\n                    this._changeInProgress = null;\n                }\n            }\n            return this;\n        } else {\n            return this._isUTC ? offset : getDateOffset(this);\n        }\n    }\n\n    function getSetZone(input, keepLocalTime) {\n        if (input != null) {\n            if (typeof input !== 'string') {\n                input = -input;\n            }\n\n            this.utcOffset(input, keepLocalTime);\n\n            return this;\n        } else {\n            return -this.utcOffset();\n        }\n    }\n\n    function setOffsetToUTC(keepLocalTime) {\n        return this.utcOffset(0, keepLocalTime);\n    }\n\n    function setOffsetToLocal(keepLocalTime) {\n        if (this._isUTC) {\n            this.utcOffset(0, keepLocalTime);\n            this._isUTC = false;\n\n            if (keepLocalTime) {\n                this.subtract(getDateOffset(this), 'm');\n            }\n        }\n        return this;\n    }\n\n    function setOffsetToParsedOffset() {\n        if (this._tzm != null) {\n            this.utcOffset(this._tzm, false, true);\n        } else if (typeof this._i === 'string') {\n            var tZone = offsetFromString(matchOffset, this._i);\n            if (tZone != null) {\n                this.utcOffset(tZone);\n            } else {\n                this.utcOffset(0, true);\n            }\n        }\n        return this;\n    }\n\n    function hasAlignedHourOffset(input) {\n        if (!this.isValid()) {\n            return false;\n        }\n        input = input ? createLocal(input).utcOffset() : 0;\n\n        return (this.utcOffset() - input) % 60 === 0;\n    }\n\n    function isDaylightSavingTime() {\n        return (\n            this.utcOffset() > this.clone().month(0).utcOffset() ||\n            this.utcOffset() > this.clone().month(5).utcOffset()\n        );\n    }\n\n    function isDaylightSavingTimeShifted() {\n        if (!isUndefined(this._isDSTShifted)) {\n            return this._isDSTShifted;\n        }\n\n        var c = {},\n            other;\n\n        copyConfig(c, this);\n        c = prepareConfig(c);\n\n        if (c._a) {\n            other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n            this._isDSTShifted =\n                this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n        } else {\n            this._isDSTShifted = false;\n        }\n\n        return this._isDSTShifted;\n    }\n\n    function isLocal() {\n        return this.isValid() ? !this._isUTC : false;\n    }\n\n    function isUtcOffset() {\n        return this.isValid() ? this._isUTC : false;\n    }\n\n    function isUtc() {\n        return this.isValid() ? this._isUTC && this._offset === 0 : false;\n    }\n\n    // ASP.NET json date format regex\n    var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n        // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n        // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n        // and further modified to allow for strings containing both week and day\n        isoRegex =\n            /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n    function createDuration(input, key) {\n        var duration = input,\n            // matching against regexp is expensive, do it on demand\n            match = null,\n            sign,\n            ret,\n            diffRes;\n\n        if (isDuration(input)) {\n            duration = {\n                ms: input._milliseconds,\n                d: input._days,\n                M: input._months,\n            };\n        } else if (isNumber(input) || !isNaN(+input)) {\n            duration = {};\n            if (key) {\n                duration[key] = +input;\n            } else {\n                duration.milliseconds = +input;\n            }\n        } else if ((match = aspNetRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: 0,\n                d: toInt(match[DATE]) * sign,\n                h: toInt(match[HOUR]) * sign,\n                m: toInt(match[MINUTE]) * sign,\n                s: toInt(match[SECOND]) * sign,\n                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n            };\n        } else if ((match = isoRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: parseIso(match[2], sign),\n                M: parseIso(match[3], sign),\n                w: parseIso(match[4], sign),\n                d: parseIso(match[5], sign),\n                h: parseIso(match[6], sign),\n                m: parseIso(match[7], sign),\n                s: parseIso(match[8], sign),\n            };\n        } else if (duration == null) {\n            // checks for null or undefined\n            duration = {};\n        } else if (\n            typeof duration === 'object' &&\n            ('from' in duration || 'to' in duration)\n        ) {\n            diffRes = momentsDifference(\n                createLocal(duration.from),\n                createLocal(duration.to)\n            );\n\n            duration = {};\n            duration.ms = diffRes.milliseconds;\n            duration.M = diffRes.months;\n        }\n\n        ret = new Duration(duration);\n\n        if (isDuration(input) && hasOwnProp(input, '_locale')) {\n            ret._locale = input._locale;\n        }\n\n        if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n            ret._isValid = input._isValid;\n        }\n\n        return ret;\n    }\n\n    createDuration.fn = Duration.prototype;\n    createDuration.invalid = createInvalid$1;\n\n    function parseIso(inp, sign) {\n        // We'd normally use ~~inp for this, but unfortunately it also\n        // converts floats to ints.\n        // inp may be undefined, so careful calling replace on it.\n        var res = inp && parseFloat(inp.replace(',', '.'));\n        // apply sign while we're at it\n        return (isNaN(res) ? 0 : res) * sign;\n    }\n\n    function positiveMomentsDifference(base, other) {\n        var res = {};\n\n        res.months =\n            other.month() - base.month() + (other.year() - base.year()) * 12;\n        if (base.clone().add(res.months, 'M').isAfter(other)) {\n            --res.months;\n        }\n\n        res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n        return res;\n    }\n\n    function momentsDifference(base, other) {\n        var res;\n        if (!(base.isValid() && other.isValid())) {\n            return { milliseconds: 0, months: 0 };\n        }\n\n        other = cloneWithOffset(other, base);\n        if (base.isBefore(other)) {\n            res = positiveMomentsDifference(base, other);\n        } else {\n            res = positiveMomentsDifference(other, base);\n            res.milliseconds = -res.milliseconds;\n            res.months = -res.months;\n        }\n\n        return res;\n    }\n\n    // TODO: remove 'name' arg after deprecation is removed\n    function createAdder(direction, name) {\n        return function (val, period) {\n            var dur, tmp;\n            //invert the arguments, but complain about it\n            if (period !== null && !isNaN(+period)) {\n                deprecateSimple(\n                    name,\n                    'moment().' +\n                        name +\n                        '(period, number) is deprecated. Please use moment().' +\n                        name +\n                        '(number, period). ' +\n                        'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n                );\n                tmp = val;\n                val = period;\n                period = tmp;\n            }\n\n            dur = createDuration(val, period);\n            addSubtract(this, dur, direction);\n            return this;\n        };\n    }\n\n    function addSubtract(mom, duration, isAdding, updateOffset) {\n        var milliseconds = duration._milliseconds,\n            days = absRound(duration._days),\n            months = absRound(duration._months);\n\n        if (!mom.isValid()) {\n            // No op\n            return;\n        }\n\n        updateOffset = updateOffset == null ? true : updateOffset;\n\n        if (months) {\n            setMonth(mom, get(mom, 'Month') + months * isAdding);\n        }\n        if (days) {\n            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n        }\n        if (milliseconds) {\n            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n        }\n        if (updateOffset) {\n            hooks.updateOffset(mom, days || months);\n        }\n    }\n\n    var add = createAdder(1, 'add'),\n        subtract = createAdder(-1, 'subtract');\n\n    function isString(input) {\n        return typeof input === 'string' || input instanceof String;\n    }\n\n    // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n    function isMomentInput(input) {\n        return (\n            isMoment(input) ||\n            isDate(input) ||\n            isString(input) ||\n            isNumber(input) ||\n            isNumberOrStringArray(input) ||\n            isMomentInputObject(input) ||\n            input === null ||\n            input === undefined\n        );\n    }\n\n    function isMomentInputObject(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'years',\n                'year',\n                'y',\n                'months',\n                'month',\n                'M',\n                'days',\n                'day',\n                'd',\n                'dates',\n                'date',\n                'D',\n                'hours',\n                'hour',\n                'h',\n                'minutes',\n                'minute',\n                'm',\n                'seconds',\n                'second',\n                's',\n                'milliseconds',\n                'millisecond',\n                'ms',\n            ],\n            i,\n            property,\n            propertyLen = properties.length;\n\n        for (i = 0; i < propertyLen; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function isNumberOrStringArray(input) {\n        var arrayTest = isArray(input),\n            dataTypeTest = false;\n        if (arrayTest) {\n            dataTypeTest =\n                input.filter(function (item) {\n                    return !isNumber(item) && isString(input);\n                }).length === 0;\n        }\n        return arrayTest && dataTypeTest;\n    }\n\n    function isCalendarSpec(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'sameDay',\n                'nextDay',\n                'lastDay',\n                'nextWeek',\n                'lastWeek',\n                'sameElse',\n            ],\n            i,\n            property;\n\n        for (i = 0; i < properties.length; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function getCalendarFormat(myMoment, now) {\n        var diff = myMoment.diff(now, 'days', true);\n        return diff < -6\n            ? 'sameElse'\n            : diff < -1\n              ? 'lastWeek'\n              : diff < 0\n                ? 'lastDay'\n                : diff < 1\n                  ? 'sameDay'\n                  : diff < 2\n                    ? 'nextDay'\n                    : diff < 7\n                      ? 'nextWeek'\n                      : 'sameElse';\n    }\n\n    function calendar$1(time, formats) {\n        // Support for single parameter, formats only overload to the calendar function\n        if (arguments.length === 1) {\n            if (!arguments[0]) {\n                time = undefined;\n                formats = undefined;\n            } else if (isMomentInput(arguments[0])) {\n                time = arguments[0];\n                formats = undefined;\n            } else if (isCalendarSpec(arguments[0])) {\n                formats = arguments[0];\n                time = undefined;\n            }\n        }\n        // We want to compare the start of today, vs this.\n        // Getting start-of-today depends on whether we're local/utc/offset or not.\n        var now = time || createLocal(),\n            sod = cloneWithOffset(now, this).startOf('day'),\n            format = hooks.calendarFormat(this, sod) || 'sameElse',\n            output =\n                formats &&\n                (isFunction(formats[format])\n                    ? formats[format].call(this, now)\n                    : formats[format]);\n\n        return this.format(\n            output || this.localeData().calendar(format, this, createLocal(now))\n        );\n    }\n\n    function clone() {\n        return new Moment(this);\n    }\n\n    function isAfter(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() > localInput.valueOf();\n        } else {\n            return localInput.valueOf() < this.clone().startOf(units).valueOf();\n        }\n    }\n\n    function isBefore(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() < localInput.valueOf();\n        } else {\n            return this.clone().endOf(units).valueOf() < localInput.valueOf();\n        }\n    }\n\n    function isBetween(from, to, units, inclusivity) {\n        var localFrom = isMoment(from) ? from : createLocal(from),\n            localTo = isMoment(to) ? to : createLocal(to);\n        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n            return false;\n        }\n        inclusivity = inclusivity || '()';\n        return (\n            (inclusivity[0] === '('\n                ? this.isAfter(localFrom, units)\n                : !this.isBefore(localFrom, units)) &&\n            (inclusivity[1] === ')'\n                ? this.isBefore(localTo, units)\n                : !this.isAfter(localTo, units))\n        );\n    }\n\n    function isSame(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input),\n            inputMs;\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() === localInput.valueOf();\n        } else {\n            inputMs = localInput.valueOf();\n            return (\n                this.clone().startOf(units).valueOf() <= inputMs &&\n                inputMs <= this.clone().endOf(units).valueOf()\n            );\n        }\n    }\n\n    function isSameOrAfter(input, units) {\n        return this.isSame(input, units) || this.isAfter(input, units);\n    }\n\n    function isSameOrBefore(input, units) {\n        return this.isSame(input, units) || this.isBefore(input, units);\n    }\n\n    function diff(input, units, asFloat) {\n        var that, zoneDelta, output;\n\n        if (!this.isValid()) {\n            return NaN;\n        }\n\n        that = cloneWithOffset(input, this);\n\n        if (!that.isValid()) {\n            return NaN;\n        }\n\n        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n        units = normalizeUnits(units);\n\n        switch (units) {\n            case 'year':\n                output = monthDiff(this, that) / 12;\n                break;\n            case 'month':\n                output = monthDiff(this, that);\n                break;\n            case 'quarter':\n                output = monthDiff(this, that) / 3;\n                break;\n            case 'second':\n                output = (this - that) / 1e3;\n                break; // 1000\n            case 'minute':\n                output = (this - that) / 6e4;\n                break; // 1000 * 60\n            case 'hour':\n                output = (this - that) / 36e5;\n                break; // 1000 * 60 * 60\n            case 'day':\n                output = (this - that - zoneDelta) / 864e5;\n                break; // 1000 * 60 * 60 * 24, negate dst\n            case 'week':\n                output = (this - that - zoneDelta) / 6048e5;\n                break; // 1000 * 60 * 60 * 24 * 7, negate dst\n            default:\n                output = this - that;\n        }\n\n        return asFloat ? output : absFloor(output);\n    }\n\n    function monthDiff(a, b) {\n        if (a.date() < b.date()) {\n            // end-of-month calculations work correct when the start month has more\n            // days than the end month.\n            return -monthDiff(b, a);\n        }\n        // difference in months\n        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n            // b is in (anchor - 1 month, anchor + 1 month)\n            anchor = a.clone().add(wholeMonthDiff, 'months'),\n            anchor2,\n            adjust;\n\n        if (b - anchor < 0) {\n            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor - anchor2);\n        } else {\n            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor2 - anchor);\n        }\n\n        //check for negative zero, return zero if negative zero\n        return -(wholeMonthDiff + adjust) || 0;\n    }\n\n    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n    function toString() {\n        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n    }\n\n    function toISOString(keepOffset) {\n        if (!this.isValid()) {\n            return null;\n        }\n        var utc = keepOffset !== true,\n            m = utc ? this.clone().utc() : this;\n        if (m.year() < 0 || m.year() > 9999) {\n            return formatMoment(\n                m,\n                utc\n                    ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n                    : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n            );\n        }\n        if (isFunction(Date.prototype.toISOString)) {\n            // native implementation is ~50x faster, use it when we can\n            if (utc) {\n                return this.toDate().toISOString();\n            } else {\n                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n                    .toISOString()\n                    .replace('Z', formatMoment(m, 'Z'));\n            }\n        }\n        return formatMoment(\n            m,\n            utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n        );\n    }\n\n    /**\n     * Return a human readable representation of a moment that can\n     * also be evaluated to get a new moment which is the same\n     *\n     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n     */\n    function inspect() {\n        if (!this.isValid()) {\n            return 'moment.invalid(/* ' + this._i + ' */)';\n        }\n        var func = 'moment',\n            zone = '',\n            prefix,\n            year,\n            datetime,\n            suffix;\n        if (!this.isLocal()) {\n            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n            zone = 'Z';\n        }\n        prefix = '[' + func + '(\"]';\n        year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n        datetime = '-MM-DD[T]HH:mm:ss.SSS';\n        suffix = zone + '[\")]';\n\n        return this.format(prefix + year + datetime + suffix);\n    }\n\n    function format(inputString) {\n        if (!inputString) {\n            inputString = this.isUtc()\n                ? hooks.defaultFormatUtc\n                : hooks.defaultFormat;\n        }\n        var output = formatMoment(this, inputString);\n        return this.localeData().postformat(output);\n    }\n\n    function from(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ to: this, from: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function fromNow(withoutSuffix) {\n        return this.from(createLocal(), withoutSuffix);\n    }\n\n    function to(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ from: this, to: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function toNow(withoutSuffix) {\n        return this.to(createLocal(), withoutSuffix);\n    }\n\n    // If passed a locale key, it will set the locale for this\n    // instance.  Otherwise, it will return the locale configuration\n    // variables for this instance.\n    function locale(key) {\n        var newLocaleData;\n\n        if (key === undefined) {\n            return this._locale._abbr;\n        } else {\n            newLocaleData = getLocale(key);\n            if (newLocaleData != null) {\n                this._locale = newLocaleData;\n            }\n            return this;\n        }\n    }\n\n    var lang = deprecate(\n        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n        function (key) {\n            if (key === undefined) {\n                return this.localeData();\n            } else {\n                return this.locale(key);\n            }\n        }\n    );\n\n    function localeData() {\n        return this._locale;\n    }\n\n    var MS_PER_SECOND = 1000,\n        MS_PER_MINUTE = 60 * MS_PER_SECOND,\n        MS_PER_HOUR = 60 * MS_PER_MINUTE,\n        MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n    // actual modulo - handles negative numbers (for dates before 1970):\n    function mod$1(dividend, divisor) {\n        return ((dividend % divisor) + divisor) % divisor;\n    }\n\n    function localStartOfDate(y, m, d) {\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return new Date(y, m, d).valueOf();\n        }\n    }\n\n    function utcStartOfDate(y, m, d) {\n        // Date.UTC remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return Date.UTC(y, m, d);\n        }\n    }\n\n    function startOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year(), 0, 1);\n                break;\n            case 'quarter':\n                time = startOfDate(\n                    this.year(),\n                    this.month() - (this.month() % 3),\n                    1\n                );\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month(), 1);\n                break;\n            case 'week':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - this.weekday()\n                );\n                break;\n            case 'isoWeek':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - (this.isoWeekday() - 1)\n                );\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date());\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time -= mod$1(\n                    time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                    MS_PER_HOUR\n                );\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_MINUTE);\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_SECOND);\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function endOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year() + 1, 0, 1) - 1;\n                break;\n            case 'quarter':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month() - (this.month() % 3) + 3,\n                        1\n                    ) - 1;\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n                break;\n            case 'week':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - this.weekday() + 7\n                    ) - 1;\n                break;\n            case 'isoWeek':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - (this.isoWeekday() - 1) + 7\n                    ) - 1;\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time +=\n                    MS_PER_HOUR -\n                    mod$1(\n                        time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                        MS_PER_HOUR\n                    ) -\n                    1;\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function valueOf() {\n        return this._d.valueOf() - (this._offset || 0) * 60000;\n    }\n\n    function unix() {\n        return Math.floor(this.valueOf() / 1000);\n    }\n\n    function toDate() {\n        return new Date(this.valueOf());\n    }\n\n    function toArray() {\n        var m = this;\n        return [\n            m.year(),\n            m.month(),\n            m.date(),\n            m.hour(),\n            m.minute(),\n            m.second(),\n            m.millisecond(),\n        ];\n    }\n\n    function toObject() {\n        var m = this;\n        return {\n            years: m.year(),\n            months: m.month(),\n            date: m.date(),\n            hours: m.hours(),\n            minutes: m.minutes(),\n            seconds: m.seconds(),\n            milliseconds: m.milliseconds(),\n        };\n    }\n\n    function toJSON() {\n        // new Date(NaN).toJSON() === null\n        return this.isValid() ? this.toISOString() : null;\n    }\n\n    function isValid$2() {\n        return isValid(this);\n    }\n\n    function parsingFlags() {\n        return extend({}, getParsingFlags(this));\n    }\n\n    function invalidAt() {\n        return getParsingFlags(this).overflow;\n    }\n\n    function creationData() {\n        return {\n            input: this._i,\n            format: this._f,\n            locale: this._locale,\n            isUTC: this._isUTC,\n            strict: this._strict,\n        };\n    }\n\n    addFormatToken('N', 0, 0, 'eraAbbr');\n    addFormatToken('NN', 0, 0, 'eraAbbr');\n    addFormatToken('NNN', 0, 0, 'eraAbbr');\n    addFormatToken('NNNN', 0, 0, 'eraName');\n    addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n    addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n    addFormatToken('y', ['yy', 2], 0, 'eraYear');\n    addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n    addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n    addRegexToken('N', matchEraAbbr);\n    addRegexToken('NN', matchEraAbbr);\n    addRegexToken('NNN', matchEraAbbr);\n    addRegexToken('NNNN', matchEraName);\n    addRegexToken('NNNNN', matchEraNarrow);\n\n    addParseToken(\n        ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n        function (input, array, config, token) {\n            var era = config._locale.erasParse(input, token, config._strict);\n            if (era) {\n                getParsingFlags(config).era = era;\n            } else {\n                getParsingFlags(config).invalidEra = input;\n            }\n        }\n    );\n\n    addRegexToken('y', matchUnsigned);\n    addRegexToken('yy', matchUnsigned);\n    addRegexToken('yyy', matchUnsigned);\n    addRegexToken('yyyy', matchUnsigned);\n    addRegexToken('yo', matchEraYearOrdinal);\n\n    addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n    addParseToken(['yo'], function (input, array, config, token) {\n        var match;\n        if (config._locale._eraYearOrdinalRegex) {\n            match = input.match(config._locale._eraYearOrdinalRegex);\n        }\n\n        if (config._locale.eraYearOrdinalParse) {\n            array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n        } else {\n            array[YEAR] = parseInt(input, 10);\n        }\n    });\n\n    function localeEras(m, format) {\n        var i,\n            l,\n            date,\n            eras = this._eras || getLocale('en')._eras;\n        for (i = 0, l = eras.length; i < l; ++i) {\n            switch (typeof eras[i].since) {\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].since).startOf('day');\n                    eras[i].since = date.valueOf();\n                    break;\n            }\n\n            switch (typeof eras[i].until) {\n                case 'undefined':\n                    eras[i].until = +Infinity;\n                    break;\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].until).startOf('day').valueOf();\n                    eras[i].until = date.valueOf();\n                    break;\n            }\n        }\n        return eras;\n    }\n\n    function localeErasParse(eraName, format, strict) {\n        var i,\n            l,\n            eras = this.eras(),\n            name,\n            abbr,\n            narrow;\n        eraName = eraName.toUpperCase();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            name = eras[i].name.toUpperCase();\n            abbr = eras[i].abbr.toUpperCase();\n            narrow = eras[i].narrow.toUpperCase();\n\n            if (strict) {\n                switch (format) {\n                    case 'N':\n                    case 'NN':\n                    case 'NNN':\n                        if (abbr === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNN':\n                        if (name === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNNN':\n                        if (narrow === eraName) {\n                            return eras[i];\n                        }\n                        break;\n                }\n            } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n                return eras[i];\n            }\n        }\n    }\n\n    function localeErasConvertYear(era, year) {\n        var dir = era.since <= era.until ? +1 : -1;\n        if (year === undefined) {\n            return hooks(era.since).year();\n        } else {\n            return hooks(era.since).year() + (year - era.offset) * dir;\n        }\n    }\n\n    function getEraName() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].name;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].name;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraNarrow() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].narrow;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].narrow;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraAbbr() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].abbr;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].abbr;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraYear() {\n        var i,\n            l,\n            dir,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (\n                (eras[i].since <= val && val <= eras[i].until) ||\n                (eras[i].until <= val && val <= eras[i].since)\n            ) {\n                return (\n                    (this.year() - hooks(eras[i].since).year()) * dir +\n                    eras[i].offset\n                );\n            }\n        }\n\n        return this.year();\n    }\n\n    function erasNameRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNameRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNameRegex : this._erasRegex;\n    }\n\n    function erasAbbrRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasAbbrRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasAbbrRegex : this._erasRegex;\n    }\n\n    function erasNarrowRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNarrowRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNarrowRegex : this._erasRegex;\n    }\n\n    function matchEraAbbr(isStrict, locale) {\n        return locale.erasAbbrRegex(isStrict);\n    }\n\n    function matchEraName(isStrict, locale) {\n        return locale.erasNameRegex(isStrict);\n    }\n\n    function matchEraNarrow(isStrict, locale) {\n        return locale.erasNarrowRegex(isStrict);\n    }\n\n    function matchEraYearOrdinal(isStrict, locale) {\n        return locale._eraYearOrdinalRegex || matchUnsigned;\n    }\n\n    function computeErasParse() {\n        var abbrPieces = [],\n            namePieces = [],\n            narrowPieces = [],\n            mixedPieces = [],\n            i,\n            l,\n            erasName,\n            erasAbbr,\n            erasNarrow,\n            eras = this.eras();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            erasName = regexEscape(eras[i].name);\n            erasAbbr = regexEscape(eras[i].abbr);\n            erasNarrow = regexEscape(eras[i].narrow);\n\n            namePieces.push(erasName);\n            abbrPieces.push(erasAbbr);\n            narrowPieces.push(erasNarrow);\n            mixedPieces.push(erasName);\n            mixedPieces.push(erasAbbr);\n            mixedPieces.push(erasNarrow);\n        }\n\n        this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n        this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n        this._erasNarrowRegex = new RegExp(\n            '^(' + narrowPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken(0, ['gg', 2], 0, function () {\n        return this.weekYear() % 100;\n    });\n\n    addFormatToken(0, ['GG', 2], 0, function () {\n        return this.isoWeekYear() % 100;\n    });\n\n    function addWeekYearFormatToken(token, getter) {\n        addFormatToken(0, [token, token.length], 0, getter);\n    }\n\n    addWeekYearFormatToken('gggg', 'weekYear');\n    addWeekYearFormatToken('ggggg', 'weekYear');\n    addWeekYearFormatToken('GGGG', 'isoWeekYear');\n    addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n    // ALIASES\n\n    // PARSING\n\n    addRegexToken('G', matchSigned);\n    addRegexToken('g', matchSigned);\n    addRegexToken('GG', match1to2, match2);\n    addRegexToken('gg', match1to2, match2);\n    addRegexToken('GGGG', match1to4, match4);\n    addRegexToken('gggg', match1to4, match4);\n    addRegexToken('GGGGG', match1to6, match6);\n    addRegexToken('ggggg', match1to6, match6);\n\n    addWeekParseToken(\n        ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n        function (input, week, config, token) {\n            week[token.substr(0, 2)] = toInt(input);\n        }\n    );\n\n    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n        week[token] = hooks.parseTwoDigitYear(input);\n    });\n\n    // MOMENTS\n\n    function getSetWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.week(),\n            this.weekday() + this.localeData()._week.dow,\n            this.localeData()._week.dow,\n            this.localeData()._week.doy\n        );\n    }\n\n    function getSetISOWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.isoWeek(),\n            this.isoWeekday(),\n            1,\n            4\n        );\n    }\n\n    function getISOWeeksInYear() {\n        return weeksInYear(this.year(), 1, 4);\n    }\n\n    function getISOWeeksInISOWeekYear() {\n        return weeksInYear(this.isoWeekYear(), 1, 4);\n    }\n\n    function getWeeksInYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getWeeksInWeekYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n        var weeksTarget;\n        if (input == null) {\n            return weekOfYear(this, dow, doy).year;\n        } else {\n            weeksTarget = weeksInYear(input, dow, doy);\n            if (week > weeksTarget) {\n                week = weeksTarget;\n            }\n            return setWeekAll.call(this, input, week, weekday, dow, doy);\n        }\n    }\n\n    function setWeekAll(weekYear, week, weekday, dow, doy) {\n        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n        this.year(date.getUTCFullYear());\n        this.month(date.getUTCMonth());\n        this.date(date.getUTCDate());\n        return this;\n    }\n\n    // FORMATTING\n\n    addFormatToken('Q', 0, 'Qo', 'quarter');\n\n    // PARSING\n\n    addRegexToken('Q', match1);\n    addParseToken('Q', function (input, array) {\n        array[MONTH] = (toInt(input) - 1) * 3;\n    });\n\n    // MOMENTS\n\n    function getSetQuarter(input) {\n        return input == null\n            ? Math.ceil((this.month() + 1) / 3)\n            : this.month((input - 1) * 3 + (this.month() % 3));\n    }\n\n    // FORMATTING\n\n    addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n    // PARSING\n\n    addRegexToken('D', match1to2, match1to2NoLeadingZero);\n    addRegexToken('DD', match1to2, match2);\n    addRegexToken('Do', function (isStrict, locale) {\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        return isStrict\n            ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n            : locale._dayOfMonthOrdinalParseLenient;\n    });\n\n    addParseToken(['D', 'DD'], DATE);\n    addParseToken('Do', function (input, array) {\n        array[DATE] = toInt(input.match(match1to2)[0]);\n    });\n\n    // MOMENTS\n\n    var getSetDayOfMonth = makeGetSet('Date', true);\n\n    // FORMATTING\n\n    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n    // PARSING\n\n    addRegexToken('DDD', match1to3);\n    addRegexToken('DDDD', match3);\n    addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n        config._dayOfYear = toInt(input);\n    });\n\n    // HELPERS\n\n    // MOMENTS\n\n    function getSetDayOfYear(input) {\n        var dayOfYear =\n            Math.round(\n                (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n            ) + 1;\n        return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('m', ['mm', 2], 0, 'minute');\n\n    // PARSING\n\n    addRegexToken('m', match1to2, match1to2HasZero);\n    addRegexToken('mm', match1to2, match2);\n    addParseToken(['m', 'mm'], MINUTE);\n\n    // MOMENTS\n\n    var getSetMinute = makeGetSet('Minutes', false);\n\n    // FORMATTING\n\n    addFormatToken('s', ['ss', 2], 0, 'second');\n\n    // PARSING\n\n    addRegexToken('s', match1to2, match1to2HasZero);\n    addRegexToken('ss', match1to2, match2);\n    addParseToken(['s', 'ss'], SECOND);\n\n    // MOMENTS\n\n    var getSetSecond = makeGetSet('Seconds', false);\n\n    // FORMATTING\n\n    addFormatToken('S', 0, 0, function () {\n        return ~~(this.millisecond() / 100);\n    });\n\n    addFormatToken(0, ['SS', 2], 0, function () {\n        return ~~(this.millisecond() / 10);\n    });\n\n    addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n    addFormatToken(0, ['SSSS', 4], 0, function () {\n        return this.millisecond() * 10;\n    });\n    addFormatToken(0, ['SSSSS', 5], 0, function () {\n        return this.millisecond() * 100;\n    });\n    addFormatToken(0, ['SSSSSS', 6], 0, function () {\n        return this.millisecond() * 1000;\n    });\n    addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n        return this.millisecond() * 10000;\n    });\n    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n        return this.millisecond() * 100000;\n    });\n    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n        return this.millisecond() * 1000000;\n    });\n\n    // PARSING\n\n    addRegexToken('S', match1to3, match1);\n    addRegexToken('SS', match1to3, match2);\n    addRegexToken('SSS', match1to3, match3);\n\n    var token, getSetMillisecond;\n    for (token = 'SSSS'; token.length <= 9; token += 'S') {\n        addRegexToken(token, matchUnsigned);\n    }\n\n    function parseMs(input, array) {\n        array[MILLISECOND] = toInt(('0.' + input) * 1000);\n    }\n\n    for (token = 'S'; token.length <= 9; token += 'S') {\n        addParseToken(token, parseMs);\n    }\n\n    getSetMillisecond = makeGetSet('Milliseconds', false);\n\n    // FORMATTING\n\n    addFormatToken('z', 0, 0, 'zoneAbbr');\n    addFormatToken('zz', 0, 0, 'zoneName');\n\n    // MOMENTS\n\n    function getZoneAbbr() {\n        return this._isUTC ? 'UTC' : '';\n    }\n\n    function getZoneName() {\n        return this._isUTC ? 'Coordinated Universal Time' : '';\n    }\n\n    var proto = Moment.prototype;\n\n    proto.add = add;\n    proto.calendar = calendar$1;\n    proto.clone = clone;\n    proto.diff = diff;\n    proto.endOf = endOf;\n    proto.format = format;\n    proto.from = from;\n    proto.fromNow = fromNow;\n    proto.to = to;\n    proto.toNow = toNow;\n    proto.get = stringGet;\n    proto.invalidAt = invalidAt;\n    proto.isAfter = isAfter;\n    proto.isBefore = isBefore;\n    proto.isBetween = isBetween;\n    proto.isSame = isSame;\n    proto.isSameOrAfter = isSameOrAfter;\n    proto.isSameOrBefore = isSameOrBefore;\n    proto.isValid = isValid$2;\n    proto.lang = lang;\n    proto.locale = locale;\n    proto.localeData = localeData;\n    proto.max = prototypeMax;\n    proto.min = prototypeMin;\n    proto.parsingFlags = parsingFlags;\n    proto.set = stringSet;\n    proto.startOf = startOf;\n    proto.subtract = subtract;\n    proto.toArray = toArray;\n    proto.toObject = toObject;\n    proto.toDate = toDate;\n    proto.toISOString = toISOString;\n    proto.inspect = inspect;\n    if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n        proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n            return 'Moment<' + this.format() + '>';\n        };\n    }\n    proto.toJSON = toJSON;\n    proto.toString = toString;\n    proto.unix = unix;\n    proto.valueOf = valueOf;\n    proto.creationData = creationData;\n    proto.eraName = getEraName;\n    proto.eraNarrow = getEraNarrow;\n    proto.eraAbbr = getEraAbbr;\n    proto.eraYear = getEraYear;\n    proto.year = getSetYear;\n    proto.isLeapYear = getIsLeapYear;\n    proto.weekYear = getSetWeekYear;\n    proto.isoWeekYear = getSetISOWeekYear;\n    proto.quarter = proto.quarters = getSetQuarter;\n    proto.month = getSetMonth;\n    proto.daysInMonth = getDaysInMonth;\n    proto.week = proto.weeks = getSetWeek;\n    proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n    proto.weeksInYear = getWeeksInYear;\n    proto.weeksInWeekYear = getWeeksInWeekYear;\n    proto.isoWeeksInYear = getISOWeeksInYear;\n    proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n    proto.date = getSetDayOfMonth;\n    proto.day = proto.days = getSetDayOfWeek;\n    proto.weekday = getSetLocaleDayOfWeek;\n    proto.isoWeekday = getSetISODayOfWeek;\n    proto.dayOfYear = getSetDayOfYear;\n    proto.hour = proto.hours = getSetHour;\n    proto.minute = proto.minutes = getSetMinute;\n    proto.second = proto.seconds = getSetSecond;\n    proto.millisecond = proto.milliseconds = getSetMillisecond;\n    proto.utcOffset = getSetOffset;\n    proto.utc = setOffsetToUTC;\n    proto.local = setOffsetToLocal;\n    proto.parseZone = setOffsetToParsedOffset;\n    proto.hasAlignedHourOffset = hasAlignedHourOffset;\n    proto.isDST = isDaylightSavingTime;\n    proto.isLocal = isLocal;\n    proto.isUtcOffset = isUtcOffset;\n    proto.isUtc = isUtc;\n    proto.isUTC = isUtc;\n    proto.zoneAbbr = getZoneAbbr;\n    proto.zoneName = getZoneName;\n    proto.dates = deprecate(\n        'dates accessor is deprecated. Use date instead.',\n        getSetDayOfMonth\n    );\n    proto.months = deprecate(\n        'months accessor is deprecated. Use month instead',\n        getSetMonth\n    );\n    proto.years = deprecate(\n        'years accessor is deprecated. Use year instead',\n        getSetYear\n    );\n    proto.zone = deprecate(\n        'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n        getSetZone\n    );\n    proto.isDSTShifted = deprecate(\n        'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n        isDaylightSavingTimeShifted\n    );\n\n    function createUnix(input) {\n        return createLocal(input * 1000);\n    }\n\n    function createInZone() {\n        return createLocal.apply(null, arguments).parseZone();\n    }\n\n    function preParsePostFormat(string) {\n        return string;\n    }\n\n    var proto$1 = Locale.prototype;\n\n    proto$1.calendar = calendar;\n    proto$1.longDateFormat = longDateFormat;\n    proto$1.invalidDate = invalidDate;\n    proto$1.ordinal = ordinal;\n    proto$1.preparse = preParsePostFormat;\n    proto$1.postformat = preParsePostFormat;\n    proto$1.relativeTime = relativeTime;\n    proto$1.pastFuture = pastFuture;\n    proto$1.set = set;\n    proto$1.eras = localeEras;\n    proto$1.erasParse = localeErasParse;\n    proto$1.erasConvertYear = localeErasConvertYear;\n    proto$1.erasAbbrRegex = erasAbbrRegex;\n    proto$1.erasNameRegex = erasNameRegex;\n    proto$1.erasNarrowRegex = erasNarrowRegex;\n\n    proto$1.months = localeMonths;\n    proto$1.monthsShort = localeMonthsShort;\n    proto$1.monthsParse = localeMonthsParse;\n    proto$1.monthsRegex = monthsRegex;\n    proto$1.monthsShortRegex = monthsShortRegex;\n    proto$1.week = localeWeek;\n    proto$1.firstDayOfYear = localeFirstDayOfYear;\n    proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n    proto$1.weekdays = localeWeekdays;\n    proto$1.weekdaysMin = localeWeekdaysMin;\n    proto$1.weekdaysShort = localeWeekdaysShort;\n    proto$1.weekdaysParse = localeWeekdaysParse;\n\n    proto$1.weekdaysRegex = weekdaysRegex;\n    proto$1.weekdaysShortRegex = weekdaysShortRegex;\n    proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n    proto$1.isPM = localeIsPM;\n    proto$1.meridiem = localeMeridiem;\n\n    function get$1(format, index, field, setter) {\n        var locale = getLocale(),\n            utc = createUTC().set(setter, index);\n        return locale[field](utc, format);\n    }\n\n    function listMonthsImpl(format, index, field) {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n\n        if (index != null) {\n            return get$1(format, index, field, 'month');\n        }\n\n        var i,\n            out = [];\n        for (i = 0; i < 12; i++) {\n            out[i] = get$1(format, i, field, 'month');\n        }\n        return out;\n    }\n\n    // ()\n    // (5)\n    // (fmt, 5)\n    // (fmt)\n    // (true)\n    // (true, 5)\n    // (true, fmt, 5)\n    // (true, fmt)\n    function listWeekdaysImpl(localeSorted, format, index, field) {\n        if (typeof localeSorted === 'boolean') {\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        } else {\n            format = localeSorted;\n            index = format;\n            localeSorted = false;\n\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        }\n\n        var locale = getLocale(),\n            shift = localeSorted ? locale._week.dow : 0,\n            i,\n            out = [];\n\n        if (index != null) {\n            return get$1(format, (index + shift) % 7, field, 'day');\n        }\n\n        for (i = 0; i < 7; i++) {\n            out[i] = get$1(format, (i + shift) % 7, field, 'day');\n        }\n        return out;\n    }\n\n    function listMonths(format, index) {\n        return listMonthsImpl(format, index, 'months');\n    }\n\n    function listMonthsShort(format, index) {\n        return listMonthsImpl(format, index, 'monthsShort');\n    }\n\n    function listWeekdays(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n    }\n\n    function listWeekdaysShort(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n    }\n\n    function listWeekdaysMin(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n    }\n\n    getSetGlobalLocale('en', {\n        eras: [\n            {\n                since: '0001-01-01',\n                until: +Infinity,\n                offset: 1,\n                name: 'Anno Domini',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: 'Before Christ',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    toInt((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    // Side effect imports\n\n    hooks.lang = deprecate(\n        'moment.lang is deprecated. Use moment.locale instead.',\n        getSetGlobalLocale\n    );\n    hooks.langData = deprecate(\n        'moment.langData is deprecated. Use moment.localeData instead.',\n        getLocale\n    );\n\n    var mathAbs = Math.abs;\n\n    function abs() {\n        var data = this._data;\n\n        this._milliseconds = mathAbs(this._milliseconds);\n        this._days = mathAbs(this._days);\n        this._months = mathAbs(this._months);\n\n        data.milliseconds = mathAbs(data.milliseconds);\n        data.seconds = mathAbs(data.seconds);\n        data.minutes = mathAbs(data.minutes);\n        data.hours = mathAbs(data.hours);\n        data.months = mathAbs(data.months);\n        data.years = mathAbs(data.years);\n\n        return this;\n    }\n\n    function addSubtract$1(duration, input, value, direction) {\n        var other = createDuration(input, value);\n\n        duration._milliseconds += direction * other._milliseconds;\n        duration._days += direction * other._days;\n        duration._months += direction * other._months;\n\n        return duration._bubble();\n    }\n\n    // supports only 2.0-style add(1, 's') or add(duration)\n    function add$1(input, value) {\n        return addSubtract$1(this, input, value, 1);\n    }\n\n    // supports only 2.0-style subtract(1, 's') or subtract(duration)\n    function subtract$1(input, value) {\n        return addSubtract$1(this, input, value, -1);\n    }\n\n    function absCeil(number) {\n        if (number < 0) {\n            return Math.floor(number);\n        } else {\n            return Math.ceil(number);\n        }\n    }\n\n    function bubble() {\n        var milliseconds = this._milliseconds,\n            days = this._days,\n            months = this._months,\n            data = this._data,\n            seconds,\n            minutes,\n            hours,\n            years,\n            monthsFromDays;\n\n        // if we have a mix of positive and negative values, bubble down first\n        // check: https://github.com/moment/moment/issues/2166\n        if (\n            !(\n                (milliseconds >= 0 && days >= 0 && months >= 0) ||\n                (milliseconds <= 0 && days <= 0 && months <= 0)\n            )\n        ) {\n            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n            days = 0;\n            months = 0;\n        }\n\n        // The following code bubbles up values, see the tests for\n        // examples of what that means.\n        data.milliseconds = milliseconds % 1000;\n\n        seconds = absFloor(milliseconds / 1000);\n        data.seconds = seconds % 60;\n\n        minutes = absFloor(seconds / 60);\n        data.minutes = minutes % 60;\n\n        hours = absFloor(minutes / 60);\n        data.hours = hours % 24;\n\n        days += absFloor(hours / 24);\n\n        // convert days to months\n        monthsFromDays = absFloor(daysToMonths(days));\n        months += monthsFromDays;\n        days -= absCeil(monthsToDays(monthsFromDays));\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        data.days = days;\n        data.months = months;\n        data.years = years;\n\n        return this;\n    }\n\n    function daysToMonths(days) {\n        // 400 years have 146097 days (taking into account leap year rules)\n        // 400 years have 12 months === 4800\n        return (days * 4800) / 146097;\n    }\n\n    function monthsToDays(months) {\n        // the reverse of daysToMonths\n        return (months * 146097) / 4800;\n    }\n\n    function as(units) {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        var days,\n            months,\n            milliseconds = this._milliseconds;\n\n        units = normalizeUnits(units);\n\n        if (units === 'month' || units === 'quarter' || units === 'year') {\n            days = this._days + milliseconds / 864e5;\n            months = this._months + daysToMonths(days);\n            switch (units) {\n                case 'month':\n                    return months;\n                case 'quarter':\n                    return months / 3;\n                case 'year':\n                    return months / 12;\n            }\n        } else {\n            // handle milliseconds separately because of floating point math errors (issue #1867)\n            days = this._days + Math.round(monthsToDays(this._months));\n            switch (units) {\n                case 'week':\n                    return days / 7 + milliseconds / 6048e5;\n                case 'day':\n                    return days + milliseconds / 864e5;\n                case 'hour':\n                    return days * 24 + milliseconds / 36e5;\n                case 'minute':\n                    return days * 1440 + milliseconds / 6e4;\n                case 'second':\n                    return days * 86400 + milliseconds / 1000;\n                // Math.floor prevents floating point math errors here\n                case 'millisecond':\n                    return Math.floor(days * 864e5) + milliseconds;\n                default:\n                    throw new Error('Unknown unit ' + units);\n            }\n        }\n    }\n\n    function makeAs(alias) {\n        return function () {\n            return this.as(alias);\n        };\n    }\n\n    var asMilliseconds = makeAs('ms'),\n        asSeconds = makeAs('s'),\n        asMinutes = makeAs('m'),\n        asHours = makeAs('h'),\n        asDays = makeAs('d'),\n        asWeeks = makeAs('w'),\n        asMonths = makeAs('M'),\n        asQuarters = makeAs('Q'),\n        asYears = makeAs('y'),\n        valueOf$1 = asMilliseconds;\n\n    function clone$1() {\n        return createDuration(this);\n    }\n\n    function get$2(units) {\n        units = normalizeUnits(units);\n        return this.isValid() ? this[units + 's']() : NaN;\n    }\n\n    function makeGetter(name) {\n        return function () {\n            return this.isValid() ? this._data[name] : NaN;\n        };\n    }\n\n    var milliseconds = makeGetter('milliseconds'),\n        seconds = makeGetter('seconds'),\n        minutes = makeGetter('minutes'),\n        hours = makeGetter('hours'),\n        days = makeGetter('days'),\n        months = makeGetter('months'),\n        years = makeGetter('years');\n\n    function weeks() {\n        return absFloor(this.days() / 7);\n    }\n\n    var round = Math.round,\n        thresholds = {\n            ss: 44, // a few seconds to seconds\n            s: 45, // seconds to minute\n            m: 45, // minutes to hour\n            h: 22, // hours to day\n            d: 26, // days to month/week\n            w: null, // weeks to month\n            M: 11, // months to year\n        };\n\n    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n    }\n\n    function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n        var duration = createDuration(posNegDuration).abs(),\n            seconds = round(duration.as('s')),\n            minutes = round(duration.as('m')),\n            hours = round(duration.as('h')),\n            days = round(duration.as('d')),\n            months = round(duration.as('M')),\n            weeks = round(duration.as('w')),\n            years = round(duration.as('y')),\n            a =\n                (seconds <= thresholds.ss && ['s', seconds]) ||\n                (seconds < thresholds.s && ['ss', seconds]) ||\n                (minutes <= 1 && ['m']) ||\n                (minutes < thresholds.m && ['mm', minutes]) ||\n                (hours <= 1 && ['h']) ||\n                (hours < thresholds.h && ['hh', hours]) ||\n                (days <= 1 && ['d']) ||\n                (days < thresholds.d && ['dd', days]);\n\n        if (thresholds.w != null) {\n            a =\n                a ||\n                (weeks <= 1 && ['w']) ||\n                (weeks < thresholds.w && ['ww', weeks]);\n        }\n        a = a ||\n            (months <= 1 && ['M']) ||\n            (months < thresholds.M && ['MM', months]) ||\n            (years <= 1 && ['y']) || ['yy', years];\n\n        a[2] = withoutSuffix;\n        a[3] = +posNegDuration > 0;\n        a[4] = locale;\n        return substituteTimeAgo.apply(null, a);\n    }\n\n    // This function allows you to set the rounding function for relative time strings\n    function getSetRelativeTimeRounding(roundingFunction) {\n        if (roundingFunction === undefined) {\n            return round;\n        }\n        if (typeof roundingFunction === 'function') {\n            round = roundingFunction;\n            return true;\n        }\n        return false;\n    }\n\n    // This function allows you to set a threshold for relative time strings\n    function getSetRelativeTimeThreshold(threshold, limit) {\n        if (thresholds[threshold] === undefined) {\n            return false;\n        }\n        if (limit === undefined) {\n            return thresholds[threshold];\n        }\n        thresholds[threshold] = limit;\n        if (threshold === 's') {\n            thresholds.ss = limit - 1;\n        }\n        return true;\n    }\n\n    function humanize(argWithSuffix, argThresholds) {\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var withSuffix = false,\n            th = thresholds,\n            locale,\n            output;\n\n        if (typeof argWithSuffix === 'object') {\n            argThresholds = argWithSuffix;\n            argWithSuffix = false;\n        }\n        if (typeof argWithSuffix === 'boolean') {\n            withSuffix = argWithSuffix;\n        }\n        if (typeof argThresholds === 'object') {\n            th = Object.assign({}, thresholds, argThresholds);\n            if (argThresholds.s != null && argThresholds.ss == null) {\n                th.ss = argThresholds.s - 1;\n            }\n        }\n\n        locale = this.localeData();\n        output = relativeTime$1(this, !withSuffix, th, locale);\n\n        if (withSuffix) {\n            output = locale.pastFuture(+this, output);\n        }\n\n        return locale.postformat(output);\n    }\n\n    var abs$1 = Math.abs;\n\n    function sign(x) {\n        return (x > 0) - (x < 0) || +x;\n    }\n\n    function toISOString$1() {\n        // for ISO strings we do not use the normal bubbling rules:\n        //  * milliseconds bubble up until they become hours\n        //  * days do not bubble at all\n        //  * months bubble up until they become years\n        // This is because there is no context-free conversion between hours and days\n        // (think of clock changes)\n        // and also not between days and months (28-31 days per month)\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var seconds = abs$1(this._milliseconds) / 1000,\n            days = abs$1(this._days),\n            months = abs$1(this._months),\n            minutes,\n            hours,\n            years,\n            s,\n            total = this.asSeconds(),\n            totalSign,\n            ymSign,\n            daysSign,\n            hmsSign;\n\n        if (!total) {\n            // this is the same as C#'s (Noda) and python (isodate)...\n            // but not other JS (goog.date)\n            return 'P0D';\n        }\n\n        // 3600 seconds -> 60 minutes -> 1 hour\n        minutes = absFloor(seconds / 60);\n        hours = absFloor(minutes / 60);\n        seconds %= 60;\n        minutes %= 60;\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n        s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n        totalSign = total < 0 ? '-' : '';\n        ymSign = sign(this._months) !== sign(total) ? '-' : '';\n        daysSign = sign(this._days) !== sign(total) ? '-' : '';\n        hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n        return (\n            totalSign +\n            'P' +\n            (years ? ymSign + years + 'Y' : '') +\n            (months ? ymSign + months + 'M' : '') +\n            (days ? daysSign + days + 'D' : '') +\n            (hours || minutes || seconds ? 'T' : '') +\n            (hours ? hmsSign + hours + 'H' : '') +\n            (minutes ? hmsSign + minutes + 'M' : '') +\n            (seconds ? hmsSign + s + 'S' : '')\n        );\n    }\n\n    var proto$2 = Duration.prototype;\n\n    proto$2.isValid = isValid$1;\n    proto$2.abs = abs;\n    proto$2.add = add$1;\n    proto$2.subtract = subtract$1;\n    proto$2.as = as;\n    proto$2.asMilliseconds = asMilliseconds;\n    proto$2.asSeconds = asSeconds;\n    proto$2.asMinutes = asMinutes;\n    proto$2.asHours = asHours;\n    proto$2.asDays = asDays;\n    proto$2.asWeeks = asWeeks;\n    proto$2.asMonths = asMonths;\n    proto$2.asQuarters = asQuarters;\n    proto$2.asYears = asYears;\n    proto$2.valueOf = valueOf$1;\n    proto$2._bubble = bubble;\n    proto$2.clone = clone$1;\n    proto$2.get = get$2;\n    proto$2.milliseconds = milliseconds;\n    proto$2.seconds = seconds;\n    proto$2.minutes = minutes;\n    proto$2.hours = hours;\n    proto$2.days = days;\n    proto$2.weeks = weeks;\n    proto$2.months = months;\n    proto$2.years = years;\n    proto$2.humanize = humanize;\n    proto$2.toISOString = toISOString$1;\n    proto$2.toString = toISOString$1;\n    proto$2.toJSON = toISOString$1;\n    proto$2.locale = locale;\n    proto$2.localeData = localeData;\n\n    proto$2.toIsoString = deprecate(\n        'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n        toISOString$1\n    );\n    proto$2.lang = lang;\n\n    // FORMATTING\n\n    addFormatToken('X', 0, 0, 'unix');\n    addFormatToken('x', 0, 0, 'valueOf');\n\n    // PARSING\n\n    addRegexToken('x', matchSigned);\n    addRegexToken('X', matchTimestamp);\n    addParseToken('X', function (input, array, config) {\n        config._d = new Date(parseFloat(input) * 1000);\n    });\n    addParseToken('x', function (input, array, config) {\n        config._d = new Date(toInt(input));\n    });\n\n    //! moment.js\n\n    hooks.version = '2.30.1';\n\n    setHookCallback(createLocal);\n\n    hooks.fn = proto;\n    hooks.min = min;\n    hooks.max = max;\n    hooks.now = now;\n    hooks.utc = createUTC;\n    hooks.unix = createUnix;\n    hooks.months = listMonths;\n    hooks.isDate = isDate;\n    hooks.locale = getSetGlobalLocale;\n    hooks.invalid = createInvalid;\n    hooks.duration = createDuration;\n    hooks.isMoment = isMoment;\n    hooks.weekdays = listWeekdays;\n    hooks.parseZone = createInZone;\n    hooks.localeData = getLocale;\n    hooks.isDuration = isDuration;\n    hooks.monthsShort = listMonthsShort;\n    hooks.weekdaysMin = listWeekdaysMin;\n    hooks.defineLocale = defineLocale;\n    hooks.updateLocale = updateLocale;\n    hooks.locales = listLocales;\n    hooks.weekdaysShort = listWeekdaysShort;\n    hooks.normalizeUnits = normalizeUnits;\n    hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n    hooks.calendarFormat = getCalendarFormat;\n    hooks.prototype = proto;\n\n    // currently HTML5 input type only supports 24-hour formats\n    hooks.HTML5_FMT = {\n        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n        DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n        TIME: 'HH:mm', // <input type=\"time\" />\n        TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n        TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n        WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n        MONTH: 'YYYY-MM', // <input type=\"month\" />\n    };\n\n    return hooks;\n\n})));\n","(function(){\r\n  var crypt = require('crypt'),\r\n      utf8 = require('charenc').utf8,\r\n      isBuffer = require('is-buffer'),\r\n      bin = require('charenc').bin,\r\n\r\n  // The core\r\n  md5 = function (message, options) {\r\n    // Convert to byte array\r\n    if (message.constructor == String)\r\n      if (options && options.encoding === 'binary')\r\n        message = bin.stringToBytes(message);\r\n      else\r\n        message = utf8.stringToBytes(message);\r\n    else if (isBuffer(message))\r\n      message = Array.prototype.slice.call(message, 0);\r\n    else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n      message = message.toString();\r\n    // else, assume byte array already\r\n\r\n    var m = crypt.bytesToWords(message),\r\n        l = message.length * 8,\r\n        a =  1732584193,\r\n        b = -271733879,\r\n        c = -1732584194,\r\n        d =  271733878;\r\n\r\n    // Swap endian\r\n    for (var i = 0; i < m.length; i++) {\r\n      m[i] = ((m[i] <<  8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n             ((m[i] << 24) | (m[i] >>>  8)) & 0xFF00FF00;\r\n    }\r\n\r\n    // Padding\r\n    m[l >>> 5] |= 0x80 << (l % 32);\r\n    m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n    // Method shortcuts\r\n    var FF = md5._ff,\r\n        GG = md5._gg,\r\n        HH = md5._hh,\r\n        II = md5._ii;\r\n\r\n    for (var i = 0; i < m.length; i += 16) {\r\n\r\n      var aa = a,\r\n          bb = b,\r\n          cc = c,\r\n          dd = d;\r\n\r\n      a = FF(a, b, c, d, m[i+ 0],  7, -680876936);\r\n      d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n      c = FF(c, d, a, b, m[i+ 2], 17,  606105819);\r\n      b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n      a = FF(a, b, c, d, m[i+ 4],  7, -176418897);\r\n      d = FF(d, a, b, c, m[i+ 5], 12,  1200080426);\r\n      c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n      b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n      a = FF(a, b, c, d, m[i+ 8],  7,  1770035416);\r\n      d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n      c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n      b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n      a = FF(a, b, c, d, m[i+12],  7,  1804603682);\r\n      d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n      c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n      b = FF(b, c, d, a, m[i+15], 22,  1236535329);\r\n\r\n      a = GG(a, b, c, d, m[i+ 1],  5, -165796510);\r\n      d = GG(d, a, b, c, m[i+ 6],  9, -1069501632);\r\n      c = GG(c, d, a, b, m[i+11], 14,  643717713);\r\n      b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n      a = GG(a, b, c, d, m[i+ 5],  5, -701558691);\r\n      d = GG(d, a, b, c, m[i+10],  9,  38016083);\r\n      c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n      b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n      a = GG(a, b, c, d, m[i+ 9],  5,  568446438);\r\n      d = GG(d, a, b, c, m[i+14],  9, -1019803690);\r\n      c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n      b = GG(b, c, d, a, m[i+ 8], 20,  1163531501);\r\n      a = GG(a, b, c, d, m[i+13],  5, -1444681467);\r\n      d = GG(d, a, b, c, m[i+ 2],  9, -51403784);\r\n      c = GG(c, d, a, b, m[i+ 7], 14,  1735328473);\r\n      b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n      a = HH(a, b, c, d, m[i+ 5],  4, -378558);\r\n      d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n      c = HH(c, d, a, b, m[i+11], 16,  1839030562);\r\n      b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n      a = HH(a, b, c, d, m[i+ 1],  4, -1530992060);\r\n      d = HH(d, a, b, c, m[i+ 4], 11,  1272893353);\r\n      c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n      b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n      a = HH(a, b, c, d, m[i+13],  4,  681279174);\r\n      d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n      c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n      b = HH(b, c, d, a, m[i+ 6], 23,  76029189);\r\n      a = HH(a, b, c, d, m[i+ 9],  4, -640364487);\r\n      d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n      c = HH(c, d, a, b, m[i+15], 16,  530742520);\r\n      b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n      a = II(a, b, c, d, m[i+ 0],  6, -198630844);\r\n      d = II(d, a, b, c, m[i+ 7], 10,  1126891415);\r\n      c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n      b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n      a = II(a, b, c, d, m[i+12],  6,  1700485571);\r\n      d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n      c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n      b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n      a = II(a, b, c, d, m[i+ 8],  6,  1873313359);\r\n      d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n      c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n      b = II(b, c, d, a, m[i+13], 21,  1309151649);\r\n      a = II(a, b, c, d, m[i+ 4],  6, -145523070);\r\n      d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n      c = II(c, d, a, b, m[i+ 2], 15,  718787259);\r\n      b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n      a = (a + aa) >>> 0;\r\n      b = (b + bb) >>> 0;\r\n      c = (c + cc) >>> 0;\r\n      d = (d + dd) >>> 0;\r\n    }\r\n\r\n    return crypt.endian([a, b, c, d]);\r\n  };\r\n\r\n  // Auxiliary functions\r\n  md5._ff  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._gg  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._hh  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._ii  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n\r\n  // Package private blocksize\r\n  md5._blocksize = 16;\r\n  md5._digestsize = 16;\r\n\r\n  module.exports = function (message, options) {\r\n    if (message === undefined || message === null)\r\n      throw new Error('Illegal argument ' + message);\r\n\r\n    var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n    return options && options.asBytes ? digestbytes :\r\n        options && options.asString ? bin.bytesToString(digestbytes) :\r\n        crypt.bytesToHex(digestbytes);\r\n  };\r\n\r\n})();\r\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var af = moment.defineLocale('af', {\n        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n        meridiemParse: /vm|nm/i,\n        isPM: function (input) {\n            return /^nm$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'vm' : 'VM';\n            } else {\n                return isLower ? 'nm' : 'NM';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Vandag om] LT',\n            nextDay: '[Môre om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[Gister om] LT',\n            lastWeek: '[Laas] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oor %s',\n            past: '%s gelede',\n            s: \"'n paar sekondes\",\n            ss: '%d sekondes',\n            m: \"'n minuut\",\n            mm: '%d minute',\n            h: \"'n uur\",\n            hh: '%d ure',\n            d: \"'n dag\",\n            dd: '%d dae',\n            M: \"'n maand\",\n            MM: '%d maande',\n            y: \"'n jaar\",\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            ); // Thanks to Joris Röling : https://github.com/jjupiter\n        },\n        week: {\n            dow: 1, // Maandag is die eerste dag van die week.\n            doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n        },\n    });\n\n    return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'جانفي',\n            'فيفري',\n            'مارس',\n            'أفريل',\n            'ماي',\n            'جوان',\n            'جويلية',\n            'أوت',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arDz = moment.defineLocale('ar-dz', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arKw = moment.defineLocale('ar-kw', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '1',\n            2: '2',\n            3: '3',\n            4: '4',\n            5: '5',\n            6: '6',\n            7: '7',\n            8: '8',\n            9: '9',\n            0: '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arLy = moment.defineLocale('ar-ly', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arMa = moment.defineLocale('ar-ma', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arSa = moment.defineLocale('ar-sa', {\n        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale  :  Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arTn = moment.defineLocale('ar-tn', {\n        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var ar = moment.defineLocale('ar', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: '-inci',\n        5: '-inci',\n        8: '-inci',\n        70: '-inci',\n        80: '-inci',\n        2: '-nci',\n        7: '-nci',\n        20: '-nci',\n        50: '-nci',\n        3: '-üncü',\n        4: '-üncü',\n        100: '-üncü',\n        6: '-ncı',\n        9: '-uncu',\n        10: '-uncu',\n        30: '-uncu',\n        60: '-ıncı',\n        90: '-ıncı',\n    };\n\n    var az = moment.defineLocale('az', {\n        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n        weekdays:\n            'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n                '_'\n            ),\n        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[sabah saat] LT',\n            nextWeek: '[gələn həftə] dddd [saat] LT',\n            lastDay: '[dünən] LT',\n            lastWeek: '[keçən həftə] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s əvvəl',\n            s: 'bir neçə saniyə',\n            ss: '%d saniyə',\n            m: 'bir dəqiqə',\n            mm: '%d dəqiqə',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir il',\n            yy: '%d il',\n        },\n        meridiemParse: /gecə|səhər|gündüz|axşam/,\n        isPM: function (input) {\n            return /^(gündüz|axşam)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'gecə';\n            } else if (hour < 12) {\n                return 'səhər';\n            } else if (hour < 17) {\n                return 'gündüz';\n            } else {\n                return 'axşam';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n        ordinal: function (number) {\n            if (number === 0) {\n                // special case for zero\n                return number + '-ıncı';\n            }\n            var a = number % 10,\n                b = (number % 100) - a,\n                c = number >= 100 ? 100 : null;\n            return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n            hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n            dd: 'дзень_дні_дзён',\n            MM: 'месяц_месяцы_месяцаў',\n            yy: 'год_гады_гадоў',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвіліна' : 'хвіліну';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'гадзіна' : 'гадзіну';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n\n    var be = moment.defineLocale('be', {\n        months: {\n            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n                '_'\n            ),\n            standalone:\n                'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n        weekdays: {\n            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n                '_'\n            ),\n            standalone:\n                'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n                    '_'\n                ),\n            isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n        },\n        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n        },\n        calendar: {\n            sameDay: '[Сёння ў] LT',\n            nextDay: '[Заўтра ў] LT',\n            lastDay: '[Учора ў] LT',\n            nextWeek: function () {\n                return '[У] dddd [ў] LT';\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return '[У мінулую] dddd [ў] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                        return '[У мінулы] dddd [ў] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'праз %s',\n            past: '%s таму',\n            s: 'некалькі секунд',\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithPlural,\n            hh: relativeTimeWithPlural,\n            d: 'дзень',\n            dd: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночы|раніцы|дня|вечара/,\n        isPM: function (input) {\n            return /^(дня|вечара)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночы';\n            } else if (hour < 12) {\n                return 'раніцы';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечара';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return (number % 10 === 2 || number % 10 === 3) &&\n                        number % 100 !== 12 &&\n                        number % 100 !== 13\n                        ? number + '-і'\n                        : number + '-ы';\n                case 'D':\n                    return number + '-га';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bg = moment.defineLocale('bg', {\n        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Днес в] LT',\n            nextDay: '[Утре в] LT',\n            nextWeek: 'dddd [в] LT',\n            lastDay: '[Вчера в] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Миналата] dddd [в] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Миналия] dddd [в] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'след %s',\n            past: 'преди %s',\n            s: 'няколко секунди',\n            ss: '%d секунди',\n            m: 'минута',\n            mm: '%d минути',\n            h: 'час',\n            hh: '%d часа',\n            d: 'ден',\n            dd: '%d дена',\n            w: 'седмица',\n            ww: '%d седмици',\n            M: 'месец',\n            MM: '%d месеца',\n            y: 'година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bm = moment.defineLocale('bm', {\n        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n            '_'\n        ),\n        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'MMMM [tile] D [san] YYYY',\n            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bi lɛrɛ] LT',\n            nextDay: '[Sini lɛrɛ] LT',\n            nextWeek: 'dddd [don lɛrɛ] LT',\n            lastDay: '[Kunu lɛrɛ] LT',\n            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s kɔnɔ',\n            past: 'a bɛ %s bɔ',\n            s: 'sanga dama dama',\n            ss: 'sekondi %d',\n            m: 'miniti kelen',\n            mm: 'miniti %d',\n            h: 'lɛrɛ kelen',\n            hh: 'lɛrɛ %d',\n            d: 'tile kelen',\n            dd: 'tile %d',\n            M: 'kalo kelen',\n            MM: 'kalo %d',\n            y: 'san kelen',\n            yy: 'san %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bnBd = moment.defineLocale('bn-bd', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n\n        meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'রাত') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ভোর') {\n                return hour;\n            } else if (meridiem === 'সকাল') {\n                return hour;\n            } else if (meridiem === 'দুপুর') {\n                return hour >= 3 ? hour : hour + 12;\n            } else if (meridiem === 'বিকাল') {\n                return hour + 12;\n            } else if (meridiem === 'সন্ধ্যা') {\n                return hour + 12;\n            }\n        },\n\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 6) {\n                return 'ভোর';\n            } else if (hour < 12) {\n                return 'সকাল';\n            } else if (hour < 15) {\n                return 'দুপুর';\n            } else if (hour < 18) {\n                return 'বিকাল';\n            } else if (hour < 20) {\n                return 'সন্ধ্যা';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bn = moment.defineLocale('bn', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'রাত' && hour >= 4) ||\n                (meridiem === 'দুপুর' && hour < 5) ||\n                meridiem === 'বিকাল'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 10) {\n                return 'সকাল';\n            } else if (hour < 17) {\n                return 'দুপুর';\n            } else if (hour < 20) {\n                return 'বিকাল';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '༡',\n            2: '༢',\n            3: '༣',\n            4: '༤',\n            5: '༥',\n            6: '༦',\n            7: '༧',\n            8: '༨',\n            9: '༩',\n            0: '༠',\n        },\n        numberMap = {\n            '༡': '1',\n            '༢': '2',\n            '༣': '3',\n            '༤': '4',\n            '༥': '5',\n            '༦': '6',\n            '༧': '7',\n            '༨': '8',\n            '༩': '9',\n            '༠': '0',\n        };\n\n    var bo = moment.defineLocale('bo', {\n        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n                '_'\n            ),\n        monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n        monthsParseExact: true,\n        weekdays:\n            'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n                '_'\n            ),\n        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n            '_'\n        ),\n        weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[དི་རིང] LT',\n            nextDay: '[སང་ཉིན] LT',\n            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n            lastDay: '[ཁ་སང] LT',\n            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ལ་',\n            past: '%s སྔན་ལ',\n            s: 'ལམ་སང',\n            ss: '%d སྐར་ཆ།',\n            m: 'སྐར་མ་གཅིག',\n            mm: '%d སྐར་མ',\n            h: 'ཆུ་ཚོད་གཅིག',\n            hh: '%d ཆུ་ཚོད',\n            d: 'ཉིན་གཅིག',\n            dd: '%d ཉིན་',\n            M: 'ཟླ་བ་གཅིག',\n            MM: '%d ཟླ་བ',\n            y: 'ལོ་གཅིག',\n            yy: '%d ལོ',\n        },\n        preparse: function (string) {\n            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'མཚན་མོ' && hour >= 4) ||\n                (meridiem === 'ཉིན་གུང' && hour < 5) ||\n                meridiem === 'དགོང་དག'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'མཚན་མོ';\n            } else if (hour < 10) {\n                return 'ཞོགས་ཀས';\n            } else if (hour < 17) {\n                return 'ཉིན་གུང';\n            } else if (hour < 20) {\n                return 'དགོང་དག';\n            } else {\n                return 'མཚན་མོ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithMutation(number, withoutSuffix, key) {\n        var format = {\n            mm: 'munutenn',\n            MM: 'miz',\n            dd: 'devezh',\n        };\n        return number + ' ' + mutation(format[key], number);\n    }\n    function specialMutationForYears(number) {\n        switch (lastNumber(number)) {\n            case 1:\n            case 3:\n            case 4:\n            case 5:\n            case 9:\n                return number + ' bloaz';\n            default:\n                return number + ' vloaz';\n        }\n    }\n    function lastNumber(number) {\n        if (number > 9) {\n            return lastNumber(number % 10);\n        }\n        return number;\n    }\n    function mutation(text, number) {\n        if (number === 2) {\n            return softMutation(text);\n        }\n        return text;\n    }\n    function softMutation(text) {\n        var mutationTable = {\n            m: 'v',\n            b: 'v',\n            d: 'z',\n        };\n        if (mutationTable[text.charAt(0)] === undefined) {\n            return text;\n        }\n        return mutationTable[text.charAt(0)] + text.substring(1);\n    }\n\n    var monthsParse = [\n            /^gen/i,\n            /^c[ʼ\\']hwe/i,\n            /^meu/i,\n            /^ebr/i,\n            /^mae/i,\n            /^(mez|eve)/i,\n            /^gou/i,\n            /^eos/i,\n            /^gwe/i,\n            /^her/i,\n            /^du/i,\n            /^ker/i,\n        ],\n        monthsRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        monthsStrictRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n        monthsShortStrictRegex =\n            /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        fullWeekdaysParse = [\n            /^sul/i,\n            /^lun/i,\n            /^meurzh/i,\n            /^merc[ʼ\\']her/i,\n            /^yaou/i,\n            /^gwener/i,\n            /^sadorn/i,\n        ],\n        shortWeekdaysParse = [\n            /^Sul/i,\n            /^Lun/i,\n            /^Meu/i,\n            /^Mer/i,\n            /^Yao/i,\n            /^Gwe/i,\n            /^Sad/i,\n        ],\n        minWeekdaysParse = [\n            /^Su/i,\n            /^Lu/i,\n            /^Me([^r]|$)/i,\n            /^Mer/i,\n            /^Ya/i,\n            /^Gw/i,\n            /^Sa/i,\n        ];\n\n    var br = moment.defineLocale('br', {\n        months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n            '_'\n        ),\n        monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n        weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n        weekdaysParse: minWeekdaysParse,\n        fullWeekdaysParse: fullWeekdaysParse,\n        shortWeekdaysParse: shortWeekdaysParse,\n        minWeekdaysParse: minWeekdaysParse,\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [a viz] MMMM YYYY',\n            LLL: 'D [a viz] MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hiziv da] LT',\n            nextDay: '[Warcʼhoazh da] LT',\n            nextWeek: 'dddd [da] LT',\n            lastDay: '[Decʼh da] LT',\n            lastWeek: 'dddd [paset da] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'a-benn %s',\n            past: '%s ʼzo',\n            s: 'un nebeud segondennoù',\n            ss: '%d eilenn',\n            m: 'ur vunutenn',\n            mm: relativeTimeWithMutation,\n            h: 'un eur',\n            hh: '%d eur',\n            d: 'un devezh',\n            dd: relativeTimeWithMutation,\n            M: 'ur miz',\n            MM: relativeTimeWithMutation,\n            y: 'ur bloaz',\n            yy: specialMutationForYears,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'añ' : 'vet';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n        isPM: function (token) {\n            return token === 'g.m.';\n        },\n        meridiem: function (hour, minute, isLower) {\n            return hour < 12 ? 'a.m.' : 'g.m.';\n        },\n    });\n\n    return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var bs = moment.defineLocale('bs', {\n        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ca = moment.defineLocale('ca', {\n        months: {\n            standalone:\n                'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n                    '_'\n                ),\n            format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n                '_'\n            ),\n        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a les] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextDay: function () {\n                return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastDay: function () {\n                return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [passat a ' +\n                    (this.hours() !== 1 ? 'les' : 'la') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'uns segons',\n            ss: '%d segons',\n            m: 'un minut',\n            mm: '%d minuts',\n            h: 'una hora',\n            hh: '%d hores',\n            d: 'un dia',\n            dd: '%d dies',\n            M: 'un mes',\n            MM: '%d mesos',\n            y: 'un any',\n            yy: '%d anys',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                    ? 'n'\n                    : number === 3\n                    ? 'r'\n                    : number === 4\n                    ? 't'\n                    : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = {\n            format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n                '_'\n            ),\n            standalone:\n                'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n                    '_'\n                ),\n        },\n        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n        monthsParse = [\n            /^led/i,\n            /^úno/i,\n            /^bře/i,\n            /^dub/i,\n            /^kvě/i,\n            /^(čvn|červen$|června)/i,\n            /^(čvc|červenec|července)/i,\n            /^srp/i,\n            /^zář/i,\n            /^říj/i,\n            /^lis/i,\n            /^pro/i,\n        ],\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsRegex =\n            /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n    function plural(n) {\n        return n > 1 && n < 5 && ~~(n / 10) !== 1;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekund');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minuty' : 'minut');\n                } else {\n                    return result + 'minutami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodin');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'den' : 'dnem';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dny' : 'dní');\n                } else {\n                    return result + 'dny';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'měsíce' : 'měsíců');\n                } else {\n                    return result + 'měsíci';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokem';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'let');\n                } else {\n                    return result + 'lety';\n                }\n        }\n    }\n\n    var cs = moment.defineLocale('cs', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsStrictRegex:\n            /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n        monthsShortStrictRegex:\n            /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n            l: 'D. M. YYYY',\n        },\n        calendar: {\n            sameDay: '[dnes v] LT',\n            nextDay: '[zítra v] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [v] LT';\n                    case 3:\n                        return '[ve středu v] LT';\n                    case 4:\n                        return '[ve čtvrtek v] LT';\n                    case 5:\n                        return '[v pátek v] LT';\n                    case 6:\n                        return '[v sobotu v] LT';\n                }\n            },\n            lastDay: '[včera v] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulou neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[minulé] dddd [v] LT';\n                    case 3:\n                        return '[minulou středu v] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [v] LT';\n                    case 6:\n                        return '[minulou sobotu v] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'před %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cv = moment.defineLocale('cv', {\n        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n            '_'\n        ),\n        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n        weekdays:\n            'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n                '_'\n            ),\n        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n        },\n        calendar: {\n            sameDay: '[Паян] LT [сехетре]',\n            nextDay: '[Ыран] LT [сехетре]',\n            lastDay: '[Ӗнер] LT [сехетре]',\n            nextWeek: '[Ҫитес] dddd LT [сехетре]',\n            lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (output) {\n                var affix = /сехет$/i.exec(output)\n                    ? 'рен'\n                    : /ҫул$/i.exec(output)\n                    ? 'тан'\n                    : 'ран';\n                return output + affix;\n            },\n            past: '%s каялла',\n            s: 'пӗр-ик ҫеккунт',\n            ss: '%d ҫеккунт',\n            m: 'пӗр минут',\n            mm: '%d минут',\n            h: 'пӗр сехет',\n            hh: '%d сехет',\n            d: 'пӗр кун',\n            dd: '%d кун',\n            M: 'пӗр уйӑх',\n            MM: '%d уйӑх',\n            y: 'пӗр ҫул',\n            yy: '%d ҫул',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n        ordinal: '%d-мӗш',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cy = moment.defineLocale('cy', {\n        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n            '_'\n        ),\n        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n            '_'\n        ),\n        weekdays:\n            'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n        weekdaysParseExact: true,\n        // time formats are the same as en-gb\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Heddiw am] LT',\n            nextDay: '[Yfory am] LT',\n            nextWeek: 'dddd [am] LT',\n            lastDay: '[Ddoe am] LT',\n            lastWeek: 'dddd [diwethaf am] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'mewn %s',\n            past: '%s yn ôl',\n            s: 'ychydig eiliadau',\n            ss: '%d eiliad',\n            m: 'munud',\n            mm: '%d munud',\n            h: 'awr',\n            hh: '%d awr',\n            d: 'diwrnod',\n            dd: '%d diwrnod',\n            M: 'mis',\n            MM: '%d mis',\n            y: 'blwyddyn',\n            yy: '%d flynedd',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n        ordinal: function (number) {\n            var b = number,\n                output = '',\n                lookup = [\n                    '',\n                    'af',\n                    'il',\n                    'ydd',\n                    'ydd',\n                    'ed',\n                    'ed',\n                    'ed',\n                    'fed',\n                    'fed',\n                    'fed', // 1af to 10fed\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'fed', // 11eg to 20fed\n                ];\n            if (b > 20) {\n                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n                    output = 'fed'; // not 30ain, 70ain or 90ain\n                } else {\n                    output = 'ain';\n                }\n            } else if (b > 0) {\n                output = lookup[b];\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var da = moment.defineLocale('da', {\n        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'på dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[i] dddd[s kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'få sekunder',\n            ss: '%d sekunder',\n            m: 'et minut',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dage',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'et år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deAt = moment.defineLocale('de-at', {\n        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deCh = moment.defineLocale('de-ch', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var de = moment.defineLocale('de', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'ޖެނުއަރީ',\n            'ފެބްރުއަރީ',\n            'މާރިޗު',\n            'އޭޕްރީލު',\n            'މޭ',\n            'ޖޫން',\n            'ޖުލައި',\n            'އޯގަސްޓު',\n            'ސެޕްޓެމްބަރު',\n            'އޮކްޓޯބަރު',\n            'ނޮވެމްބަރު',\n            'ޑިސެމްބަރު',\n        ],\n        weekdays = [\n            'އާދިއްތަ',\n            'ހޯމަ',\n            'އަންގާރަ',\n            'ބުދަ',\n            'ބުރާސްފަތި',\n            'ހުކުރު',\n            'ހޮނިހިރު',\n        ];\n\n    var dv = moment.defineLocale('dv', {\n        months: months,\n        monthsShort: months,\n        weekdays: weekdays,\n        weekdaysShort: weekdays,\n        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/M/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /މކ|މފ/,\n        isPM: function (input) {\n            return 'މފ' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'މކ';\n            } else {\n                return 'މފ';\n            }\n        },\n        calendar: {\n            sameDay: '[މިއަދު] LT',\n            nextDay: '[މާދަމާ] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[އިއްޔެ] LT',\n            lastWeek: '[ފާއިތުވި] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ތެރޭގައި %s',\n            past: 'ކުރިން %s',\n            s: 'ސިކުންތުކޮޅެއް',\n            ss: 'd% ސިކުންތު',\n            m: 'މިނިޓެއް',\n            mm: 'މިނިޓު %d',\n            h: 'ގަޑިއިރެއް',\n            hh: 'ގަޑިއިރު %d',\n            d: 'ދުވަހެއް',\n            dd: 'ދުވަސް %d',\n            M: 'މަހެއް',\n            MM: 'މަސް %d',\n            y: 'އަހަރެއް',\n            yy: 'އަހަރު %d',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 7, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    var el = moment.defineLocale('el', {\n        monthsNominativeEl:\n            'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n                '_'\n            ),\n        monthsGenitiveEl:\n            'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n                '_'\n            ),\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return this._monthsNominativeEl;\n            } else if (\n                typeof format === 'string' &&\n                /D/.test(format.substring(0, format.indexOf('MMMM')))\n            ) {\n                // if there is a day number before 'MMMM'\n                return this._monthsGenitiveEl[momentToFormat.month()];\n            } else {\n                return this._monthsNominativeEl[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n            '_'\n        ),\n        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'μμ' : 'ΜΜ';\n            } else {\n                return isLower ? 'πμ' : 'ΠΜ';\n            }\n        },\n        isPM: function (input) {\n            return (input + '').toLowerCase()[0] === 'μ';\n        },\n        meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendarEl: {\n            sameDay: '[Σήμερα {}] LT',\n            nextDay: '[Αύριο {}] LT',\n            nextWeek: 'dddd [{}] LT',\n            lastDay: '[Χθες {}] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 6:\n                        return '[το προηγούμενο] dddd [{}] LT';\n                    default:\n                        return '[την προηγούμενη] dddd [{}] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        calendar: function (key, mom) {\n            var output = this._calendarEl[key],\n                hours = mom && mom.hours();\n            if (isFunction(output)) {\n                output = output.apply(mom);\n            }\n            return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n        },\n        relativeTime: {\n            future: 'σε %s',\n            past: '%s πριν',\n            s: 'λίγα δευτερόλεπτα',\n            ss: '%d δευτερόλεπτα',\n            m: 'ένα λεπτό',\n            mm: '%d λεπτά',\n            h: 'μία ώρα',\n            hh: '%d ώρες',\n            d: 'μία μέρα',\n            dd: '%d μέρες',\n            M: 'ένας μήνας',\n            MM: '%d μήνες',\n            y: 'ένας χρόνος',\n            yy: '%d χρόνια',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}η/,\n        ordinal: '%dη',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4st is the first week of the year.\n        },\n    });\n\n    return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enAu = moment.defineLocale('en-au', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enCa = moment.defineLocale('en-ca', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'YYYY-MM-DD',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY h:mm A',\n            LLLL: 'dddd, MMMM D, YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enGb = moment.defineLocale('en-gb', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIe = moment.defineLocale('en-ie', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIl = moment.defineLocale('en-il', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIn = moment.defineLocale('en-in', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enNz = moment.defineLocale('en-nz', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enSg = moment.defineLocale('en-sg', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eo = moment.defineLocale('eo', {\n        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: '[la] D[-an de] MMMM, YYYY',\n            LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n            LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n            llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n        },\n        meridiemParse: /[ap]\\.t\\.m/i,\n        isPM: function (input) {\n            return input.charAt(0).toLowerCase() === 'p';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'p.t.m.' : 'P.T.M.';\n            } else {\n                return isLower ? 'a.t.m.' : 'A.T.M.';\n            }\n        },\n        calendar: {\n            sameDay: '[Hodiaŭ je] LT',\n            nextDay: '[Morgaŭ je] LT',\n            nextWeek: 'dddd[n je] LT',\n            lastDay: '[Hieraŭ je] LT',\n            lastWeek: '[pasintan] dddd[n je] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'post %s',\n            past: 'antaŭ %s',\n            s: 'kelkaj sekundoj',\n            ss: '%d sekundoj',\n            m: 'unu minuto',\n            mm: '%d minutoj',\n            h: 'unu horo',\n            hh: '%d horoj',\n            d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n            dd: '%d tagoj',\n            M: 'unu monato',\n            MM: '%d monatoj',\n            y: 'unu jaro',\n            yy: '%d jaroj',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}a/,\n        ordinal: '%da',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esDo = moment.defineLocale('es-do', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esMx = moment.defineLocale('es-mx', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esUs = moment.defineLocale('es-us', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'MM/DD/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var es = moment.defineLocale('es', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n            ss: [number + 'sekundi', number + 'sekundit'],\n            m: ['ühe minuti', 'üks minut'],\n            mm: [number + ' minuti', number + ' minutit'],\n            h: ['ühe tunni', 'tund aega', 'üks tund'],\n            hh: [number + ' tunni', number + ' tundi'],\n            d: ['ühe päeva', 'üks päev'],\n            M: ['kuu aja', 'kuu aega', 'üks kuu'],\n            MM: [number + ' kuu', number + ' kuud'],\n            y: ['ühe aasta', 'aasta', 'üks aasta'],\n            yy: [number + ' aasta', number + ' aastat'],\n        };\n        if (withoutSuffix) {\n            return format[key][2] ? format[key][2] : format[key][1];\n        }\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var et = moment.defineLocale('et', {\n        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n        weekdays:\n            'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n                '_'\n            ),\n        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Täna,] LT',\n            nextDay: '[Homme,] LT',\n            nextWeek: '[Järgmine] dddd LT',\n            lastDay: '[Eile,] LT',\n            lastWeek: '[Eelmine] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s pärast',\n            past: '%s tagasi',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: '%d päeva',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eu = moment.defineLocale('eu', {\n        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n            '_'\n        ),\n        monthsShort:\n            'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n                '_'\n            ),\n        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY[ko] MMMM[ren] D[a]',\n            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n            l: 'YYYY-M-D',\n            ll: 'YYYY[ko] MMM D[a]',\n            lll: 'YYYY[ko] MMM D[a] HH:mm',\n            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n        },\n        calendar: {\n            sameDay: '[gaur] LT[etan]',\n            nextDay: '[bihar] LT[etan]',\n            nextWeek: 'dddd LT[etan]',\n            lastDay: '[atzo] LT[etan]',\n            lastWeek: '[aurreko] dddd LT[etan]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s barru',\n            past: 'duela %s',\n            s: 'segundo batzuk',\n            ss: '%d segundo',\n            m: 'minutu bat',\n            mm: '%d minutu',\n            h: 'ordu bat',\n            hh: '%d ordu',\n            d: 'egun bat',\n            dd: '%d egun',\n            M: 'hilabete bat',\n            MM: '%d hilabete',\n            y: 'urte bat',\n            yy: '%d urte',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '۱',\n            2: '۲',\n            3: '۳',\n            4: '۴',\n            5: '۵',\n            6: '۶',\n            7: '۷',\n            8: '۸',\n            9: '۹',\n            0: '۰',\n        },\n        numberMap = {\n            '۱': '1',\n            '۲': '2',\n            '۳': '3',\n            '۴': '4',\n            '۵': '5',\n            '۶': '6',\n            '۷': '7',\n            '۸': '8',\n            '۹': '9',\n            '۰': '0',\n        };\n\n    var fa = moment.defineLocale('fa', {\n        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n                '_'\n            ),\n        weekdays:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /قبل از ظهر|بعد از ظهر/,\n        isPM: function (input) {\n            return /بعد از ظهر/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'قبل از ظهر';\n            } else {\n                return 'بعد از ظهر';\n            }\n        },\n        calendar: {\n            sameDay: '[امروز ساعت] LT',\n            nextDay: '[فردا ساعت] LT',\n            nextWeek: 'dddd [ساعت] LT',\n            lastDay: '[دیروز ساعت] LT',\n            lastWeek: 'dddd [پیش] [ساعت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'در %s',\n            past: '%s پیش',\n            s: 'چند ثانیه',\n            ss: '%d ثانیه',\n            m: 'یک دقیقه',\n            mm: '%d دقیقه',\n            h: 'یک ساعت',\n            hh: '%d ساعت',\n            d: 'یک روز',\n            dd: '%d روز',\n            M: 'یک ماه',\n            MM: '%d ماه',\n            y: 'یک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[۰-۹]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}م/,\n        ordinal: '%dم',\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersPast =\n            'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n                ' '\n            ),\n        numbersFuture = [\n            'nolla',\n            'yhden',\n            'kahden',\n            'kolmen',\n            'neljän',\n            'viiden',\n            'kuuden',\n            numbersPast[7],\n            numbersPast[8],\n            numbersPast[9],\n        ];\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = '';\n        switch (key) {\n            case 's':\n                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n            case 'ss':\n                result = isFuture ? 'sekunnin' : 'sekuntia';\n                break;\n            case 'm':\n                return isFuture ? 'minuutin' : 'minuutti';\n            case 'mm':\n                result = isFuture ? 'minuutin' : 'minuuttia';\n                break;\n            case 'h':\n                return isFuture ? 'tunnin' : 'tunti';\n            case 'hh':\n                result = isFuture ? 'tunnin' : 'tuntia';\n                break;\n            case 'd':\n                return isFuture ? 'päivän' : 'päivä';\n            case 'dd':\n                result = isFuture ? 'päivän' : 'päivää';\n                break;\n            case 'M':\n                return isFuture ? 'kuukauden' : 'kuukausi';\n            case 'MM':\n                result = isFuture ? 'kuukauden' : 'kuukautta';\n                break;\n            case 'y':\n                return isFuture ? 'vuoden' : 'vuosi';\n            case 'yy':\n                result = isFuture ? 'vuoden' : 'vuotta';\n                break;\n        }\n        result = verbalNumber(number, isFuture) + ' ' + result;\n        return result;\n    }\n    function verbalNumber(number, isFuture) {\n        return number < 10\n            ? isFuture\n                ? numbersFuture[number]\n                : numbersPast[number]\n            : number;\n    }\n\n    var fi = moment.defineLocale('fi', {\n        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n            '_'\n        ),\n        monthsShort:\n            'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n                '_'\n            ),\n        weekdays:\n            'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n                '_'\n            ),\n        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[ta] YYYY',\n            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n            l: 'D.M.YYYY',\n            ll: 'Do MMM YYYY',\n            lll: 'Do MMM YYYY, [klo] HH.mm',\n            llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n        },\n        calendar: {\n            sameDay: '[tänään] [klo] LT',\n            nextDay: '[huomenna] [klo] LT',\n            nextWeek: 'dddd [klo] LT',\n            lastDay: '[eilen] [klo] LT',\n            lastWeek: '[viime] dddd[na] [klo] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s päästä',\n            past: '%s sitten',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fil = moment.defineLocale('fil', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fo = moment.defineLocale('fo', {\n        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D. MMMM, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Í dag kl.] LT',\n            nextDay: '[Í morgin kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[Í gjár kl.] LT',\n            lastWeek: '[síðstu] dddd [kl] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'um %s',\n            past: '%s síðani',\n            s: 'fá sekund',\n            ss: '%d sekundir',\n            m: 'ein minuttur',\n            mm: '%d minuttir',\n            h: 'ein tími',\n            hh: '%d tímar',\n            d: 'ein dagur',\n            dd: '%d dagar',\n            M: 'ein mánaður',\n            MM: '%d mánaðir',\n            y: 'eitt ár',\n            yy: '%d ár',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCa = moment.defineLocale('fr-ca', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n    });\n\n    return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCh = moment.defineLocale('fr-ch', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsStrictRegex =\n            /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsShortStrictRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n        monthsRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsParse = [\n            /^janv/i,\n            /^févr/i,\n            /^mars/i,\n            /^avr/i,\n            /^mai/i,\n            /^juin/i,\n            /^juil/i,\n            /^août/i,\n            /^sept/i,\n            /^oct/i,\n            /^nov/i,\n            /^déc/i,\n        ];\n\n    var fr = moment.defineLocale('fr', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            w: 'une semaine',\n            ww: '%d semaines',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // TODO: Return 'e' when day of month > 1. Move this case inside\n                // block for masculine words below.\n                // See https://github.com/moment/moment/issues/3375\n                case 'D':\n                    return number + (number === 1 ? 'er' : '');\n\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n    var fy = moment.defineLocale('fy', {\n        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n        monthsParseExact: true,\n        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n            '_'\n        ),\n        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[hjoed om] LT',\n            nextDay: '[moarn om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[juster om] LT',\n            lastWeek: '[ôfrûne] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oer %s',\n            past: '%s lyn',\n            s: 'in pear sekonden',\n            ss: '%d sekonden',\n            m: 'ien minút',\n            mm: '%d minuten',\n            h: 'ien oere',\n            hh: '%d oeren',\n            d: 'ien dei',\n            dd: '%d dagen',\n            M: 'ien moanne',\n            MM: '%d moannen',\n            y: 'ien jier',\n            yy: '%d jierren',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Eanáir',\n            'Feabhra',\n            'Márta',\n            'Aibreán',\n            'Bealtaine',\n            'Meitheamh',\n            'Iúil',\n            'Lúnasa',\n            'Meán Fómhair',\n            'Deireadh Fómhair',\n            'Samhain',\n            'Nollaig',\n        ],\n        monthsShort = [\n            'Ean',\n            'Feabh',\n            'Márt',\n            'Aib',\n            'Beal',\n            'Meith',\n            'Iúil',\n            'Lún',\n            'M.F.',\n            'D.F.',\n            'Samh',\n            'Noll',\n        ],\n        weekdays = [\n            'Dé Domhnaigh',\n            'Dé Luain',\n            'Dé Máirt',\n            'Dé Céadaoin',\n            'Déardaoin',\n            'Dé hAoine',\n            'Dé Sathairn',\n        ],\n        weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n        weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n    var ga = moment.defineLocale('ga', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Inniu ag] LT',\n            nextDay: '[Amárach ag] LT',\n            nextWeek: 'dddd [ag] LT',\n            lastDay: '[Inné ag] LT',\n            lastWeek: 'dddd [seo caite] [ag] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i %s',\n            past: '%s ó shin',\n            s: 'cúpla soicind',\n            ss: '%d soicind',\n            m: 'nóiméad',\n            mm: '%d nóiméad',\n            h: 'uair an chloig',\n            hh: '%d uair an chloig',\n            d: 'lá',\n            dd: '%d lá',\n            M: 'mí',\n            MM: '%d míonna',\n            y: 'bliain',\n            yy: '%d bliain',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Am Faoilleach',\n            'An Gearran',\n            'Am Màrt',\n            'An Giblean',\n            'An Cèitean',\n            'An t-Ògmhios',\n            'An t-Iuchar',\n            'An Lùnastal',\n            'An t-Sultain',\n            'An Dàmhair',\n            'An t-Samhain',\n            'An Dùbhlachd',\n        ],\n        monthsShort = [\n            'Faoi',\n            'Gear',\n            'Màrt',\n            'Gibl',\n            'Cèit',\n            'Ògmh',\n            'Iuch',\n            'Lùn',\n            'Sult',\n            'Dàmh',\n            'Samh',\n            'Dùbh',\n        ],\n        weekdays = [\n            'Didòmhnaich',\n            'Diluain',\n            'Dimàirt',\n            'Diciadain',\n            'Diardaoin',\n            'Dihaoine',\n            'Disathairne',\n        ],\n        weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n        weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n    var gd = moment.defineLocale('gd', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[An-diugh aig] LT',\n            nextDay: '[A-màireach aig] LT',\n            nextWeek: 'dddd [aig] LT',\n            lastDay: '[An-dè aig] LT',\n            lastWeek: 'dddd [seo chaidh] [aig] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ann an %s',\n            past: 'bho chionn %s',\n            s: 'beagan diogan',\n            ss: '%d diogan',\n            m: 'mionaid',\n            mm: '%d mionaidean',\n            h: 'uair',\n            hh: '%d uairean',\n            d: 'latha',\n            dd: '%d latha',\n            M: 'mìos',\n            MM: '%d mìosan',\n            y: 'bliadhna',\n            yy: '%d bliadhna',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var gl = moment.defineLocale('gl', {\n        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort:\n            'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n            },\n            lastDay: function () {\n                return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (str) {\n                if (str.indexOf('un') === 0) {\n                    return 'n' + str;\n                }\n                return 'en ' + str;\n            },\n            past: 'hai %s',\n            s: 'uns segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'unha hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n            ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n            m: ['एका मिणटान', 'एक मिनूट'],\n            mm: [number + ' मिणटांनी', number + ' मिणटां'],\n            h: ['एका वरान', 'एक वर'],\n            hh: [number + ' वरांनी', number + ' वरां'],\n            d: ['एका दिसान', 'एक दीस'],\n            dd: [number + ' दिसांनी', number + ' दीस'],\n            M: ['एका म्हयन्यान', 'एक म्हयनो'],\n            MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n            y: ['एका वर्सान', 'एक वर्स'],\n            yy: [number + ' वर्सांनी', number + ' वर्सां'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomDeva = moment.defineLocale('gom-deva', {\n        months: {\n            standalone:\n                'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n                    '_'\n                ),\n            format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n        weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n        weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [वाजतां]',\n            LTS: 'A h:mm:ss [वाजतां]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n            llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n        },\n        calendar: {\n            sameDay: '[आयज] LT',\n            nextDay: '[फाल्यां] LT',\n            nextWeek: '[फुडलो] dddd[,] LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[फाटलो] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s आदीं',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'वेर' only applies to day of the month\n                case 'D':\n                    return number + 'वेर';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राती') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सकाळीं') {\n                return hour;\n            } else if (meridiem === 'दनपारां') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'सांजे') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'राती';\n            } else if (hour < 12) {\n                return 'सकाळीं';\n            } else if (hour < 16) {\n                return 'दनपारां';\n            } else if (hour < 20) {\n                return 'सांजे';\n            } else {\n                return 'राती';\n            }\n        },\n    });\n\n    return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['thoddea sekondamni', 'thodde sekond'],\n            ss: [number + ' sekondamni', number + ' sekond'],\n            m: ['eka mintan', 'ek minut'],\n            mm: [number + ' mintamni', number + ' mintam'],\n            h: ['eka voran', 'ek vor'],\n            hh: [number + ' voramni', number + ' voram'],\n            d: ['eka disan', 'ek dis'],\n            dd: [number + ' disamni', number + ' dis'],\n            M: ['eka mhoinean', 'ek mhoino'],\n            MM: [number + ' mhoineamni', number + ' mhoine'],\n            y: ['eka vorsan', 'ek voros'],\n            yy: [number + ' vorsamni', number + ' vorsam'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomLatn = moment.defineLocale('gom-latn', {\n        months: {\n            standalone:\n                'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n                    '_'\n                ),\n            format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [vazta]',\n            LTS: 'A h:mm:ss [vazta]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [vazta]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n            llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n        },\n        calendar: {\n            sameDay: '[Aiz] LT',\n            nextDay: '[Faleam] LT',\n            nextWeek: '[Fuddlo] dddd[,] LT',\n            lastDay: '[Kal] LT',\n            lastWeek: '[Fattlo] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s adim',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'er' only applies to day of the month\n                case 'D':\n                    return number + 'er';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /rati|sokallim|donparam|sanje/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'rati') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'sokallim') {\n                return hour;\n            } else if (meridiem === 'donparam') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'sanje') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'rati';\n            } else if (hour < 12) {\n                return 'sokallim';\n            } else if (hour < 16) {\n                return 'donparam';\n            } else if (hour < 20) {\n                return 'sanje';\n            } else {\n                return 'rati';\n            }\n        },\n    });\n\n    return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '૧',\n            2: '૨',\n            3: '૩',\n            4: '૪',\n            5: '૫',\n            6: '૬',\n            7: '૭',\n            8: '૮',\n            9: '૯',\n            0: '૦',\n        },\n        numberMap = {\n            '૧': '1',\n            '૨': '2',\n            '૩': '3',\n            '૪': '4',\n            '૫': '5',\n            '૬': '6',\n            '૭': '7',\n            '૮': '8',\n            '૯': '9',\n            '૦': '0',\n        };\n\n    var gu = moment.defineLocale('gu', {\n        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n            '_'\n        ),\n        monthsShort:\n            'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n            '_'\n        ),\n        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm વાગ્યે',\n            LTS: 'A h:mm:ss વાગ્યે',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n        },\n        calendar: {\n            sameDay: '[આજ] LT',\n            nextDay: '[કાલે] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ગઇકાલે] LT',\n            lastWeek: '[પાછલા] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s મા',\n            past: '%s પહેલા',\n            s: 'અમુક પળો',\n            ss: '%d સેકંડ',\n            m: 'એક મિનિટ',\n            mm: '%d મિનિટ',\n            h: 'એક કલાક',\n            hh: '%d કલાક',\n            d: 'એક દિવસ',\n            dd: '%d દિવસ',\n            M: 'એક મહિનો',\n            MM: '%d મહિનો',\n            y: 'એક વર્ષ',\n            yy: '%d વર્ષ',\n        },\n        preparse: function (string) {\n            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'રાત') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'સવાર') {\n                return hour;\n            } else if (meridiem === 'બપોર') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'સાંજ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'રાત';\n            } else if (hour < 10) {\n                return 'સવાર';\n            } else if (hour < 17) {\n                return 'બપોર';\n            } else if (hour < 20) {\n                return 'સાંજ';\n            } else {\n                return 'રાત';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var he = moment.defineLocale('he', {\n        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n            '_'\n        ),\n        monthsShort:\n            'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [ב]MMMM YYYY',\n            LLL: 'D [ב]MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[היום ב־]LT',\n            nextDay: '[מחר ב־]LT',\n            nextWeek: 'dddd [בשעה] LT',\n            lastDay: '[אתמול ב־]LT',\n            lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'בעוד %s',\n            past: 'לפני %s',\n            s: 'מספר שניות',\n            ss: '%d שניות',\n            m: 'דקה',\n            mm: '%d דקות',\n            h: 'שעה',\n            hh: function (number) {\n                if (number === 2) {\n                    return 'שעתיים';\n                }\n                return number + ' שעות';\n            },\n            d: 'יום',\n            dd: function (number) {\n                if (number === 2) {\n                    return 'יומיים';\n                }\n                return number + ' ימים';\n            },\n            M: 'חודש',\n            MM: function (number) {\n                if (number === 2) {\n                    return 'חודשיים';\n                }\n                return number + ' חודשים';\n            },\n            y: 'שנה',\n            yy: function (number) {\n                if (number === 2) {\n                    return 'שנתיים';\n                } else if (number % 10 === 0 && number !== 10) {\n                    return number + ' שנה';\n                }\n                return number + ' שנים';\n            },\n        },\n        meridiemParse:\n            /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n        isPM: function (input) {\n            return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 5) {\n                return 'לפנות בוקר';\n            } else if (hour < 10) {\n                return 'בבוקר';\n            } else if (hour < 12) {\n                return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n            } else if (hour < 18) {\n                return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n            } else {\n                return 'בערב';\n            }\n        },\n    });\n\n    return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        },\n        monthsParse = [\n            /^जन/i,\n            /^फ़र|फर/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सितं|सित/i,\n            /^अक्टू/i,\n            /^नव|नवं/i,\n            /^दिसं|दिस/i,\n        ],\n        shortMonthsParse = [\n            /^जन/i,\n            /^फ़र/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सित/i,\n            /^अक्टू/i,\n            /^नव/i,\n            /^दिस/i,\n        ];\n\n    var hi = moment.defineLocale('hi', {\n        months: {\n            format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n                '_'\n            ),\n            standalone:\n                'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm बजे',\n            LTS: 'A h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n        },\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: shortMonthsParse,\n\n        monthsRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsShortRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsStrictRegex:\n            /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n        monthsShortStrictRegex:\n            /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[कल] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[कल] LT',\n            lastWeek: '[पिछले] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s में',\n            past: '%s पहले',\n            s: 'कुछ ही क्षण',\n            ss: '%d सेकंड',\n            m: 'एक मिनट',\n            mm: '%d मिनट',\n            h: 'एक घंटा',\n            hh: '%d घंटे',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महीने',\n            MM: '%d महीने',\n            y: 'एक वर्ष',\n            yy: '%d वर्ष',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n        meridiemParse: /रात|सुबह|दोपहर|शाम/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सुबह') {\n                return hour;\n            } else if (meridiem === 'दोपहर') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'शाम') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात';\n            } else if (hour < 10) {\n                return 'सुबह';\n            } else if (hour < 17) {\n                return 'दोपहर';\n            } else if (hour < 20) {\n                return 'शाम';\n            } else {\n                return 'रात';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var hr = moment.defineLocale('hr', {\n        months: {\n            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n                '_'\n            ),\n            standalone:\n                'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM YYYY',\n            LLL: 'Do MMMM YYYY H:mm',\n            LLLL: 'dddd, Do MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prošlu] [nedjelju] [u] LT';\n                    case 3:\n                        return '[prošlu] [srijedu] [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt  : https://github.com/passatgt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var weekEndings =\n        'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n    function translate(number, withoutSuffix, key, isFuture) {\n        var num = number;\n        switch (key) {\n            case 's':\n                return isFuture || withoutSuffix\n                    ? 'néhány másodperc'\n                    : 'néhány másodperce';\n            case 'ss':\n                return num + (isFuture || withoutSuffix)\n                    ? ' másodperc'\n                    : ' másodperce';\n            case 'm':\n                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'mm':\n                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'h':\n                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'hh':\n                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'd':\n                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'dd':\n                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'M':\n                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'MM':\n                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'y':\n                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n            case 'yy':\n                return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n        }\n        return '';\n    }\n    function week(isFuture) {\n        return (\n            (isFuture ? '' : '[múlt] ') +\n            '[' +\n            weekEndings[this.day()] +\n            '] LT[-kor]'\n        );\n    }\n\n    var hu = moment.defineLocale('hu', {\n        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY. MMMM D.',\n            LLL: 'YYYY. MMMM D. H:mm',\n            LLLL: 'YYYY. MMMM D., dddd H:mm',\n        },\n        meridiemParse: /de|du/i,\n        isPM: function (input) {\n            return input.charAt(1).toLowerCase() === 'u';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower === true ? 'de' : 'DE';\n            } else {\n                return isLower === true ? 'du' : 'DU';\n            }\n        },\n        calendar: {\n            sameDay: '[ma] LT[-kor]',\n            nextDay: '[holnap] LT[-kor]',\n            nextWeek: function () {\n                return week.call(this, true);\n            },\n            lastDay: '[tegnap] LT[-kor]',\n            lastWeek: function () {\n                return week.call(this, false);\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s múlva',\n            past: '%s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var hyAm = moment.defineLocale('hy-am', {\n        months: {\n            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n                '_'\n            ),\n            standalone:\n                'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n        weekdays:\n            'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n                '_'\n            ),\n        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY թ.',\n            LLL: 'D MMMM YYYY թ., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n        },\n        calendar: {\n            sameDay: '[այսօր] LT',\n            nextDay: '[վաղը] LT',\n            lastDay: '[երեկ] LT',\n            nextWeek: function () {\n                return 'dddd [օրը ժամը] LT';\n            },\n            lastWeek: function () {\n                return '[անցած] dddd [օրը ժամը] LT';\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s հետո',\n            past: '%s առաջ',\n            s: 'մի քանի վայրկյան',\n            ss: '%d վայրկյան',\n            m: 'րոպե',\n            mm: '%d րոպե',\n            h: 'ժամ',\n            hh: '%d ժամ',\n            d: 'օր',\n            dd: '%d օր',\n            M: 'ամիս',\n            MM: '%d ամիս',\n            y: 'տարի',\n            yy: '%d տարի',\n        },\n        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n        isPM: function (input) {\n            return /^(ցերեկվա|երեկոյան)$/.test(input);\n        },\n        meridiem: function (hour) {\n            if (hour < 4) {\n                return 'գիշերվա';\n            } else if (hour < 12) {\n                return 'առավոտվա';\n            } else if (hour < 17) {\n                return 'ցերեկվա';\n            } else {\n                return 'երեկոյան';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'DDD':\n                case 'w':\n                case 'W':\n                case 'DDDo':\n                    if (number === 1) {\n                        return number + '-ին';\n                    }\n                    return number + '-րդ';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var id = moment.defineLocale('id', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|siang|sore|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'siang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sore' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'siang';\n            } else if (hours < 19) {\n                return 'sore';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Besok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kemarin pukul] LT',\n            lastWeek: 'dddd [lalu pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lalu',\n            s: 'beberapa detik',\n            ss: '%d detik',\n            m: 'semenit',\n            mm: '%d menit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(n) {\n        if (n % 100 === 11) {\n            return true;\n        } else if (n % 10 === 1) {\n            return false;\n        }\n        return true;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nokkrar sekúndur'\n                    : 'nokkrum sekúndum';\n            case 'ss':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n                    );\n                }\n                return result + 'sekúnda';\n            case 'm':\n                return withoutSuffix ? 'mínúta' : 'mínútu';\n            case 'mm':\n                if (plural(number)) {\n                    return (\n                        result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n                    );\n                } else if (withoutSuffix) {\n                    return result + 'mínúta';\n                }\n                return result + 'mínútu';\n            case 'hh':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture\n                            ? 'klukkustundir'\n                            : 'klukkustundum')\n                    );\n                }\n                return result + 'klukkustund';\n            case 'd':\n                if (withoutSuffix) {\n                    return 'dagur';\n                }\n                return isFuture ? 'dag' : 'degi';\n            case 'dd':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'dagar';\n                    }\n                    return result + (isFuture ? 'daga' : 'dögum');\n                } else if (withoutSuffix) {\n                    return result + 'dagur';\n                }\n                return result + (isFuture ? 'dag' : 'degi');\n            case 'M':\n                if (withoutSuffix) {\n                    return 'mánuður';\n                }\n                return isFuture ? 'mánuð' : 'mánuði';\n            case 'MM':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'mánuðir';\n                    }\n                    return result + (isFuture ? 'mánuði' : 'mánuðum');\n                } else if (withoutSuffix) {\n                    return result + 'mánuður';\n                }\n                return result + (isFuture ? 'mánuð' : 'mánuði');\n            case 'y':\n                return withoutSuffix || isFuture ? 'ár' : 'ári';\n            case 'yy':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n                }\n                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n        }\n    }\n\n    var is = moment.defineLocale('is', {\n        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n        },\n        calendar: {\n            sameDay: '[í dag kl.] LT',\n            nextDay: '[á morgun kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[í gær kl.] LT',\n            lastWeek: '[síðasta] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'eftir %s',\n            past: 'fyrir %s síðan',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: 'klukkustund',\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var itCh = moment.defineLocale('it-ch', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var it = moment.defineLocale('it', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return (\n                    '[Oggi a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextDay: function () {\n                return (\n                    '[Domani a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextWeek: function () {\n                return (\n                    'dddd [a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastDay: function () {\n                return (\n                    '[Ieri a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return (\n                            '[La scorsa] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                ? ' '\n                                : \"ll'\") +\n                            ']LT'\n                        );\n                    default:\n                        return (\n                            '[Lo scorso] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                ? ' '\n                                : \"ll'\") +\n                            ']LT'\n                        );\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'tra %s',\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            w: 'una settimana',\n            ww: '%d settimane',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ja = moment.defineLocale('ja', {\n        eras: [\n            {\n                since: '2019-05-01',\n                offset: 1,\n                name: '令和',\n                narrow: '㋿',\n                abbr: 'R',\n            },\n            {\n                since: '1989-01-08',\n                until: '2019-04-30',\n                offset: 1,\n                name: '平成',\n                narrow: '㍻',\n                abbr: 'H',\n            },\n            {\n                since: '1926-12-25',\n                until: '1989-01-07',\n                offset: 1,\n                name: '昭和',\n                narrow: '㍼',\n                abbr: 'S',\n            },\n            {\n                since: '1912-07-30',\n                until: '1926-12-24',\n                offset: 1,\n                name: '大正',\n                narrow: '㍽',\n                abbr: 'T',\n            },\n            {\n                since: '1873-01-01',\n                until: '1912-07-29',\n                offset: 6,\n                name: '明治',\n                narrow: '㍾',\n                abbr: 'M',\n            },\n            {\n                since: '0001-01-01',\n                until: '1873-12-31',\n                offset: 1,\n                name: '西暦',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: '紀元前',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        eraYearOrdinalRegex: /(元|\\d+)年/,\n        eraYearOrdinalParse: function (input, match) {\n            return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n        },\n        months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日 dddd HH:mm',\n            l: 'YYYY/MM/DD',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日(ddd) HH:mm',\n        },\n        meridiemParse: /午前|午後/i,\n        isPM: function (input) {\n            return input === '午後';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return '午前';\n            } else {\n                return '午後';\n            }\n        },\n        calendar: {\n            sameDay: '[今日] LT',\n            nextDay: '[明日] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[来週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            lastDay: '[昨日] LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[先週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}日/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'y':\n                    return number === 1 ? '元年' : number + '年';\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '数秒',\n            ss: '%d秒',\n            m: '1分',\n            mm: '%d分',\n            h: '1時間',\n            hh: '%d時間',\n            d: '1日',\n            dd: '%d日',\n            M: '1ヶ月',\n            MM: '%dヶ月',\n            y: '1年',\n            yy: '%d年',\n        },\n    });\n\n    return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var jv = moment.defineLocale('jv', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /enjing|siyang|sonten|ndalu/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'enjing') {\n                return hour;\n            } else if (meridiem === 'siyang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'enjing';\n            } else if (hours < 15) {\n                return 'siyang';\n            } else if (hours < 19) {\n                return 'sonten';\n            } else {\n                return 'ndalu';\n            }\n        },\n        calendar: {\n            sameDay: '[Dinten puniko pukul] LT',\n            nextDay: '[Mbenjang pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kala wingi pukul] LT',\n            lastWeek: 'dddd [kepengker pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'wonten ing %s',\n            past: '%s ingkang kepengker',\n            s: 'sawetawis detik',\n            ss: '%d detik',\n            m: 'setunggal menit',\n            mm: '%d menit',\n            h: 'setunggal jam',\n            hh: '%d jam',\n            d: 'sedinten',\n            dd: '%d dinten',\n            M: 'sewulan',\n            MM: '%d wulan',\n            y: 'setaun',\n            yy: '%d taun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ka = moment.defineLocale('ka', {\n        months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n            '_'\n        ),\n        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n        weekdays: {\n            standalone:\n                'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n                    '_'\n                ),\n            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n                '_'\n            ),\n            isFormat: /(წინა|შემდეგ)/,\n        },\n        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[დღეს] LT[-ზე]',\n            nextDay: '[ხვალ] LT[-ზე]',\n            lastDay: '[გუშინ] LT[-ზე]',\n            nextWeek: '[შემდეგ] dddd LT[-ზე]',\n            lastWeek: '[წინა] dddd LT-ზე',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return s.replace(\n                    /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n                    function ($0, $1, $2) {\n                        return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n                    }\n                );\n            },\n            past: function (s) {\n                if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n                    return s.replace(/(ი|ე)$/, 'ის წინ');\n                }\n                if (/წელი/.test(s)) {\n                    return s.replace(/წელი$/, 'წლის წინ');\n                }\n                return s;\n            },\n            s: 'რამდენიმე წამი',\n            ss: '%d წამი',\n            m: 'წუთი',\n            mm: '%d წუთი',\n            h: 'საათი',\n            hh: '%d საათი',\n            d: 'დღე',\n            dd: '%d დღე',\n            M: 'თვე',\n            MM: '%d თვე',\n            y: 'წელი',\n            yy: '%d წელი',\n        },\n        dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n        ordinal: function (number) {\n            if (number === 0) {\n                return number;\n            }\n            if (number === 1) {\n                return number + '-ლი';\n            }\n            if (\n                number < 20 ||\n                (number <= 100 && number % 20 === 0) ||\n                number % 100 === 0\n            ) {\n                return 'მე-' + number;\n            }\n            return number + '-ე';\n        },\n        week: {\n            dow: 1,\n            doy: 7,\n        },\n    });\n\n    return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ші',\n        1: '-ші',\n        2: '-ші',\n        3: '-ші',\n        4: '-ші',\n        5: '-ші',\n        6: '-шы',\n        7: '-ші',\n        8: '-ші',\n        9: '-шы',\n        10: '-шы',\n        20: '-шы',\n        30: '-шы',\n        40: '-шы',\n        50: '-ші',\n        60: '-шы',\n        70: '-ші',\n        80: '-ші',\n        90: '-шы',\n        100: '-ші',\n    };\n\n    var kk = moment.defineLocale('kk', {\n        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n            '_'\n        ),\n        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n            '_'\n        ),\n        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгін сағат] LT',\n            nextDay: '[Ертең сағат] LT',\n            nextWeek: 'dddd [сағат] LT',\n            lastDay: '[Кеше сағат] LT',\n            lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ішінде',\n            past: '%s бұрын',\n            s: 'бірнеше секунд',\n            ss: '%d секунд',\n            m: 'бір минут',\n            mm: '%d минут',\n            h: 'бір сағат',\n            hh: '%d сағат',\n            d: 'бір күн',\n            dd: '%d күн',\n            M: 'бір ай',\n            MM: '%d ай',\n            y: 'бір жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '១',\n            2: '២',\n            3: '៣',\n            4: '៤',\n            5: '៥',\n            6: '៦',\n            7: '៧',\n            8: '៨',\n            9: '៩',\n            0: '០',\n        },\n        numberMap = {\n            '១': '1',\n            '២': '2',\n            '៣': '3',\n            '៤': '4',\n            '៥': '5',\n            '៦': '6',\n            '៧': '7',\n            '៨': '8',\n            '៩': '9',\n            '០': '0',\n        };\n\n    var km = moment.defineLocale('km', {\n        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        monthsShort:\n            'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n                '_'\n            ),\n        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ព្រឹក|ល្ងាច/,\n        isPM: function (input) {\n            return input === 'ល្ងាច';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ព្រឹក';\n            } else {\n                return 'ល្ងាច';\n            }\n        },\n        calendar: {\n            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n            nextDay: '[ស្អែក ម៉ោង] LT',\n            nextWeek: 'dddd [ម៉ោង] LT',\n            lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sទៀត',\n            past: '%sមុន',\n            s: 'ប៉ុន្មានវិនាទី',\n            ss: '%d វិនាទី',\n            m: 'មួយនាទី',\n            mm: '%d នាទី',\n            h: 'មួយម៉ោង',\n            hh: '%d ម៉ោង',\n            d: 'មួយថ្ងៃ',\n            dd: '%d ថ្ងៃ',\n            M: 'មួយខែ',\n            MM: '%d ខែ',\n            y: 'មួយឆ្នាំ',\n            yy: '%d ឆ្នាំ',\n        },\n        dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n        ordinal: 'ទី%d',\n        preparse: function (string) {\n            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '೧',\n            2: '೨',\n            3: '೩',\n            4: '೪',\n            5: '೫',\n            6: '೬',\n            7: '೭',\n            8: '೮',\n            9: '೯',\n            0: '೦',\n        },\n        numberMap = {\n            '೧': '1',\n            '೨': '2',\n            '೩': '3',\n            '೪': '4',\n            '೫': '5',\n            '೬': '6',\n            '೭': '7',\n            '೮': '8',\n            '೯': '9',\n            '೦': '0',\n        };\n\n    var kn = moment.defineLocale('kn', {\n        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n            '_'\n        ),\n        monthsShort:\n            'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[ಇಂದು] LT',\n            nextDay: '[ನಾಳೆ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ನಿನ್ನೆ] LT',\n            lastWeek: '[ಕೊನೆಯ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ನಂತರ',\n            past: '%s ಹಿಂದೆ',\n            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n            ss: '%d ಸೆಕೆಂಡುಗಳು',\n            m: 'ಒಂದು ನಿಮಿಷ',\n            mm: '%d ನಿಮಿಷ',\n            h: 'ಒಂದು ಗಂಟೆ',\n            hh: '%d ಗಂಟೆ',\n            d: 'ಒಂದು ದಿನ',\n            dd: '%d ದಿನ',\n            M: 'ಒಂದು ತಿಂಗಳು',\n            MM: '%d ತಿಂಗಳು',\n            y: 'ಒಂದು ವರ್ಷ',\n            yy: '%d ವರ್ಷ',\n        },\n        preparse: function (string) {\n            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ರಾತ್ರಿ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n                return hour;\n            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ಸಂಜೆ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ರಾತ್ರಿ';\n            } else if (hour < 10) {\n                return 'ಬೆಳಿಗ್ಗೆ';\n            } else if (hour < 17) {\n                return 'ಮಧ್ಯಾಹ್ನ';\n            } else if (hour < 20) {\n                return 'ಸಂಜೆ';\n            } else {\n                return 'ರಾತ್ರಿ';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n        ordinal: function (number) {\n            return number + 'ನೇ';\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ko = moment.defineLocale('ko', {\n        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n            '_'\n        ),\n        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY년 MMMM D일',\n            LLL: 'YYYY년 MMMM D일 A h:mm',\n            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n            l: 'YYYY.MM.DD.',\n            ll: 'YYYY년 MMMM D일',\n            lll: 'YYYY년 MMMM D일 A h:mm',\n            llll: 'YYYY년 MMMM D일 dddd A h:mm',\n        },\n        calendar: {\n            sameDay: '오늘 LT',\n            nextDay: '내일 LT',\n            nextWeek: 'dddd LT',\n            lastDay: '어제 LT',\n            lastWeek: '지난주 dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s 후',\n            past: '%s 전',\n            s: '몇 초',\n            ss: '%d초',\n            m: '1분',\n            mm: '%d분',\n            h: '한 시간',\n            hh: '%d시간',\n            d: '하루',\n            dd: '%d일',\n            M: '한 달',\n            MM: '%d달',\n            y: '일 년',\n            yy: '%d년',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '일';\n                case 'M':\n                    return number + '월';\n                case 'w':\n                case 'W':\n                    return number + '주';\n                default:\n                    return number;\n            }\n        },\n        meridiemParse: /오전|오후/,\n        isPM: function (token) {\n            return token === '오후';\n        },\n        meridiem: function (hour, minute, isUpper) {\n            return hour < 12 ? '오전' : '오후';\n        },\n    });\n\n    return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        months = [\n            'کانونی دووەم',\n            'شوبات',\n            'ئازار',\n            'نیسان',\n            'ئایار',\n            'حوزەیران',\n            'تەمموز',\n            'ئاب',\n            'ئەیلوول',\n            'تشرینی یەكەم',\n            'تشرینی دووەم',\n            'كانونی یەکەم',\n        ];\n\n    var ku = moment.defineLocale('ku', {\n        months: months,\n        monthsShort: months,\n        weekdays:\n            'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n        weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ئێواره‌|به‌یانی/,\n        isPM: function (input) {\n            return /ئێواره‌/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'به‌یانی';\n            } else {\n                return 'ئێواره‌';\n            }\n        },\n        calendar: {\n            sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n            nextDay: '[به‌یانی كاتژمێر] LT',\n            nextWeek: 'dddd [كاتژمێر] LT',\n            lastDay: '[دوێنێ كاتژمێر] LT',\n            lastWeek: 'dddd [كاتژمێر] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'له‌ %s',\n            past: '%s',\n            s: 'چه‌ند چركه‌یه‌ك',\n            ss: 'چركه‌ %d',\n            m: 'یه‌ك خوله‌ك',\n            mm: '%d خوله‌ك',\n            h: 'یه‌ك كاتژمێر',\n            hh: '%d كاتژمێر',\n            d: 'یه‌ك ڕۆژ',\n            dd: '%d ڕۆژ',\n            M: 'یه‌ك مانگ',\n            MM: '%d مانگ',\n            y: 'یه‌ك ساڵ',\n            yy: '%d ساڵ',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-чү',\n        1: '-чи',\n        2: '-чи',\n        3: '-чү',\n        4: '-чү',\n        5: '-чи',\n        6: '-чы',\n        7: '-чи',\n        8: '-чи',\n        9: '-чу',\n        10: '-чу',\n        20: '-чы',\n        30: '-чу',\n        40: '-чы',\n        50: '-чү',\n        60: '-чы',\n        70: '-чи',\n        80: '-чи',\n        90: '-чу',\n        100: '-чү',\n    };\n\n    var ky = moment.defineLocale('ky', {\n        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n            '_'\n        ),\n        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n            '_'\n        ),\n        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгүн саат] LT',\n            nextDay: '[Эртең саат] LT',\n            nextWeek: 'dddd [саат] LT',\n            lastDay: '[Кечээ саат] LT',\n            lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ичинде',\n            past: '%s мурун',\n            s: 'бирнече секунд',\n            ss: '%d секунд',\n            m: 'бир мүнөт',\n            mm: '%d мүнөт',\n            h: 'бир саат',\n            hh: '%d саат',\n            d: 'бир күн',\n            dd: '%d күн',\n            M: 'бир ай',\n            MM: '%d ай',\n            y: 'бир жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eng Minutt', 'enger Minutt'],\n            h: ['eng Stonn', 'enger Stonn'],\n            d: ['een Dag', 'engem Dag'],\n            M: ['ee Mount', 'engem Mount'],\n            y: ['ee Joer', 'engem Joer'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    function processFutureTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'a ' + string;\n        }\n        return 'an ' + string;\n    }\n    function processPastTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'viru ' + string;\n        }\n        return 'virun ' + string;\n    }\n    /**\n     * Returns true if the word before the given number loses the '-n' ending.\n     * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n     *\n     * @param number {integer}\n     * @returns {boolean}\n     */\n    function eifelerRegelAppliesToNumber(number) {\n        number = parseInt(number, 10);\n        if (isNaN(number)) {\n            return false;\n        }\n        if (number < 0) {\n            // Negative Number --> always true\n            return true;\n        } else if (number < 10) {\n            // Only 1 digit\n            if (4 <= number && number <= 7) {\n                return true;\n            }\n            return false;\n        } else if (number < 100) {\n            // 2 digits\n            var lastDigit = number % 10,\n                firstDigit = number / 10;\n            if (lastDigit === 0) {\n                return eifelerRegelAppliesToNumber(firstDigit);\n            }\n            return eifelerRegelAppliesToNumber(lastDigit);\n        } else if (number < 10000) {\n            // 3 or 4 digits --> recursively check first digit\n            while (number >= 10) {\n                number = number / 10;\n            }\n            return eifelerRegelAppliesToNumber(number);\n        } else {\n            // Anything larger than 4 digits: recursively check first n-3 digits\n            number = number / 1000;\n            return eifelerRegelAppliesToNumber(number);\n        }\n    }\n\n    var lb = moment.defineLocale('lb', {\n        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm [Auer]',\n            LTS: 'H:mm:ss [Auer]',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm [Auer]',\n            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n        },\n        calendar: {\n            sameDay: '[Haut um] LT',\n            sameElse: 'L',\n            nextDay: '[Muer um] LT',\n            nextWeek: 'dddd [um] LT',\n            lastDay: '[Gëschter um] LT',\n            lastWeek: function () {\n                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n                switch (this.day()) {\n                    case 2:\n                    case 4:\n                        return '[Leschten] dddd [um] LT';\n                    default:\n                        return '[Leschte] dddd [um] LT';\n                }\n            },\n        },\n        relativeTime: {\n            future: processFutureTime,\n            past: processPastTime,\n            s: 'e puer Sekonnen',\n            ss: '%d Sekonnen',\n            m: processRelativeTime,\n            mm: '%d Minutten',\n            h: processRelativeTime,\n            hh: '%d Stonnen',\n            d: processRelativeTime,\n            dd: '%d Deeg',\n            M: processRelativeTime,\n            MM: '%d Méint',\n            y: processRelativeTime,\n            yy: '%d Joer',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var lo = moment.defineLocale('lo', {\n        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n                '_'\n            ),\n        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n        isPM: function (input) {\n            return input === 'ຕອນແລງ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ຕອນເຊົ້າ';\n            } else {\n                return 'ຕອນແລງ';\n            }\n        },\n        calendar: {\n            sameDay: '[ມື້ນີ້ເວລາ] LT',\n            nextDay: '[ມື້ອື່ນເວລາ] LT',\n            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n            lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ອີກ %s',\n            past: '%sຜ່ານມາ',\n            s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n            ss: '%d ວິນາທີ',\n            m: '1 ນາທີ',\n            mm: '%d ນາທີ',\n            h: '1 ຊົ່ວໂມງ',\n            hh: '%d ຊົ່ວໂມງ',\n            d: '1 ມື້',\n            dd: '%d ມື້',\n            M: '1 ເດືອນ',\n            MM: '%d ເດືອນ',\n            y: '1 ປີ',\n            yy: '%d ປີ',\n        },\n        dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n        ordinal: function (number) {\n            return 'ທີ່' + number;\n        },\n    });\n\n    return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundė_sekundžių_sekundes',\n        m: 'minutė_minutės_minutę',\n        mm: 'minutės_minučių_minutes',\n        h: 'valanda_valandos_valandą',\n        hh: 'valandos_valandų_valandas',\n        d: 'diena_dienos_dieną',\n        dd: 'dienos_dienų_dienas',\n        M: 'mėnuo_mėnesio_mėnesį',\n        MM: 'mėnesiai_mėnesių_mėnesius',\n        y: 'metai_metų_metus',\n        yy: 'metai_metų_metus',\n    };\n    function translateSeconds(number, withoutSuffix, key, isFuture) {\n        if (withoutSuffix) {\n            return 'kelios sekundės';\n        } else {\n            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n        }\n    }\n    function translateSingular(number, withoutSuffix, key, isFuture) {\n        return withoutSuffix\n            ? forms(key)[0]\n            : isFuture\n            ? forms(key)[1]\n            : forms(key)[2];\n    }\n    function special(number) {\n        return number % 10 === 0 || (number > 10 && number < 20);\n    }\n    function forms(key) {\n        return units[key].split('_');\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        if (number === 1) {\n            return (\n                result + translateSingular(number, withoutSuffix, key[0], isFuture)\n            );\n        } else if (withoutSuffix) {\n            return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n        } else {\n            if (isFuture) {\n                return result + forms(key)[1];\n            } else {\n                return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n            }\n        }\n    }\n    var lt = moment.defineLocale('lt', {\n        months: {\n            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n                '_'\n            ),\n            standalone:\n                'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n                    '_'\n                ),\n            isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n        },\n        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n        weekdays: {\n            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n                '_'\n            ),\n            standalone:\n                'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n                    '_'\n                ),\n            isFormat: /dddd HH:mm/,\n        },\n        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n        weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY [m.] MMMM D [d.]',\n            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n            l: 'YYYY-MM-DD',\n            ll: 'YYYY [m.] MMMM D [d.]',\n            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n        },\n        calendar: {\n            sameDay: '[Šiandien] LT',\n            nextDay: '[Rytoj] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[Vakar] LT',\n            lastWeek: '[Praėjusį] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'po %s',\n            past: 'prieš %s',\n            s: translateSeconds,\n            ss: translate,\n            m: translateSingular,\n            mm: translate,\n            h: translateSingular,\n            hh: translate,\n            d: translateSingular,\n            dd: translate,\n            M: translateSingular,\n            MM: translate,\n            y: translateSingular,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n        ordinal: function (number) {\n            return number + '-oji';\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n        m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        h: 'stundas_stundām_stunda_stundas'.split('_'),\n        hh: 'stundas_stundām_stunda_stundas'.split('_'),\n        d: 'dienas_dienām_diena_dienas'.split('_'),\n        dd: 'dienas_dienām_diena_dienas'.split('_'),\n        M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        y: 'gada_gadiem_gads_gadi'.split('_'),\n        yy: 'gada_gadiem_gads_gadi'.split('_'),\n    };\n    /**\n     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n     */\n    function format(forms, number, withoutSuffix) {\n        if (withoutSuffix) {\n            // E.g. \"21 minūte\", \"3 minūtes\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n        } else {\n            // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n            // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n        }\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        return number + ' ' + format(units[key], number, withoutSuffix);\n    }\n    function relativeTimeWithSingular(number, withoutSuffix, key) {\n        return format(units[key], number, withoutSuffix);\n    }\n    function relativeSeconds(number, withoutSuffix) {\n        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n    }\n\n    var lv = moment.defineLocale('lv', {\n        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n        weekdays:\n            'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY.',\n            LL: 'YYYY. [gada] D. MMMM',\n            LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n        },\n        calendar: {\n            sameDay: '[Šodien pulksten] LT',\n            nextDay: '[Rīt pulksten] LT',\n            nextWeek: 'dddd [pulksten] LT',\n            lastDay: '[Vakar pulksten] LT',\n            lastWeek: '[Pagājušā] dddd [pulksten] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'pēc %s',\n            past: 'pirms %s',\n            s: relativeSeconds,\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithSingular,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithSingular,\n            hh: relativeTimeWithPlural,\n            d: relativeTimeWithSingular,\n            dd: relativeTimeWithPlural,\n            M: relativeTimeWithSingular,\n            MM: relativeTimeWithPlural,\n            y: relativeTimeWithSingular,\n            yy: relativeTimeWithPlural,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekund', 'sekunda', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mjesec', 'mjeseca', 'mjeseci'],\n            yy: ['godina', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                ? wordKey[1]\n                : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var me = moment.defineLocale('me', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sjutra u] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedjelje] [u] LT',\n                    '[prošlog] [ponedjeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srijede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'dan',\n            dd: translator.translate,\n            M: 'mjesec',\n            MM: translator.translate,\n            y: 'godinu',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mi = moment.defineLocale('mi', {\n        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n            '_'\n        ),\n        monthsShort:\n            'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n                '_'\n            ),\n        monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [i] HH:mm',\n            LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i teie mahana, i] LT',\n            nextDay: '[apopo i] LT',\n            nextWeek: 'dddd [i] LT',\n            lastDay: '[inanahi i] LT',\n            lastWeek: 'dddd [whakamutunga i] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i roto i %s',\n            past: '%s i mua',\n            s: 'te hēkona ruarua',\n            ss: '%d hēkona',\n            m: 'he meneti',\n            mm: '%d meneti',\n            h: 'te haora',\n            hh: '%d haora',\n            d: 'he ra',\n            dd: '%d ra',\n            M: 'he marama',\n            MM: '%d marama',\n            y: 'he tau',\n            yy: '%d tau',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mk = moment.defineLocale('mk', {\n        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Денес во] LT',\n            nextDay: '[Утре во] LT',\n            nextWeek: '[Во] dddd [во] LT',\n            lastDay: '[Вчера во] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Изминатата] dddd [во] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Изминатиот] dddd [во] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пред %s',\n            s: 'неколку секунди',\n            ss: '%d секунди',\n            m: 'една минута',\n            mm: '%d минути',\n            h: 'еден час',\n            hh: '%d часа',\n            d: 'еден ден',\n            dd: '%d дена',\n            M: 'еден месец',\n            MM: '%d месеци',\n            y: 'една година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ml = moment.defineLocale('ml', {\n        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n                '_'\n            ),\n        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm -നു',\n            LTS: 'A h:mm:ss -നു',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm -നു',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n        },\n        calendar: {\n            sameDay: '[ഇന്ന്] LT',\n            nextDay: '[നാളെ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ഇന്നലെ] LT',\n            lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s കഴിഞ്ഞ്',\n            past: '%s മുൻപ്',\n            s: 'അൽപ നിമിഷങ്ങൾ',\n            ss: '%d സെക്കൻഡ്',\n            m: 'ഒരു മിനിറ്റ്',\n            mm: '%d മിനിറ്റ്',\n            h: 'ഒരു മണിക്കൂർ',\n            hh: '%d മണിക്കൂർ',\n            d: 'ഒരു ദിവസം',\n            dd: '%d ദിവസം',\n            M: 'ഒരു മാസം',\n            MM: '%d മാസം',\n            y: 'ഒരു വർഷം',\n            yy: '%d വർഷം',\n        },\n        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'രാത്രി' && hour >= 4) ||\n                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n                meridiem === 'വൈകുന്നേരം'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'രാത്രി';\n            } else if (hour < 12) {\n                return 'രാവിലെ';\n            } else if (hour < 17) {\n                return 'ഉച്ച കഴിഞ്ഞ്';\n            } else if (hour < 20) {\n                return 'വൈകുന്നേരം';\n            } else {\n                return 'രാത്രി';\n            }\n        },\n    });\n\n    return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 's':\n                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n            case 'ss':\n                return number + (withoutSuffix ? ' секунд' : ' секундын');\n            case 'm':\n            case 'mm':\n                return number + (withoutSuffix ? ' минут' : ' минутын');\n            case 'h':\n            case 'hh':\n                return number + (withoutSuffix ? ' цаг' : ' цагийн');\n            case 'd':\n            case 'dd':\n                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n            case 'M':\n            case 'MM':\n                return number + (withoutSuffix ? ' сар' : ' сарын');\n            case 'y':\n            case 'yy':\n                return number + (withoutSuffix ? ' жил' : ' жилийн');\n            default:\n                return number;\n        }\n    }\n\n    var mn = moment.defineLocale('mn', {\n        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n            '_'\n        ),\n        monthsShort:\n            '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY оны MMMMын D',\n            LLL: 'YYYY оны MMMMын D HH:mm',\n            LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n        },\n        meridiemParse: /ҮӨ|ҮХ/i,\n        isPM: function (input) {\n            return input === 'ҮХ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ҮӨ';\n            } else {\n                return 'ҮХ';\n            }\n        },\n        calendar: {\n            sameDay: '[Өнөөдөр] LT',\n            nextDay: '[Маргааш] LT',\n            nextWeek: '[Ирэх] dddd LT',\n            lastDay: '[Өчигдөр] LT',\n            lastWeek: '[Өнгөрсөн] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s дараа',\n            past: '%s өмнө',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + ' өдөр';\n                default:\n                    return number;\n            }\n        },\n    });\n\n    return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n        var output = '';\n        if (withoutSuffix) {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंद';\n                    break;\n                case 'ss':\n                    output = '%d सेकंद';\n                    break;\n                case 'm':\n                    output = 'एक मिनिट';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटे';\n                    break;\n                case 'h':\n                    output = 'एक तास';\n                    break;\n                case 'hh':\n                    output = '%d तास';\n                    break;\n                case 'd':\n                    output = 'एक दिवस';\n                    break;\n                case 'dd':\n                    output = '%d दिवस';\n                    break;\n                case 'M':\n                    output = 'एक महिना';\n                    break;\n                case 'MM':\n                    output = '%d महिने';\n                    break;\n                case 'y':\n                    output = 'एक वर्ष';\n                    break;\n                case 'yy':\n                    output = '%d वर्षे';\n                    break;\n            }\n        } else {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंदां';\n                    break;\n                case 'ss':\n                    output = '%d सेकंदां';\n                    break;\n                case 'm':\n                    output = 'एका मिनिटा';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटां';\n                    break;\n                case 'h':\n                    output = 'एका तासा';\n                    break;\n                case 'hh':\n                    output = '%d तासां';\n                    break;\n                case 'd':\n                    output = 'एका दिवसा';\n                    break;\n                case 'dd':\n                    output = '%d दिवसां';\n                    break;\n                case 'M':\n                    output = 'एका महिन्या';\n                    break;\n                case 'MM':\n                    output = '%d महिन्यां';\n                    break;\n                case 'y':\n                    output = 'एका वर्षा';\n                    break;\n                case 'yy':\n                    output = '%d वर्षां';\n                    break;\n            }\n        }\n        return output.replace(/%d/i, number);\n    }\n\n    var mr = moment.defineLocale('mr', {\n        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm वाजता',\n            LTS: 'A h:mm:ss वाजता',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm वाजता',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[उद्या] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[मागील] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमध्ये',\n            past: '%sपूर्वी',\n            s: relativeTimeMr,\n            ss: relativeTimeMr,\n            m: relativeTimeMr,\n            mm: relativeTimeMr,\n            h: relativeTimeMr,\n            hh: relativeTimeMr,\n            d: relativeTimeMr,\n            dd: relativeTimeMr,\n            M: relativeTimeMr,\n            MM: relativeTimeMr,\n            y: relativeTimeMr,\n            yy: relativeTimeMr,\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n                return hour;\n            } else if (\n                meridiem === 'दुपारी' ||\n                meridiem === 'सायंकाळी' ||\n                meridiem === 'रात्री'\n            ) {\n                return hour >= 12 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour >= 0 && hour < 6) {\n                return 'पहाटे';\n            } else if (hour < 12) {\n                return 'सकाळी';\n            } else if (hour < 17) {\n                return 'दुपारी';\n            } else if (hour < 20) {\n                return 'सायंकाळी';\n            } else {\n                return 'रात्री';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var msMy = moment.defineLocale('ms-my', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ms = moment.defineLocale('ms', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mt = moment.defineLocale('mt', {\n        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n        weekdays:\n            'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n                '_'\n            ),\n        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Illum fil-]LT',\n            nextDay: '[Għada fil-]LT',\n            nextWeek: 'dddd [fil-]LT',\n            lastDay: '[Il-bieraħ fil-]LT',\n            lastWeek: 'dddd [li għadda] [fil-]LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'f’ %s',\n            past: '%s ilu',\n            s: 'ftit sekondi',\n            ss: '%d sekondi',\n            m: 'minuta',\n            mm: '%d minuti',\n            h: 'siegħa',\n            hh: '%d siegħat',\n            d: 'ġurnata',\n            dd: '%d ġranet',\n            M: 'xahar',\n            MM: '%d xhur',\n            y: 'sena',\n            yy: '%d sni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '၁',\n            2: '၂',\n            3: '၃',\n            4: '၄',\n            5: '၅',\n            6: '၆',\n            7: '၇',\n            8: '၈',\n            9: '၉',\n            0: '၀',\n        },\n        numberMap = {\n            '၁': '1',\n            '၂': '2',\n            '၃': '3',\n            '၄': '4',\n            '၅': '5',\n            '၆': '6',\n            '၇': '7',\n            '၈': '8',\n            '၉': '9',\n            '၀': '0',\n        };\n\n    var my = moment.defineLocale('my', {\n        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n            '_'\n        ),\n        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n            '_'\n        ),\n        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ယနေ.] LT [မှာ]',\n            nextDay: '[မနက်ဖြန်] LT [မှာ]',\n            nextWeek: 'dddd LT [မှာ]',\n            lastDay: '[မနေ.က] LT [မှာ]',\n            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'လာမည့် %s မှာ',\n            past: 'လွန်ခဲ့သော %s က',\n            s: 'စက္ကန်.အနည်းငယ်',\n            ss: '%d စက္ကန့်',\n            m: 'တစ်မိနစ်',\n            mm: '%d မိနစ်',\n            h: 'တစ်နာရီ',\n            hh: '%d နာရီ',\n            d: 'တစ်ရက်',\n            dd: '%d ရက်',\n            M: 'တစ်လ',\n            MM: '%d လ',\n            y: 'တစ်နှစ်',\n            yy: '%d နှစ်',\n        },\n        preparse: function (string) {\n            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//!           Sigurd Gartmann : https://github.com/sigurdga\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nb = moment.defineLocale('nb', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[forrige] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'noen sekunder',\n            ss: '%d sekunder',\n            m: 'ett minutt',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dager',\n            w: 'en uke',\n            ww: '%d uker',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    var ne = moment.defineLocale('ne', {\n        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n            '_'\n        ),\n        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'Aको h:mm बजे',\n            LTS: 'Aको h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, Aको h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राति') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'बिहान') {\n                return hour;\n            } else if (meridiem === 'दिउँसो') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'साँझ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 3) {\n                return 'राति';\n            } else if (hour < 12) {\n                return 'बिहान';\n            } else if (hour < 16) {\n                return 'दिउँसो';\n            } else if (hour < 20) {\n                return 'साँझ';\n            } else {\n                return 'राति';\n            }\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[भोलि] LT',\n            nextWeek: '[आउँदो] dddd[,] LT',\n            lastDay: '[हिजो] LT',\n            lastWeek: '[गएको] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमा',\n            past: '%s अगाडि',\n            s: 'केही क्षण',\n            ss: '%d सेकेण्ड',\n            m: 'एक मिनेट',\n            mm: '%d मिनेट',\n            h: 'एक घण्टा',\n            hh: '%d घण्टा',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महिना',\n            MM: '%d महिना',\n            y: 'एक बर्ष',\n            yy: '%d बर्ष',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^maart|mrt.?$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nlBe = moment.defineLocale('nl-be', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^maart|mrt.?$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nl = moment.defineLocale('nl', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            w: 'één week',\n            ww: '%d weken',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nn = moment.defineLocale('nn', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n        weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n        weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[I dag klokka] LT',\n            nextDay: '[I morgon klokka] LT',\n            nextWeek: 'dddd [klokka] LT',\n            lastDay: '[I går klokka] LT',\n            lastWeek: '[Føregåande] dddd [klokka] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s sidan',\n            s: 'nokre sekund',\n            ss: '%d sekund',\n            m: 'eit minutt',\n            mm: '%d minutt',\n            h: 'ein time',\n            hh: '%d timar',\n            d: 'ein dag',\n            dd: '%d dagar',\n            w: 'ei veke',\n            ww: '%d veker',\n            M: 'ein månad',\n            MM: '%d månader',\n            y: 'eit år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ocLnc = moment.defineLocale('oc-lnc', {\n        months: {\n            standalone:\n                'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n                    '_'\n                ),\n            format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n            '_'\n        ),\n        weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: '[uèi a] LT',\n            nextDay: '[deman a] LT',\n            nextWeek: 'dddd [a] LT',\n            lastDay: '[ièr a] LT',\n            lastWeek: 'dddd [passat a] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'unas segondas',\n            ss: '%d segondas',\n            m: 'una minuta',\n            mm: '%d minutas',\n            h: 'una ora',\n            hh: '%d oras',\n            d: 'un jorn',\n            dd: '%d jorns',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                    ? 'n'\n                    : number === 3\n                    ? 'r'\n                    : number === 4\n                    ? 't'\n                    : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4,\n        },\n    });\n\n    return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '੧',\n            2: '੨',\n            3: '੩',\n            4: '੪',\n            5: '੫',\n            6: '੬',\n            7: '੭',\n            8: '੮',\n            9: '੯',\n            0: '੦',\n        },\n        numberMap = {\n            '੧': '1',\n            '੨': '2',\n            '੩': '3',\n            '੪': '4',\n            '੫': '5',\n            '੬': '6',\n            '੭': '7',\n            '੮': '8',\n            '੯': '9',\n            '੦': '0',\n        };\n\n    var paIn = moment.defineLocale('pa-in', {\n        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n                '_'\n            ),\n        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm ਵਜੇ',\n            LTS: 'A h:mm:ss ਵਜੇ',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n        },\n        calendar: {\n            sameDay: '[ਅਜ] LT',\n            nextDay: '[ਕਲ] LT',\n            nextWeek: '[ਅਗਲਾ] dddd, LT',\n            lastDay: '[ਕਲ] LT',\n            lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ਵਿੱਚ',\n            past: '%s ਪਿਛਲੇ',\n            s: 'ਕੁਝ ਸਕਿੰਟ',\n            ss: '%d ਸਕਿੰਟ',\n            m: 'ਇਕ ਮਿੰਟ',\n            mm: '%d ਮਿੰਟ',\n            h: 'ਇੱਕ ਘੰਟਾ',\n            hh: '%d ਘੰਟੇ',\n            d: 'ਇੱਕ ਦਿਨ',\n            dd: '%d ਦਿਨ',\n            M: 'ਇੱਕ ਮਹੀਨਾ',\n            MM: '%d ਮਹੀਨੇ',\n            y: 'ਇੱਕ ਸਾਲ',\n            yy: '%d ਸਾਲ',\n        },\n        preparse: function (string) {\n            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ਰਾਤ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ਸਵੇਰ') {\n                return hour;\n            } else if (meridiem === 'ਦੁਪਹਿਰ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ਸ਼ਾਮ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ਰਾਤ';\n            } else if (hour < 10) {\n                return 'ਸਵੇਰ';\n            } else if (hour < 17) {\n                return 'ਦੁਪਹਿਰ';\n            } else if (hour < 20) {\n                return 'ਸ਼ਾਮ';\n            } else {\n                return 'ਰਾਤ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsNominative =\n            'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n                '_'\n            ),\n        monthsSubjective =\n            'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n                '_'\n            ),\n        monthsParse = [\n            /^sty/i,\n            /^lut/i,\n            /^mar/i,\n            /^kwi/i,\n            /^maj/i,\n            /^cze/i,\n            /^lip/i,\n            /^sie/i,\n            /^wrz/i,\n            /^paź/i,\n            /^lis/i,\n            /^gru/i,\n        ];\n    function plural(n) {\n        return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n    }\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                return result + (plural(number) ? 'sekundy' : 'sekund');\n            case 'm':\n                return withoutSuffix ? 'minuta' : 'minutę';\n            case 'mm':\n                return result + (plural(number) ? 'minuty' : 'minut');\n            case 'h':\n                return withoutSuffix ? 'godzina' : 'godzinę';\n            case 'hh':\n                return result + (plural(number) ? 'godziny' : 'godzin');\n            case 'ww':\n                return result + (plural(number) ? 'tygodnie' : 'tygodni');\n            case 'MM':\n                return result + (plural(number) ? 'miesiące' : 'miesięcy');\n            case 'yy':\n                return result + (plural(number) ? 'lata' : 'lat');\n        }\n    }\n\n    var pl = moment.defineLocale('pl', {\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return monthsNominative;\n            } else if (/D MMMM/.test(format)) {\n                return monthsSubjective[momentToFormat.month()];\n            } else {\n                return monthsNominative[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays:\n            'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Dziś o] LT',\n            nextDay: '[Jutro o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W niedzielę o] LT';\n\n                    case 2:\n                        return '[We wtorek o] LT';\n\n                    case 3:\n                        return '[W środę o] LT';\n\n                    case 6:\n                        return '[W sobotę o] LT';\n\n                    default:\n                        return '[W] dddd [o] LT';\n                }\n            },\n            lastDay: '[Wczoraj o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W zeszłą niedzielę o] LT';\n                    case 3:\n                        return '[W zeszłą środę o] LT';\n                    case 6:\n                        return '[W zeszłą sobotę o] LT';\n                    default:\n                        return '[W zeszły] dddd [o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: '%s temu',\n            s: 'kilka sekund',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: '1 dzień',\n            dd: '%d dni',\n            w: 'tydzień',\n            ww: translate,\n            M: 'miesiąc',\n            MM: translate,\n            y: 'rok',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ptBr = moment.defineLocale('pt-br', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n        weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'poucos segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        invalidDate: 'Data inválida',\n    });\n\n    return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pt = moment.defineLocale('pt', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            w: 'uma semana',\n            ww: '%d semanas',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n                ss: 'secunde',\n                mm: 'minute',\n                hh: 'ore',\n                dd: 'zile',\n                ww: 'săptămâni',\n                MM: 'luni',\n                yy: 'ani',\n            },\n            separator = ' ';\n        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n            separator = ' de ';\n        }\n        return number + separator + format[key];\n    }\n\n    var ro = moment.defineLocale('ro', {\n        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n            '_'\n        ),\n        monthsShort:\n            'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[azi la] LT',\n            nextDay: '[mâine la] LT',\n            nextWeek: 'dddd [la] LT',\n            lastDay: '[ieri la] LT',\n            lastWeek: '[fosta] dddd [la] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'peste %s',\n            past: '%s în urmă',\n            s: 'câteva secunde',\n            ss: relativeTimeWithPlural,\n            m: 'un minut',\n            mm: relativeTimeWithPlural,\n            h: 'o oră',\n            hh: relativeTimeWithPlural,\n            d: 'o zi',\n            dd: relativeTimeWithPlural,\n            w: 'o săptămână',\n            ww: relativeTimeWithPlural,\n            M: 'o lună',\n            MM: relativeTimeWithPlural,\n            y: 'un an',\n            yy: relativeTimeWithPlural,\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n            hh: 'час_часа_часов',\n            dd: 'день_дня_дней',\n            ww: 'неделя_недели_недель',\n            MM: 'месяц_месяца_месяцев',\n            yy: 'год_года_лет',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'минута' : 'минуту';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    var monthsParse = [\n        /^янв/i,\n        /^фев/i,\n        /^мар/i,\n        /^апр/i,\n        /^ма[йя]/i,\n        /^июн/i,\n        /^июл/i,\n        /^авг/i,\n        /^сен/i,\n        /^окт/i,\n        /^ноя/i,\n        /^дек/i,\n    ];\n\n    // http://new.gramota.ru/spravka/rules/139-prop : § 103\n    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n    var ru = moment.defineLocale('ru', {\n        months: {\n            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n                '_'\n            ),\n            standalone:\n                'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n                    '_'\n                ),\n        },\n        monthsShort: {\n            // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n                '_'\n            ),\n            standalone:\n                'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n                    '_'\n                ),\n        },\n        weekdays: {\n            standalone:\n                'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n                    '_'\n                ),\n            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n                '_'\n            ),\n            isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n        },\n        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n        monthsRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // копия предыдущего\n        monthsShortRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // полные названия с падежами\n        monthsStrictRegex:\n            /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n        // Выражение, которое соответствует только сокращённым формам\n        monthsShortStrictRegex:\n            /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., H:mm',\n            LLLL: 'dddd, D MMMM YYYY г., H:mm',\n        },\n        calendar: {\n            sameDay: '[Сегодня, в] LT',\n            nextDay: '[Завтра, в] LT',\n            lastDay: '[Вчера, в] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В следующее] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В следующий] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В следующую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            lastWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В прошлое] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В прошлый] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В прошлую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'через %s',\n            past: '%s назад',\n            s: 'несколько секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'час',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            w: 'неделя',\n            ww: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночи|утра|дня|вечера/i,\n        isPM: function (input) {\n            return /^(дня|вечера)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночи';\n            } else if (hour < 12) {\n                return 'утра';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечера';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                case 'w':\n                case 'W':\n                    return number + '-я';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوري',\n            'فيبروري',\n            'مارچ',\n            'اپريل',\n            'مئي',\n            'جون',\n            'جولاءِ',\n            'آگسٽ',\n            'سيپٽمبر',\n            'آڪٽوبر',\n            'نومبر',\n            'ڊسمبر',\n        ],\n        days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n    var sd = moment.defineLocale('sd', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[اڄ] LT',\n            nextDay: '[سڀاڻي] LT',\n            nextWeek: 'dddd [اڳين هفتي تي] LT',\n            lastDay: '[ڪالهه] LT',\n            lastWeek: '[گزريل هفتي] dddd [تي] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s پوء',\n            past: '%s اڳ',\n            s: 'چند سيڪنڊ',\n            ss: '%d سيڪنڊ',\n            m: 'هڪ منٽ',\n            mm: '%d منٽ',\n            h: 'هڪ ڪلاڪ',\n            hh: '%d ڪلاڪ',\n            d: 'هڪ ڏينهن',\n            dd: '%d ڏينهن',\n            M: 'هڪ مهينو',\n            MM: '%d مهينا',\n            y: 'هڪ سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var se = moment.defineLocale('se', {\n        months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n            '_'\n        ),\n        monthsShort:\n            'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n        weekdays:\n            'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n                '_'\n            ),\n        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'MMMM D. [b.] YYYY',\n            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[otne ti] LT',\n            nextDay: '[ihttin ti] LT',\n            nextWeek: 'dddd [ti] LT',\n            lastDay: '[ikte ti] LT',\n            lastWeek: '[ovddit] dddd [ti] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s geažes',\n            past: 'maŋit %s',\n            s: 'moadde sekunddat',\n            ss: '%d sekunddat',\n            m: 'okta minuhta',\n            mm: '%d minuhtat',\n            h: 'okta diimmu',\n            hh: '%d diimmut',\n            d: 'okta beaivi',\n            dd: '%d beaivvit',\n            M: 'okta mánnu',\n            MM: '%d mánut',\n            y: 'okta jahki',\n            yy: '%d jagit',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    /*jshint -W100*/\n    var si = moment.defineLocale('si', {\n        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n            '_'\n        ),\n        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n            '_'\n        ),\n        weekdays:\n            'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n                '_'\n            ),\n        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'a h:mm',\n            LTS: 'a h:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY MMMM D',\n            LLL: 'YYYY MMMM D, a h:mm',\n            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n        },\n        calendar: {\n            sameDay: '[අද] LT[ට]',\n            nextDay: '[හෙට] LT[ට]',\n            nextWeek: 'dddd LT[ට]',\n            lastDay: '[ඊයේ] LT[ට]',\n            lastWeek: '[පසුගිය] dddd LT[ට]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sකින්',\n            past: '%sකට පෙර',\n            s: 'තත්පර කිහිපය',\n            ss: 'තත්පර %d',\n            m: 'මිනිත්තුව',\n            mm: 'මිනිත්තු %d',\n            h: 'පැය',\n            hh: 'පැය %d',\n            d: 'දිනය',\n            dd: 'දින %d',\n            M: 'මාසය',\n            MM: 'මාස %d',\n            y: 'වසර',\n            yy: 'වසර %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n        ordinal: function (number) {\n            return number + ' වැනි';\n        },\n        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n        isPM: function (input) {\n            return input === 'ප.ව.' || input === 'පස් වරු';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'ප.ව.' : 'පස් වරු';\n            } else {\n                return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n            }\n        },\n    });\n\n    return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months =\n            'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n                '_'\n            ),\n        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n    function plural(n) {\n        return n > 1 && n < 5;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekúnd');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minúty' : 'minút');\n                } else {\n                    return result + 'minútami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodín');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'deň' : 'dňom';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dni' : 'dní');\n                } else {\n                    return result + 'dňami';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'mesiace' : 'mesiacov');\n                } else {\n                    return result + 'mesiacmi';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokom';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'rokov');\n                } else {\n                    return result + 'rokmi';\n                }\n        }\n    }\n\n    var sk = moment.defineLocale('sk', {\n        months: months,\n        monthsShort: monthsShort,\n        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[dnes o] LT',\n            nextDay: '[zajtra o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [o] LT';\n                    case 3:\n                        return '[v stredu o] LT';\n                    case 4:\n                        return '[vo štvrtok o] LT';\n                    case 5:\n                        return '[v piatok o] LT';\n                    case 6:\n                        return '[v sobotu o] LT';\n                }\n            },\n            lastDay: '[včera o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulú nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[minulý] dddd [o] LT';\n                    case 3:\n                        return '[minulú stredu o] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [o] LT';\n                    case 6:\n                        return '[minulú sobotu o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pred %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nekaj sekund'\n                    : 'nekaj sekundami';\n            case 'ss':\n                if (number === 1) {\n                    result += withoutSuffix ? 'sekundo' : 'sekundi';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n                } else {\n                    result += 'sekund';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'ena minuta' : 'eno minuto';\n            case 'mm':\n                if (number === 1) {\n                    result += withoutSuffix ? 'minuta' : 'minuto';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'ena ura' : 'eno uro';\n            case 'hh':\n                if (number === 1) {\n                    result += withoutSuffix ? 'ura' : 'uro';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'uri' : 'urama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'ure' : 'urami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'ur' : 'urami';\n                }\n                return result;\n            case 'd':\n                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n            case 'dd':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n                } else {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n                }\n                return result;\n            case 'M':\n                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n            case 'MM':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n                } else {\n                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n                }\n                return result;\n            case 'y':\n                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n            case 'yy':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'leto' : 'letom';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'leta' : 'leti';\n                } else {\n                    result += withoutSuffix || isFuture ? 'let' : 'leti';\n                }\n                return result;\n        }\n    }\n\n    var sl = moment.defineLocale('sl', {\n        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD. MM. YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danes ob] LT',\n            nextDay: '[jutri ob] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[v] [sredo] [ob] LT';\n                    case 6:\n                        return '[v] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[v] dddd [ob] LT';\n                }\n            },\n            lastDay: '[včeraj ob] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prejšnjo] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[prejšnjo] [sredo] [ob] LT';\n                    case 6:\n                        return '[prejšnjo] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prejšnji] dddd [ob] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'čez %s',\n            past: 'pred %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sq = moment.defineLocale('sq', {\n        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n            '_'\n        ),\n        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /PD|MD/,\n        isPM: function (input) {\n            return input.charAt(0) === 'M';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            return hours < 12 ? 'PD' : 'MD';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Sot në] LT',\n            nextDay: '[Nesër në] LT',\n            nextWeek: 'dddd [në] LT',\n            lastDay: '[Dje në] LT',\n            lastWeek: 'dddd [e kaluar në] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'në %s',\n            past: '%s më parë',\n            s: 'disa sekonda',\n            ss: '%d sekonda',\n            m: 'një minutë',\n            mm: '%d minuta',\n            h: 'një orë',\n            hh: '%d orë',\n            d: 'një ditë',\n            dd: '%d ditë',\n            M: 'një muaj',\n            MM: '%d muaj',\n            y: 'një vit',\n            yy: '%d vite',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['секунда', 'секунде', 'секунди'],\n            m: ['један минут', 'једног минута'],\n            mm: ['минут', 'минута', 'минута'],\n            h: ['један сат', 'једног сата'],\n            hh: ['сат', 'сата', 'сати'],\n            d: ['један дан', 'једног дана'],\n            dd: ['дан', 'дана', 'дана'],\n            M: ['један месец', 'једног месеца'],\n            MM: ['месец', 'месеца', 'месеци'],\n            y: ['једну годину', 'једне године'],\n            yy: ['годину', 'године', 'година'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'једна година';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'годину') {\n                return number + ' година';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var srCyrl = moment.defineLocale('sr-cyrl', {\n        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n            '_'\n        ),\n        monthsShort:\n            'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[данас у] LT',\n            nextDay: '[сутра у] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[у] [недељу] [у] LT';\n                    case 3:\n                        return '[у] [среду] [у] LT';\n                    case 6:\n                        return '[у] [суботу] [у] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[у] dddd [у] LT';\n                }\n            },\n            lastDay: '[јуче у] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[прошле] [недеље] [у] LT',\n                    '[прошлог] [понедељка] [у] LT',\n                    '[прошлог] [уторка] [у] LT',\n                    '[прошле] [среде] [у] LT',\n                    '[прошлог] [четвртка] [у] LT',\n                    '[прошлог] [петка] [у] LT',\n                    '[прошле] [суботе] [у] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пре %s',\n            s: 'неколико секунди',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekunda', 'sekunde', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            d: ['jedan dan', 'jednog dana'],\n            dd: ['dan', 'dana', 'dana'],\n            M: ['jedan mesec', 'jednog meseca'],\n            MM: ['mesec', 'meseca', 'meseci'],\n            y: ['jednu godinu', 'jedne godine'],\n            yy: ['godinu', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'jedna godina';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'godinu') {\n                return number + ' godina';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var sr = moment.defineLocale('sr', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedelju] [u] LT';\n                    case 3:\n                        return '[u] [sredu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedelje] [u] LT',\n                    '[prošlog] [ponedeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pre %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ss = moment.defineLocale('ss', {\n        months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n            '_'\n        ),\n        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n        weekdays:\n            'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n                '_'\n            ),\n        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Namuhla nga] LT',\n            nextDay: '[Kusasa nga] LT',\n            nextWeek: 'dddd [nga] LT',\n            lastDay: '[Itolo nga] LT',\n            lastWeek: 'dddd [leliphelile] [nga] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'nga %s',\n            past: 'wenteka nga %s',\n            s: 'emizuzwana lomcane',\n            ss: '%d mzuzwana',\n            m: 'umzuzu',\n            mm: '%d emizuzu',\n            h: 'lihora',\n            hh: '%d emahora',\n            d: 'lilanga',\n            dd: '%d emalanga',\n            M: 'inyanga',\n            MM: '%d tinyanga',\n            y: 'umnyaka',\n            yy: '%d iminyaka',\n        },\n        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'ekuseni';\n            } else if (hours < 15) {\n                return 'emini';\n            } else if (hours < 19) {\n                return 'entsambama';\n            } else {\n                return 'ebusuku';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ekuseni') {\n                return hour;\n            } else if (meridiem === 'emini') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n                if (hour === 0) {\n                    return 0;\n                }\n                return hour + 12;\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: '%d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sv = moment.defineLocale('sv', {\n        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Idag] LT',\n            nextDay: '[Imorgon] LT',\n            lastDay: '[Igår] LT',\n            nextWeek: '[På] dddd LT',\n            lastWeek: '[I] dddd[s] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: 'för %s sedan',\n            s: 'några sekunder',\n            ss: '%d sekunder',\n            m: 'en minut',\n            mm: '%d minuter',\n            h: 'en timme',\n            hh: '%d timmar',\n            d: 'en dag',\n            dd: '%d dagar',\n            M: 'en månad',\n            MM: '%d månader',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? ':e'\n                        : b === 1\n                        ? ':a'\n                        : b === 2\n                        ? ':a'\n                        : b === 3\n                        ? ':e'\n                        : ':e';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sw = moment.defineLocale('sw', {\n        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n        weekdays:\n            'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n                '_'\n            ),\n        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'hh:mm A',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[leo saa] LT',\n            nextDay: '[kesho saa] LT',\n            nextWeek: '[wiki ijayo] dddd [saat] LT',\n            lastDay: '[jana] LT',\n            lastWeek: '[wiki iliyopita] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s baadaye',\n            past: 'tokea %s',\n            s: 'hivi punde',\n            ss: 'sekunde %d',\n            m: 'dakika moja',\n            mm: 'dakika %d',\n            h: 'saa limoja',\n            hh: 'masaa %d',\n            d: 'siku moja',\n            dd: 'siku %d',\n            M: 'mwezi mmoja',\n            MM: 'miezi %d',\n            y: 'mwaka mmoja',\n            yy: 'miaka %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '௧',\n            2: '௨',\n            3: '௩',\n            4: '௪',\n            5: '௫',\n            6: '௬',\n            7: '௭',\n            8: '௮',\n            9: '௯',\n            0: '௦',\n        },\n        numberMap = {\n            '௧': '1',\n            '௨': '2',\n            '௩': '3',\n            '௪': '4',\n            '௫': '5',\n            '௬': '6',\n            '௭': '7',\n            '௮': '8',\n            '௯': '9',\n            '௦': '0',\n        };\n\n    var ta = moment.defineLocale('ta', {\n        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n            '_'\n        ),\n        monthsShort:\n            'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n                '_'\n            ),\n        weekdays:\n            'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n                '_'\n            ),\n        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n            '_'\n        ),\n        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, HH:mm',\n            LLLL: 'dddd, D MMMM YYYY, HH:mm',\n        },\n        calendar: {\n            sameDay: '[இன்று] LT',\n            nextDay: '[நாளை] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[நேற்று] LT',\n            lastWeek: '[கடந்த வாரம்] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s இல்',\n            past: '%s முன்',\n            s: 'ஒரு சில விநாடிகள்',\n            ss: '%d விநாடிகள்',\n            m: 'ஒரு நிமிடம்',\n            mm: '%d நிமிடங்கள்',\n            h: 'ஒரு மணி நேரம்',\n            hh: '%d மணி நேரம்',\n            d: 'ஒரு நாள்',\n            dd: '%d நாட்கள்',\n            M: 'ஒரு மாதம்',\n            MM: '%d மாதங்கள்',\n            y: 'ஒரு வருடம்',\n            yy: '%d ஆண்டுகள்',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n        ordinal: function (number) {\n            return number + 'வது';\n        },\n        preparse: function (string) {\n            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // refer http://ta.wikipedia.org/s/1er1\n        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 2) {\n                return ' யாமம்';\n            } else if (hour < 6) {\n                return ' வைகறை'; // வைகறை\n            } else if (hour < 10) {\n                return ' காலை'; // காலை\n            } else if (hour < 14) {\n                return ' நண்பகல்'; // நண்பகல்\n            } else if (hour < 18) {\n                return ' எற்பாடு'; // எற்பாடு\n            } else if (hour < 22) {\n                return ' மாலை'; // மாலை\n            } else {\n                return ' யாமம்';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'யாமம்') {\n                return hour < 2 ? hour : hour + 12;\n            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n                return hour;\n            } else if (meridiem === 'நண்பகல்') {\n                return hour >= 10 ? hour : hour + 12;\n            } else {\n                return hour + 12;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var te = moment.defineLocale('te', {\n        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n            '_'\n        ),\n        monthsShort:\n            'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n                '_'\n            ),\n        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[నేడు] LT',\n            nextDay: '[రేపు] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[నిన్న] LT',\n            lastWeek: '[గత] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s లో',\n            past: '%s క్రితం',\n            s: 'కొన్ని క్షణాలు',\n            ss: '%d సెకన్లు',\n            m: 'ఒక నిమిషం',\n            mm: '%d నిమిషాలు',\n            h: 'ఒక గంట',\n            hh: '%d గంటలు',\n            d: 'ఒక రోజు',\n            dd: '%d రోజులు',\n            M: 'ఒక నెల',\n            MM: '%d నెలలు',\n            y: 'ఒక సంవత్సరం',\n            yy: '%d సంవత్సరాలు',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n        ordinal: '%dవ',\n        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'రాత్రి') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ఉదయం') {\n                return hour;\n            } else if (meridiem === 'మధ్యాహ్నం') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'సాయంత్రం') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'రాత్రి';\n            } else if (hour < 10) {\n                return 'ఉదయం';\n            } else if (hour < 17) {\n                return 'మధ్యాహ్నం';\n            } else if (hour < 20) {\n                return 'సాయంత్రం';\n            } else {\n                return 'రాత్రి';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tet = moment.defineLocale('tet', {\n        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Ohin iha] LT',\n            nextDay: '[Aban iha] LT',\n            nextWeek: 'dddd [iha] LT',\n            lastDay: '[Horiseik iha] LT',\n            lastWeek: 'dddd [semana kotuk] [iha] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'iha %s',\n            past: '%s liuba',\n            s: 'segundu balun',\n            ss: 'segundu %d',\n            m: 'minutu ida',\n            mm: 'minutu %d',\n            h: 'oras ida',\n            hh: 'oras %d',\n            d: 'loron ida',\n            dd: 'loron %d',\n            M: 'fulan ida',\n            MM: 'fulan %d',\n            y: 'tinan ida',\n            yy: 'tinan %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ум',\n        1: '-ум',\n        2: '-юм',\n        3: '-юм',\n        4: '-ум',\n        5: '-ум',\n        6: '-ум',\n        7: '-ум',\n        8: '-ум',\n        9: '-ум',\n        10: '-ум',\n        12: '-ум',\n        13: '-ум',\n        20: '-ум',\n        30: '-юм',\n        40: '-ум',\n        50: '-ум',\n        60: '-ум',\n        70: '-ум',\n        80: '-ум',\n        90: '-ум',\n        100: '-ум',\n    };\n\n    var tg = moment.defineLocale('tg', {\n        months: {\n            format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n                '_'\n            ),\n            standalone:\n                'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n            '_'\n        ),\n        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Имрӯз соати] LT',\n            nextDay: '[Фардо соати] LT',\n            lastDay: '[Дирӯз соати] LT',\n            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'баъди %s',\n            past: '%s пеш',\n            s: 'якчанд сония',\n            m: 'як дақиқа',\n            mm: '%d дақиқа',\n            h: 'як соат',\n            hh: '%d соат',\n            d: 'як рӯз',\n            dd: '%d рӯз',\n            M: 'як моҳ',\n            MM: '%d моҳ',\n            y: 'як сол',\n            yy: '%d сол',\n        },\n        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'шаб') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'субҳ') {\n                return hour;\n            } else if (meridiem === 'рӯз') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'бегоҳ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'шаб';\n            } else if (hour < 11) {\n                return 'субҳ';\n            } else if (hour < 16) {\n                return 'рӯз';\n            } else if (hour < 19) {\n                return 'бегоҳ';\n            } else {\n                return 'шаб';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1th is the first week of the year.\n        },\n    });\n\n    return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var th = moment.defineLocale('th', {\n        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n            '_'\n        ),\n        monthsShort:\n            'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY เวลา H:mm',\n            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n        },\n        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n        isPM: function (input) {\n            return input === 'หลังเที่ยง';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ก่อนเที่ยง';\n            } else {\n                return 'หลังเที่ยง';\n            }\n        },\n        calendar: {\n            sameDay: '[วันนี้ เวลา] LT',\n            nextDay: '[พรุ่งนี้ เวลา] LT',\n            nextWeek: 'dddd[หน้า เวลา] LT',\n            lastDay: '[เมื่อวานนี้ เวลา] LT',\n            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'อีก %s',\n            past: '%sที่แล้ว',\n            s: 'ไม่กี่วินาที',\n            ss: '%d วินาที',\n            m: '1 นาที',\n            mm: '%d นาที',\n            h: '1 ชั่วโมง',\n            hh: '%d ชั่วโมง',\n            d: '1 วัน',\n            dd: '%d วัน',\n            w: '1 สัปดาห์',\n            ww: '%d สัปดาห์',\n            M: '1 เดือน',\n            MM: '%d เดือน',\n            y: '1 ปี',\n            yy: '%d ปี',\n        },\n    });\n\n    return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inji\",\n        5: \"'inji\",\n        8: \"'inji\",\n        70: \"'inji\",\n        80: \"'inji\",\n        2: \"'nji\",\n        7: \"'nji\",\n        20: \"'nji\",\n        50: \"'nji\",\n        3: \"'ünji\",\n        4: \"'ünji\",\n        100: \"'ünji\",\n        6: \"'njy\",\n        9: \"'unjy\",\n        10: \"'unjy\",\n        30: \"'unjy\",\n        60: \"'ynjy\",\n        90: \"'ynjy\",\n    };\n\n    var tk = moment.defineLocale('tk', {\n        months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n        weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n            '_'\n        ),\n        weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n        weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün sagat] LT',\n            nextDay: '[ertir sagat] LT',\n            nextWeek: '[indiki] dddd [sagat] LT',\n            lastDay: '[düýn] LT',\n            lastWeek: '[geçen] dddd [sagat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s soň',\n            past: '%s öň',\n            s: 'birnäçe sekunt',\n            m: 'bir minut',\n            mm: '%d minut',\n            h: 'bir sagat',\n            hh: '%d sagat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir aý',\n            MM: '%d aý',\n            y: 'bir ýyl',\n            yy: '%d ýyl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'unjy\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tlPh = moment.defineLocale('tl-ph', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n    function translateFuture(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'leS'\n                : output.indexOf('jar') !== -1\n                ? time.slice(0, -3) + 'waQ'\n                : output.indexOf('DIS') !== -1\n                ? time.slice(0, -3) + 'nem'\n                : time + ' pIq';\n        return time;\n    }\n\n    function translatePast(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'Hu’'\n                : output.indexOf('jar') !== -1\n                ? time.slice(0, -3) + 'wen'\n                : output.indexOf('DIS') !== -1\n                ? time.slice(0, -3) + 'ben'\n                : time + ' ret';\n        return time;\n    }\n\n    function translate(number, withoutSuffix, string, isFuture) {\n        var numberNoun = numberAsNoun(number);\n        switch (string) {\n            case 'ss':\n                return numberNoun + ' lup';\n            case 'mm':\n                return numberNoun + ' tup';\n            case 'hh':\n                return numberNoun + ' rep';\n            case 'dd':\n                return numberNoun + ' jaj';\n            case 'MM':\n                return numberNoun + ' jar';\n            case 'yy':\n                return numberNoun + ' DIS';\n        }\n    }\n\n    function numberAsNoun(number) {\n        var hundred = Math.floor((number % 1000) / 100),\n            ten = Math.floor((number % 100) / 10),\n            one = number % 10,\n            word = '';\n        if (hundred > 0) {\n            word += numbersNouns[hundred] + 'vatlh';\n        }\n        if (ten > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n        }\n        if (one > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[one];\n        }\n        return word === '' ? 'pagh' : word;\n    }\n\n    var tlh = moment.defineLocale('tlh', {\n        months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n            '_'\n        ),\n        monthsShort:\n            'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        weekdaysShort:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        weekdaysMin:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[DaHjaj] LT',\n            nextDay: '[wa’leS] LT',\n            nextWeek: 'LLL',\n            lastDay: '[wa’Hu’] LT',\n            lastWeek: 'LLL',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: translateFuture,\n            past: translatePast,\n            s: 'puS lup',\n            ss: translate,\n            m: 'wa’ tup',\n            mm: translate,\n            h: 'wa’ rep',\n            hh: translate,\n            d: 'wa’ jaj',\n            dd: translate,\n            M: 'wa’ jar',\n            MM: translate,\n            y: 'wa’ DIS',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//!           Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inci\",\n        5: \"'inci\",\n        8: \"'inci\",\n        70: \"'inci\",\n        80: \"'inci\",\n        2: \"'nci\",\n        7: \"'nci\",\n        20: \"'nci\",\n        50: \"'nci\",\n        3: \"'üncü\",\n        4: \"'üncü\",\n        100: \"'üncü\",\n        6: \"'ncı\",\n        9: \"'uncu\",\n        10: \"'uncu\",\n        30: \"'uncu\",\n        60: \"'ıncı\",\n        90: \"'ıncı\",\n    };\n\n    var tr = moment.defineLocale('tr', {\n        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n            '_'\n        ),\n        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n            '_'\n        ),\n        weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'öö' : 'ÖÖ';\n            } else {\n                return isLower ? 'ös' : 'ÖS';\n            }\n        },\n        meridiemParse: /öö|ÖÖ|ös|ÖS/,\n        isPM: function (input) {\n            return input === 'ös' || input === 'ÖS';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[yarın saat] LT',\n            nextWeek: '[gelecek] dddd [saat] LT',\n            lastDay: '[dün] LT',\n            lastWeek: '[geçen] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s önce',\n            s: 'birkaç saniye',\n            ss: '%d saniye',\n            m: 'bir dakika',\n            mm: '%d dakika',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            w: 'bir hafta',\n            ww: '%d hafta',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir yıl',\n            yy: '%d yıl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'ıncı\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n    // This is currently too difficult (maybe even impossible) to add.\n    var tzl = moment.defineLocale('tzl', {\n        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM [dallas] YYYY',\n            LLL: 'D. MMMM [dallas] YYYY HH.mm',\n            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n        },\n        meridiemParse: /d\\'o|d\\'a/i,\n        isPM: function (input) {\n            return \"d'o\" === input.toLowerCase();\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? \"d'o\" : \"D'O\";\n            } else {\n                return isLower ? \"d'a\" : \"D'A\";\n            }\n        },\n        calendar: {\n            sameDay: '[oxhi à] LT',\n            nextDay: '[demà à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[ieiri à] LT',\n            lastWeek: '[sür el] dddd [lasteu à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'osprei %s',\n            past: 'ja%s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['viensas secunds', \"'iensas secunds\"],\n            ss: [number + ' secunds', '' + number + ' secunds'],\n            m: [\"'n míut\", \"'iens míut\"],\n            mm: [number + ' míuts', '' + number + ' míuts'],\n            h: [\"'n þora\", \"'iensa þora\"],\n            hh: [number + ' þoras', '' + number + ' þoras'],\n            d: [\"'n ziua\", \"'iensa ziua\"],\n            dd: [number + ' ziuas', '' + number + ' ziuas'],\n            M: [\"'n mes\", \"'iens mes\"],\n            MM: [number + ' mesen', '' + number + ' mesen'],\n            y: [\"'n ar\", \"'iens ar\"],\n            yy: [number + ' ars', '' + number + ' ars'],\n        };\n        return isFuture\n            ? format[key][0]\n            : withoutSuffix\n            ? format[key][0]\n            : format[key][1];\n    }\n\n    return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzmLatn = moment.defineLocale('tzm-latn', {\n        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n            '_'\n        ),\n        monthsShort:\n            'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n                '_'\n            ),\n        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[asdkh g] LT',\n            nextDay: '[aska g] LT',\n            nextWeek: 'dddd [g] LT',\n            lastDay: '[assant g] LT',\n            lastWeek: 'dddd [g] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dadkh s yan %s',\n            past: 'yan %s',\n            s: 'imik',\n            ss: '%d imik',\n            m: 'minuḍ',\n            mm: '%d minuḍ',\n            h: 'saɛa',\n            hh: '%d tassaɛin',\n            d: 'ass',\n            dd: '%d ossan',\n            M: 'ayowr',\n            MM: '%d iyyirn',\n            y: 'asgas',\n            yy: '%d isgasn',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzm = moment.defineLocale('tzm', {\n        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n                '_'\n            ),\n        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n            nextWeek: 'dddd [ⴴ] LT',\n            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n            lastWeek: 'dddd [ⴴ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n            past: 'ⵢⴰⵏ %s',\n            s: 'ⵉⵎⵉⴽ',\n            ss: '%d ⵉⵎⵉⴽ',\n            m: 'ⵎⵉⵏⵓⴺ',\n            mm: '%d ⵎⵉⵏⵓⴺ',\n            h: 'ⵙⴰⵄⴰ',\n            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n            d: 'ⴰⵙⵙ',\n            dd: '%d oⵙⵙⴰⵏ',\n            M: 'ⴰⵢoⵓⵔ',\n            MM: '%d ⵉⵢⵢⵉⵔⵏ',\n            y: 'ⴰⵙⴳⴰⵙ',\n            yy: '%d ⵉⵙⴳⴰⵙⵏ',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ugCn = moment.defineLocale('ug-cn', {\n        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n                '_'\n            ),\n        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n            '_'\n        ),\n        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n        },\n        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                meridiem === 'يېرىم كېچە' ||\n                meridiem === 'سەھەر' ||\n                meridiem === 'چۈشتىن بۇرۇن'\n            ) {\n                return hour;\n            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n                return hour + 12;\n            } else {\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return 'يېرىم كېچە';\n            } else if (hm < 900) {\n                return 'سەھەر';\n            } else if (hm < 1130) {\n                return 'چۈشتىن بۇرۇن';\n            } else if (hm < 1230) {\n                return 'چۈش';\n            } else if (hm < 1800) {\n                return 'چۈشتىن كېيىن';\n            } else {\n                return 'كەچ';\n            }\n        },\n        calendar: {\n            sameDay: '[بۈگۈن سائەت] LT',\n            nextDay: '[ئەتە سائەت] LT',\n            nextWeek: '[كېلەركى] dddd [سائەت] LT',\n            lastDay: '[تۆنۈگۈن] LT',\n            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s كېيىن',\n            past: '%s بۇرۇن',\n            s: 'نەچچە سېكونت',\n            ss: '%d سېكونت',\n            m: 'بىر مىنۇت',\n            mm: '%d مىنۇت',\n            h: 'بىر سائەت',\n            hh: '%d سائەت',\n            d: 'بىر كۈن',\n            dd: '%d كۈن',\n            M: 'بىر ئاي',\n            MM: '%d ئاي',\n            y: 'بىر يىل',\n            yy: '%d يىل',\n        },\n\n        dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '-كۈنى';\n                case 'w':\n                case 'W':\n                    return number + '-ھەپتە';\n                default:\n                    return number;\n            }\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n            mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n            hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n            dd: 'день_дні_днів',\n            MM: 'місяць_місяці_місяців',\n            yy: 'рік_роки_років',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвилина' : 'хвилину';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'година' : 'годину';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    function weekdaysCaseReplace(m, format) {\n        var weekdays = {\n                nominative:\n                    'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n                        '_'\n                    ),\n                accusative:\n                    'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n                        '_'\n                    ),\n                genitive:\n                    'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n                        '_'\n                    ),\n            },\n            nounCase;\n\n        if (m === true) {\n            return weekdays['nominative']\n                .slice(1, 7)\n                .concat(weekdays['nominative'].slice(0, 1));\n        }\n        if (!m) {\n            return weekdays['nominative'];\n        }\n\n        nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n            ? 'accusative'\n            : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n            ? 'genitive'\n            : 'nominative';\n        return weekdays[nounCase][m.day()];\n    }\n    function processHoursFunction(str) {\n        return function () {\n            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n        };\n    }\n\n    var uk = moment.defineLocale('uk', {\n        months: {\n            format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n                '_'\n            ),\n            standalone:\n                'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n            '_'\n        ),\n        weekdays: weekdaysCaseReplace,\n        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY р.',\n            LLL: 'D MMMM YYYY р., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n        },\n        calendar: {\n            sameDay: processHoursFunction('[Сьогодні '),\n            nextDay: processHoursFunction('[Завтра '),\n            lastDay: processHoursFunction('[Вчора '),\n            nextWeek: processHoursFunction('[У] dddd ['),\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return processHoursFunction('[Минулої] dddd [').call(this);\n                    case 1:\n                    case 2:\n                    case 4:\n                        return processHoursFunction('[Минулого] dddd [').call(this);\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: '%s тому',\n            s: 'декілька секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'годину',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            M: 'місяць',\n            MM: relativeTimeWithPlural,\n            y: 'рік',\n            yy: relativeTimeWithPlural,\n        },\n        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n        meridiemParse: /ночі|ранку|дня|вечора/,\n        isPM: function (input) {\n            return /^(дня|вечора)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночі';\n            } else if (hour < 12) {\n                return 'ранку';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечора';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوری',\n            'فروری',\n            'مارچ',\n            'اپریل',\n            'مئی',\n            'جون',\n            'جولائی',\n            'اگست',\n            'ستمبر',\n            'اکتوبر',\n            'نومبر',\n            'دسمبر',\n        ],\n        days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n    var ur = moment.defineLocale('ur', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[آج بوقت] LT',\n            nextDay: '[کل بوقت] LT',\n            nextWeek: 'dddd [بوقت] LT',\n            lastDay: '[گذشتہ روز بوقت] LT',\n            lastWeek: '[گذشتہ] dddd [بوقت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s بعد',\n            past: '%s قبل',\n            s: 'چند سیکنڈ',\n            ss: '%d سیکنڈ',\n            m: 'ایک منٹ',\n            mm: '%d منٹ',\n            h: 'ایک گھنٹہ',\n            hh: '%d گھنٹے',\n            d: 'ایک دن',\n            dd: '%d دن',\n            M: 'ایک ماہ',\n            MM: '%d ماہ',\n            y: 'ایک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uzLatn = moment.defineLocale('uz-latn', {\n        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n        weekdays:\n            'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n                '_'\n            ),\n        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bugun soat] LT [da]',\n            nextDay: '[Ertaga] LT [da]',\n            nextWeek: 'dddd [kuni soat] LT [da]',\n            lastDay: '[Kecha soat] LT [da]',\n            lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Yaqin %s ichida',\n            past: 'Bir necha %s oldin',\n            s: 'soniya',\n            ss: '%d soniya',\n            m: 'bir daqiqa',\n            mm: '%d daqiqa',\n            h: 'bir soat',\n            hh: '%d soat',\n            d: 'bir kun',\n            dd: '%d kun',\n            M: 'bir oy',\n            MM: '%d oy',\n            y: 'bir yil',\n            yy: '%d yil',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uz = moment.defineLocale('uz', {\n        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бугун соат] LT [да]',\n            nextDay: '[Эртага] LT [да]',\n            nextWeek: 'dddd [куни соат] LT [да]',\n            lastDay: '[Кеча соат] LT [да]',\n            lastWeek: '[Утган] dddd [куни соат] LT [да]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Якин %s ичида',\n            past: 'Бир неча %s олдин',\n            s: 'фурсат',\n            ss: '%d фурсат',\n            m: 'бир дакика',\n            mm: '%d дакика',\n            h: 'бир соат',\n            hh: '%d соат',\n            d: 'бир кун',\n            dd: '%d кун',\n            M: 'бир ой',\n            MM: '%d ой',\n            y: 'бир йил',\n            yy: '%d йил',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var vi = moment.defineLocale('vi', {\n        months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n            '_'\n        ),\n        monthsShort:\n            'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n            '_'\n        ),\n        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /sa|ch/i,\n        isPM: function (input) {\n            return /^ch$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'sa' : 'SA';\n            } else {\n                return isLower ? 'ch' : 'CH';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [năm] YYYY',\n            LLL: 'D MMMM [năm] YYYY HH:mm',\n            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n            l: 'DD/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hôm nay lúc] LT',\n            nextDay: '[Ngày mai lúc] LT',\n            nextWeek: 'dddd [tuần tới lúc] LT',\n            lastDay: '[Hôm qua lúc] LT',\n            lastWeek: 'dddd [tuần trước lúc] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s tới',\n            past: '%s trước',\n            s: 'vài giây',\n            ss: '%d giây',\n            m: 'một phút',\n            mm: '%d phút',\n            h: 'một giờ',\n            hh: '%d giờ',\n            d: 'một ngày',\n            dd: '%d ngày',\n            w: 'một tuần',\n            ww: '%d tuần',\n            M: 'một tháng',\n            MM: '%d tháng',\n            y: 'một năm',\n            yy: '%d năm',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var xPseudo = moment.defineLocale('x-pseudo', {\n        months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n            '_'\n        ),\n        monthsShort:\n            'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n                '_'\n            ),\n        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[T~ódá~ý át] LT',\n            nextDay: '[T~ómó~rró~w át] LT',\n            nextWeek: 'dddd [át] LT',\n            lastDay: '[Ý~ést~érdá~ý át] LT',\n            lastWeek: '[L~ást] dddd [át] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'í~ñ %s',\n            past: '%s á~gó',\n            s: 'á ~féw ~sécó~ñds',\n            ss: '%d s~écóñ~ds',\n            m: 'á ~míñ~úté',\n            mm: '%d m~íñú~tés',\n            h: 'á~ñ hó~úr',\n            hh: '%d h~óúrs',\n            d: 'á ~dáý',\n            dd: '%d d~áýs',\n            M: 'á ~móñ~th',\n            MM: '%d m~óñt~hs',\n            y: 'á ~ýéár',\n            yy: '%d ý~éárs',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var yo = moment.defineLocale('yo', {\n        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n            '_'\n        ),\n        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Ònì ni] LT',\n            nextDay: '[Ọ̀la ni] LT',\n            nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n            lastDay: '[Àna ni] LT',\n            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ní %s',\n            past: '%s kọjá',\n            s: 'ìsẹjú aayá die',\n            ss: 'aayá %d',\n            m: 'ìsẹjú kan',\n            mm: 'ìsẹjú %d',\n            h: 'wákati kan',\n            hh: 'wákati %d',\n            d: 'ọjọ́ kan',\n            dd: 'ọjọ́ %d',\n            M: 'osù kan',\n            MM: 'osù %d',\n            y: 'ọdún kan',\n            yy: 'ọdún %d',\n        },\n        dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n        ordinal: 'ọjọ́ %d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhCn = moment.defineLocale('zh-cn', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日Ah点mm分',\n            LLLL: 'YYYY年M月D日ddddAh点mm分',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            } else {\n                // '中午'\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[下]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            lastDay: '[昨天]LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[上]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '周';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s后',\n            past: '%s前',\n            s: '几秒',\n            ss: '%d 秒',\n            m: '1 分钟',\n            mm: '%d 分钟',\n            h: '1 小时',\n            hh: '%d 小时',\n            d: '1 天',\n            dd: '%d 天',\n            w: '1 周',\n            ww: '%d 周',\n            M: '1 个月',\n            MM: '%d 个月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhHk = moment.defineLocale('zh-hk', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1200) {\n                return '上午';\n            } else if (hm === 1200) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: '[下]ddddLT',\n            lastDay: '[昨天]LT',\n            lastWeek: '[上]ddddLT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhMo = moment.defineLocale('zh-mo', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s內',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhTw = moment.defineLocale('zh-tw', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhTw;\n\n})));\n","var map = {\n\t\"./af\": 157,\n\t\"./af.js\": 157,\n\t\"./ar\": 158,\n\t\"./ar-dz\": 159,\n\t\"./ar-dz.js\": 159,\n\t\"./ar-kw\": 160,\n\t\"./ar-kw.js\": 160,\n\t\"./ar-ly\": 161,\n\t\"./ar-ly.js\": 161,\n\t\"./ar-ma\": 162,\n\t\"./ar-ma.js\": 162,\n\t\"./ar-sa\": 163,\n\t\"./ar-sa.js\": 163,\n\t\"./ar-tn\": 164,\n\t\"./ar-tn.js\": 164,\n\t\"./ar.js\": 158,\n\t\"./az\": 165,\n\t\"./az.js\": 165,\n\t\"./be\": 166,\n\t\"./be.js\": 166,\n\t\"./bg\": 167,\n\t\"./bg.js\": 167,\n\t\"./bm\": 168,\n\t\"./bm.js\": 168,\n\t\"./bn\": 169,\n\t\"./bn-bd\": 170,\n\t\"./bn-bd.js\": 170,\n\t\"./bn.js\": 169,\n\t\"./bo\": 171,\n\t\"./bo.js\": 171,\n\t\"./br\": 172,\n\t\"./br.js\": 172,\n\t\"./bs\": 173,\n\t\"./bs.js\": 173,\n\t\"./ca\": 174,\n\t\"./ca.js\": 174,\n\t\"./cs\": 175,\n\t\"./cs.js\": 175,\n\t\"./cv\": 176,\n\t\"./cv.js\": 176,\n\t\"./cy\": 177,\n\t\"./cy.js\": 177,\n\t\"./da\": 178,\n\t\"./da.js\": 178,\n\t\"./de\": 179,\n\t\"./de-at\": 180,\n\t\"./de-at.js\": 180,\n\t\"./de-ch\": 181,\n\t\"./de-ch.js\": 181,\n\t\"./de.js\": 179,\n\t\"./dv\": 182,\n\t\"./dv.js\": 182,\n\t\"./el\": 183,\n\t\"./el.js\": 183,\n\t\"./en-au\": 184,\n\t\"./en-au.js\": 184,\n\t\"./en-ca\": 185,\n\t\"./en-ca.js\": 185,\n\t\"./en-gb\": 186,\n\t\"./en-gb.js\": 186,\n\t\"./en-ie\": 187,\n\t\"./en-ie.js\": 187,\n\t\"./en-il\": 188,\n\t\"./en-il.js\": 188,\n\t\"./en-in\": 189,\n\t\"./en-in.js\": 189,\n\t\"./en-nz\": 190,\n\t\"./en-nz.js\": 190,\n\t\"./en-sg\": 191,\n\t\"./en-sg.js\": 191,\n\t\"./eo\": 192,\n\t\"./eo.js\": 192,\n\t\"./es\": 193,\n\t\"./es-do\": 194,\n\t\"./es-do.js\": 194,\n\t\"./es-mx\": 195,\n\t\"./es-mx.js\": 195,\n\t\"./es-us\": 196,\n\t\"./es-us.js\": 196,\n\t\"./es.js\": 193,\n\t\"./et\": 197,\n\t\"./et.js\": 197,\n\t\"./eu\": 198,\n\t\"./eu.js\": 198,\n\t\"./fa\": 199,\n\t\"./fa.js\": 199,\n\t\"./fi\": 200,\n\t\"./fi.js\": 200,\n\t\"./fil\": 201,\n\t\"./fil.js\": 201,\n\t\"./fo\": 202,\n\t\"./fo.js\": 202,\n\t\"./fr\": 203,\n\t\"./fr-ca\": 204,\n\t\"./fr-ca.js\": 204,\n\t\"./fr-ch\": 205,\n\t\"./fr-ch.js\": 205,\n\t\"./fr.js\": 203,\n\t\"./fy\": 206,\n\t\"./fy.js\": 206,\n\t\"./ga\": 207,\n\t\"./ga.js\": 207,\n\t\"./gd\": 208,\n\t\"./gd.js\": 208,\n\t\"./gl\": 209,\n\t\"./gl.js\": 209,\n\t\"./gom-deva\": 210,\n\t\"./gom-deva.js\": 210,\n\t\"./gom-latn\": 211,\n\t\"./gom-latn.js\": 211,\n\t\"./gu\": 212,\n\t\"./gu.js\": 212,\n\t\"./he\": 213,\n\t\"./he.js\": 213,\n\t\"./hi\": 214,\n\t\"./hi.js\": 214,\n\t\"./hr\": 215,\n\t\"./hr.js\": 215,\n\t\"./hu\": 216,\n\t\"./hu.js\": 216,\n\t\"./hy-am\": 217,\n\t\"./hy-am.js\": 217,\n\t\"./id\": 218,\n\t\"./id.js\": 218,\n\t\"./is\": 219,\n\t\"./is.js\": 219,\n\t\"./it\": 220,\n\t\"./it-ch\": 221,\n\t\"./it-ch.js\": 221,\n\t\"./it.js\": 220,\n\t\"./ja\": 222,\n\t\"./ja.js\": 222,\n\t\"./jv\": 223,\n\t\"./jv.js\": 223,\n\t\"./ka\": 224,\n\t\"./ka.js\": 224,\n\t\"./kk\": 225,\n\t\"./kk.js\": 225,\n\t\"./km\": 226,\n\t\"./km.js\": 226,\n\t\"./kn\": 227,\n\t\"./kn.js\": 227,\n\t\"./ko\": 228,\n\t\"./ko.js\": 228,\n\t\"./ku\": 229,\n\t\"./ku.js\": 229,\n\t\"./ky\": 230,\n\t\"./ky.js\": 230,\n\t\"./lb\": 231,\n\t\"./lb.js\": 231,\n\t\"./lo\": 232,\n\t\"./lo.js\": 232,\n\t\"./lt\": 233,\n\t\"./lt.js\": 233,\n\t\"./lv\": 234,\n\t\"./lv.js\": 234,\n\t\"./me\": 235,\n\t\"./me.js\": 235,\n\t\"./mi\": 236,\n\t\"./mi.js\": 236,\n\t\"./mk\": 237,\n\t\"./mk.js\": 237,\n\t\"./ml\": 238,\n\t\"./ml.js\": 238,\n\t\"./mn\": 239,\n\t\"./mn.js\": 239,\n\t\"./mr\": 240,\n\t\"./mr.js\": 240,\n\t\"./ms\": 241,\n\t\"./ms-my\": 242,\n\t\"./ms-my.js\": 242,\n\t\"./ms.js\": 241,\n\t\"./mt\": 243,\n\t\"./mt.js\": 243,\n\t\"./my\": 244,\n\t\"./my.js\": 244,\n\t\"./nb\": 245,\n\t\"./nb.js\": 245,\n\t\"./ne\": 246,\n\t\"./ne.js\": 246,\n\t\"./nl\": 247,\n\t\"./nl-be\": 248,\n\t\"./nl-be.js\": 248,\n\t\"./nl.js\": 247,\n\t\"./nn\": 249,\n\t\"./nn.js\": 249,\n\t\"./oc-lnc\": 250,\n\t\"./oc-lnc.js\": 250,\n\t\"./pa-in\": 251,\n\t\"./pa-in.js\": 251,\n\t\"./pl\": 252,\n\t\"./pl.js\": 252,\n\t\"./pt\": 253,\n\t\"./pt-br\": 254,\n\t\"./pt-br.js\": 254,\n\t\"./pt.js\": 253,\n\t\"./ro\": 255,\n\t\"./ro.js\": 255,\n\t\"./ru\": 256,\n\t\"./ru.js\": 256,\n\t\"./sd\": 257,\n\t\"./sd.js\": 257,\n\t\"./se\": 258,\n\t\"./se.js\": 258,\n\t\"./si\": 259,\n\t\"./si.js\": 259,\n\t\"./sk\": 260,\n\t\"./sk.js\": 260,\n\t\"./sl\": 261,\n\t\"./sl.js\": 261,\n\t\"./sq\": 262,\n\t\"./sq.js\": 262,\n\t\"./sr\": 263,\n\t\"./sr-cyrl\": 264,\n\t\"./sr-cyrl.js\": 264,\n\t\"./sr.js\": 263,\n\t\"./ss\": 265,\n\t\"./ss.js\": 265,\n\t\"./sv\": 266,\n\t\"./sv.js\": 266,\n\t\"./sw\": 267,\n\t\"./sw.js\": 267,\n\t\"./ta\": 268,\n\t\"./ta.js\": 268,\n\t\"./te\": 269,\n\t\"./te.js\": 269,\n\t\"./tet\": 270,\n\t\"./tet.js\": 270,\n\t\"./tg\": 271,\n\t\"./tg.js\": 271,\n\t\"./th\": 272,\n\t\"./th.js\": 272,\n\t\"./tk\": 273,\n\t\"./tk.js\": 273,\n\t\"./tl-ph\": 274,\n\t\"./tl-ph.js\": 274,\n\t\"./tlh\": 275,\n\t\"./tlh.js\": 275,\n\t\"./tr\": 276,\n\t\"./tr.js\": 276,\n\t\"./tzl\": 277,\n\t\"./tzl.js\": 277,\n\t\"./tzm\": 278,\n\t\"./tzm-latn\": 279,\n\t\"./tzm-latn.js\": 279,\n\t\"./tzm.js\": 278,\n\t\"./ug-cn\": 280,\n\t\"./ug-cn.js\": 280,\n\t\"./uk\": 281,\n\t\"./uk.js\": 281,\n\t\"./ur\": 282,\n\t\"./ur.js\": 282,\n\t\"./uz\": 283,\n\t\"./uz-latn\": 284,\n\t\"./uz-latn.js\": 284,\n\t\"./uz.js\": 283,\n\t\"./vi\": 285,\n\t\"./vi.js\": 285,\n\t\"./x-pseudo\": 286,\n\t\"./x-pseudo.js\": 286,\n\t\"./yo\": 287,\n\t\"./yo.js\": 287,\n\t\"./zh-cn\": 288,\n\t\"./zh-cn.js\": 288,\n\t\"./zh-hk\": 289,\n\t\"./zh-hk.js\": 289,\n\t\"./zh-mo\": 290,\n\t\"./zh-mo.js\": 290,\n\t\"./zh-tw\": 291,\n\t\"./zh-tw.js\": 291\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 655;","//! moment.js\n//! version : 2.29.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\n    var hookCallback;\n\n    function hooks() {\n        return hookCallback.apply(null, arguments);\n    }\n\n    // This is done to register the method called with moment()\n    // without creating circular dependencies.\n    function setHookCallback(callback) {\n        hookCallback = callback;\n    }\n\n    function isArray(input) {\n        return (\n            input instanceof Array ||\n            Object.prototype.toString.call(input) === '[object Array]'\n        );\n    }\n\n    function isObject(input) {\n        // IE8 will treat undefined and null as object if it wasn't for\n        // input != null\n        return (\n            input != null &&\n            Object.prototype.toString.call(input) === '[object Object]'\n        );\n    }\n\n    function hasOwnProp(a, b) {\n        return Object.prototype.hasOwnProperty.call(a, b);\n    }\n\n    function isObjectEmpty(obj) {\n        if (Object.getOwnPropertyNames) {\n            return Object.getOwnPropertyNames(obj).length === 0;\n        } else {\n            var k;\n            for (k in obj) {\n                if (hasOwnProp(obj, k)) {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n\n    function isUndefined(input) {\n        return input === void 0;\n    }\n\n    function isNumber(input) {\n        return (\n            typeof input === 'number' ||\n            Object.prototype.toString.call(input) === '[object Number]'\n        );\n    }\n\n    function isDate(input) {\n        return (\n            input instanceof Date ||\n            Object.prototype.toString.call(input) === '[object Date]'\n        );\n    }\n\n    function map(arr, fn) {\n        var res = [],\n            i,\n            arrLen = arr.length;\n        for (i = 0; i < arrLen; ++i) {\n            res.push(fn(arr[i], i));\n        }\n        return res;\n    }\n\n    function extend(a, b) {\n        for (var i in b) {\n            if (hasOwnProp(b, i)) {\n                a[i] = b[i];\n            }\n        }\n\n        if (hasOwnProp(b, 'toString')) {\n            a.toString = b.toString;\n        }\n\n        if (hasOwnProp(b, 'valueOf')) {\n            a.valueOf = b.valueOf;\n        }\n\n        return a;\n    }\n\n    function createUTC(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, true).utc();\n    }\n\n    function defaultParsingFlags() {\n        // We need to deep clone this object.\n        return {\n            empty: false,\n            unusedTokens: [],\n            unusedInput: [],\n            overflow: -2,\n            charsLeftOver: 0,\n            nullInput: false,\n            invalidEra: null,\n            invalidMonth: null,\n            invalidFormat: false,\n            userInvalidated: false,\n            iso: false,\n            parsedDateParts: [],\n            era: null,\n            meridiem: null,\n            rfc2822: false,\n            weekdayMismatch: false,\n        };\n    }\n\n    function getParsingFlags(m) {\n        if (m._pf == null) {\n            m._pf = defaultParsingFlags();\n        }\n        return m._pf;\n    }\n\n    var some;\n    if (Array.prototype.some) {\n        some = Array.prototype.some;\n    } else {\n        some = function (fun) {\n            var t = Object(this),\n                len = t.length >>> 0,\n                i;\n\n            for (i = 0; i < len; i++) {\n                if (i in t && fun.call(this, t[i], i, t)) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n    }\n\n    function isValid(m) {\n        if (m._isValid == null) {\n            var flags = getParsingFlags(m),\n                parsedParts = some.call(flags.parsedDateParts, function (i) {\n                    return i != null;\n                }),\n                isNowValid =\n                    !isNaN(m._d.getTime()) &&\n                    flags.overflow < 0 &&\n                    !flags.empty &&\n                    !flags.invalidEra &&\n                    !flags.invalidMonth &&\n                    !flags.invalidWeekday &&\n                    !flags.weekdayMismatch &&\n                    !flags.nullInput &&\n                    !flags.invalidFormat &&\n                    !flags.userInvalidated &&\n                    (!flags.meridiem || (flags.meridiem && parsedParts));\n\n            if (m._strict) {\n                isNowValid =\n                    isNowValid &&\n                    flags.charsLeftOver === 0 &&\n                    flags.unusedTokens.length === 0 &&\n                    flags.bigHour === undefined;\n            }\n\n            if (Object.isFrozen == null || !Object.isFrozen(m)) {\n                m._isValid = isNowValid;\n            } else {\n                return isNowValid;\n            }\n        }\n        return m._isValid;\n    }\n\n    function createInvalid(flags) {\n        var m = createUTC(NaN);\n        if (flags != null) {\n            extend(getParsingFlags(m), flags);\n        } else {\n            getParsingFlags(m).userInvalidated = true;\n        }\n\n        return m;\n    }\n\n    // Plugins that add properties should also add the key here (null value),\n    // so we can properly clone ourselves.\n    var momentProperties = (hooks.momentProperties = []),\n        updateInProgress = false;\n\n    function copyConfig(to, from) {\n        var i,\n            prop,\n            val,\n            momentPropertiesLen = momentProperties.length;\n\n        if (!isUndefined(from._isAMomentObject)) {\n            to._isAMomentObject = from._isAMomentObject;\n        }\n        if (!isUndefined(from._i)) {\n            to._i = from._i;\n        }\n        if (!isUndefined(from._f)) {\n            to._f = from._f;\n        }\n        if (!isUndefined(from._l)) {\n            to._l = from._l;\n        }\n        if (!isUndefined(from._strict)) {\n            to._strict = from._strict;\n        }\n        if (!isUndefined(from._tzm)) {\n            to._tzm = from._tzm;\n        }\n        if (!isUndefined(from._isUTC)) {\n            to._isUTC = from._isUTC;\n        }\n        if (!isUndefined(from._offset)) {\n            to._offset = from._offset;\n        }\n        if (!isUndefined(from._pf)) {\n            to._pf = getParsingFlags(from);\n        }\n        if (!isUndefined(from._locale)) {\n            to._locale = from._locale;\n        }\n\n        if (momentPropertiesLen > 0) {\n            for (i = 0; i < momentPropertiesLen; i++) {\n                prop = momentProperties[i];\n                val = from[prop];\n                if (!isUndefined(val)) {\n                    to[prop] = val;\n                }\n            }\n        }\n\n        return to;\n    }\n\n    // Moment prototype object\n    function Moment(config) {\n        copyConfig(this, config);\n        this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n        if (!this.isValid()) {\n            this._d = new Date(NaN);\n        }\n        // Prevent infinite loop in case updateOffset creates new moment\n        // objects.\n        if (updateInProgress === false) {\n            updateInProgress = true;\n            hooks.updateOffset(this);\n            updateInProgress = false;\n        }\n    }\n\n    function isMoment(obj) {\n        return (\n            obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n        );\n    }\n\n    function warn(msg) {\n        if (\n            hooks.suppressDeprecationWarnings === false &&\n            typeof console !== 'undefined' &&\n            console.warn\n        ) {\n            console.warn('Deprecation warning: ' + msg);\n        }\n    }\n\n    function deprecate(msg, fn) {\n        var firstTime = true;\n\n        return extend(function () {\n            if (hooks.deprecationHandler != null) {\n                hooks.deprecationHandler(null, msg);\n            }\n            if (firstTime) {\n                var args = [],\n                    arg,\n                    i,\n                    key,\n                    argLen = arguments.length;\n                for (i = 0; i < argLen; i++) {\n                    arg = '';\n                    if (typeof arguments[i] === 'object') {\n                        arg += '\\n[' + i + '] ';\n                        for (key in arguments[0]) {\n                            if (hasOwnProp(arguments[0], key)) {\n                                arg += key + ': ' + arguments[0][key] + ', ';\n                            }\n                        }\n                        arg = arg.slice(0, -2); // Remove trailing comma and space\n                    } else {\n                        arg = arguments[i];\n                    }\n                    args.push(arg);\n                }\n                warn(\n                    msg +\n                        '\\nArguments: ' +\n                        Array.prototype.slice.call(args).join('') +\n                        '\\n' +\n                        new Error().stack\n                );\n                firstTime = false;\n            }\n            return fn.apply(this, arguments);\n        }, fn);\n    }\n\n    var deprecations = {};\n\n    function deprecateSimple(name, msg) {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(name, msg);\n        }\n        if (!deprecations[name]) {\n            warn(msg);\n            deprecations[name] = true;\n        }\n    }\n\n    hooks.suppressDeprecationWarnings = false;\n    hooks.deprecationHandler = null;\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    function set(config) {\n        var prop, i;\n        for (i in config) {\n            if (hasOwnProp(config, i)) {\n                prop = config[i];\n                if (isFunction(prop)) {\n                    this[i] = prop;\n                } else {\n                    this['_' + i] = prop;\n                }\n            }\n        }\n        this._config = config;\n        // Lenient ordinal parsing accepts just a number in addition to\n        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        this._dayOfMonthOrdinalParseLenient = new RegExp(\n            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n                '|' +\n                /\\d{1,2}/.source\n        );\n    }\n\n    function mergeConfigs(parentConfig, childConfig) {\n        var res = extend({}, parentConfig),\n            prop;\n        for (prop in childConfig) {\n            if (hasOwnProp(childConfig, prop)) {\n                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                    res[prop] = {};\n                    extend(res[prop], parentConfig[prop]);\n                    extend(res[prop], childConfig[prop]);\n                } else if (childConfig[prop] != null) {\n                    res[prop] = childConfig[prop];\n                } else {\n                    delete res[prop];\n                }\n            }\n        }\n        for (prop in parentConfig) {\n            if (\n                hasOwnProp(parentConfig, prop) &&\n                !hasOwnProp(childConfig, prop) &&\n                isObject(parentConfig[prop])\n            ) {\n                // make sure changes to properties don't modify parent config\n                res[prop] = extend({}, res[prop]);\n            }\n        }\n        return res;\n    }\n\n    function Locale(config) {\n        if (config != null) {\n            this.set(config);\n        }\n    }\n\n    var keys;\n\n    if (Object.keys) {\n        keys = Object.keys;\n    } else {\n        keys = function (obj) {\n            var i,\n                res = [];\n            for (i in obj) {\n                if (hasOwnProp(obj, i)) {\n                    res.push(i);\n                }\n            }\n            return res;\n        };\n    }\n\n    var defaultCalendar = {\n        sameDay: '[Today at] LT',\n        nextDay: '[Tomorrow at] LT',\n        nextWeek: 'dddd [at] LT',\n        lastDay: '[Yesterday at] LT',\n        lastWeek: '[Last] dddd [at] LT',\n        sameElse: 'L',\n    };\n\n    function calendar(key, mom, now) {\n        var output = this._calendar[key] || this._calendar['sameElse'];\n        return isFunction(output) ? output.call(mom, now) : output;\n    }\n\n    function zeroFill(number, targetLength, forceSign) {\n        var absNumber = '' + Math.abs(number),\n            zerosToFill = targetLength - absNumber.length,\n            sign = number >= 0;\n        return (\n            (sign ? (forceSign ? '+' : '') : '-') +\n            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n            absNumber\n        );\n    }\n\n    var formattingTokens =\n            /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n        localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n        formatFunctions = {},\n        formatTokenFunctions = {};\n\n    // token:    'M'\n    // padded:   ['MM', 2]\n    // ordinal:  'Mo'\n    // callback: function () { this.month() + 1 }\n    function addFormatToken(token, padded, ordinal, callback) {\n        var func = callback;\n        if (typeof callback === 'string') {\n            func = function () {\n                return this[callback]();\n            };\n        }\n        if (token) {\n            formatTokenFunctions[token] = func;\n        }\n        if (padded) {\n            formatTokenFunctions[padded[0]] = function () {\n                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n            };\n        }\n        if (ordinal) {\n            formatTokenFunctions[ordinal] = function () {\n                return this.localeData().ordinal(\n                    func.apply(this, arguments),\n                    token\n                );\n            };\n        }\n    }\n\n    function removeFormattingTokens(input) {\n        if (input.match(/\\[[\\s\\S]/)) {\n            return input.replace(/^\\[|\\]$/g, '');\n        }\n        return input.replace(/\\\\/g, '');\n    }\n\n    function makeFormatFunction(format) {\n        var array = format.match(formattingTokens),\n            i,\n            length;\n\n        for (i = 0, length = array.length; i < length; i++) {\n            if (formatTokenFunctions[array[i]]) {\n                array[i] = formatTokenFunctions[array[i]];\n            } else {\n                array[i] = removeFormattingTokens(array[i]);\n            }\n        }\n\n        return function (mom) {\n            var output = '',\n                i;\n            for (i = 0; i < length; i++) {\n                output += isFunction(array[i])\n                    ? array[i].call(mom, format)\n                    : array[i];\n            }\n            return output;\n        };\n    }\n\n    // format date using native date object\n    function formatMoment(m, format) {\n        if (!m.isValid()) {\n            return m.localeData().invalidDate();\n        }\n\n        format = expandFormat(format, m.localeData());\n        formatFunctions[format] =\n            formatFunctions[format] || makeFormatFunction(format);\n\n        return formatFunctions[format](m);\n    }\n\n    function expandFormat(format, locale) {\n        var i = 5;\n\n        function replaceLongDateFormatTokens(input) {\n            return locale.longDateFormat(input) || input;\n        }\n\n        localFormattingTokens.lastIndex = 0;\n        while (i >= 0 && localFormattingTokens.test(format)) {\n            format = format.replace(\n                localFormattingTokens,\n                replaceLongDateFormatTokens\n            );\n            localFormattingTokens.lastIndex = 0;\n            i -= 1;\n        }\n\n        return format;\n    }\n\n    var defaultLongDateFormat = {\n        LTS: 'h:mm:ss A',\n        LT: 'h:mm A',\n        L: 'MM/DD/YYYY',\n        LL: 'MMMM D, YYYY',\n        LLL: 'MMMM D, YYYY h:mm A',\n        LLLL: 'dddd, MMMM D, YYYY h:mm A',\n    };\n\n    function longDateFormat(key) {\n        var format = this._longDateFormat[key],\n            formatUpper = this._longDateFormat[key.toUpperCase()];\n\n        if (format || !formatUpper) {\n            return format;\n        }\n\n        this._longDateFormat[key] = formatUpper\n            .match(formattingTokens)\n            .map(function (tok) {\n                if (\n                    tok === 'MMMM' ||\n                    tok === 'MM' ||\n                    tok === 'DD' ||\n                    tok === 'dddd'\n                ) {\n                    return tok.slice(1);\n                }\n                return tok;\n            })\n            .join('');\n\n        return this._longDateFormat[key];\n    }\n\n    var defaultInvalidDate = 'Invalid date';\n\n    function invalidDate() {\n        return this._invalidDate;\n    }\n\n    var defaultOrdinal = '%d',\n        defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n    function ordinal(number) {\n        return this._ordinal.replace('%d', number);\n    }\n\n    var defaultRelativeTime = {\n        future: 'in %s',\n        past: '%s ago',\n        s: 'a few seconds',\n        ss: '%d seconds',\n        m: 'a minute',\n        mm: '%d minutes',\n        h: 'an hour',\n        hh: '%d hours',\n        d: 'a day',\n        dd: '%d days',\n        w: 'a week',\n        ww: '%d weeks',\n        M: 'a month',\n        MM: '%d months',\n        y: 'a year',\n        yy: '%d years',\n    };\n\n    function relativeTime(number, withoutSuffix, string, isFuture) {\n        var output = this._relativeTime[string];\n        return isFunction(output)\n            ? output(number, withoutSuffix, string, isFuture)\n            : output.replace(/%d/i, number);\n    }\n\n    function pastFuture(diff, output) {\n        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n        return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n    }\n\n    var aliases = {};\n\n    function addUnitAlias(unit, shorthand) {\n        var lowerCase = unit.toLowerCase();\n        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n    }\n\n    function normalizeUnits(units) {\n        return typeof units === 'string'\n            ? aliases[units] || aliases[units.toLowerCase()]\n            : undefined;\n    }\n\n    function normalizeObjectUnits(inputObject) {\n        var normalizedInput = {},\n            normalizedProp,\n            prop;\n\n        for (prop in inputObject) {\n            if (hasOwnProp(inputObject, prop)) {\n                normalizedProp = normalizeUnits(prop);\n                if (normalizedProp) {\n                    normalizedInput[normalizedProp] = inputObject[prop];\n                }\n            }\n        }\n\n        return normalizedInput;\n    }\n\n    var priorities = {};\n\n    function addUnitPriority(unit, priority) {\n        priorities[unit] = priority;\n    }\n\n    function getPrioritizedUnits(unitsObj) {\n        var units = [],\n            u;\n        for (u in unitsObj) {\n            if (hasOwnProp(unitsObj, u)) {\n                units.push({ unit: u, priority: priorities[u] });\n            }\n        }\n        units.sort(function (a, b) {\n            return a.priority - b.priority;\n        });\n        return units;\n    }\n\n    function isLeapYear(year) {\n        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n    }\n\n    function absFloor(number) {\n        if (number < 0) {\n            // -0 -> 0\n            return Math.ceil(number) || 0;\n        } else {\n            return Math.floor(number);\n        }\n    }\n\n    function toInt(argumentForCoercion) {\n        var coercedNumber = +argumentForCoercion,\n            value = 0;\n\n        if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n            value = absFloor(coercedNumber);\n        }\n\n        return value;\n    }\n\n    function makeGetSet(unit, keepTime) {\n        return function (value) {\n            if (value != null) {\n                set$1(this, unit, value);\n                hooks.updateOffset(this, keepTime);\n                return this;\n            } else {\n                return get(this, unit);\n            }\n        };\n    }\n\n    function get(mom, unit) {\n        return mom.isValid()\n            ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n            : NaN;\n    }\n\n    function set$1(mom, unit, value) {\n        if (mom.isValid() && !isNaN(value)) {\n            if (\n                unit === 'FullYear' &&\n                isLeapYear(mom.year()) &&\n                mom.month() === 1 &&\n                mom.date() === 29\n            ) {\n                value = toInt(value);\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n                    value,\n                    mom.month(),\n                    daysInMonth(value, mom.month())\n                );\n            } else {\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function stringGet(units) {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units]();\n        }\n        return this;\n    }\n\n    function stringSet(units, value) {\n        if (typeof units === 'object') {\n            units = normalizeObjectUnits(units);\n            var prioritized = getPrioritizedUnits(units),\n                i,\n                prioritizedLen = prioritized.length;\n            for (i = 0; i < prioritizedLen; i++) {\n                this[prioritized[i].unit](units[prioritized[i].unit]);\n            }\n        } else {\n            units = normalizeUnits(units);\n            if (isFunction(this[units])) {\n                return this[units](value);\n            }\n        }\n        return this;\n    }\n\n    var match1 = /\\d/, //       0 - 9\n        match2 = /\\d\\d/, //      00 - 99\n        match3 = /\\d{3}/, //     000 - 999\n        match4 = /\\d{4}/, //    0000 - 9999\n        match6 = /[+-]?\\d{6}/, // -999999 - 999999\n        match1to2 = /\\d\\d?/, //       0 - 99\n        match3to4 = /\\d\\d\\d\\d?/, //     999 - 9999\n        match5to6 = /\\d\\d\\d\\d\\d\\d?/, //   99999 - 999999\n        match1to3 = /\\d{1,3}/, //       0 - 999\n        match1to4 = /\\d{1,4}/, //       0 - 9999\n        match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n        matchUnsigned = /\\d+/, //       0 - inf\n        matchSigned = /[+-]?\\d+/, //    -inf - inf\n        matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n        matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n        matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n        // any word (or two) characters or numbers including two/three word month in arabic.\n        // includes scottish gaelic two word and hyphenated months\n        matchWord =\n            /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n        regexes;\n\n    regexes = {};\n\n    function addRegexToken(token, regex, strictRegex) {\n        regexes[token] = isFunction(regex)\n            ? regex\n            : function (isStrict, localeData) {\n                  return isStrict && strictRegex ? strictRegex : regex;\n              };\n    }\n\n    function getParseRegexForToken(token, config) {\n        if (!hasOwnProp(regexes, token)) {\n            return new RegExp(unescapeFormat(token));\n        }\n\n        return regexes[token](config._strict, config._locale);\n    }\n\n    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n    function unescapeFormat(s) {\n        return regexEscape(\n            s\n                .replace('\\\\', '')\n                .replace(\n                    /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n                    function (matched, p1, p2, p3, p4) {\n                        return p1 || p2 || p3 || p4;\n                    }\n                )\n        );\n    }\n\n    function regexEscape(s) {\n        return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    var tokens = {};\n\n    function addParseToken(token, callback) {\n        var i,\n            func = callback,\n            tokenLen;\n        if (typeof token === 'string') {\n            token = [token];\n        }\n        if (isNumber(callback)) {\n            func = function (input, array) {\n                array[callback] = toInt(input);\n            };\n        }\n        tokenLen = token.length;\n        for (i = 0; i < tokenLen; i++) {\n            tokens[token[i]] = func;\n        }\n    }\n\n    function addWeekParseToken(token, callback) {\n        addParseToken(token, function (input, array, config, token) {\n            config._w = config._w || {};\n            callback(input, config._w, config, token);\n        });\n    }\n\n    function addTimeToArrayFromToken(token, input, config) {\n        if (input != null && hasOwnProp(tokens, token)) {\n            tokens[token](input, config._a, config, token);\n        }\n    }\n\n    var YEAR = 0,\n        MONTH = 1,\n        DATE = 2,\n        HOUR = 3,\n        MINUTE = 4,\n        SECOND = 5,\n        MILLISECOND = 6,\n        WEEK = 7,\n        WEEKDAY = 8;\n\n    function mod(n, x) {\n        return ((n % x) + x) % x;\n    }\n\n    var indexOf;\n\n    if (Array.prototype.indexOf) {\n        indexOf = Array.prototype.indexOf;\n    } else {\n        indexOf = function (o) {\n            // I know\n            var i;\n            for (i = 0; i < this.length; ++i) {\n                if (this[i] === o) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n    }\n\n    function daysInMonth(year, month) {\n        if (isNaN(year) || isNaN(month)) {\n            return NaN;\n        }\n        var modMonth = mod(month, 12);\n        year += (month - modMonth) / 12;\n        return modMonth === 1\n            ? isLeapYear(year)\n                ? 29\n                : 28\n            : 31 - ((modMonth % 7) % 2);\n    }\n\n    // FORMATTING\n\n    addFormatToken('M', ['MM', 2], 'Mo', function () {\n        return this.month() + 1;\n    });\n\n    addFormatToken('MMM', 0, 0, function (format) {\n        return this.localeData().monthsShort(this, format);\n    });\n\n    addFormatToken('MMMM', 0, 0, function (format) {\n        return this.localeData().months(this, format);\n    });\n\n    // ALIASES\n\n    addUnitAlias('month', 'M');\n\n    // PRIORITY\n\n    addUnitPriority('month', 8);\n\n    // PARSING\n\n    addRegexToken('M', match1to2);\n    addRegexToken('MM', match1to2, match2);\n    addRegexToken('MMM', function (isStrict, locale) {\n        return locale.monthsShortRegex(isStrict);\n    });\n    addRegexToken('MMMM', function (isStrict, locale) {\n        return locale.monthsRegex(isStrict);\n    });\n\n    addParseToken(['M', 'MM'], function (input, array) {\n        array[MONTH] = toInt(input) - 1;\n    });\n\n    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n        var month = config._locale.monthsParse(input, token, config._strict);\n        // if we didn't find a month name, mark the date as invalid.\n        if (month != null) {\n            array[MONTH] = month;\n        } else {\n            getParsingFlags(config).invalidMonth = input;\n        }\n    });\n\n    // LOCALES\n\n    var defaultLocaleMonths =\n            'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n                '_'\n            ),\n        defaultLocaleMonthsShort =\n            'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n        defaultMonthsShortRegex = matchWord,\n        defaultMonthsRegex = matchWord;\n\n    function localeMonths(m, format) {\n        if (!m) {\n            return isArray(this._months)\n                ? this._months\n                : this._months['standalone'];\n        }\n        return isArray(this._months)\n            ? this._months[m.month()]\n            : this._months[\n                  (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n                      ? 'format'\n                      : 'standalone'\n              ][m.month()];\n    }\n\n    function localeMonthsShort(m, format) {\n        if (!m) {\n            return isArray(this._monthsShort)\n                ? this._monthsShort\n                : this._monthsShort['standalone'];\n        }\n        return isArray(this._monthsShort)\n            ? this._monthsShort[m.month()]\n            : this._monthsShort[\n                  MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n              ][m.month()];\n    }\n\n    function handleStrictParse(monthName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = monthName.toLocaleLowerCase();\n        if (!this._monthsParse) {\n            // this is not used\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n            for (i = 0; i < 12; ++i) {\n                mom = createUTC([2000, i]);\n                this._shortMonthsParse[i] = this.monthsShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeMonthsParse(monthName, format, strict) {\n        var i, mom, regex;\n\n        if (this._monthsParseExact) {\n            return handleStrictParse.call(this, monthName, format, strict);\n        }\n\n        if (!this._monthsParse) {\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n        }\n\n        // TODO: add sorting\n        // Sorting makes sure if one month (or abbr) is a prefix of another\n        // see sorting in computeMonthsParse\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            if (strict && !this._longMonthsParse[i]) {\n                this._longMonthsParse[i] = new RegExp(\n                    '^' + this.months(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n                this._shortMonthsParse[i] = new RegExp(\n                    '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n            }\n            if (!strict && !this._monthsParse[i]) {\n                regex =\n                    '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'MMMM' &&\n                this._longMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'MMM' &&\n                this._shortMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (!strict && this._monthsParse[i].test(monthName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function setMonth(mom, value) {\n        var dayOfMonth;\n\n        if (!mom.isValid()) {\n            // No op\n            return mom;\n        }\n\n        if (typeof value === 'string') {\n            if (/^\\d+$/.test(value)) {\n                value = toInt(value);\n            } else {\n                value = mom.localeData().monthsParse(value);\n                // TODO: Another silent failure?\n                if (!isNumber(value)) {\n                    return mom;\n                }\n            }\n        }\n\n        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n        return mom;\n    }\n\n    function getSetMonth(value) {\n        if (value != null) {\n            setMonth(this, value);\n            hooks.updateOffset(this, true);\n            return this;\n        } else {\n            return get(this, 'Month');\n        }\n    }\n\n    function getDaysInMonth() {\n        return daysInMonth(this.year(), this.month());\n    }\n\n    function monthsShortRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsShortStrictRegex;\n            } else {\n                return this._monthsShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsShortRegex')) {\n                this._monthsShortRegex = defaultMonthsShortRegex;\n            }\n            return this._monthsShortStrictRegex && isStrict\n                ? this._monthsShortStrictRegex\n                : this._monthsShortRegex;\n        }\n    }\n\n    function monthsRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsStrictRegex;\n            } else {\n                return this._monthsRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                this._monthsRegex = defaultMonthsRegex;\n            }\n            return this._monthsStrictRegex && isStrict\n                ? this._monthsStrictRegex\n                : this._monthsRegex;\n        }\n    }\n\n    function computeMonthsParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom;\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            shortPieces.push(this.monthsShort(mom, ''));\n            longPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.monthsShort(mom, ''));\n        }\n        // Sorting makes sure if one month (or abbr) is a prefix of another it\n        // will match the longer piece.\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n        for (i = 0; i < 12; i++) {\n            shortPieces[i] = regexEscape(shortPieces[i]);\n            longPieces[i] = regexEscape(longPieces[i]);\n        }\n        for (i = 0; i < 24; i++) {\n            mixedPieces[i] = regexEscape(mixedPieces[i]);\n        }\n\n        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._monthsShortRegex = this._monthsRegex;\n        this._monthsStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._monthsShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken('Y', 0, 0, function () {\n        var y = this.year();\n        return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n    });\n\n    addFormatToken(0, ['YY', 2], 0, function () {\n        return this.year() % 100;\n    });\n\n    addFormatToken(0, ['YYYY', 4], 0, 'year');\n    addFormatToken(0, ['YYYYY', 5], 0, 'year');\n    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n    // ALIASES\n\n    addUnitAlias('year', 'y');\n\n    // PRIORITIES\n\n    addUnitPriority('year', 1);\n\n    // PARSING\n\n    addRegexToken('Y', matchSigned);\n    addRegexToken('YY', match1to2, match2);\n    addRegexToken('YYYY', match1to4, match4);\n    addRegexToken('YYYYY', match1to6, match6);\n    addRegexToken('YYYYYY', match1to6, match6);\n\n    addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n    addParseToken('YYYY', function (input, array) {\n        array[YEAR] =\n            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n    });\n    addParseToken('YY', function (input, array) {\n        array[YEAR] = hooks.parseTwoDigitYear(input);\n    });\n    addParseToken('Y', function (input, array) {\n        array[YEAR] = parseInt(input, 10);\n    });\n\n    // HELPERS\n\n    function daysInYear(year) {\n        return isLeapYear(year) ? 366 : 365;\n    }\n\n    // HOOKS\n\n    hooks.parseTwoDigitYear = function (input) {\n        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n    };\n\n    // MOMENTS\n\n    var getSetYear = makeGetSet('FullYear', true);\n\n    function getIsLeapYear() {\n        return isLeapYear(this.year());\n    }\n\n    function createDate(y, m, d, h, M, s, ms) {\n        // can't just apply() to create a date:\n        // https://stackoverflow.com/q/181348\n        var date;\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            date = new Date(y + 400, m, d, h, M, s, ms);\n            if (isFinite(date.getFullYear())) {\n                date.setFullYear(y);\n            }\n        } else {\n            date = new Date(y, m, d, h, M, s, ms);\n        }\n\n        return date;\n    }\n\n    function createUTCDate(y) {\n        var date, args;\n        // the Date.UTC function remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            args = Array.prototype.slice.call(arguments);\n            // preserve leap years using a full 400 year cycle, then reset\n            args[0] = y + 400;\n            date = new Date(Date.UTC.apply(null, args));\n            if (isFinite(date.getUTCFullYear())) {\n                date.setUTCFullYear(y);\n            }\n        } else {\n            date = new Date(Date.UTC.apply(null, arguments));\n        }\n\n        return date;\n    }\n\n    // start-of-first-week - start-of-year\n    function firstWeekOffset(year, dow, doy) {\n        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n            fwd = 7 + dow - doy,\n            // first-week day local weekday -- which local weekday is fwd\n            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n        return -fwdlw + fwd - 1;\n    }\n\n    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n        var localWeekday = (7 + weekday - dow) % 7,\n            weekOffset = firstWeekOffset(year, dow, doy),\n            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n            resYear,\n            resDayOfYear;\n\n        if (dayOfYear <= 0) {\n            resYear = year - 1;\n            resDayOfYear = daysInYear(resYear) + dayOfYear;\n        } else if (dayOfYear > daysInYear(year)) {\n            resYear = year + 1;\n            resDayOfYear = dayOfYear - daysInYear(year);\n        } else {\n            resYear = year;\n            resDayOfYear = dayOfYear;\n        }\n\n        return {\n            year: resYear,\n            dayOfYear: resDayOfYear,\n        };\n    }\n\n    function weekOfYear(mom, dow, doy) {\n        var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n            resWeek,\n            resYear;\n\n        if (week < 1) {\n            resYear = mom.year() - 1;\n            resWeek = week + weeksInYear(resYear, dow, doy);\n        } else if (week > weeksInYear(mom.year(), dow, doy)) {\n            resWeek = week - weeksInYear(mom.year(), dow, doy);\n            resYear = mom.year() + 1;\n        } else {\n            resYear = mom.year();\n            resWeek = week;\n        }\n\n        return {\n            week: resWeek,\n            year: resYear,\n        };\n    }\n\n    function weeksInYear(year, dow, doy) {\n        var weekOffset = firstWeekOffset(year, dow, doy),\n            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n    }\n\n    // FORMATTING\n\n    addFormatToken('w', ['ww', 2], 'wo', 'week');\n    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n    // ALIASES\n\n    addUnitAlias('week', 'w');\n    addUnitAlias('isoWeek', 'W');\n\n    // PRIORITIES\n\n    addUnitPriority('week', 5);\n    addUnitPriority('isoWeek', 5);\n\n    // PARSING\n\n    addRegexToken('w', match1to2);\n    addRegexToken('ww', match1to2, match2);\n    addRegexToken('W', match1to2);\n    addRegexToken('WW', match1to2, match2);\n\n    addWeekParseToken(\n        ['w', 'ww', 'W', 'WW'],\n        function (input, week, config, token) {\n            week[token.substr(0, 1)] = toInt(input);\n        }\n    );\n\n    // HELPERS\n\n    // LOCALES\n\n    function localeWeek(mom) {\n        return weekOfYear(mom, this._week.dow, this._week.doy).week;\n    }\n\n    var defaultLocaleWeek = {\n        dow: 0, // Sunday is the first day of the week.\n        doy: 6, // The week that contains Jan 6th is the first week of the year.\n    };\n\n    function localeFirstDayOfWeek() {\n        return this._week.dow;\n    }\n\n    function localeFirstDayOfYear() {\n        return this._week.doy;\n    }\n\n    // MOMENTS\n\n    function getSetWeek(input) {\n        var week = this.localeData().week(this);\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    function getSetISOWeek(input) {\n        var week = weekOfYear(this, 1, 4).week;\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('d', 0, 'do', 'day');\n\n    addFormatToken('dd', 0, 0, function (format) {\n        return this.localeData().weekdaysMin(this, format);\n    });\n\n    addFormatToken('ddd', 0, 0, function (format) {\n        return this.localeData().weekdaysShort(this, format);\n    });\n\n    addFormatToken('dddd', 0, 0, function (format) {\n        return this.localeData().weekdays(this, format);\n    });\n\n    addFormatToken('e', 0, 0, 'weekday');\n    addFormatToken('E', 0, 0, 'isoWeekday');\n\n    // ALIASES\n\n    addUnitAlias('day', 'd');\n    addUnitAlias('weekday', 'e');\n    addUnitAlias('isoWeekday', 'E');\n\n    // PRIORITY\n    addUnitPriority('day', 11);\n    addUnitPriority('weekday', 11);\n    addUnitPriority('isoWeekday', 11);\n\n    // PARSING\n\n    addRegexToken('d', match1to2);\n    addRegexToken('e', match1to2);\n    addRegexToken('E', match1to2);\n    addRegexToken('dd', function (isStrict, locale) {\n        return locale.weekdaysMinRegex(isStrict);\n    });\n    addRegexToken('ddd', function (isStrict, locale) {\n        return locale.weekdaysShortRegex(isStrict);\n    });\n    addRegexToken('dddd', function (isStrict, locale) {\n        return locale.weekdaysRegex(isStrict);\n    });\n\n    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n        var weekday = config._locale.weekdaysParse(input, token, config._strict);\n        // if we didn't get a weekday name, mark the date as invalid\n        if (weekday != null) {\n            week.d = weekday;\n        } else {\n            getParsingFlags(config).invalidWeekday = input;\n        }\n    });\n\n    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n        week[token] = toInt(input);\n    });\n\n    // HELPERS\n\n    function parseWeekday(input, locale) {\n        if (typeof input !== 'string') {\n            return input;\n        }\n\n        if (!isNaN(input)) {\n            return parseInt(input, 10);\n        }\n\n        input = locale.weekdaysParse(input);\n        if (typeof input === 'number') {\n            return input;\n        }\n\n        return null;\n    }\n\n    function parseIsoWeekday(input, locale) {\n        if (typeof input === 'string') {\n            return locale.weekdaysParse(input) % 7 || 7;\n        }\n        return isNaN(input) ? null : input;\n    }\n\n    // LOCALES\n    function shiftWeekdays(ws, n) {\n        return ws.slice(n, 7).concat(ws.slice(0, n));\n    }\n\n    var defaultLocaleWeekdays =\n            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        defaultWeekdaysRegex = matchWord,\n        defaultWeekdaysShortRegex = matchWord,\n        defaultWeekdaysMinRegex = matchWord;\n\n    function localeWeekdays(m, format) {\n        var weekdays = isArray(this._weekdays)\n            ? this._weekdays\n            : this._weekdays[\n                  m && m !== true && this._weekdays.isFormat.test(format)\n                      ? 'format'\n                      : 'standalone'\n              ];\n        return m === true\n            ? shiftWeekdays(weekdays, this._week.dow)\n            : m\n            ? weekdays[m.day()]\n            : weekdays;\n    }\n\n    function localeWeekdaysShort(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n            : m\n            ? this._weekdaysShort[m.day()]\n            : this._weekdaysShort;\n    }\n\n    function localeWeekdaysMin(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n            : m\n            ? this._weekdaysMin[m.day()]\n            : this._weekdaysMin;\n    }\n\n    function handleStrictParse$1(weekdayName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = weekdayName.toLocaleLowerCase();\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._minWeekdaysParse = [];\n\n            for (i = 0; i < 7; ++i) {\n                mom = createUTC([2000, 1]).day(i);\n                this._minWeekdaysParse[i] = this.weekdaysMin(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._shortWeekdaysParse[i] = this.weekdaysShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeWeekdaysParse(weekdayName, format, strict) {\n        var i, mom, regex;\n\n        if (this._weekdaysParseExact) {\n            return handleStrictParse$1.call(this, weekdayName, format, strict);\n        }\n\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._minWeekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._fullWeekdaysParse = [];\n        }\n\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n\n            mom = createUTC([2000, 1]).day(i);\n            if (strict && !this._fullWeekdaysParse[i]) {\n                this._fullWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._shortWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._minWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n            }\n            if (!this._weekdaysParse[i]) {\n                regex =\n                    '^' +\n                    this.weekdays(mom, '') +\n                    '|^' +\n                    this.weekdaysShort(mom, '') +\n                    '|^' +\n                    this.weekdaysMin(mom, '');\n                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'dddd' &&\n                this._fullWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'ddd' &&\n                this._shortWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'dd' &&\n                this._minWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function getSetDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n        if (input != null) {\n            input = parseWeekday(input, this.localeData());\n            return this.add(input - day, 'd');\n        } else {\n            return day;\n        }\n    }\n\n    function getSetLocaleDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n        return input == null ? weekday : this.add(input - weekday, 'd');\n    }\n\n    function getSetISODayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        // behaves the same as moment#day except\n        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n        // as a setter, sunday should belong to the previous week.\n\n        if (input != null) {\n            var weekday = parseIsoWeekday(input, this.localeData());\n            return this.day(this.day() % 7 ? weekday : weekday - 7);\n        } else {\n            return this.day() || 7;\n        }\n    }\n\n    function weekdaysRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysStrictRegex;\n            } else {\n                return this._weekdaysRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                this._weekdaysRegex = defaultWeekdaysRegex;\n            }\n            return this._weekdaysStrictRegex && isStrict\n                ? this._weekdaysStrictRegex\n                : this._weekdaysRegex;\n        }\n    }\n\n    function weekdaysShortRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysShortStrictRegex;\n            } else {\n                return this._weekdaysShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n                this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n            }\n            return this._weekdaysShortStrictRegex && isStrict\n                ? this._weekdaysShortStrictRegex\n                : this._weekdaysShortRegex;\n        }\n    }\n\n    function weekdaysMinRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysMinStrictRegex;\n            } else {\n                return this._weekdaysMinRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n                this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n            }\n            return this._weekdaysMinStrictRegex && isStrict\n                ? this._weekdaysMinStrictRegex\n                : this._weekdaysMinRegex;\n        }\n    }\n\n    function computeWeekdaysParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var minPieces = [],\n            shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            minp,\n            shortp,\n            longp;\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, 1]).day(i);\n            minp = regexEscape(this.weekdaysMin(mom, ''));\n            shortp = regexEscape(this.weekdaysShort(mom, ''));\n            longp = regexEscape(this.weekdays(mom, ''));\n            minPieces.push(minp);\n            shortPieces.push(shortp);\n            longPieces.push(longp);\n            mixedPieces.push(minp);\n            mixedPieces.push(shortp);\n            mixedPieces.push(longp);\n        }\n        // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n        // will match the longer piece.\n        minPieces.sort(cmpLenRev);\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._weekdaysShortRegex = this._weekdaysRegex;\n        this._weekdaysMinRegex = this._weekdaysRegex;\n\n        this._weekdaysStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysMinStrictRegex = new RegExp(\n            '^(' + minPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    function hFormat() {\n        return this.hours() % 12 || 12;\n    }\n\n    function kFormat() {\n        return this.hours() || 24;\n    }\n\n    addFormatToken('H', ['HH', 2], 0, 'hour');\n    addFormatToken('h', ['hh', 2], 0, hFormat);\n    addFormatToken('k', ['kk', 2], 0, kFormat);\n\n    addFormatToken('hmm', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('hmmss', 0, 0, function () {\n        return (\n            '' +\n            hFormat.apply(this) +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    addFormatToken('Hmm', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('Hmmss', 0, 0, function () {\n        return (\n            '' +\n            this.hours() +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    function meridiem(token, lowercase) {\n        addFormatToken(token, 0, 0, function () {\n            return this.localeData().meridiem(\n                this.hours(),\n                this.minutes(),\n                lowercase\n            );\n        });\n    }\n\n    meridiem('a', true);\n    meridiem('A', false);\n\n    // ALIASES\n\n    addUnitAlias('hour', 'h');\n\n    // PRIORITY\n    addUnitPriority('hour', 13);\n\n    // PARSING\n\n    function matchMeridiem(isStrict, locale) {\n        return locale._meridiemParse;\n    }\n\n    addRegexToken('a', matchMeridiem);\n    addRegexToken('A', matchMeridiem);\n    addRegexToken('H', match1to2);\n    addRegexToken('h', match1to2);\n    addRegexToken('k', match1to2);\n    addRegexToken('HH', match1to2, match2);\n    addRegexToken('hh', match1to2, match2);\n    addRegexToken('kk', match1to2, match2);\n\n    addRegexToken('hmm', match3to4);\n    addRegexToken('hmmss', match5to6);\n    addRegexToken('Hmm', match3to4);\n    addRegexToken('Hmmss', match5to6);\n\n    addParseToken(['H', 'HH'], HOUR);\n    addParseToken(['k', 'kk'], function (input, array, config) {\n        var kInput = toInt(input);\n        array[HOUR] = kInput === 24 ? 0 : kInput;\n    });\n    addParseToken(['a', 'A'], function (input, array, config) {\n        config._isPm = config._locale.isPM(input);\n        config._meridiem = input;\n    });\n    addParseToken(['h', 'hh'], function (input, array, config) {\n        array[HOUR] = toInt(input);\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('Hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n    });\n    addParseToken('Hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n    });\n\n    // LOCALES\n\n    function localeIsPM(input) {\n        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n        // Using charAt should be more compatible.\n        return (input + '').toLowerCase().charAt(0) === 'p';\n    }\n\n    var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n        // Setting the hour should keep the time, because the user explicitly\n        // specified which hour they want. So trying to maintain the same hour (in\n        // a new timezone) makes sense. Adding/subtracting hours does not follow\n        // this rule.\n        getSetHour = makeGetSet('Hours', true);\n\n    function localeMeridiem(hours, minutes, isLower) {\n        if (hours > 11) {\n            return isLower ? 'pm' : 'PM';\n        } else {\n            return isLower ? 'am' : 'AM';\n        }\n    }\n\n    var baseConfig = {\n        calendar: defaultCalendar,\n        longDateFormat: defaultLongDateFormat,\n        invalidDate: defaultInvalidDate,\n        ordinal: defaultOrdinal,\n        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n        relativeTime: defaultRelativeTime,\n\n        months: defaultLocaleMonths,\n        monthsShort: defaultLocaleMonthsShort,\n\n        week: defaultLocaleWeek,\n\n        weekdays: defaultLocaleWeekdays,\n        weekdaysMin: defaultLocaleWeekdaysMin,\n        weekdaysShort: defaultLocaleWeekdaysShort,\n\n        meridiemParse: defaultLocaleMeridiemParse,\n    };\n\n    // internal storage for locale config files\n    var locales = {},\n        localeFamilies = {},\n        globalLocale;\n\n    function commonPrefix(arr1, arr2) {\n        var i,\n            minl = Math.min(arr1.length, arr2.length);\n        for (i = 0; i < minl; i += 1) {\n            if (arr1[i] !== arr2[i]) {\n                return i;\n            }\n        }\n        return minl;\n    }\n\n    function normalizeLocale(key) {\n        return key ? key.toLowerCase().replace('_', '-') : key;\n    }\n\n    // pick the locale from the array\n    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n    function chooseLocale(names) {\n        var i = 0,\n            j,\n            next,\n            locale,\n            split;\n\n        while (i < names.length) {\n            split = normalizeLocale(names[i]).split('-');\n            j = split.length;\n            next = normalizeLocale(names[i + 1]);\n            next = next ? next.split('-') : null;\n            while (j > 0) {\n                locale = loadLocale(split.slice(0, j).join('-'));\n                if (locale) {\n                    return locale;\n                }\n                if (\n                    next &&\n                    next.length >= j &&\n                    commonPrefix(split, next) >= j - 1\n                ) {\n                    //the next array item is better than a shallower substring of this one\n                    break;\n                }\n                j--;\n            }\n            i++;\n        }\n        return globalLocale;\n    }\n\n    function isLocaleNameSane(name) {\n        // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n        return name.match('^[^/\\\\\\\\]*$') != null;\n    }\n\n    function loadLocale(name) {\n        var oldLocale = null,\n            aliasedRequire;\n        // TODO: Find a better way to register and load all the locales in Node\n        if (\n            locales[name] === undefined &&\n            typeof module !== 'undefined' &&\n            module &&\n            module.exports &&\n            isLocaleNameSane(name)\n        ) {\n            try {\n                oldLocale = globalLocale._abbr;\n                aliasedRequire = require;\n                aliasedRequire('./locale/' + name);\n                getSetGlobalLocale(oldLocale);\n            } catch (e) {\n                // mark as not found to avoid repeating expensive file require call causing high CPU\n                // when trying to find en-US, en_US, en-us for every format call\n                locales[name] = null; // null means not found\n            }\n        }\n        return locales[name];\n    }\n\n    // This function will load locale and then set the global locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    function getSetGlobalLocale(key, values) {\n        var data;\n        if (key) {\n            if (isUndefined(values)) {\n                data = getLocale(key);\n            } else {\n                data = defineLocale(key, values);\n            }\n\n            if (data) {\n                // moment.duration._locale = moment._locale = data;\n                globalLocale = data;\n            } else {\n                if (typeof console !== 'undefined' && console.warn) {\n                    //warn user if arguments are passed but the locale could not be set\n                    console.warn(\n                        'Locale ' + key + ' not found. Did you forget to load it?'\n                    );\n                }\n            }\n        }\n\n        return globalLocale._abbr;\n    }\n\n    function defineLocale(name, config) {\n        if (config !== null) {\n            var locale,\n                parentConfig = baseConfig;\n            config.abbr = name;\n            if (locales[name] != null) {\n                deprecateSimple(\n                    'defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                        'an existing locale. moment.defineLocale(localeName, ' +\n                        'config) should only be used for creating a new locale ' +\n                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n                );\n                parentConfig = locales[name]._config;\n            } else if (config.parentLocale != null) {\n                if (locales[config.parentLocale] != null) {\n                    parentConfig = locales[config.parentLocale]._config;\n                } else {\n                    locale = loadLocale(config.parentLocale);\n                    if (locale != null) {\n                        parentConfig = locale._config;\n                    } else {\n                        if (!localeFamilies[config.parentLocale]) {\n                            localeFamilies[config.parentLocale] = [];\n                        }\n                        localeFamilies[config.parentLocale].push({\n                            name: name,\n                            config: config,\n                        });\n                        return null;\n                    }\n                }\n            }\n            locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n            if (localeFamilies[name]) {\n                localeFamilies[name].forEach(function (x) {\n                    defineLocale(x.name, x.config);\n                });\n            }\n\n            // backwards compat for now: also set the locale\n            // make sure we set the locale AFTER all child locales have been\n            // created, so we won't end up with the child locale set.\n            getSetGlobalLocale(name);\n\n            return locales[name];\n        } else {\n            // useful for testing\n            delete locales[name];\n            return null;\n        }\n    }\n\n    function updateLocale(name, config) {\n        if (config != null) {\n            var locale,\n                tmpLocale,\n                parentConfig = baseConfig;\n\n            if (locales[name] != null && locales[name].parentLocale != null) {\n                // Update existing child locale in-place to avoid memory-leaks\n                locales[name].set(mergeConfigs(locales[name]._config, config));\n            } else {\n                // MERGE\n                tmpLocale = loadLocale(name);\n                if (tmpLocale != null) {\n                    parentConfig = tmpLocale._config;\n                }\n                config = mergeConfigs(parentConfig, config);\n                if (tmpLocale == null) {\n                    // updateLocale is called for creating a new locale\n                    // Set abbr so it will have a name (getters return\n                    // undefined otherwise).\n                    config.abbr = name;\n                }\n                locale = new Locale(config);\n                locale.parentLocale = locales[name];\n                locales[name] = locale;\n            }\n\n            // backwards compat for now: also set the locale\n            getSetGlobalLocale(name);\n        } else {\n            // pass null for config to unupdate, useful for tests\n            if (locales[name] != null) {\n                if (locales[name].parentLocale != null) {\n                    locales[name] = locales[name].parentLocale;\n                    if (name === getSetGlobalLocale()) {\n                        getSetGlobalLocale(name);\n                    }\n                } else if (locales[name] != null) {\n                    delete locales[name];\n                }\n            }\n        }\n        return locales[name];\n    }\n\n    // returns locale data\n    function getLocale(key) {\n        var locale;\n\n        if (key && key._locale && key._locale._abbr) {\n            key = key._locale._abbr;\n        }\n\n        if (!key) {\n            return globalLocale;\n        }\n\n        if (!isArray(key)) {\n            //short-circuit everything else\n            locale = loadLocale(key);\n            if (locale) {\n                return locale;\n            }\n            key = [key];\n        }\n\n        return chooseLocale(key);\n    }\n\n    function listLocales() {\n        return keys(locales);\n    }\n\n    function checkOverflow(m) {\n        var overflow,\n            a = m._a;\n\n        if (a && getParsingFlags(m).overflow === -2) {\n            overflow =\n                a[MONTH] < 0 || a[MONTH] > 11\n                    ? MONTH\n                    : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n                    ? DATE\n                    : a[HOUR] < 0 ||\n                      a[HOUR] > 24 ||\n                      (a[HOUR] === 24 &&\n                          (a[MINUTE] !== 0 ||\n                              a[SECOND] !== 0 ||\n                              a[MILLISECOND] !== 0))\n                    ? HOUR\n                    : a[MINUTE] < 0 || a[MINUTE] > 59\n                    ? MINUTE\n                    : a[SECOND] < 0 || a[SECOND] > 59\n                    ? SECOND\n                    : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n                    ? MILLISECOND\n                    : -1;\n\n            if (\n                getParsingFlags(m)._overflowDayOfYear &&\n                (overflow < YEAR || overflow > DATE)\n            ) {\n                overflow = DATE;\n            }\n            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n                overflow = WEEK;\n            }\n            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n                overflow = WEEKDAY;\n            }\n\n            getParsingFlags(m).overflow = overflow;\n        }\n\n        return m;\n    }\n\n    // iso 8601 regex\n    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n    var extendedIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        basicIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n        isoDates = [\n            ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n            ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n            ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n            ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n            ['YYYY-DDD', /\\d{4}-\\d{3}/],\n            ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n            ['YYYYYYMMDD', /[+-]\\d{10}/],\n            ['YYYYMMDD', /\\d{8}/],\n            ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n            ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n            ['YYYYDDD', /\\d{7}/],\n            ['YYYYMM', /\\d{6}/, false],\n            ['YYYY', /\\d{4}/, false],\n        ],\n        // iso time formats and regexes\n        isoTimes = [\n            ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n            ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n            ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n            ['HH:mm', /\\d\\d:\\d\\d/],\n            ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n            ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n            ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n            ['HHmm', /\\d\\d\\d\\d/],\n            ['HH', /\\d\\d/],\n        ],\n        aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n        // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n        rfc2822 =\n            /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n        obsOffsets = {\n            UT: 0,\n            GMT: 0,\n            EDT: -4 * 60,\n            EST: -5 * 60,\n            CDT: -5 * 60,\n            CST: -6 * 60,\n            MDT: -6 * 60,\n            MST: -7 * 60,\n            PDT: -7 * 60,\n            PST: -8 * 60,\n        };\n\n    // date from iso format\n    function configFromISO(config) {\n        var i,\n            l,\n            string = config._i,\n            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n            allowTime,\n            dateFormat,\n            timeFormat,\n            tzFormat,\n            isoDatesLen = isoDates.length,\n            isoTimesLen = isoTimes.length;\n\n        if (match) {\n            getParsingFlags(config).iso = true;\n            for (i = 0, l = isoDatesLen; i < l; i++) {\n                if (isoDates[i][1].exec(match[1])) {\n                    dateFormat = isoDates[i][0];\n                    allowTime = isoDates[i][2] !== false;\n                    break;\n                }\n            }\n            if (dateFormat == null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[3]) {\n                for (i = 0, l = isoTimesLen; i < l; i++) {\n                    if (isoTimes[i][1].exec(match[3])) {\n                        // match[2] should be 'T' or space\n                        timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                        break;\n                    }\n                }\n                if (timeFormat == null) {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            if (!allowTime && timeFormat != null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[4]) {\n                if (tzRegex.exec(match[4])) {\n                    tzFormat = 'Z';\n                } else {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n            configFromStringAndFormat(config);\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    function extractFromRFC2822Strings(\n        yearStr,\n        monthStr,\n        dayStr,\n        hourStr,\n        minuteStr,\n        secondStr\n    ) {\n        var result = [\n            untruncateYear(yearStr),\n            defaultLocaleMonthsShort.indexOf(monthStr),\n            parseInt(dayStr, 10),\n            parseInt(hourStr, 10),\n            parseInt(minuteStr, 10),\n        ];\n\n        if (secondStr) {\n            result.push(parseInt(secondStr, 10));\n        }\n\n        return result;\n    }\n\n    function untruncateYear(yearStr) {\n        var year = parseInt(yearStr, 10);\n        if (year <= 49) {\n            return 2000 + year;\n        } else if (year <= 999) {\n            return 1900 + year;\n        }\n        return year;\n    }\n\n    function preprocessRFC2822(s) {\n        // Remove comments and folding whitespace and replace multiple-spaces with a single space\n        return s\n            .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n            .replace(/(\\s\\s+)/g, ' ')\n            .replace(/^\\s\\s*/, '')\n            .replace(/\\s\\s*$/, '');\n    }\n\n    function checkWeekday(weekdayStr, parsedInput, config) {\n        if (weekdayStr) {\n            // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n                weekdayActual = new Date(\n                    parsedInput[0],\n                    parsedInput[1],\n                    parsedInput[2]\n                ).getDay();\n            if (weekdayProvided !== weekdayActual) {\n                getParsingFlags(config).weekdayMismatch = true;\n                config._isValid = false;\n                return false;\n            }\n        }\n        return true;\n    }\n\n    function calculateOffset(obsOffset, militaryOffset, numOffset) {\n        if (obsOffset) {\n            return obsOffsets[obsOffset];\n        } else if (militaryOffset) {\n            // the only allowed military tz is Z\n            return 0;\n        } else {\n            var hm = parseInt(numOffset, 10),\n                m = hm % 100,\n                h = (hm - m) / 100;\n            return h * 60 + m;\n        }\n    }\n\n    // date and time from ref 2822 format\n    function configFromRFC2822(config) {\n        var match = rfc2822.exec(preprocessRFC2822(config._i)),\n            parsedArray;\n        if (match) {\n            parsedArray = extractFromRFC2822Strings(\n                match[4],\n                match[3],\n                match[2],\n                match[5],\n                match[6],\n                match[7]\n            );\n            if (!checkWeekday(match[1], parsedArray, config)) {\n                return;\n            }\n\n            config._a = parsedArray;\n            config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n            config._d = createUTCDate.apply(null, config._a);\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n            getParsingFlags(config).rfc2822 = true;\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n    function configFromString(config) {\n        var matched = aspNetJsonRegex.exec(config._i);\n        if (matched !== null) {\n            config._d = new Date(+matched[1]);\n            return;\n        }\n\n        configFromISO(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        configFromRFC2822(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        if (config._strict) {\n            config._isValid = false;\n        } else {\n            // Final attempt, use Input Fallback\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    hooks.createFromInputFallback = deprecate(\n        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n            'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n            'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n        function (config) {\n            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n        }\n    );\n\n    // Pick the first defined of two or three arguments.\n    function defaults(a, b, c) {\n        if (a != null) {\n            return a;\n        }\n        if (b != null) {\n            return b;\n        }\n        return c;\n    }\n\n    function currentDateArray(config) {\n        // hooks is actually the exported moment object\n        var nowValue = new Date(hooks.now());\n        if (config._useUTC) {\n            return [\n                nowValue.getUTCFullYear(),\n                nowValue.getUTCMonth(),\n                nowValue.getUTCDate(),\n            ];\n        }\n        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n    }\n\n    // convert an array to a date.\n    // the array should mirror the parameters below\n    // note: all values past the year are optional and will default to the lowest possible value.\n    // [year, month, day , hour, minute, second, millisecond]\n    function configFromArray(config) {\n        var i,\n            date,\n            input = [],\n            currentDate,\n            expectedWeekday,\n            yearToUse;\n\n        if (config._d) {\n            return;\n        }\n\n        currentDate = currentDateArray(config);\n\n        //compute day of the year from weeks and weekdays\n        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n            dayOfYearFromWeekInfo(config);\n        }\n\n        //if the day of the year is set, figure out what it is\n        if (config._dayOfYear != null) {\n            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n            if (\n                config._dayOfYear > daysInYear(yearToUse) ||\n                config._dayOfYear === 0\n            ) {\n                getParsingFlags(config)._overflowDayOfYear = true;\n            }\n\n            date = createUTCDate(yearToUse, 0, config._dayOfYear);\n            config._a[MONTH] = date.getUTCMonth();\n            config._a[DATE] = date.getUTCDate();\n        }\n\n        // Default to current date.\n        // * if no year, month, day of month are given, default to today\n        // * if day of month is given, default month and year\n        // * if month is given, default only year\n        // * if year is given, don't default anything\n        for (i = 0; i < 3 && config._a[i] == null; ++i) {\n            config._a[i] = input[i] = currentDate[i];\n        }\n\n        // Zero out whatever was not defaulted, including time\n        for (; i < 7; i++) {\n            config._a[i] = input[i] =\n                config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n        }\n\n        // Check for 24:00:00.000\n        if (\n            config._a[HOUR] === 24 &&\n            config._a[MINUTE] === 0 &&\n            config._a[SECOND] === 0 &&\n            config._a[MILLISECOND] === 0\n        ) {\n            config._nextDay = true;\n            config._a[HOUR] = 0;\n        }\n\n        config._d = (config._useUTC ? createUTCDate : createDate).apply(\n            null,\n            input\n        );\n        expectedWeekday = config._useUTC\n            ? config._d.getUTCDay()\n            : config._d.getDay();\n\n        // Apply timezone offset from input. The actual utcOffset can be changed\n        // with parseZone.\n        if (config._tzm != null) {\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n        }\n\n        if (config._nextDay) {\n            config._a[HOUR] = 24;\n        }\n\n        // check for mismatching day of week\n        if (\n            config._w &&\n            typeof config._w.d !== 'undefined' &&\n            config._w.d !== expectedWeekday\n        ) {\n            getParsingFlags(config).weekdayMismatch = true;\n        }\n    }\n\n    function dayOfYearFromWeekInfo(config) {\n        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n        w = config._w;\n        if (w.GG != null || w.W != null || w.E != null) {\n            dow = 1;\n            doy = 4;\n\n            // TODO: We need to take the current isoWeekYear, but that depends on\n            // how we interpret now (local, utc, fixed offset). So create\n            // a now version of current config (take local/utc/offset flags, and\n            // create now).\n            weekYear = defaults(\n                w.GG,\n                config._a[YEAR],\n                weekOfYear(createLocal(), 1, 4).year\n            );\n            week = defaults(w.W, 1);\n            weekday = defaults(w.E, 1);\n            if (weekday < 1 || weekday > 7) {\n                weekdayOverflow = true;\n            }\n        } else {\n            dow = config._locale._week.dow;\n            doy = config._locale._week.doy;\n\n            curWeek = weekOfYear(createLocal(), dow, doy);\n\n            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n            // Default to current week.\n            week = defaults(w.w, curWeek.week);\n\n            if (w.d != null) {\n                // weekday -- low day numbers are considered next week\n                weekday = w.d;\n                if (weekday < 0 || weekday > 6) {\n                    weekdayOverflow = true;\n                }\n            } else if (w.e != null) {\n                // local weekday -- counting starts from beginning of week\n                weekday = w.e + dow;\n                if (w.e < 0 || w.e > 6) {\n                    weekdayOverflow = true;\n                }\n            } else {\n                // default to beginning of week\n                weekday = dow;\n            }\n        }\n        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n            getParsingFlags(config)._overflowWeeks = true;\n        } else if (weekdayOverflow != null) {\n            getParsingFlags(config)._overflowWeekday = true;\n        } else {\n            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n            config._a[YEAR] = temp.year;\n            config._dayOfYear = temp.dayOfYear;\n        }\n    }\n\n    // constant that refers to the ISO standard\n    hooks.ISO_8601 = function () {};\n\n    // constant that refers to the RFC 2822 form\n    hooks.RFC_2822 = function () {};\n\n    // date from string and format string\n    function configFromStringAndFormat(config) {\n        // TODO: Move this to another part of the creation flow to prevent circular deps\n        if (config._f === hooks.ISO_8601) {\n            configFromISO(config);\n            return;\n        }\n        if (config._f === hooks.RFC_2822) {\n            configFromRFC2822(config);\n            return;\n        }\n        config._a = [];\n        getParsingFlags(config).empty = true;\n\n        // This array is used to make a Date, either with `new Date` or `Date.UTC`\n        var string = '' + config._i,\n            i,\n            parsedInput,\n            tokens,\n            token,\n            skipped,\n            stringLength = string.length,\n            totalParsedInputLength = 0,\n            era,\n            tokenLen;\n\n        tokens =\n            expandFormat(config._f, config._locale).match(formattingTokens) || [];\n        tokenLen = tokens.length;\n        for (i = 0; i < tokenLen; i++) {\n            token = tokens[i];\n            parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n                [])[0];\n            if (parsedInput) {\n                skipped = string.substr(0, string.indexOf(parsedInput));\n                if (skipped.length > 0) {\n                    getParsingFlags(config).unusedInput.push(skipped);\n                }\n                string = string.slice(\n                    string.indexOf(parsedInput) + parsedInput.length\n                );\n                totalParsedInputLength += parsedInput.length;\n            }\n            // don't parse if it's not a known token\n            if (formatTokenFunctions[token]) {\n                if (parsedInput) {\n                    getParsingFlags(config).empty = false;\n                } else {\n                    getParsingFlags(config).unusedTokens.push(token);\n                }\n                addTimeToArrayFromToken(token, parsedInput, config);\n            } else if (config._strict && !parsedInput) {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n        }\n\n        // add remaining unparsed input length to the string\n        getParsingFlags(config).charsLeftOver =\n            stringLength - totalParsedInputLength;\n        if (string.length > 0) {\n            getParsingFlags(config).unusedInput.push(string);\n        }\n\n        // clear _12h flag if hour is <= 12\n        if (\n            config._a[HOUR] <= 12 &&\n            getParsingFlags(config).bigHour === true &&\n            config._a[HOUR] > 0\n        ) {\n            getParsingFlags(config).bigHour = undefined;\n        }\n\n        getParsingFlags(config).parsedDateParts = config._a.slice(0);\n        getParsingFlags(config).meridiem = config._meridiem;\n        // handle meridiem\n        config._a[HOUR] = meridiemFixWrap(\n            config._locale,\n            config._a[HOUR],\n            config._meridiem\n        );\n\n        // handle era\n        era = getParsingFlags(config).era;\n        if (era !== null) {\n            config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n        }\n\n        configFromArray(config);\n        checkOverflow(config);\n    }\n\n    function meridiemFixWrap(locale, hour, meridiem) {\n        var isPm;\n\n        if (meridiem == null) {\n            // nothing to do\n            return hour;\n        }\n        if (locale.meridiemHour != null) {\n            return locale.meridiemHour(hour, meridiem);\n        } else if (locale.isPM != null) {\n            // Fallback\n            isPm = locale.isPM(meridiem);\n            if (isPm && hour < 12) {\n                hour += 12;\n            }\n            if (!isPm && hour === 12) {\n                hour = 0;\n            }\n            return hour;\n        } else {\n            // this is not supposed to happen\n            return hour;\n        }\n    }\n\n    // date from string and array of format strings\n    function configFromStringAndArray(config) {\n        var tempConfig,\n            bestMoment,\n            scoreToBeat,\n            i,\n            currentScore,\n            validFormatFound,\n            bestFormatIsValid = false,\n            configfLen = config._f.length;\n\n        if (configfLen === 0) {\n            getParsingFlags(config).invalidFormat = true;\n            config._d = new Date(NaN);\n            return;\n        }\n\n        for (i = 0; i < configfLen; i++) {\n            currentScore = 0;\n            validFormatFound = false;\n            tempConfig = copyConfig({}, config);\n            if (config._useUTC != null) {\n                tempConfig._useUTC = config._useUTC;\n            }\n            tempConfig._f = config._f[i];\n            configFromStringAndFormat(tempConfig);\n\n            if (isValid(tempConfig)) {\n                validFormatFound = true;\n            }\n\n            // if there is any input that was not parsed add a penalty for that format\n            currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n            //or tokens\n            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n            getParsingFlags(tempConfig).score = currentScore;\n\n            if (!bestFormatIsValid) {\n                if (\n                    scoreToBeat == null ||\n                    currentScore < scoreToBeat ||\n                    validFormatFound\n                ) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                    if (validFormatFound) {\n                        bestFormatIsValid = true;\n                    }\n                }\n            } else {\n                if (currentScore < scoreToBeat) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                }\n            }\n        }\n\n        extend(config, bestMoment || tempConfig);\n    }\n\n    function configFromObject(config) {\n        if (config._d) {\n            return;\n        }\n\n        var i = normalizeObjectUnits(config._i),\n            dayOrDate = i.day === undefined ? i.date : i.day;\n        config._a = map(\n            [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n            function (obj) {\n                return obj && parseInt(obj, 10);\n            }\n        );\n\n        configFromArray(config);\n    }\n\n    function createFromConfig(config) {\n        var res = new Moment(checkOverflow(prepareConfig(config)));\n        if (res._nextDay) {\n            // Adding is smart enough around DST\n            res.add(1, 'd');\n            res._nextDay = undefined;\n        }\n\n        return res;\n    }\n\n    function prepareConfig(config) {\n        var input = config._i,\n            format = config._f;\n\n        config._locale = config._locale || getLocale(config._l);\n\n        if (input === null || (format === undefined && input === '')) {\n            return createInvalid({ nullInput: true });\n        }\n\n        if (typeof input === 'string') {\n            config._i = input = config._locale.preparse(input);\n        }\n\n        if (isMoment(input)) {\n            return new Moment(checkOverflow(input));\n        } else if (isDate(input)) {\n            config._d = input;\n        } else if (isArray(format)) {\n            configFromStringAndArray(config);\n        } else if (format) {\n            configFromStringAndFormat(config);\n        } else {\n            configFromInput(config);\n        }\n\n        if (!isValid(config)) {\n            config._d = null;\n        }\n\n        return config;\n    }\n\n    function configFromInput(config) {\n        var input = config._i;\n        if (isUndefined(input)) {\n            config._d = new Date(hooks.now());\n        } else if (isDate(input)) {\n            config._d = new Date(input.valueOf());\n        } else if (typeof input === 'string') {\n            configFromString(config);\n        } else if (isArray(input)) {\n            config._a = map(input.slice(0), function (obj) {\n                return parseInt(obj, 10);\n            });\n            configFromArray(config);\n        } else if (isObject(input)) {\n            configFromObject(config);\n        } else if (isNumber(input)) {\n            // from milliseconds\n            config._d = new Date(input);\n        } else {\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    function createLocalOrUTC(input, format, locale, strict, isUTC) {\n        var c = {};\n\n        if (format === true || format === false) {\n            strict = format;\n            format = undefined;\n        }\n\n        if (locale === true || locale === false) {\n            strict = locale;\n            locale = undefined;\n        }\n\n        if (\n            (isObject(input) && isObjectEmpty(input)) ||\n            (isArray(input) && input.length === 0)\n        ) {\n            input = undefined;\n        }\n        // object construction must be done this way.\n        // https://github.com/moment/moment/issues/1423\n        c._isAMomentObject = true;\n        c._useUTC = c._isUTC = isUTC;\n        c._l = locale;\n        c._i = input;\n        c._f = format;\n        c._strict = strict;\n\n        return createFromConfig(c);\n    }\n\n    function createLocal(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, false);\n    }\n\n    var prototypeMin = deprecate(\n            'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other < this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        ),\n        prototypeMax = deprecate(\n            'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other > this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        );\n\n    // Pick a moment m from moments so that m[fn](other) is true for all\n    // other. This relies on the function fn to be transitive.\n    //\n    // moments should either be an array of moment objects or an array, whose\n    // first element is an array of moment objects.\n    function pickBy(fn, moments) {\n        var res, i;\n        if (moments.length === 1 && isArray(moments[0])) {\n            moments = moments[0];\n        }\n        if (!moments.length) {\n            return createLocal();\n        }\n        res = moments[0];\n        for (i = 1; i < moments.length; ++i) {\n            if (!moments[i].isValid() || moments[i][fn](res)) {\n                res = moments[i];\n            }\n        }\n        return res;\n    }\n\n    // TODO: Use [].sort instead?\n    function min() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isBefore', args);\n    }\n\n    function max() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isAfter', args);\n    }\n\n    var now = function () {\n        return Date.now ? Date.now() : +new Date();\n    };\n\n    var ordering = [\n        'year',\n        'quarter',\n        'month',\n        'week',\n        'day',\n        'hour',\n        'minute',\n        'second',\n        'millisecond',\n    ];\n\n    function isDurationValid(m) {\n        var key,\n            unitHasDecimal = false,\n            i,\n            orderLen = ordering.length;\n        for (key in m) {\n            if (\n                hasOwnProp(m, key) &&\n                !(\n                    indexOf.call(ordering, key) !== -1 &&\n                    (m[key] == null || !isNaN(m[key]))\n                )\n            ) {\n                return false;\n            }\n        }\n\n        for (i = 0; i < orderLen; ++i) {\n            if (m[ordering[i]]) {\n                if (unitHasDecimal) {\n                    return false; // only allow non-integers for smallest unit\n                }\n                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                    unitHasDecimal = true;\n                }\n            }\n        }\n\n        return true;\n    }\n\n    function isValid$1() {\n        return this._isValid;\n    }\n\n    function createInvalid$1() {\n        return createDuration(NaN);\n    }\n\n    function Duration(duration) {\n        var normalizedInput = normalizeObjectUnits(duration),\n            years = normalizedInput.year || 0,\n            quarters = normalizedInput.quarter || 0,\n            months = normalizedInput.month || 0,\n            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n            days = normalizedInput.day || 0,\n            hours = normalizedInput.hour || 0,\n            minutes = normalizedInput.minute || 0,\n            seconds = normalizedInput.second || 0,\n            milliseconds = normalizedInput.millisecond || 0;\n\n        this._isValid = isDurationValid(normalizedInput);\n\n        // representation for dateAddRemove\n        this._milliseconds =\n            +milliseconds +\n            seconds * 1e3 + // 1000\n            minutes * 6e4 + // 1000 * 60\n            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n        // Because of dateAddRemove treats 24 hours as different from a\n        // day when working around DST, we need to store them separately\n        this._days = +days + weeks * 7;\n        // It is impossible to translate months into days without knowing\n        // which months you are are talking about, so we have to store\n        // it separately.\n        this._months = +months + quarters * 3 + years * 12;\n\n        this._data = {};\n\n        this._locale = getLocale();\n\n        this._bubble();\n    }\n\n    function isDuration(obj) {\n        return obj instanceof Duration;\n    }\n\n    function absRound(number) {\n        if (number < 0) {\n            return Math.round(-1 * number) * -1;\n        } else {\n            return Math.round(number);\n        }\n    }\n\n    // compare two arrays, return the number of differences\n    function compareArrays(array1, array2, dontConvert) {\n        var len = Math.min(array1.length, array2.length),\n            lengthDiff = Math.abs(array1.length - array2.length),\n            diffs = 0,\n            i;\n        for (i = 0; i < len; i++) {\n            if (\n                (dontConvert && array1[i] !== array2[i]) ||\n                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n            ) {\n                diffs++;\n            }\n        }\n        return diffs + lengthDiff;\n    }\n\n    // FORMATTING\n\n    function offset(token, separator) {\n        addFormatToken(token, 0, 0, function () {\n            var offset = this.utcOffset(),\n                sign = '+';\n            if (offset < 0) {\n                offset = -offset;\n                sign = '-';\n            }\n            return (\n                sign +\n                zeroFill(~~(offset / 60), 2) +\n                separator +\n                zeroFill(~~offset % 60, 2)\n            );\n        });\n    }\n\n    offset('Z', ':');\n    offset('ZZ', '');\n\n    // PARSING\n\n    addRegexToken('Z', matchShortOffset);\n    addRegexToken('ZZ', matchShortOffset);\n    addParseToken(['Z', 'ZZ'], function (input, array, config) {\n        config._useUTC = true;\n        config._tzm = offsetFromString(matchShortOffset, input);\n    });\n\n    // HELPERS\n\n    // timezone chunker\n    // '+10:00' > ['10',  '00']\n    // '-1530'  > ['-15', '30']\n    var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n    function offsetFromString(matcher, string) {\n        var matches = (string || '').match(matcher),\n            chunk,\n            parts,\n            minutes;\n\n        if (matches === null) {\n            return null;\n        }\n\n        chunk = matches[matches.length - 1] || [];\n        parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n        minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n        return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n    }\n\n    // Return a moment from input, that is local/utc/zone equivalent to model.\n    function cloneWithOffset(input, model) {\n        var res, diff;\n        if (model._isUTC) {\n            res = model.clone();\n            diff =\n                (isMoment(input) || isDate(input)\n                    ? input.valueOf()\n                    : createLocal(input).valueOf()) - res.valueOf();\n            // Use low-level api, because this fn is low-level api.\n            res._d.setTime(res._d.valueOf() + diff);\n            hooks.updateOffset(res, false);\n            return res;\n        } else {\n            return createLocal(input).local();\n        }\n    }\n\n    function getDateOffset(m) {\n        // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n        // https://github.com/moment/moment/pull/1871\n        return -Math.round(m._d.getTimezoneOffset());\n    }\n\n    // HOOKS\n\n    // This function will be called whenever a moment is mutated.\n    // It is intended to keep the offset in sync with the timezone.\n    hooks.updateOffset = function () {};\n\n    // MOMENTS\n\n    // keepLocalTime = true means only change the timezone, without\n    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n    // +0200, so we adjust the time as needed, to be valid.\n    //\n    // Keeping the time actually adds/subtracts (one hour)\n    // from the actual represented time. That is why we call updateOffset\n    // a second time. In case it wants us to change the offset again\n    // _changeInProgress == true case, then we have to adjust, because\n    // there is no such time in the given timezone.\n    function getSetOffset(input, keepLocalTime, keepMinutes) {\n        var offset = this._offset || 0,\n            localAdjust;\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        if (input != null) {\n            if (typeof input === 'string') {\n                input = offsetFromString(matchShortOffset, input);\n                if (input === null) {\n                    return this;\n                }\n            } else if (Math.abs(input) < 16 && !keepMinutes) {\n                input = input * 60;\n            }\n            if (!this._isUTC && keepLocalTime) {\n                localAdjust = getDateOffset(this);\n            }\n            this._offset = input;\n            this._isUTC = true;\n            if (localAdjust != null) {\n                this.add(localAdjust, 'm');\n            }\n            if (offset !== input) {\n                if (!keepLocalTime || this._changeInProgress) {\n                    addSubtract(\n                        this,\n                        createDuration(input - offset, 'm'),\n                        1,\n                        false\n                    );\n                } else if (!this._changeInProgress) {\n                    this._changeInProgress = true;\n                    hooks.updateOffset(this, true);\n                    this._changeInProgress = null;\n                }\n            }\n            return this;\n        } else {\n            return this._isUTC ? offset : getDateOffset(this);\n        }\n    }\n\n    function getSetZone(input, keepLocalTime) {\n        if (input != null) {\n            if (typeof input !== 'string') {\n                input = -input;\n            }\n\n            this.utcOffset(input, keepLocalTime);\n\n            return this;\n        } else {\n            return -this.utcOffset();\n        }\n    }\n\n    function setOffsetToUTC(keepLocalTime) {\n        return this.utcOffset(0, keepLocalTime);\n    }\n\n    function setOffsetToLocal(keepLocalTime) {\n        if (this._isUTC) {\n            this.utcOffset(0, keepLocalTime);\n            this._isUTC = false;\n\n            if (keepLocalTime) {\n                this.subtract(getDateOffset(this), 'm');\n            }\n        }\n        return this;\n    }\n\n    function setOffsetToParsedOffset() {\n        if (this._tzm != null) {\n            this.utcOffset(this._tzm, false, true);\n        } else if (typeof this._i === 'string') {\n            var tZone = offsetFromString(matchOffset, this._i);\n            if (tZone != null) {\n                this.utcOffset(tZone);\n            } else {\n                this.utcOffset(0, true);\n            }\n        }\n        return this;\n    }\n\n    function hasAlignedHourOffset(input) {\n        if (!this.isValid()) {\n            return false;\n        }\n        input = input ? createLocal(input).utcOffset() : 0;\n\n        return (this.utcOffset() - input) % 60 === 0;\n    }\n\n    function isDaylightSavingTime() {\n        return (\n            this.utcOffset() > this.clone().month(0).utcOffset() ||\n            this.utcOffset() > this.clone().month(5).utcOffset()\n        );\n    }\n\n    function isDaylightSavingTimeShifted() {\n        if (!isUndefined(this._isDSTShifted)) {\n            return this._isDSTShifted;\n        }\n\n        var c = {},\n            other;\n\n        copyConfig(c, this);\n        c = prepareConfig(c);\n\n        if (c._a) {\n            other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n            this._isDSTShifted =\n                this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n        } else {\n            this._isDSTShifted = false;\n        }\n\n        return this._isDSTShifted;\n    }\n\n    function isLocal() {\n        return this.isValid() ? !this._isUTC : false;\n    }\n\n    function isUtcOffset() {\n        return this.isValid() ? this._isUTC : false;\n    }\n\n    function isUtc() {\n        return this.isValid() ? this._isUTC && this._offset === 0 : false;\n    }\n\n    // ASP.NET json date format regex\n    var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n        // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n        // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n        // and further modified to allow for strings containing both week and day\n        isoRegex =\n            /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n    function createDuration(input, key) {\n        var duration = input,\n            // matching against regexp is expensive, do it on demand\n            match = null,\n            sign,\n            ret,\n            diffRes;\n\n        if (isDuration(input)) {\n            duration = {\n                ms: input._milliseconds,\n                d: input._days,\n                M: input._months,\n            };\n        } else if (isNumber(input) || !isNaN(+input)) {\n            duration = {};\n            if (key) {\n                duration[key] = +input;\n            } else {\n                duration.milliseconds = +input;\n            }\n        } else if ((match = aspNetRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: 0,\n                d: toInt(match[DATE]) * sign,\n                h: toInt(match[HOUR]) * sign,\n                m: toInt(match[MINUTE]) * sign,\n                s: toInt(match[SECOND]) * sign,\n                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n            };\n        } else if ((match = isoRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: parseIso(match[2], sign),\n                M: parseIso(match[3], sign),\n                w: parseIso(match[4], sign),\n                d: parseIso(match[5], sign),\n                h: parseIso(match[6], sign),\n                m: parseIso(match[7], sign),\n                s: parseIso(match[8], sign),\n            };\n        } else if (duration == null) {\n            // checks for null or undefined\n            duration = {};\n        } else if (\n            typeof duration === 'object' &&\n            ('from' in duration || 'to' in duration)\n        ) {\n            diffRes = momentsDifference(\n                createLocal(duration.from),\n                createLocal(duration.to)\n            );\n\n            duration = {};\n            duration.ms = diffRes.milliseconds;\n            duration.M = diffRes.months;\n        }\n\n        ret = new Duration(duration);\n\n        if (isDuration(input) && hasOwnProp(input, '_locale')) {\n            ret._locale = input._locale;\n        }\n\n        if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n            ret._isValid = input._isValid;\n        }\n\n        return ret;\n    }\n\n    createDuration.fn = Duration.prototype;\n    createDuration.invalid = createInvalid$1;\n\n    function parseIso(inp, sign) {\n        // We'd normally use ~~inp for this, but unfortunately it also\n        // converts floats to ints.\n        // inp may be undefined, so careful calling replace on it.\n        var res = inp && parseFloat(inp.replace(',', '.'));\n        // apply sign while we're at it\n        return (isNaN(res) ? 0 : res) * sign;\n    }\n\n    function positiveMomentsDifference(base, other) {\n        var res = {};\n\n        res.months =\n            other.month() - base.month() + (other.year() - base.year()) * 12;\n        if (base.clone().add(res.months, 'M').isAfter(other)) {\n            --res.months;\n        }\n\n        res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n        return res;\n    }\n\n    function momentsDifference(base, other) {\n        var res;\n        if (!(base.isValid() && other.isValid())) {\n            return { milliseconds: 0, months: 0 };\n        }\n\n        other = cloneWithOffset(other, base);\n        if (base.isBefore(other)) {\n            res = positiveMomentsDifference(base, other);\n        } else {\n            res = positiveMomentsDifference(other, base);\n            res.milliseconds = -res.milliseconds;\n            res.months = -res.months;\n        }\n\n        return res;\n    }\n\n    // TODO: remove 'name' arg after deprecation is removed\n    function createAdder(direction, name) {\n        return function (val, period) {\n            var dur, tmp;\n            //invert the arguments, but complain about it\n            if (period !== null && !isNaN(+period)) {\n                deprecateSimple(\n                    name,\n                    'moment().' +\n                        name +\n                        '(period, number) is deprecated. Please use moment().' +\n                        name +\n                        '(number, period). ' +\n                        'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n                );\n                tmp = val;\n                val = period;\n                period = tmp;\n            }\n\n            dur = createDuration(val, period);\n            addSubtract(this, dur, direction);\n            return this;\n        };\n    }\n\n    function addSubtract(mom, duration, isAdding, updateOffset) {\n        var milliseconds = duration._milliseconds,\n            days = absRound(duration._days),\n            months = absRound(duration._months);\n\n        if (!mom.isValid()) {\n            // No op\n            return;\n        }\n\n        updateOffset = updateOffset == null ? true : updateOffset;\n\n        if (months) {\n            setMonth(mom, get(mom, 'Month') + months * isAdding);\n        }\n        if (days) {\n            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n        }\n        if (milliseconds) {\n            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n        }\n        if (updateOffset) {\n            hooks.updateOffset(mom, days || months);\n        }\n    }\n\n    var add = createAdder(1, 'add'),\n        subtract = createAdder(-1, 'subtract');\n\n    function isString(input) {\n        return typeof input === 'string' || input instanceof String;\n    }\n\n    // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n    function isMomentInput(input) {\n        return (\n            isMoment(input) ||\n            isDate(input) ||\n            isString(input) ||\n            isNumber(input) ||\n            isNumberOrStringArray(input) ||\n            isMomentInputObject(input) ||\n            input === null ||\n            input === undefined\n        );\n    }\n\n    function isMomentInputObject(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'years',\n                'year',\n                'y',\n                'months',\n                'month',\n                'M',\n                'days',\n                'day',\n                'd',\n                'dates',\n                'date',\n                'D',\n                'hours',\n                'hour',\n                'h',\n                'minutes',\n                'minute',\n                'm',\n                'seconds',\n                'second',\n                's',\n                'milliseconds',\n                'millisecond',\n                'ms',\n            ],\n            i,\n            property,\n            propertyLen = properties.length;\n\n        for (i = 0; i < propertyLen; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function isNumberOrStringArray(input) {\n        var arrayTest = isArray(input),\n            dataTypeTest = false;\n        if (arrayTest) {\n            dataTypeTest =\n                input.filter(function (item) {\n                    return !isNumber(item) && isString(input);\n                }).length === 0;\n        }\n        return arrayTest && dataTypeTest;\n    }\n\n    function isCalendarSpec(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'sameDay',\n                'nextDay',\n                'lastDay',\n                'nextWeek',\n                'lastWeek',\n                'sameElse',\n            ],\n            i,\n            property;\n\n        for (i = 0; i < properties.length; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function getCalendarFormat(myMoment, now) {\n        var diff = myMoment.diff(now, 'days', true);\n        return diff < -6\n            ? 'sameElse'\n            : diff < -1\n            ? 'lastWeek'\n            : diff < 0\n            ? 'lastDay'\n            : diff < 1\n            ? 'sameDay'\n            : diff < 2\n            ? 'nextDay'\n            : diff < 7\n            ? 'nextWeek'\n            : 'sameElse';\n    }\n\n    function calendar$1(time, formats) {\n        // Support for single parameter, formats only overload to the calendar function\n        if (arguments.length === 1) {\n            if (!arguments[0]) {\n                time = undefined;\n                formats = undefined;\n            } else if (isMomentInput(arguments[0])) {\n                time = arguments[0];\n                formats = undefined;\n            } else if (isCalendarSpec(arguments[0])) {\n                formats = arguments[0];\n                time = undefined;\n            }\n        }\n        // We want to compare the start of today, vs this.\n        // Getting start-of-today depends on whether we're local/utc/offset or not.\n        var now = time || createLocal(),\n            sod = cloneWithOffset(now, this).startOf('day'),\n            format = hooks.calendarFormat(this, sod) || 'sameElse',\n            output =\n                formats &&\n                (isFunction(formats[format])\n                    ? formats[format].call(this, now)\n                    : formats[format]);\n\n        return this.format(\n            output || this.localeData().calendar(format, this, createLocal(now))\n        );\n    }\n\n    function clone() {\n        return new Moment(this);\n    }\n\n    function isAfter(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() > localInput.valueOf();\n        } else {\n            return localInput.valueOf() < this.clone().startOf(units).valueOf();\n        }\n    }\n\n    function isBefore(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() < localInput.valueOf();\n        } else {\n            return this.clone().endOf(units).valueOf() < localInput.valueOf();\n        }\n    }\n\n    function isBetween(from, to, units, inclusivity) {\n        var localFrom = isMoment(from) ? from : createLocal(from),\n            localTo = isMoment(to) ? to : createLocal(to);\n        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n            return false;\n        }\n        inclusivity = inclusivity || '()';\n        return (\n            (inclusivity[0] === '('\n                ? this.isAfter(localFrom, units)\n                : !this.isBefore(localFrom, units)) &&\n            (inclusivity[1] === ')'\n                ? this.isBefore(localTo, units)\n                : !this.isAfter(localTo, units))\n        );\n    }\n\n    function isSame(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input),\n            inputMs;\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() === localInput.valueOf();\n        } else {\n            inputMs = localInput.valueOf();\n            return (\n                this.clone().startOf(units).valueOf() <= inputMs &&\n                inputMs <= this.clone().endOf(units).valueOf()\n            );\n        }\n    }\n\n    function isSameOrAfter(input, units) {\n        return this.isSame(input, units) || this.isAfter(input, units);\n    }\n\n    function isSameOrBefore(input, units) {\n        return this.isSame(input, units) || this.isBefore(input, units);\n    }\n\n    function diff(input, units, asFloat) {\n        var that, zoneDelta, output;\n\n        if (!this.isValid()) {\n            return NaN;\n        }\n\n        that = cloneWithOffset(input, this);\n\n        if (!that.isValid()) {\n            return NaN;\n        }\n\n        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n        units = normalizeUnits(units);\n\n        switch (units) {\n            case 'year':\n                output = monthDiff(this, that) / 12;\n                break;\n            case 'month':\n                output = monthDiff(this, that);\n                break;\n            case 'quarter':\n                output = monthDiff(this, that) / 3;\n                break;\n            case 'second':\n                output = (this - that) / 1e3;\n                break; // 1000\n            case 'minute':\n                output = (this - that) / 6e4;\n                break; // 1000 * 60\n            case 'hour':\n                output = (this - that) / 36e5;\n                break; // 1000 * 60 * 60\n            case 'day':\n                output = (this - that - zoneDelta) / 864e5;\n                break; // 1000 * 60 * 60 * 24, negate dst\n            case 'week':\n                output = (this - that - zoneDelta) / 6048e5;\n                break; // 1000 * 60 * 60 * 24 * 7, negate dst\n            default:\n                output = this - that;\n        }\n\n        return asFloat ? output : absFloor(output);\n    }\n\n    function monthDiff(a, b) {\n        if (a.date() < b.date()) {\n            // end-of-month calculations work correct when the start month has more\n            // days than the end month.\n            return -monthDiff(b, a);\n        }\n        // difference in months\n        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n            // b is in (anchor - 1 month, anchor + 1 month)\n            anchor = a.clone().add(wholeMonthDiff, 'months'),\n            anchor2,\n            adjust;\n\n        if (b - anchor < 0) {\n            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor - anchor2);\n        } else {\n            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor2 - anchor);\n        }\n\n        //check for negative zero, return zero if negative zero\n        return -(wholeMonthDiff + adjust) || 0;\n    }\n\n    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n    function toString() {\n        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n    }\n\n    function toISOString(keepOffset) {\n        if (!this.isValid()) {\n            return null;\n        }\n        var utc = keepOffset !== true,\n            m = utc ? this.clone().utc() : this;\n        if (m.year() < 0 || m.year() > 9999) {\n            return formatMoment(\n                m,\n                utc\n                    ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n                    : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n            );\n        }\n        if (isFunction(Date.prototype.toISOString)) {\n            // native implementation is ~50x faster, use it when we can\n            if (utc) {\n                return this.toDate().toISOString();\n            } else {\n                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n                    .toISOString()\n                    .replace('Z', formatMoment(m, 'Z'));\n            }\n        }\n        return formatMoment(\n            m,\n            utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n        );\n    }\n\n    /**\n     * Return a human readable representation of a moment that can\n     * also be evaluated to get a new moment which is the same\n     *\n     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n     */\n    function inspect() {\n        if (!this.isValid()) {\n            return 'moment.invalid(/* ' + this._i + ' */)';\n        }\n        var func = 'moment',\n            zone = '',\n            prefix,\n            year,\n            datetime,\n            suffix;\n        if (!this.isLocal()) {\n            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n            zone = 'Z';\n        }\n        prefix = '[' + func + '(\"]';\n        year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n        datetime = '-MM-DD[T]HH:mm:ss.SSS';\n        suffix = zone + '[\")]';\n\n        return this.format(prefix + year + datetime + suffix);\n    }\n\n    function format(inputString) {\n        if (!inputString) {\n            inputString = this.isUtc()\n                ? hooks.defaultFormatUtc\n                : hooks.defaultFormat;\n        }\n        var output = formatMoment(this, inputString);\n        return this.localeData().postformat(output);\n    }\n\n    function from(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ to: this, from: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function fromNow(withoutSuffix) {\n        return this.from(createLocal(), withoutSuffix);\n    }\n\n    function to(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ from: this, to: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function toNow(withoutSuffix) {\n        return this.to(createLocal(), withoutSuffix);\n    }\n\n    // If passed a locale key, it will set the locale for this\n    // instance.  Otherwise, it will return the locale configuration\n    // variables for this instance.\n    function locale(key) {\n        var newLocaleData;\n\n        if (key === undefined) {\n            return this._locale._abbr;\n        } else {\n            newLocaleData = getLocale(key);\n            if (newLocaleData != null) {\n                this._locale = newLocaleData;\n            }\n            return this;\n        }\n    }\n\n    var lang = deprecate(\n        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n        function (key) {\n            if (key === undefined) {\n                return this.localeData();\n            } else {\n                return this.locale(key);\n            }\n        }\n    );\n\n    function localeData() {\n        return this._locale;\n    }\n\n    var MS_PER_SECOND = 1000,\n        MS_PER_MINUTE = 60 * MS_PER_SECOND,\n        MS_PER_HOUR = 60 * MS_PER_MINUTE,\n        MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n    // actual modulo - handles negative numbers (for dates before 1970):\n    function mod$1(dividend, divisor) {\n        return ((dividend % divisor) + divisor) % divisor;\n    }\n\n    function localStartOfDate(y, m, d) {\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return new Date(y, m, d).valueOf();\n        }\n    }\n\n    function utcStartOfDate(y, m, d) {\n        // Date.UTC remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return Date.UTC(y, m, d);\n        }\n    }\n\n    function startOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year(), 0, 1);\n                break;\n            case 'quarter':\n                time = startOfDate(\n                    this.year(),\n                    this.month() - (this.month() % 3),\n                    1\n                );\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month(), 1);\n                break;\n            case 'week':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - this.weekday()\n                );\n                break;\n            case 'isoWeek':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - (this.isoWeekday() - 1)\n                );\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date());\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time -= mod$1(\n                    time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                    MS_PER_HOUR\n                );\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_MINUTE);\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_SECOND);\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function endOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year() + 1, 0, 1) - 1;\n                break;\n            case 'quarter':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month() - (this.month() % 3) + 3,\n                        1\n                    ) - 1;\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n                break;\n            case 'week':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - this.weekday() + 7\n                    ) - 1;\n                break;\n            case 'isoWeek':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - (this.isoWeekday() - 1) + 7\n                    ) - 1;\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time +=\n                    MS_PER_HOUR -\n                    mod$1(\n                        time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                        MS_PER_HOUR\n                    ) -\n                    1;\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function valueOf() {\n        return this._d.valueOf() - (this._offset || 0) * 60000;\n    }\n\n    function unix() {\n        return Math.floor(this.valueOf() / 1000);\n    }\n\n    function toDate() {\n        return new Date(this.valueOf());\n    }\n\n    function toArray() {\n        var m = this;\n        return [\n            m.year(),\n            m.month(),\n            m.date(),\n            m.hour(),\n            m.minute(),\n            m.second(),\n            m.millisecond(),\n        ];\n    }\n\n    function toObject() {\n        var m = this;\n        return {\n            years: m.year(),\n            months: m.month(),\n            date: m.date(),\n            hours: m.hours(),\n            minutes: m.minutes(),\n            seconds: m.seconds(),\n            milliseconds: m.milliseconds(),\n        };\n    }\n\n    function toJSON() {\n        // new Date(NaN).toJSON() === null\n        return this.isValid() ? this.toISOString() : null;\n    }\n\n    function isValid$2() {\n        return isValid(this);\n    }\n\n    function parsingFlags() {\n        return extend({}, getParsingFlags(this));\n    }\n\n    function invalidAt() {\n        return getParsingFlags(this).overflow;\n    }\n\n    function creationData() {\n        return {\n            input: this._i,\n            format: this._f,\n            locale: this._locale,\n            isUTC: this._isUTC,\n            strict: this._strict,\n        };\n    }\n\n    addFormatToken('N', 0, 0, 'eraAbbr');\n    addFormatToken('NN', 0, 0, 'eraAbbr');\n    addFormatToken('NNN', 0, 0, 'eraAbbr');\n    addFormatToken('NNNN', 0, 0, 'eraName');\n    addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n    addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n    addFormatToken('y', ['yy', 2], 0, 'eraYear');\n    addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n    addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n    addRegexToken('N', matchEraAbbr);\n    addRegexToken('NN', matchEraAbbr);\n    addRegexToken('NNN', matchEraAbbr);\n    addRegexToken('NNNN', matchEraName);\n    addRegexToken('NNNNN', matchEraNarrow);\n\n    addParseToken(\n        ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n        function (input, array, config, token) {\n            var era = config._locale.erasParse(input, token, config._strict);\n            if (era) {\n                getParsingFlags(config).era = era;\n            } else {\n                getParsingFlags(config).invalidEra = input;\n            }\n        }\n    );\n\n    addRegexToken('y', matchUnsigned);\n    addRegexToken('yy', matchUnsigned);\n    addRegexToken('yyy', matchUnsigned);\n    addRegexToken('yyyy', matchUnsigned);\n    addRegexToken('yo', matchEraYearOrdinal);\n\n    addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n    addParseToken(['yo'], function (input, array, config, token) {\n        var match;\n        if (config._locale._eraYearOrdinalRegex) {\n            match = input.match(config._locale._eraYearOrdinalRegex);\n        }\n\n        if (config._locale.eraYearOrdinalParse) {\n            array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n        } else {\n            array[YEAR] = parseInt(input, 10);\n        }\n    });\n\n    function localeEras(m, format) {\n        var i,\n            l,\n            date,\n            eras = this._eras || getLocale('en')._eras;\n        for (i = 0, l = eras.length; i < l; ++i) {\n            switch (typeof eras[i].since) {\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].since).startOf('day');\n                    eras[i].since = date.valueOf();\n                    break;\n            }\n\n            switch (typeof eras[i].until) {\n                case 'undefined':\n                    eras[i].until = +Infinity;\n                    break;\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].until).startOf('day').valueOf();\n                    eras[i].until = date.valueOf();\n                    break;\n            }\n        }\n        return eras;\n    }\n\n    function localeErasParse(eraName, format, strict) {\n        var i,\n            l,\n            eras = this.eras(),\n            name,\n            abbr,\n            narrow;\n        eraName = eraName.toUpperCase();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            name = eras[i].name.toUpperCase();\n            abbr = eras[i].abbr.toUpperCase();\n            narrow = eras[i].narrow.toUpperCase();\n\n            if (strict) {\n                switch (format) {\n                    case 'N':\n                    case 'NN':\n                    case 'NNN':\n                        if (abbr === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNN':\n                        if (name === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNNN':\n                        if (narrow === eraName) {\n                            return eras[i];\n                        }\n                        break;\n                }\n            } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n                return eras[i];\n            }\n        }\n    }\n\n    function localeErasConvertYear(era, year) {\n        var dir = era.since <= era.until ? +1 : -1;\n        if (year === undefined) {\n            return hooks(era.since).year();\n        } else {\n            return hooks(era.since).year() + (year - era.offset) * dir;\n        }\n    }\n\n    function getEraName() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].name;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].name;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraNarrow() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].narrow;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].narrow;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraAbbr() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].abbr;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].abbr;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraYear() {\n        var i,\n            l,\n            dir,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (\n                (eras[i].since <= val && val <= eras[i].until) ||\n                (eras[i].until <= val && val <= eras[i].since)\n            ) {\n                return (\n                    (this.year() - hooks(eras[i].since).year()) * dir +\n                    eras[i].offset\n                );\n            }\n        }\n\n        return this.year();\n    }\n\n    function erasNameRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNameRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNameRegex : this._erasRegex;\n    }\n\n    function erasAbbrRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasAbbrRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasAbbrRegex : this._erasRegex;\n    }\n\n    function erasNarrowRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNarrowRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNarrowRegex : this._erasRegex;\n    }\n\n    function matchEraAbbr(isStrict, locale) {\n        return locale.erasAbbrRegex(isStrict);\n    }\n\n    function matchEraName(isStrict, locale) {\n        return locale.erasNameRegex(isStrict);\n    }\n\n    function matchEraNarrow(isStrict, locale) {\n        return locale.erasNarrowRegex(isStrict);\n    }\n\n    function matchEraYearOrdinal(isStrict, locale) {\n        return locale._eraYearOrdinalRegex || matchUnsigned;\n    }\n\n    function computeErasParse() {\n        var abbrPieces = [],\n            namePieces = [],\n            narrowPieces = [],\n            mixedPieces = [],\n            i,\n            l,\n            eras = this.eras();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            namePieces.push(regexEscape(eras[i].name));\n            abbrPieces.push(regexEscape(eras[i].abbr));\n            narrowPieces.push(regexEscape(eras[i].narrow));\n\n            mixedPieces.push(regexEscape(eras[i].name));\n            mixedPieces.push(regexEscape(eras[i].abbr));\n            mixedPieces.push(regexEscape(eras[i].narrow));\n        }\n\n        this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n        this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n        this._erasNarrowRegex = new RegExp(\n            '^(' + narrowPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken(0, ['gg', 2], 0, function () {\n        return this.weekYear() % 100;\n    });\n\n    addFormatToken(0, ['GG', 2], 0, function () {\n        return this.isoWeekYear() % 100;\n    });\n\n    function addWeekYearFormatToken(token, getter) {\n        addFormatToken(0, [token, token.length], 0, getter);\n    }\n\n    addWeekYearFormatToken('gggg', 'weekYear');\n    addWeekYearFormatToken('ggggg', 'weekYear');\n    addWeekYearFormatToken('GGGG', 'isoWeekYear');\n    addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n    // ALIASES\n\n    addUnitAlias('weekYear', 'gg');\n    addUnitAlias('isoWeekYear', 'GG');\n\n    // PRIORITY\n\n    addUnitPriority('weekYear', 1);\n    addUnitPriority('isoWeekYear', 1);\n\n    // PARSING\n\n    addRegexToken('G', matchSigned);\n    addRegexToken('g', matchSigned);\n    addRegexToken('GG', match1to2, match2);\n    addRegexToken('gg', match1to2, match2);\n    addRegexToken('GGGG', match1to4, match4);\n    addRegexToken('gggg', match1to4, match4);\n    addRegexToken('GGGGG', match1to6, match6);\n    addRegexToken('ggggg', match1to6, match6);\n\n    addWeekParseToken(\n        ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n        function (input, week, config, token) {\n            week[token.substr(0, 2)] = toInt(input);\n        }\n    );\n\n    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n        week[token] = hooks.parseTwoDigitYear(input);\n    });\n\n    // MOMENTS\n\n    function getSetWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.week(),\n            this.weekday(),\n            this.localeData()._week.dow,\n            this.localeData()._week.doy\n        );\n    }\n\n    function getSetISOWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.isoWeek(),\n            this.isoWeekday(),\n            1,\n            4\n        );\n    }\n\n    function getISOWeeksInYear() {\n        return weeksInYear(this.year(), 1, 4);\n    }\n\n    function getISOWeeksInISOWeekYear() {\n        return weeksInYear(this.isoWeekYear(), 1, 4);\n    }\n\n    function getWeeksInYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getWeeksInWeekYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n        var weeksTarget;\n        if (input == null) {\n            return weekOfYear(this, dow, doy).year;\n        } else {\n            weeksTarget = weeksInYear(input, dow, doy);\n            if (week > weeksTarget) {\n                week = weeksTarget;\n            }\n            return setWeekAll.call(this, input, week, weekday, dow, doy);\n        }\n    }\n\n    function setWeekAll(weekYear, week, weekday, dow, doy) {\n        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n        this.year(date.getUTCFullYear());\n        this.month(date.getUTCMonth());\n        this.date(date.getUTCDate());\n        return this;\n    }\n\n    // FORMATTING\n\n    addFormatToken('Q', 0, 'Qo', 'quarter');\n\n    // ALIASES\n\n    addUnitAlias('quarter', 'Q');\n\n    // PRIORITY\n\n    addUnitPriority('quarter', 7);\n\n    // PARSING\n\n    addRegexToken('Q', match1);\n    addParseToken('Q', function (input, array) {\n        array[MONTH] = (toInt(input) - 1) * 3;\n    });\n\n    // MOMENTS\n\n    function getSetQuarter(input) {\n        return input == null\n            ? Math.ceil((this.month() + 1) / 3)\n            : this.month((input - 1) * 3 + (this.month() % 3));\n    }\n\n    // FORMATTING\n\n    addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n    // ALIASES\n\n    addUnitAlias('date', 'D');\n\n    // PRIORITY\n    addUnitPriority('date', 9);\n\n    // PARSING\n\n    addRegexToken('D', match1to2);\n    addRegexToken('DD', match1to2, match2);\n    addRegexToken('Do', function (isStrict, locale) {\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        return isStrict\n            ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n            : locale._dayOfMonthOrdinalParseLenient;\n    });\n\n    addParseToken(['D', 'DD'], DATE);\n    addParseToken('Do', function (input, array) {\n        array[DATE] = toInt(input.match(match1to2)[0]);\n    });\n\n    // MOMENTS\n\n    var getSetDayOfMonth = makeGetSet('Date', true);\n\n    // FORMATTING\n\n    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n    // ALIASES\n\n    addUnitAlias('dayOfYear', 'DDD');\n\n    // PRIORITY\n    addUnitPriority('dayOfYear', 4);\n\n    // PARSING\n\n    addRegexToken('DDD', match1to3);\n    addRegexToken('DDDD', match3);\n    addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n        config._dayOfYear = toInt(input);\n    });\n\n    // HELPERS\n\n    // MOMENTS\n\n    function getSetDayOfYear(input) {\n        var dayOfYear =\n            Math.round(\n                (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n            ) + 1;\n        return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('m', ['mm', 2], 0, 'minute');\n\n    // ALIASES\n\n    addUnitAlias('minute', 'm');\n\n    // PRIORITY\n\n    addUnitPriority('minute', 14);\n\n    // PARSING\n\n    addRegexToken('m', match1to2);\n    addRegexToken('mm', match1to2, match2);\n    addParseToken(['m', 'mm'], MINUTE);\n\n    // MOMENTS\n\n    var getSetMinute = makeGetSet('Minutes', false);\n\n    // FORMATTING\n\n    addFormatToken('s', ['ss', 2], 0, 'second');\n\n    // ALIASES\n\n    addUnitAlias('second', 's');\n\n    // PRIORITY\n\n    addUnitPriority('second', 15);\n\n    // PARSING\n\n    addRegexToken('s', match1to2);\n    addRegexToken('ss', match1to2, match2);\n    addParseToken(['s', 'ss'], SECOND);\n\n    // MOMENTS\n\n    var getSetSecond = makeGetSet('Seconds', false);\n\n    // FORMATTING\n\n    addFormatToken('S', 0, 0, function () {\n        return ~~(this.millisecond() / 100);\n    });\n\n    addFormatToken(0, ['SS', 2], 0, function () {\n        return ~~(this.millisecond() / 10);\n    });\n\n    addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n    addFormatToken(0, ['SSSS', 4], 0, function () {\n        return this.millisecond() * 10;\n    });\n    addFormatToken(0, ['SSSSS', 5], 0, function () {\n        return this.millisecond() * 100;\n    });\n    addFormatToken(0, ['SSSSSS', 6], 0, function () {\n        return this.millisecond() * 1000;\n    });\n    addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n        return this.millisecond() * 10000;\n    });\n    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n        return this.millisecond() * 100000;\n    });\n    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n        return this.millisecond() * 1000000;\n    });\n\n    // ALIASES\n\n    addUnitAlias('millisecond', 'ms');\n\n    // PRIORITY\n\n    addUnitPriority('millisecond', 16);\n\n    // PARSING\n\n    addRegexToken('S', match1to3, match1);\n    addRegexToken('SS', match1to3, match2);\n    addRegexToken('SSS', match1to3, match3);\n\n    var token, getSetMillisecond;\n    for (token = 'SSSS'; token.length <= 9; token += 'S') {\n        addRegexToken(token, matchUnsigned);\n    }\n\n    function parseMs(input, array) {\n        array[MILLISECOND] = toInt(('0.' + input) * 1000);\n    }\n\n    for (token = 'S'; token.length <= 9; token += 'S') {\n        addParseToken(token, parseMs);\n    }\n\n    getSetMillisecond = makeGetSet('Milliseconds', false);\n\n    // FORMATTING\n\n    addFormatToken('z', 0, 0, 'zoneAbbr');\n    addFormatToken('zz', 0, 0, 'zoneName');\n\n    // MOMENTS\n\n    function getZoneAbbr() {\n        return this._isUTC ? 'UTC' : '';\n    }\n\n    function getZoneName() {\n        return this._isUTC ? 'Coordinated Universal Time' : '';\n    }\n\n    var proto = Moment.prototype;\n\n    proto.add = add;\n    proto.calendar = calendar$1;\n    proto.clone = clone;\n    proto.diff = diff;\n    proto.endOf = endOf;\n    proto.format = format;\n    proto.from = from;\n    proto.fromNow = fromNow;\n    proto.to = to;\n    proto.toNow = toNow;\n    proto.get = stringGet;\n    proto.invalidAt = invalidAt;\n    proto.isAfter = isAfter;\n    proto.isBefore = isBefore;\n    proto.isBetween = isBetween;\n    proto.isSame = isSame;\n    proto.isSameOrAfter = isSameOrAfter;\n    proto.isSameOrBefore = isSameOrBefore;\n    proto.isValid = isValid$2;\n    proto.lang = lang;\n    proto.locale = locale;\n    proto.localeData = localeData;\n    proto.max = prototypeMax;\n    proto.min = prototypeMin;\n    proto.parsingFlags = parsingFlags;\n    proto.set = stringSet;\n    proto.startOf = startOf;\n    proto.subtract = subtract;\n    proto.toArray = toArray;\n    proto.toObject = toObject;\n    proto.toDate = toDate;\n    proto.toISOString = toISOString;\n    proto.inspect = inspect;\n    if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n        proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n            return 'Moment<' + this.format() + '>';\n        };\n    }\n    proto.toJSON = toJSON;\n    proto.toString = toString;\n    proto.unix = unix;\n    proto.valueOf = valueOf;\n    proto.creationData = creationData;\n    proto.eraName = getEraName;\n    proto.eraNarrow = getEraNarrow;\n    proto.eraAbbr = getEraAbbr;\n    proto.eraYear = getEraYear;\n    proto.year = getSetYear;\n    proto.isLeapYear = getIsLeapYear;\n    proto.weekYear = getSetWeekYear;\n    proto.isoWeekYear = getSetISOWeekYear;\n    proto.quarter = proto.quarters = getSetQuarter;\n    proto.month = getSetMonth;\n    proto.daysInMonth = getDaysInMonth;\n    proto.week = proto.weeks = getSetWeek;\n    proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n    proto.weeksInYear = getWeeksInYear;\n    proto.weeksInWeekYear = getWeeksInWeekYear;\n    proto.isoWeeksInYear = getISOWeeksInYear;\n    proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n    proto.date = getSetDayOfMonth;\n    proto.day = proto.days = getSetDayOfWeek;\n    proto.weekday = getSetLocaleDayOfWeek;\n    proto.isoWeekday = getSetISODayOfWeek;\n    proto.dayOfYear = getSetDayOfYear;\n    proto.hour = proto.hours = getSetHour;\n    proto.minute = proto.minutes = getSetMinute;\n    proto.second = proto.seconds = getSetSecond;\n    proto.millisecond = proto.milliseconds = getSetMillisecond;\n    proto.utcOffset = getSetOffset;\n    proto.utc = setOffsetToUTC;\n    proto.local = setOffsetToLocal;\n    proto.parseZone = setOffsetToParsedOffset;\n    proto.hasAlignedHourOffset = hasAlignedHourOffset;\n    proto.isDST = isDaylightSavingTime;\n    proto.isLocal = isLocal;\n    proto.isUtcOffset = isUtcOffset;\n    proto.isUtc = isUtc;\n    proto.isUTC = isUtc;\n    proto.zoneAbbr = getZoneAbbr;\n    proto.zoneName = getZoneName;\n    proto.dates = deprecate(\n        'dates accessor is deprecated. Use date instead.',\n        getSetDayOfMonth\n    );\n    proto.months = deprecate(\n        'months accessor is deprecated. Use month instead',\n        getSetMonth\n    );\n    proto.years = deprecate(\n        'years accessor is deprecated. Use year instead',\n        getSetYear\n    );\n    proto.zone = deprecate(\n        'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n        getSetZone\n    );\n    proto.isDSTShifted = deprecate(\n        'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n        isDaylightSavingTimeShifted\n    );\n\n    function createUnix(input) {\n        return createLocal(input * 1000);\n    }\n\n    function createInZone() {\n        return createLocal.apply(null, arguments).parseZone();\n    }\n\n    function preParsePostFormat(string) {\n        return string;\n    }\n\n    var proto$1 = Locale.prototype;\n\n    proto$1.calendar = calendar;\n    proto$1.longDateFormat = longDateFormat;\n    proto$1.invalidDate = invalidDate;\n    proto$1.ordinal = ordinal;\n    proto$1.preparse = preParsePostFormat;\n    proto$1.postformat = preParsePostFormat;\n    proto$1.relativeTime = relativeTime;\n    proto$1.pastFuture = pastFuture;\n    proto$1.set = set;\n    proto$1.eras = localeEras;\n    proto$1.erasParse = localeErasParse;\n    proto$1.erasConvertYear = localeErasConvertYear;\n    proto$1.erasAbbrRegex = erasAbbrRegex;\n    proto$1.erasNameRegex = erasNameRegex;\n    proto$1.erasNarrowRegex = erasNarrowRegex;\n\n    proto$1.months = localeMonths;\n    proto$1.monthsShort = localeMonthsShort;\n    proto$1.monthsParse = localeMonthsParse;\n    proto$1.monthsRegex = monthsRegex;\n    proto$1.monthsShortRegex = monthsShortRegex;\n    proto$1.week = localeWeek;\n    proto$1.firstDayOfYear = localeFirstDayOfYear;\n    proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n    proto$1.weekdays = localeWeekdays;\n    proto$1.weekdaysMin = localeWeekdaysMin;\n    proto$1.weekdaysShort = localeWeekdaysShort;\n    proto$1.weekdaysParse = localeWeekdaysParse;\n\n    proto$1.weekdaysRegex = weekdaysRegex;\n    proto$1.weekdaysShortRegex = weekdaysShortRegex;\n    proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n    proto$1.isPM = localeIsPM;\n    proto$1.meridiem = localeMeridiem;\n\n    function get$1(format, index, field, setter) {\n        var locale = getLocale(),\n            utc = createUTC().set(setter, index);\n        return locale[field](utc, format);\n    }\n\n    function listMonthsImpl(format, index, field) {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n\n        if (index != null) {\n            return get$1(format, index, field, 'month');\n        }\n\n        var i,\n            out = [];\n        for (i = 0; i < 12; i++) {\n            out[i] = get$1(format, i, field, 'month');\n        }\n        return out;\n    }\n\n    // ()\n    // (5)\n    // (fmt, 5)\n    // (fmt)\n    // (true)\n    // (true, 5)\n    // (true, fmt, 5)\n    // (true, fmt)\n    function listWeekdaysImpl(localeSorted, format, index, field) {\n        if (typeof localeSorted === 'boolean') {\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        } else {\n            format = localeSorted;\n            index = format;\n            localeSorted = false;\n\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        }\n\n        var locale = getLocale(),\n            shift = localeSorted ? locale._week.dow : 0,\n            i,\n            out = [];\n\n        if (index != null) {\n            return get$1(format, (index + shift) % 7, field, 'day');\n        }\n\n        for (i = 0; i < 7; i++) {\n            out[i] = get$1(format, (i + shift) % 7, field, 'day');\n        }\n        return out;\n    }\n\n    function listMonths(format, index) {\n        return listMonthsImpl(format, index, 'months');\n    }\n\n    function listMonthsShort(format, index) {\n        return listMonthsImpl(format, index, 'monthsShort');\n    }\n\n    function listWeekdays(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n    }\n\n    function listWeekdaysShort(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n    }\n\n    function listWeekdaysMin(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n    }\n\n    getSetGlobalLocale('en', {\n        eras: [\n            {\n                since: '0001-01-01',\n                until: +Infinity,\n                offset: 1,\n                name: 'Anno Domini',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: 'Before Christ',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    toInt((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    // Side effect imports\n\n    hooks.lang = deprecate(\n        'moment.lang is deprecated. Use moment.locale instead.',\n        getSetGlobalLocale\n    );\n    hooks.langData = deprecate(\n        'moment.langData is deprecated. Use moment.localeData instead.',\n        getLocale\n    );\n\n    var mathAbs = Math.abs;\n\n    function abs() {\n        var data = this._data;\n\n        this._milliseconds = mathAbs(this._milliseconds);\n        this._days = mathAbs(this._days);\n        this._months = mathAbs(this._months);\n\n        data.milliseconds = mathAbs(data.milliseconds);\n        data.seconds = mathAbs(data.seconds);\n        data.minutes = mathAbs(data.minutes);\n        data.hours = mathAbs(data.hours);\n        data.months = mathAbs(data.months);\n        data.years = mathAbs(data.years);\n\n        return this;\n    }\n\n    function addSubtract$1(duration, input, value, direction) {\n        var other = createDuration(input, value);\n\n        duration._milliseconds += direction * other._milliseconds;\n        duration._days += direction * other._days;\n        duration._months += direction * other._months;\n\n        return duration._bubble();\n    }\n\n    // supports only 2.0-style add(1, 's') or add(duration)\n    function add$1(input, value) {\n        return addSubtract$1(this, input, value, 1);\n    }\n\n    // supports only 2.0-style subtract(1, 's') or subtract(duration)\n    function subtract$1(input, value) {\n        return addSubtract$1(this, input, value, -1);\n    }\n\n    function absCeil(number) {\n        if (number < 0) {\n            return Math.floor(number);\n        } else {\n            return Math.ceil(number);\n        }\n    }\n\n    function bubble() {\n        var milliseconds = this._milliseconds,\n            days = this._days,\n            months = this._months,\n            data = this._data,\n            seconds,\n            minutes,\n            hours,\n            years,\n            monthsFromDays;\n\n        // if we have a mix of positive and negative values, bubble down first\n        // check: https://github.com/moment/moment/issues/2166\n        if (\n            !(\n                (milliseconds >= 0 && days >= 0 && months >= 0) ||\n                (milliseconds <= 0 && days <= 0 && months <= 0)\n            )\n        ) {\n            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n            days = 0;\n            months = 0;\n        }\n\n        // The following code bubbles up values, see the tests for\n        // examples of what that means.\n        data.milliseconds = milliseconds % 1000;\n\n        seconds = absFloor(milliseconds / 1000);\n        data.seconds = seconds % 60;\n\n        minutes = absFloor(seconds / 60);\n        data.minutes = minutes % 60;\n\n        hours = absFloor(minutes / 60);\n        data.hours = hours % 24;\n\n        days += absFloor(hours / 24);\n\n        // convert days to months\n        monthsFromDays = absFloor(daysToMonths(days));\n        months += monthsFromDays;\n        days -= absCeil(monthsToDays(monthsFromDays));\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        data.days = days;\n        data.months = months;\n        data.years = years;\n\n        return this;\n    }\n\n    function daysToMonths(days) {\n        // 400 years have 146097 days (taking into account leap year rules)\n        // 400 years have 12 months === 4800\n        return (days * 4800) / 146097;\n    }\n\n    function monthsToDays(months) {\n        // the reverse of daysToMonths\n        return (months * 146097) / 4800;\n    }\n\n    function as(units) {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        var days,\n            months,\n            milliseconds = this._milliseconds;\n\n        units = normalizeUnits(units);\n\n        if (units === 'month' || units === 'quarter' || units === 'year') {\n            days = this._days + milliseconds / 864e5;\n            months = this._months + daysToMonths(days);\n            switch (units) {\n                case 'month':\n                    return months;\n                case 'quarter':\n                    return months / 3;\n                case 'year':\n                    return months / 12;\n            }\n        } else {\n            // handle milliseconds separately because of floating point math errors (issue #1867)\n            days = this._days + Math.round(monthsToDays(this._months));\n            switch (units) {\n                case 'week':\n                    return days / 7 + milliseconds / 6048e5;\n                case 'day':\n                    return days + milliseconds / 864e5;\n                case 'hour':\n                    return days * 24 + milliseconds / 36e5;\n                case 'minute':\n                    return days * 1440 + milliseconds / 6e4;\n                case 'second':\n                    return days * 86400 + milliseconds / 1000;\n                // Math.floor prevents floating point math errors here\n                case 'millisecond':\n                    return Math.floor(days * 864e5) + milliseconds;\n                default:\n                    throw new Error('Unknown unit ' + units);\n            }\n        }\n    }\n\n    // TODO: Use this.as('ms')?\n    function valueOf$1() {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        return (\n            this._milliseconds +\n            this._days * 864e5 +\n            (this._months % 12) * 2592e6 +\n            toInt(this._months / 12) * 31536e6\n        );\n    }\n\n    function makeAs(alias) {\n        return function () {\n            return this.as(alias);\n        };\n    }\n\n    var asMilliseconds = makeAs('ms'),\n        asSeconds = makeAs('s'),\n        asMinutes = makeAs('m'),\n        asHours = makeAs('h'),\n        asDays = makeAs('d'),\n        asWeeks = makeAs('w'),\n        asMonths = makeAs('M'),\n        asQuarters = makeAs('Q'),\n        asYears = makeAs('y');\n\n    function clone$1() {\n        return createDuration(this);\n    }\n\n    function get$2(units) {\n        units = normalizeUnits(units);\n        return this.isValid() ? this[units + 's']() : NaN;\n    }\n\n    function makeGetter(name) {\n        return function () {\n            return this.isValid() ? this._data[name] : NaN;\n        };\n    }\n\n    var milliseconds = makeGetter('milliseconds'),\n        seconds = makeGetter('seconds'),\n        minutes = makeGetter('minutes'),\n        hours = makeGetter('hours'),\n        days = makeGetter('days'),\n        months = makeGetter('months'),\n        years = makeGetter('years');\n\n    function weeks() {\n        return absFloor(this.days() / 7);\n    }\n\n    var round = Math.round,\n        thresholds = {\n            ss: 44, // a few seconds to seconds\n            s: 45, // seconds to minute\n            m: 45, // minutes to hour\n            h: 22, // hours to day\n            d: 26, // days to month/week\n            w: null, // weeks to month\n            M: 11, // months to year\n        };\n\n    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n    }\n\n    function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n        var duration = createDuration(posNegDuration).abs(),\n            seconds = round(duration.as('s')),\n            minutes = round(duration.as('m')),\n            hours = round(duration.as('h')),\n            days = round(duration.as('d')),\n            months = round(duration.as('M')),\n            weeks = round(duration.as('w')),\n            years = round(duration.as('y')),\n            a =\n                (seconds <= thresholds.ss && ['s', seconds]) ||\n                (seconds < thresholds.s && ['ss', seconds]) ||\n                (minutes <= 1 && ['m']) ||\n                (minutes < thresholds.m && ['mm', minutes]) ||\n                (hours <= 1 && ['h']) ||\n                (hours < thresholds.h && ['hh', hours]) ||\n                (days <= 1 && ['d']) ||\n                (days < thresholds.d && ['dd', days]);\n\n        if (thresholds.w != null) {\n            a =\n                a ||\n                (weeks <= 1 && ['w']) ||\n                (weeks < thresholds.w && ['ww', weeks]);\n        }\n        a = a ||\n            (months <= 1 && ['M']) ||\n            (months < thresholds.M && ['MM', months]) ||\n            (years <= 1 && ['y']) || ['yy', years];\n\n        a[2] = withoutSuffix;\n        a[3] = +posNegDuration > 0;\n        a[4] = locale;\n        return substituteTimeAgo.apply(null, a);\n    }\n\n    // This function allows you to set the rounding function for relative time strings\n    function getSetRelativeTimeRounding(roundingFunction) {\n        if (roundingFunction === undefined) {\n            return round;\n        }\n        if (typeof roundingFunction === 'function') {\n            round = roundingFunction;\n            return true;\n        }\n        return false;\n    }\n\n    // This function allows you to set a threshold for relative time strings\n    function getSetRelativeTimeThreshold(threshold, limit) {\n        if (thresholds[threshold] === undefined) {\n            return false;\n        }\n        if (limit === undefined) {\n            return thresholds[threshold];\n        }\n        thresholds[threshold] = limit;\n        if (threshold === 's') {\n            thresholds.ss = limit - 1;\n        }\n        return true;\n    }\n\n    function humanize(argWithSuffix, argThresholds) {\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var withSuffix = false,\n            th = thresholds,\n            locale,\n            output;\n\n        if (typeof argWithSuffix === 'object') {\n            argThresholds = argWithSuffix;\n            argWithSuffix = false;\n        }\n        if (typeof argWithSuffix === 'boolean') {\n            withSuffix = argWithSuffix;\n        }\n        if (typeof argThresholds === 'object') {\n            th = Object.assign({}, thresholds, argThresholds);\n            if (argThresholds.s != null && argThresholds.ss == null) {\n                th.ss = argThresholds.s - 1;\n            }\n        }\n\n        locale = this.localeData();\n        output = relativeTime$1(this, !withSuffix, th, locale);\n\n        if (withSuffix) {\n            output = locale.pastFuture(+this, output);\n        }\n\n        return locale.postformat(output);\n    }\n\n    var abs$1 = Math.abs;\n\n    function sign(x) {\n        return (x > 0) - (x < 0) || +x;\n    }\n\n    function toISOString$1() {\n        // for ISO strings we do not use the normal bubbling rules:\n        //  * milliseconds bubble up until they become hours\n        //  * days do not bubble at all\n        //  * months bubble up until they become years\n        // This is because there is no context-free conversion between hours and days\n        // (think of clock changes)\n        // and also not between days and months (28-31 days per month)\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var seconds = abs$1(this._milliseconds) / 1000,\n            days = abs$1(this._days),\n            months = abs$1(this._months),\n            minutes,\n            hours,\n            years,\n            s,\n            total = this.asSeconds(),\n            totalSign,\n            ymSign,\n            daysSign,\n            hmsSign;\n\n        if (!total) {\n            // this is the same as C#'s (Noda) and python (isodate)...\n            // but not other JS (goog.date)\n            return 'P0D';\n        }\n\n        // 3600 seconds -> 60 minutes -> 1 hour\n        minutes = absFloor(seconds / 60);\n        hours = absFloor(minutes / 60);\n        seconds %= 60;\n        minutes %= 60;\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n        s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n        totalSign = total < 0 ? '-' : '';\n        ymSign = sign(this._months) !== sign(total) ? '-' : '';\n        daysSign = sign(this._days) !== sign(total) ? '-' : '';\n        hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n        return (\n            totalSign +\n            'P' +\n            (years ? ymSign + years + 'Y' : '') +\n            (months ? ymSign + months + 'M' : '') +\n            (days ? daysSign + days + 'D' : '') +\n            (hours || minutes || seconds ? 'T' : '') +\n            (hours ? hmsSign + hours + 'H' : '') +\n            (minutes ? hmsSign + minutes + 'M' : '') +\n            (seconds ? hmsSign + s + 'S' : '')\n        );\n    }\n\n    var proto$2 = Duration.prototype;\n\n    proto$2.isValid = isValid$1;\n    proto$2.abs = abs;\n    proto$2.add = add$1;\n    proto$2.subtract = subtract$1;\n    proto$2.as = as;\n    proto$2.asMilliseconds = asMilliseconds;\n    proto$2.asSeconds = asSeconds;\n    proto$2.asMinutes = asMinutes;\n    proto$2.asHours = asHours;\n    proto$2.asDays = asDays;\n    proto$2.asWeeks = asWeeks;\n    proto$2.asMonths = asMonths;\n    proto$2.asQuarters = asQuarters;\n    proto$2.asYears = asYears;\n    proto$2.valueOf = valueOf$1;\n    proto$2._bubble = bubble;\n    proto$2.clone = clone$1;\n    proto$2.get = get$2;\n    proto$2.milliseconds = milliseconds;\n    proto$2.seconds = seconds;\n    proto$2.minutes = minutes;\n    proto$2.hours = hours;\n    proto$2.days = days;\n    proto$2.weeks = weeks;\n    proto$2.months = months;\n    proto$2.years = years;\n    proto$2.humanize = humanize;\n    proto$2.toISOString = toISOString$1;\n    proto$2.toString = toISOString$1;\n    proto$2.toJSON = toISOString$1;\n    proto$2.locale = locale;\n    proto$2.localeData = localeData;\n\n    proto$2.toIsoString = deprecate(\n        'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n        toISOString$1\n    );\n    proto$2.lang = lang;\n\n    // FORMATTING\n\n    addFormatToken('X', 0, 0, 'unix');\n    addFormatToken('x', 0, 0, 'valueOf');\n\n    // PARSING\n\n    addRegexToken('x', matchSigned);\n    addRegexToken('X', matchTimestamp);\n    addParseToken('X', function (input, array, config) {\n        config._d = new Date(parseFloat(input) * 1000);\n    });\n    addParseToken('x', function (input, array, config) {\n        config._d = new Date(toInt(input));\n    });\n\n    //! moment.js\n\n    hooks.version = '2.29.3';\n\n    setHookCallback(createLocal);\n\n    hooks.fn = proto;\n    hooks.min = min;\n    hooks.max = max;\n    hooks.now = now;\n    hooks.utc = createUTC;\n    hooks.unix = createUnix;\n    hooks.months = listMonths;\n    hooks.isDate = isDate;\n    hooks.locale = getSetGlobalLocale;\n    hooks.invalid = createInvalid;\n    hooks.duration = createDuration;\n    hooks.isMoment = isMoment;\n    hooks.weekdays = listWeekdays;\n    hooks.parseZone = createInZone;\n    hooks.localeData = getLocale;\n    hooks.isDuration = isDuration;\n    hooks.monthsShort = listMonthsShort;\n    hooks.weekdaysMin = listWeekdaysMin;\n    hooks.defineLocale = defineLocale;\n    hooks.updateLocale = updateLocale;\n    hooks.locales = listLocales;\n    hooks.weekdaysShort = listWeekdaysShort;\n    hooks.normalizeUnits = normalizeUnits;\n    hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n    hooks.calendarFormat = getCalendarFormat;\n    hooks.prototype = proto;\n\n    // currently HTML5 input type only supports 24-hour formats\n    hooks.HTML5_FMT = {\n        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n        DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n        TIME: 'HH:mm', // <input type=\"time\" />\n        TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n        TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n        WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n        MONTH: 'YYYY-MM', // <input type=\"month\" />\n    };\n\n    return hooks;\n\n})));\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function define(obj, key, value) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n    return obj[key];\n  }\n  try {\n    // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n    define({}, \"\");\n  } catch (err) {\n    define = function(obj, key, value) {\n      return obj[key] = value;\n    };\n  }\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  define(IteratorPrototype, iteratorSymbol, function () {\n    return this;\n  });\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = GeneratorFunctionPrototype;\n  define(Gp, \"constructor\", GeneratorFunctionPrototype);\n  define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n  GeneratorFunction.displayName = define(\n    GeneratorFunctionPrototype,\n    toStringTagSymbol,\n    \"GeneratorFunction\"\n  );\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      define(prototype, method, function(arg) {\n        return this._invoke(method, arg);\n      });\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n    return this;\n  });\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  define(Gp, toStringTagSymbol, \"Generator\");\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  define(Gp, iteratorSymbol, function() {\n    return this;\n  });\n\n  define(Gp, \"toString\", function() {\n    return \"[object Generator]\";\n  });\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, in modern engines\n  // we can explicitly access globalThis. In older engines we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  if (typeof globalThis === \"object\") {\n    globalThis.regeneratorRuntime = runtime;\n  } else {\n    Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n  }\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _RestClient_instances, _RestClient_baseUrl, _RestClient_makeUrl, _RestClient_makeRequest, _APIResponse_jsonMimeTypes;\n// @ts-ignore\nimport ENVIRONMENT from '../environment';\nexport class RestClient {\n    constructor() {\n        _RestClient_instances.add(this);\n        _RestClient_baseUrl.set(this, void 0);\n        Object.defineProperty(this, \"auth\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        __classPrivateFieldSet(this, _RestClient_baseUrl, new URL(ENVIRONMENT.APP_API_BASE_URL), \"f\");\n        this.auth = new RestAuth();\n    }\n    // Retrieve the device fingerprint from local storage\n    get xhrFingerprint() {\n        return localStorage.getItem('xhr-fingerprint');\n    }\n    // Execute the fetch and handle API response\n    async fetch(request) {\n        try {\n            const response = await fetch(request);\n            const apiResponse = await APIResponse.from(response);\n            if (!apiResponse.ok) {\n                const errorMessages = apiResponse.data?.errors?.map((err) => err.msg).join(\", \") || \"Server error\";\n                console.warn(`[rest-client] ${apiResponse.status} error: ${errorMessages}`);\n            }\n            return apiResponse;\n        }\n        catch (error) {\n            console.error(\"[rest-client] Fetch error:\", error);\n            throw error;\n        }\n    }\n    // GET request with optional query parameters\n    get(endpoint, data) {\n        const url = __classPrivateFieldGet(this, _RestClient_instances, \"m\", _RestClient_makeUrl).call(this, endpoint);\n        if (data) {\n            url.search = new URLSearchParams([...url.search, ...data]).toString();\n        }\n        const request = __classPrivateFieldGet(this, _RestClient_instances, \"m\", _RestClient_makeRequest).call(this, url, \"GET\");\n        return this.fetch(request);\n    }\n}\n_RestClient_baseUrl = new WeakMap(), _RestClient_instances = new WeakSet(), _RestClient_makeUrl = function _RestClient_makeUrl(endpoint) {\n    return new URL(`${__classPrivateFieldGet(this, _RestClient_baseUrl, \"f\")}${endpoint}`);\n}, _RestClient_makeRequest = function _RestClient_makeRequest(url, method, data) {\n    const headers = new Headers({\n        \"Accept-Language\": \"it\",\n        \"Content-Type\": \"application/vnd.api+json\",\n        \"X-api-client-name\": ENVIRONMENT.APP_API_CLIENT_NAME,\n        \"X-api-key\": ENVIRONMENT.APP_API_KEY,\n        \"X-api-client-version\": ENVIRONMENT.APP_API_CLIENT_VERSION,\n    });\n    if (ENVIRONMENT.APP_DEBUG === \"true\") {\n        headers.append(\"X-ignore-test-agreements\", \"ignore\");\n    }\n    if (this.xhrFingerprint) {\n        headers.append(\"X-Device-Fingerprint\", this.xhrFingerprint);\n    }\n    if (this.auth.accessToken) {\n        headers.append(\"Authorization\", `Bearer ${this.auth.accessToken}`);\n    }\n    const options = {\n        method,\n        headers,\n        body: data ? JSON.stringify(data) : null,\n    };\n    return new Request(url.toString(), options);\n};\nclass APIResponse {\n    constructor(config = {}) {\n        Object.defineProperty(this, \"data\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"meta\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: null\n        });\n        Object.defineProperty(this, \"headers\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: new Headers()\n        });\n        Object.defineProperty(this, \"ok\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: true\n        });\n        Object.defineProperty(this, \"status\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: 200\n        });\n        _APIResponse_jsonMimeTypes.set(this, [\n            \"application/json\",\n            \"application/ld+json\",\n            \"application/vnd.api+json\",\n            \"application/x-javascript\",\n            \"text/javascript\",\n            \"text/x-javascript\",\n            \"text/x-json\",\n        ]);\n        Object.assign(this, config);\n    }\n    // Check if APIResponse's content type is JSON\n    isJson() {\n        const contentType = (this.headers.get(\"Content-Type\") || \"\").replace(/\\s*[,;].*$/, \"\");\n        return __classPrivateFieldGet(this, _APIResponse_jsonMimeTypes, \"f\").includes(contentType);\n    }\n    // Factory method to create APIResponse from a fetch response\n    static async from(response) {\n        const apiResponse = new this({\n            headers: response.headers,\n            ok: response.ok,\n            status: response.status,\n        });\n        apiResponse.data = apiResponse.isJson() ? await response.json() : await response.text();\n        return apiResponse;\n    }\n}\n_APIResponse_jsonMimeTypes = new WeakMap();\nexport class RestAuth {\n    get accessToken() {\n        return localStorage.getItem(\"access_token\");\n    }\n    set accessToken(accessToken) {\n        if (accessToken) {\n            localStorage.setItem(\"access_token\", accessToken);\n        }\n        else {\n            localStorage.removeItem(\"access_token\");\n        }\n    }\n    get refreshToken() {\n        return localStorage.getItem(\"refresh_token\");\n    }\n    set refreshToken(refreshToken) {\n        if (refreshToken) {\n            localStorage.setItem(\"refresh_token\", refreshToken);\n        }\n        else {\n            localStorage.removeItem(\"refresh_token\");\n        }\n    }\n    // Check if the user is authenticated\n    get isAuthenticated() {\n        return !!this.accessToken && !!this.refreshToken;\n    }\n}\n","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n  // lazy load so that environments that need to polyfill have a chance to do so\n  if (!getRandomValues) {\n    // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n    // find the complete implementation of crypto (msCrypto) on IE11.\n    getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n    if (!getRandomValues) {\n      throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n    }\n  }\n\n  return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n  byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n  var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n  // Note: Be careful editing this code!  It's been tuned for performance\n  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n  var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one\n  // of the following:\n  // - One or more input array values don't map to a hex octet (leading to\n  // \"undefined\" in the uuid)\n  // - Invalid input values for the RFC `version` or `variant` fields\n\n  if (!validate(uuid)) {\n    throw TypeError('Stringified UUID is invalid');\n  }\n\n  return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n  options = options || {};\n  var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n  rnds[6] = rnds[6] & 0x0f | 0x40;\n  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n  if (buf) {\n    offset = offset || 0;\n\n    for (var i = 0; i < 16; ++i) {\n      buf[offset + i] = rnds[i];\n    }\n\n    return buf;\n  }\n\n  return stringify(rnds);\n}\n\nexport default v4;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n  return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n    ...platform,\n    detectOverflow\n  };\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let resetCount = 0;\n  const middlewareData = {};\n  for (let i = 0; i < middleware.length; i++) {\n    const currentMiddleware = middleware[i];\n    if (!currentMiddleware) {\n      continue;\n    }\n    const {\n      name,\n      fn\n    } = currentMiddleware;\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform: platformWithDetectOverflow,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData[name] = {\n      ...middlewareData[name],\n      ...data\n    };\n    if (reset && resetCount < MAX_RESET_COUNT) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects,\n        platform\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        platform\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n  let top = firstRect.top;\n  let right = firstRect.right;\n  let bottom = firstRect.bottom;\n  let left = firstRect.left;\n  for (let i = 1; i < clippingAncestors.length; i++) {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n    top = max(rect.top, top);\n    right = min(rect.right, right);\n    bottom = min(rect.bottom, bottom);\n    left = max(rect.left, left);\n  }\n  return {\n    width: right - left,\n    height: bottom - top,\n    x: left,\n    y: top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    if (floating) {\n      resizeObserver.observe(floating);\n    }\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n  return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  try {\n    if (element.matches(':popover-open')) {\n      return true;\n    }\n  } catch (_e) {\n    // no-op\n  }\n  try {\n    return element.matches(':modal');\n  } catch (_e) {\n    return false;\n  }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (isWebKitValue == null) {\n    isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n  }\n  return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n  return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  } else {\n    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n  }\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  const firstChar = placement[0];\n  return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  const side = getSide(placement);\n  return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          // Try next placement and re-run the lifecycle.\n          return {\n            data: {\n              index: nextIndex,\n              overflows: overflowsData\n            },\n            reset: {\n              placement: nextPlacement\n            }\n          };\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = ['top', 'left'].includes(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n  return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  return [':popover-open', ':modal'].some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (e) {\n      return false;\n    }\n  });\n}\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n  return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n  const lr = ['left', 'right'];\n  const rl = ['right', 'left'];\n  const tb = ['top', 'bottom'];\n  const bt = ['bottom', 'top'];\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rl : lr;\n      return isStart ? lr : rl;\n    case 'left':\n    case 'right':\n      return isStart ? tb : bt;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import Duration from \"./duration.js\";\nimport Interval from \"./interval.js\";\nimport Settings from \"./settings.js\";\nimport Info from \"./info.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport FixedOffsetZone from \"./zones/fixedOffsetZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport {\n  isUndefined,\n  maybeArray,\n  isDate,\n  isNumber,\n  bestBy,\n  daysInMonth,\n  daysInYear,\n  isLeapYear,\n  weeksInWeekYear,\n  normalizeObject,\n  roundTo,\n  objToLocalTS,\n  padStart,\n} from \"./impl/util.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport diff from \"./impl/diff.js\";\nimport { parseRFC2822Date, parseISODate, parseHTTPDate, parseSQL } from \"./impl/regexParser.js\";\nimport {\n  parseFromTokens,\n  explainFromTokens,\n  formatOptsToTokens,\n  expandMacroTokens,\n} from \"./impl/tokenParser.js\";\nimport {\n  gregorianToWeek,\n  weekToGregorian,\n  gregorianToOrdinal,\n  ordinalToGregorian,\n  hasInvalidGregorianData,\n  hasInvalidWeekData,\n  hasInvalidOrdinalData,\n  hasInvalidTimeData,\n} from \"./impl/conversions.js\";\nimport * as Formats from \"./impl/formats.js\";\nimport {\n  InvalidArgumentError,\n  ConflictingSpecificationError,\n  InvalidUnitError,\n  InvalidDateTimeError,\n} from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\n\nfunction unsupportedZone(zone) {\n  return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\nfunction possiblyCachedWeekData(dt) {\n  if (dt.weekData === null) {\n    dt.weekData = gregorianToWeek(dt.c);\n  }\n  return dt.weekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n  const current = {\n    ts: inst.ts,\n    zone: inst.zone,\n    c: inst.c,\n    o: inst.o,\n    loc: inst.loc,\n    invalid: inst.invalid,\n  };\n  return new DateTime({ ...current, ...alts, old: current });\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n  // Our UTC time is just a guess because our offset is just a guess\n  let utcGuess = localTS - o * 60 * 1000;\n\n  // Test whether the zone matches the offset for this ts\n  const o2 = tz.offset(utcGuess);\n\n  // If so, offset didn't change and we're done\n  if (o === o2) {\n    return [utcGuess, o];\n  }\n\n  // If not, change the ts by the difference in the offset\n  utcGuess -= (o2 - o) * 60 * 1000;\n\n  // If that gives us the local time we want, we're done\n  const o3 = tz.offset(utcGuess);\n  if (o2 === o3) {\n    return [utcGuess, o2];\n  }\n\n  // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n  return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n  ts += offset * 60 * 1000;\n\n  const d = new Date(ts);\n\n  return {\n    year: d.getUTCFullYear(),\n    month: d.getUTCMonth() + 1,\n    day: d.getUTCDate(),\n    hour: d.getUTCHours(),\n    minute: d.getUTCMinutes(),\n    second: d.getUTCSeconds(),\n    millisecond: d.getUTCMilliseconds(),\n  };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n  return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n  const oPre = inst.o,\n    year = inst.c.year + Math.trunc(dur.years),\n    month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n    c = {\n      ...inst.c,\n      year,\n      month,\n      day:\n        Math.min(inst.c.day, daysInMonth(year, month)) +\n        Math.trunc(dur.days) +\n        Math.trunc(dur.weeks) * 7,\n    },\n    millisToAdd = Duration.fromObject({\n      years: dur.years - Math.trunc(dur.years),\n      quarters: dur.quarters - Math.trunc(dur.quarters),\n      months: dur.months - Math.trunc(dur.months),\n      weeks: dur.weeks - Math.trunc(dur.weeks),\n      days: dur.days - Math.trunc(dur.days),\n      hours: dur.hours,\n      minutes: dur.minutes,\n      seconds: dur.seconds,\n      milliseconds: dur.milliseconds,\n    }).as(\"milliseconds\"),\n    localTS = objToLocalTS(c);\n\n  let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n\n  if (millisToAdd !== 0) {\n    ts += millisToAdd;\n    // that could have changed the offset by going over a DST, but we want to keep the ts the same\n    o = inst.zone.offset(ts);\n  }\n\n  return { ts, o };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n  const { setZone, zone } = opts;\n  if ((parsed && Object.keys(parsed).length !== 0) || parsedZone) {\n    const interpretationZone = parsedZone || zone,\n      inst = DateTime.fromObject(parsed, {\n        ...opts,\n        zone: interpretationZone,\n        specificOffset,\n      });\n    return setZone ? inst : inst.setZone(zone);\n  } else {\n    return DateTime.invalid(\n      new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`)\n    );\n  }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n  return dt.isValid\n    ? Formatter.create(Locale.create(\"en-US\"), {\n        allowZ,\n        forceSimple: true,\n      }).formatDateTimeFromString(dt, format)\n    : null;\n}\n\nfunction toISODate(o, extended) {\n  const longFormat = o.c.year > 9999 || o.c.year < 0;\n  let c = \"\";\n  if (longFormat && o.c.year >= 0) c += \"+\";\n  c += padStart(o.c.year, longFormat ? 6 : 4);\n\n  if (extended) {\n    c += \"-\";\n    c += padStart(o.c.month);\n    c += \"-\";\n    c += padStart(o.c.day);\n  } else {\n    c += padStart(o.c.month);\n    c += padStart(o.c.day);\n  }\n  return c;\n}\n\nfunction toISOTime(\n  o,\n  extended,\n  suppressSeconds,\n  suppressMilliseconds,\n  includeOffset,\n  extendedZone\n) {\n  let c = padStart(o.c.hour);\n  if (extended) {\n    c += \":\";\n    c += padStart(o.c.minute);\n    if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n      c += \":\";\n    }\n  } else {\n    c += padStart(o.c.minute);\n  }\n\n  if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n    c += padStart(o.c.second);\n\n    if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n      c += \".\";\n      c += padStart(o.c.millisecond, 3);\n    }\n  }\n\n  if (includeOffset) {\n    if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n      c += \"Z\";\n    } else if (o.o < 0) {\n      c += \"-\";\n      c += padStart(Math.trunc(-o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(-o.o % 60));\n    } else {\n      c += \"+\";\n      c += padStart(Math.trunc(o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(o.o % 60));\n    }\n  }\n\n  if (extendedZone) {\n    c += \"[\" + o.zone.ianaName + \"]\";\n  }\n  return c;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n    month: 1,\n    day: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  },\n  defaultWeekUnitValues = {\n    weekNumber: 1,\n    weekday: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  },\n  defaultOrdinalUnitValues = {\n    ordinal: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0,\n  };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedWeekUnits = [\n    \"weekYear\",\n    \"weekNumber\",\n    \"weekday\",\n    \"hour\",\n    \"minute\",\n    \"second\",\n    \"millisecond\",\n  ],\n  orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n  const normalized = {\n    year: \"year\",\n    years: \"year\",\n    month: \"month\",\n    months: \"month\",\n    day: \"day\",\n    days: \"day\",\n    hour: \"hour\",\n    hours: \"hour\",\n    minute: \"minute\",\n    minutes: \"minute\",\n    quarter: \"quarter\",\n    quarters: \"quarter\",\n    second: \"second\",\n    seconds: \"second\",\n    millisecond: \"millisecond\",\n    milliseconds: \"millisecond\",\n    weekday: \"weekday\",\n    weekdays: \"weekday\",\n    weeknumber: \"weekNumber\",\n    weeksnumber: \"weekNumber\",\n    weeknumbers: \"weekNumber\",\n    weekyear: \"weekYear\",\n    weekyears: \"weekYear\",\n    ordinal: \"ordinal\",\n  }[unit.toLowerCase()];\n\n  if (!normalized) throw new InvalidUnitError(unit);\n\n  return normalized;\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n  const zone = normalizeZone(opts.zone, Settings.defaultZone),\n    loc = Locale.fromObject(opts),\n    tsNow = Settings.now();\n\n  let ts, o;\n\n  // assume we have the higher-order units\n  if (!isUndefined(obj.year)) {\n    for (const u of orderedUnits) {\n      if (isUndefined(obj[u])) {\n        obj[u] = defaultUnitValues[u];\n      }\n    }\n\n    const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    const offsetProvis = zone.offset(tsNow);\n    [ts, o] = objToTS(obj, offsetProvis, zone);\n  } else {\n    ts = tsNow;\n  }\n\n  return new DateTime({ ts, zone, loc, o });\n}\n\nfunction diffRelative(start, end, opts) {\n  const round = isUndefined(opts.round) ? true : opts.round,\n    format = (c, unit) => {\n      c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n      const formatter = end.loc.clone(opts).relFormatter(opts);\n      return formatter.format(c, unit);\n    },\n    differ = (unit) => {\n      if (opts.calendary) {\n        if (!end.hasSame(start, unit)) {\n          return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n        } else return 0;\n      } else {\n        return end.diff(start, unit).get(unit);\n      }\n    };\n\n  if (opts.unit) {\n    return format(differ(opts.unit), opts.unit);\n  }\n\n  for (const unit of opts.units) {\n    const count = differ(unit);\n    if (Math.abs(count) >= 1) {\n      return format(count, unit);\n    }\n  }\n  return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\n\nfunction lastOpts(argList) {\n  let opts = {},\n    args;\n  if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n    opts = argList[argList.length - 1];\n    args = Array.from(argList).slice(0, argList.length - 1);\n  } else {\n    args = Array.from(argList);\n  }\n  return [opts, args];\n}\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nexport default class DateTime {\n  /**\n   * @access private\n   */\n  constructor(config) {\n    const zone = config.zone || Settings.defaultZone;\n\n    let invalid =\n      config.invalid ||\n      (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) ||\n      (!zone.isValid ? unsupportedZone(zone) : null);\n    /**\n     * @access private\n     */\n    this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n\n    let c = null,\n      o = null;\n    if (!invalid) {\n      const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n\n      if (unchanged) {\n        [c, o] = [config.old.c, config.old.o];\n      } else {\n        const ot = zone.offset(this.ts);\n        c = tsToObj(this.ts, ot);\n        invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n        c = invalid ? null : c;\n        o = invalid ? null : ot;\n      }\n    }\n\n    /**\n     * @access private\n     */\n    this._zone = zone;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.invalid = invalid;\n    /**\n     * @access private\n     */\n    this.weekData = null;\n    /**\n     * @access private\n     */\n    this.c = c;\n    /**\n     * @access private\n     */\n    this.o = o;\n    /**\n     * @access private\n     */\n    this.isLuxonDateTime = true;\n  }\n\n  // CONSTRUCT\n\n  /**\n   * Create a DateTime for the current instant, in the system's time zone.\n   *\n   * Use Settings to override these default values if needed.\n   * @example DateTime.now().toISO() //~> now in the ISO format\n   * @return {DateTime}\n   */\n  static now() {\n    return new DateTime({});\n  }\n\n  /**\n   * Create a local DateTime\n   * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month, 1-indexed\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @example DateTime.local()                                  //~> now\n   * @example DateTime.local({ zone: \"America/New_York\" })      //~> now, in US east coast time\n   * @example DateTime.local(2017)                              //~> 2017-01-01T00:00:00\n   * @example DateTime.local(2017, 3)                           //~> 2017-03-01T00:00:00\n   * @example DateTime.local(2017, 3, 12, { locale: \"fr\" })     //~> 2017-03-12T00:00:00, with a French locale\n   * @example DateTime.local(2017, 3, 12, 5)                    //~> 2017-03-12T05:00:00\n   * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" })   //~> 2017-03-12T05:00:00, in UTC\n   * @example DateTime.local(2017, 3, 12, 5, 45)                //~> 2017-03-12T05:45:00\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10)            //~> 2017-03-12T05:45:10\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765)       //~> 2017-03-12T05:45:10.765\n   * @return {DateTime}\n   */\n  static local() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n    return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n  }\n\n  /**\n   * Create a DateTime in UTC\n   * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.utc()                                              //~> now\n   * @example DateTime.utc(2017)                                          //~> 2017-01-01T00:00:00Z\n   * @example DateTime.utc(2017, 3)                                       //~> 2017-03-01T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12)                                   //~> 2017-03-12T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5)                                //~> 2017-03-12T05:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45)                            //~> 2017-03-12T05:45:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" })          //~> 2017-03-12T05:45:00Z with a French locale\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10)                        //~> 2017-03-12T05:45:10Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n   * @return {DateTime}\n   */\n  static utc() {\n    const [opts, args] = lastOpts(arguments),\n      [year, month, day, hour, minute, second, millisecond] = args;\n\n    opts.zone = FixedOffsetZone.utcInstance;\n    return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n  }\n\n  /**\n   * Create a DateTime from a JavaScript Date object. Uses the default zone.\n   * @param {Date} date - a JavaScript Date object\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @return {DateTime}\n   */\n  static fromJSDate(date, options = {}) {\n    const ts = isDate(date) ? date.valueOf() : NaN;\n    if (Number.isNaN(ts)) {\n      return DateTime.invalid(\"invalid input\");\n    }\n\n    const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n\n    return new DateTime({\n      ts: ts,\n      zone: zoneToUse,\n      loc: Locale.fromObject(options),\n    });\n  }\n\n  /**\n   * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromMillis(milliseconds, options = {}) {\n    if (!isNumber(milliseconds)) {\n      throw new InvalidArgumentError(\n        `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`\n      );\n    } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n      // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start\n      return DateTime.invalid(\"Timestamp out of range\");\n    } else {\n      return new DateTime({\n        ts: milliseconds,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options),\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} seconds - a number of seconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromSeconds(seconds, options = {}) {\n    if (!isNumber(seconds)) {\n      throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n    } else {\n      return new DateTime({\n        ts: seconds * 1000,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options),\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.year - a year, such as 1987\n   * @param {number} obj.month - a month, 1-12\n   * @param {number} obj.day - a day of the month, 1-31, depending on the month\n   * @param {number} obj.ordinal - day of the year, 1-365 or 366\n   * @param {number} obj.weekYear - an ISO week year\n   * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n   * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n   * @param {number} obj.hour - hour of the day, 0-23\n   * @param {number} obj.minute - minute of the hour, 0-59\n   * @param {number} obj.second - second of the minute, 0-59\n   * @param {number} obj.millisecond - millisecond of the second, 0-999\n   * @param {Object} opts - options for creating this DateTime\n   * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n   * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n   * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n   * @return {DateTime}\n   */\n  static fromObject(obj, opts = {}) {\n    obj = obj || {};\n    const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n\n    const tsNow = Settings.now(),\n      offsetProvis = !isUndefined(opts.specificOffset)\n        ? opts.specificOffset\n        : zoneToUse.offset(tsNow),\n      normalized = normalizeObject(obj, normalizeUnit),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber,\n      loc = Locale.fromObject(opts);\n\n    // cases:\n    // just a weekday -> this week's instance of that weekday, no worries\n    // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n    // (gregorian month or day) + ordinal -> error\n    // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\n        \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n      );\n    }\n\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n\n    const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor);\n\n    // configure ourselves to deal with gregorian dates or week stuff\n    let units,\n      defaultValues,\n      objNow = tsToObj(tsNow, offsetProvis);\n    if (useWeekData) {\n      units = orderedWeekUnits;\n      defaultValues = defaultWeekUnitValues;\n      objNow = gregorianToWeek(objNow);\n    } else if (containsOrdinal) {\n      units = orderedOrdinalUnits;\n      defaultValues = defaultOrdinalUnitValues;\n      objNow = gregorianToOrdinal(objNow);\n    } else {\n      units = orderedUnits;\n      defaultValues = defaultUnitValues;\n    }\n\n    // set default values for missing stuff\n    let foundFirst = false;\n    for (const u of units) {\n      const v = normalized[u];\n      if (!isUndefined(v)) {\n        foundFirst = true;\n      } else if (foundFirst) {\n        normalized[u] = defaultValues[u];\n      } else {\n        normalized[u] = objNow[u];\n      }\n    }\n\n    // make sure the values we have are in range\n    const higherOrderInvalid = useWeekData\n        ? hasInvalidWeekData(normalized)\n        : containsOrdinal\n        ? hasInvalidOrdinalData(normalized)\n        : hasInvalidGregorianData(normalized),\n      invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    // compute the actual time\n    const gregorian = useWeekData\n        ? weekToGregorian(normalized)\n        : containsOrdinal\n        ? ordinalToGregorian(normalized)\n        : normalized,\n      [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n      inst = new DateTime({\n        ts: tsFinal,\n        zone: zoneToUse,\n        o: offsetFinal,\n        loc,\n      });\n\n    // gregorian data + weekday serves only to validate\n    if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n      return DateTime.invalid(\n        \"mismatched weekday\",\n        `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`\n      );\n    }\n\n    return inst;\n  }\n\n  /**\n   * Create a DateTime from an ISO 8601 string\n   * @param {string} text - the ISO string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n   * @example DateTime.fromISO('2016-W05-4')\n   * @return {DateTime}\n   */\n  static fromISO(text, opts = {}) {\n    const [vals, parsedZone] = parseISODate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n  }\n\n  /**\n   * Create a DateTime from an RFC 2822 string\n   * @param {string} text - the RFC 2822 string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n   * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n   * @return {DateTime}\n   */\n  static fromRFC2822(text, opts = {}) {\n    const [vals, parsedZone] = parseRFC2822Date(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n  }\n\n  /**\n   * Create a DateTime from an HTTP header date\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @param {string} text - the HTTP header date\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sun Nov  6 08:49:37 1994')\n   * @return {DateTime}\n   */\n  static fromHTTP(text, opts = {}) {\n    const [vals, parsedZone] = parseHTTPDate(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n  }\n\n  /**\n   * Create a DateTime from an input string and format string.\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @return {DateTime}\n   */\n  static fromFormat(text, fmt, opts = {}) {\n    if (isUndefined(text) || isUndefined(fmt)) {\n      throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n    }\n\n    const { locale = null, numberingSystem = null } = opts,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true,\n      }),\n      [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    } else {\n      return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);\n    }\n  }\n\n  /**\n   * @deprecated use fromFormat instead\n   */\n  static fromString(text, fmt, opts = {}) {\n    return DateTime.fromFormat(text, fmt, opts);\n  }\n\n  /**\n   * Create a DateTime from a SQL date, time, or datetime\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale\n   * @param {string} text - the string to parse\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @example DateTime.fromSQL('2017-05-15')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n   * @example DateTime.fromSQL('09:12:34.342')\n   * @return {DateTime}\n   */\n  static fromSQL(text, opts = {}) {\n    const [vals, parsedZone] = parseSQL(text);\n    return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n  }\n\n  /**\n   * Create an invalid DateTime.\n   * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {DateTime}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDateTimeError(invalid);\n    } else {\n      return new DateTime({ invalid });\n    }\n  }\n\n  /**\n   * Check if an object is an instance of DateTime. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDateTime(o) {\n    return (o && o.isLuxonDateTime) || false;\n  }\n\n  /**\n   * Produce the format string for a set of options\n   * @param formatOpts\n   * @param localeOpts\n   * @returns {string}\n   */\n  static parseFormatForOpts(formatOpts, localeOpts = {}) {\n    const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n    return !tokenList ? null : tokenList.map((t) => (t ? t.val : null)).join(\"\");\n  }\n\n  /**\n   * Produce the the fully expanded format token for the locale\n   * Does NOT quote characters, so quoted tokens will not round trip correctly\n   * @param fmt\n   * @param localeOpts\n   * @returns {string}\n   */\n  static expandFormat(fmt, localeOpts = {}) {\n    const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n    return expanded.map((t) => t.val).join(\"\");\n  }\n\n  // INFO\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n   * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n   * @return {number}\n   */\n  get(unit) {\n    return this[unit];\n  }\n\n  /**\n   * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n   * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n   * * The DateTime was created by an operation on another invalid date\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n   *\n   * @type {string}\n   */\n  get outputCalendar() {\n    return this.isValid ? this.loc.outputCalendar : null;\n  }\n\n  /**\n   * Get the time zone associated with this DateTime.\n   * @type {Zone}\n   */\n  get zone() {\n    return this._zone;\n  }\n\n  /**\n   * Get the name of the time zone.\n   * @type {string}\n   */\n  get zoneName() {\n    return this.isValid ? this.zone.name : null;\n  }\n\n  /**\n   * Get the year\n   * @example DateTime.local(2017, 5, 25).year //=> 2017\n   * @type {number}\n   */\n  get year() {\n    return this.isValid ? this.c.year : NaN;\n  }\n\n  /**\n   * Get the quarter\n   * @example DateTime.local(2017, 5, 25).quarter //=> 2\n   * @type {number}\n   */\n  get quarter() {\n    return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n  }\n\n  /**\n   * Get the month (1-12).\n   * @example DateTime.local(2017, 5, 25).month //=> 5\n   * @type {number}\n   */\n  get month() {\n    return this.isValid ? this.c.month : NaN;\n  }\n\n  /**\n   * Get the day of the month (1-30ish).\n   * @example DateTime.local(2017, 5, 25).day //=> 25\n   * @type {number}\n   */\n  get day() {\n    return this.isValid ? this.c.day : NaN;\n  }\n\n  /**\n   * Get the hour of the day (0-23).\n   * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n   * @type {number}\n   */\n  get hour() {\n    return this.isValid ? this.c.hour : NaN;\n  }\n\n  /**\n   * Get the minute of the hour (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n   * @type {number}\n   */\n  get minute() {\n    return this.isValid ? this.c.minute : NaN;\n  }\n\n  /**\n   * Get the second of the minute (0-59).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n   * @type {number}\n   */\n  get second() {\n    return this.isValid ? this.c.second : NaN;\n  }\n\n  /**\n   * Get the millisecond of the second (0-999).\n   * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n   * @type {number}\n   */\n  get millisecond() {\n    return this.isValid ? this.c.millisecond : NaN;\n  }\n\n  /**\n   * Get the week year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n   * @type {number}\n   */\n  get weekYear() {\n    return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n  }\n\n  /**\n   * Get the week number of the week year (1-52ish).\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n   * @type {number}\n   */\n  get weekNumber() {\n    return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n  }\n\n  /**\n   * Get the day of the week.\n   * 1 is Monday and 7 is Sunday\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2014, 11, 31).weekday //=> 4\n   * @type {number}\n   */\n  get weekday() {\n    return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n  }\n\n  /**\n   * Get the ordinal (meaning the day of the year)\n   * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n   * @type {number|DateTime}\n   */\n  get ordinal() {\n    return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n  }\n\n  /**\n   * Get the human readable short month name, such as 'Oct'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n   * @type {string}\n   */\n  get monthShort() {\n    return this.isValid ? Info.months(\"short\", { locObj: this.loc })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable long month name, such as 'October'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).monthLong //=> October\n   * @type {string}\n   */\n  get monthLong() {\n    return this.isValid ? Info.months(\"long\", { locObj: this.loc })[this.month - 1] : null;\n  }\n\n  /**\n   * Get the human readable short weekday, such as 'Mon'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n   * @type {string}\n   */\n  get weekdayShort() {\n    return this.isValid ? Info.weekdays(\"short\", { locObj: this.loc })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the human readable long weekday, such as 'Monday'.\n   * Defaults to the system's locale if no locale has been specified\n   * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n   * @type {string}\n   */\n  get weekdayLong() {\n    return this.isValid ? Info.weekdays(\"long\", { locObj: this.loc })[this.weekday - 1] : null;\n  }\n\n  /**\n   * Get the UTC offset of this DateTime in minutes\n   * @example DateTime.now().offset //=> -240\n   * @example DateTime.utc().offset //=> 0\n   * @type {number}\n   */\n  get offset() {\n    return this.isValid ? +this.o : NaN;\n  }\n\n  /**\n   * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameShort() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"short\",\n        locale: this.locale,\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n   * Defaults to the system's locale if no locale has been specified\n   * @type {string}\n   */\n  get offsetNameLong() {\n    if (this.isValid) {\n      return this.zone.offsetName(this.ts, {\n        format: \"long\",\n        locale: this.locale,\n      });\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Get whether this zone's offset ever changes, as in a DST.\n   * @type {boolean}\n   */\n  get isOffsetFixed() {\n    return this.isValid ? this.zone.isUniversal : null;\n  }\n\n  /**\n   * Get whether the DateTime is in a DST.\n   * @type {boolean}\n   */\n  get isInDST() {\n    if (this.isOffsetFixed) {\n      return false;\n    } else {\n      return (\n        this.offset > this.set({ month: 1, day: 1 }).offset ||\n        this.offset > this.set({ month: 5 }).offset\n      );\n    }\n  }\n\n  /**\n   * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n   * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n   * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n   * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n   * @returns {DateTime[]}\n   */\n  getPossibleOffsets() {\n    if (!this.isValid || this.isOffsetFixed) {\n      return [this];\n    }\n    const dayMs = 86400000;\n    const minuteMs = 60000;\n    const localTS = objToLocalTS(this.c);\n    const oEarlier = this.zone.offset(localTS - dayMs);\n    const oLater = this.zone.offset(localTS + dayMs);\n\n    const o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n    const o2 = this.zone.offset(localTS - oLater * minuteMs);\n    if (o1 === o2) {\n      return [this];\n    }\n    const ts1 = localTS - o1 * minuteMs;\n    const ts2 = localTS - o2 * minuteMs;\n    const c1 = tsToObj(ts1, o1);\n    const c2 = tsToObj(ts2, o2);\n    if (\n      c1.hour === c2.hour &&\n      c1.minute === c2.minute &&\n      c1.second === c2.second &&\n      c1.millisecond === c2.millisecond\n    ) {\n      return [clone(this, { ts: ts1 }), clone(this, { ts: ts2 })];\n    }\n    return [this];\n  }\n\n  /**\n   * Returns true if this DateTime is in a leap year, false otherwise\n   * @example DateTime.local(2016).isInLeapYear //=> true\n   * @example DateTime.local(2013).isInLeapYear //=> false\n   * @type {boolean}\n   */\n  get isInLeapYear() {\n    return isLeapYear(this.year);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's month\n   * @example DateTime.local(2016, 2).daysInMonth //=> 29\n   * @example DateTime.local(2016, 3).daysInMonth //=> 31\n   * @type {number}\n   */\n  get daysInMonth() {\n    return daysInMonth(this.year, this.month);\n  }\n\n  /**\n   * Returns the number of days in this DateTime's year\n   * @example DateTime.local(2016).daysInYear //=> 366\n   * @example DateTime.local(2013).daysInYear //=> 365\n   * @type {number}\n   */\n  get daysInYear() {\n    return this.isValid ? daysInYear(this.year) : NaN;\n  }\n\n  /**\n   * Returns the number of weeks in this DateTime's year\n   * @see https://en.wikipedia.org/wiki/ISO_week_date\n   * @example DateTime.local(2004).weeksInWeekYear //=> 53\n   * @example DateTime.local(2013).weeksInWeekYear //=> 52\n   * @type {number}\n   */\n  get weeksInWeekYear() {\n    return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n  }\n\n  /**\n   * Returns the resolved Intl options for this DateTime.\n   * This is useful in understanding the behavior of formatting methods\n   * @param {Object} opts - the same options as toLocaleString\n   * @return {Object}\n   */\n  resolvedLocaleOptions(opts = {}) {\n    const { locale, numberingSystem, calendar } = Formatter.create(\n      this.loc.clone(opts),\n      opts\n    ).resolvedOptions(this);\n    return { locale, numberingSystem, outputCalendar: calendar };\n  }\n\n  // TRANSFORM\n\n  /**\n   * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to {@link DateTime#setZone}('utc')\n   * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n   * @param {Object} [opts={}] - options to pass to `setZone()`\n   * @return {DateTime}\n   */\n  toUTC(offset = 0, opts = {}) {\n    return this.setZone(FixedOffsetZone.instance(offset), opts);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to `setZone('local')`\n   * @return {DateTime}\n   */\n  toLocal() {\n    return this.setZone(Settings.defaultZone);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n   *\n   * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n   * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n   * @return {DateTime}\n   */\n  setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) {\n    zone = normalizeZone(zone, Settings.defaultZone);\n    if (zone.equals(this.zone)) {\n      return this;\n    } else if (!zone.isValid) {\n      return DateTime.invalid(unsupportedZone(zone));\n    } else {\n      let newTS = this.ts;\n      if (keepLocalTime || keepCalendarTime) {\n        const offsetGuess = zone.offset(this.ts);\n        const asObj = this.toObject();\n        [newTS] = objToTS(asObj, offsetGuess, zone);\n      }\n      return clone(this, { ts: newTS, zone });\n    }\n  }\n\n  /**\n   * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n   * @param {Object} properties - the properties to set\n   * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n   * @return {DateTime}\n   */\n  reconfigure({ locale, numberingSystem, outputCalendar } = {}) {\n    const loc = this.loc.clone({ locale, numberingSystem, outputCalendar });\n    return clone(this, { loc });\n  }\n\n  /**\n   * \"Set\" the locale. Returns a newly-constructed DateTime.\n   * Just a convenient alias for reconfigure({ locale })\n   * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n   * @return {DateTime}\n   */\n  setLocale(locale) {\n    return this.reconfigure({ locale });\n  }\n\n  /**\n   * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n   * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dt.set({ year: 2017 })\n   * @example dt.set({ hour: 8, minute: 30 })\n   * @example dt.set({ weekday: 5 })\n   * @example dt.set({ year: 2005, ordinal: 234 })\n   * @return {DateTime}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n\n    const normalized = normalizeObject(values, normalizeUnit),\n      settingWeekStuff =\n        !isUndefined(normalized.weekYear) ||\n        !isUndefined(normalized.weekNumber) ||\n        !isUndefined(normalized.weekday),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\n        \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n      );\n    }\n\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n\n    let mixed;\n    if (settingWeekStuff) {\n      mixed = weekToGregorian({ ...gregorianToWeek(this.c), ...normalized });\n    } else if (!isUndefined(normalized.ordinal)) {\n      mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), ...normalized });\n    } else {\n      mixed = { ...this.toObject(), ...normalized };\n\n      // if we didn't set the day but we ended up on an overflow date,\n      // use the last day of the right month\n      if (isUndefined(normalized.day)) {\n        mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n      }\n    }\n\n    const [ts, o] = objToTS(mixed, this.o, this.zone);\n    return clone(this, { ts, o });\n  }\n\n  /**\n   * Add a period of time to this DateTime and return the resulting DateTime\n   *\n   * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @example DateTime.now().plus(123) //~> in 123 milliseconds\n   * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n   * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n   * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n   * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n   * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n   * @return {DateTime}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration);\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * Subtract a period of time to this DateTime and return the resulting DateTime\n   * See {@link DateTime#plus}\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   @return {DateTime}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n    const dur = Duration.fromDurationLike(duration).negate();\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * \"Set\" this DateTime to the beginning of a unit of time.\n   * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n   * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n   * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n   * @return {DateTime}\n   */\n  startOf(unit) {\n    if (!this.isValid) return this;\n    const o = {},\n      normalizedUnit = Duration.normalizeUnit(unit);\n    switch (normalizedUnit) {\n      case \"years\":\n        o.month = 1;\n      // falls through\n      case \"quarters\":\n      case \"months\":\n        o.day = 1;\n      // falls through\n      case \"weeks\":\n      case \"days\":\n        o.hour = 0;\n      // falls through\n      case \"hours\":\n        o.minute = 0;\n      // falls through\n      case \"minutes\":\n        o.second = 0;\n      // falls through\n      case \"seconds\":\n        o.millisecond = 0;\n        break;\n      case \"milliseconds\":\n        break;\n      // no default, invalid units throw in normalizeUnit()\n    }\n\n    if (normalizedUnit === \"weeks\") {\n      o.weekday = 1;\n    }\n\n    if (normalizedUnit === \"quarters\") {\n      const q = Math.ceil(this.month / 3);\n      o.month = (q - 1) * 3 + 1;\n    }\n\n    return this.set(o);\n  }\n\n  /**\n   * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n   * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n   * @return {DateTime}\n   */\n  endOf(unit) {\n    return this.isValid\n      ? this.plus({ [unit]: 1 })\n          .startOf(unit)\n          .minus(1)\n      : this;\n  }\n\n  // OUTPUT\n\n  /**\n   * Returns a string representation of this DateTime formatted according to the specified format string.\n   * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n   * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt)\n      : INVALID;\n  }\n\n  /**\n   * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n   * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n   * of the DateTime in the assigned locale.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n   * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n   * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n   * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n   * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n   * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n   * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n   * @return {string}\n   */\n  toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this)\n      : INVALID;\n  }\n\n  /**\n   * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n   * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n   * @example DateTime.now().toLocaleParts(); //=> [\n   *                                   //=>   { type: 'day', value: '25' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'month', value: '05' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'year', value: '1982' }\n   *                                   //=> ]\n   */\n  toLocaleParts(opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this)\n      : [];\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n   * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n   * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n   * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n   * @return {string}\n   */\n  toISO({\n    format = \"extended\",\n    suppressSeconds = false,\n    suppressMilliseconds = false,\n    includeOffset = true,\n    extendedZone = false,\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    const ext = format === \"extended\";\n\n    let c = toISODate(this, ext);\n    c += \"T\";\n    c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n    return c;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's date component\n   * @param {Object} opts - options\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n   * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n   * @return {string}\n   */\n  toISODate({ format = \"extended\" } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    return toISODate(this, format === \"extended\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's week date\n   * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n   * @return {string}\n   */\n  toISOWeekDate() {\n    return toTechFormat(this, \"kkkk-'W'WW-c\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's time component\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n   * @return {string}\n   */\n  toISOTime({\n    suppressMilliseconds = false,\n    suppressSeconds = false,\n    includeOffset = true,\n    includePrefix = false,\n    extendedZone = false,\n    format = \"extended\",\n  } = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    let c = includePrefix ? \"T\" : \"\";\n    return (\n      c +\n      toISOTime(\n        this,\n        format === \"extended\",\n        suppressSeconds,\n        suppressMilliseconds,\n        includeOffset,\n        extendedZone\n      )\n    );\n  }\n\n  /**\n   * Returns an RFC 2822-compatible string representation of this DateTime\n   * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n   * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n   * @return {string}\n   */\n  toRFC2822() {\n    return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n   * Specifically, the string conforms to RFC 1123.\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n   * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n   * @return {string}\n   */\n  toHTTP() {\n    return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Date\n   * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n   * @return {string}\n   */\n  toSQLDate() {\n    if (!this.isValid) {\n      return null;\n    }\n    return toISODate(this, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Time\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n   * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n   * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n   * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n   * @return {string}\n   */\n  toSQLTime({ includeOffset = true, includeZone = false, includeOffsetSpace = true } = {}) {\n    let fmt = \"HH:mm:ss.SSS\";\n\n    if (includeZone || includeOffset) {\n      if (includeOffsetSpace) {\n        fmt += \" \";\n      }\n      if (includeZone) {\n        fmt += \"z\";\n      } else if (includeOffset) {\n        fmt += \"ZZ\";\n      }\n    }\n\n    return toTechFormat(this, fmt, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n   * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n   * @return {string}\n   */\n  toSQL(opts = {}) {\n    if (!this.isValid) {\n      return null;\n    }\n\n    return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for debugging\n   * @return {string}\n   */\n  toString() {\n    return this.isValid ? this.toISO() : INVALID;\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime.\n   * @return {number}\n   */\n  toMillis() {\n    return this.isValid ? this.ts : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds of this DateTime.\n   * @return {number}\n   */\n  toSeconds() {\n    return this.isValid ? this.ts / 1000 : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds (as a whole number) of this DateTime.\n   * @return {number}\n   */\n  toUnixInteger() {\n    return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a BSON serializable equivalent to this DateTime.\n   * @return {Date}\n   */\n  toBSON() {\n    return this.toJSDate();\n  }\n\n  /**\n   * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n   * @param opts - options for generating the object\n   * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n   * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n   * @return {Object}\n   */\n  toObject(opts = {}) {\n    if (!this.isValid) return {};\n\n    const base = { ...this.c };\n\n    if (opts.includeConfig) {\n      base.outputCalendar = this.outputCalendar;\n      base.numberingSystem = this.loc.numberingSystem;\n      base.locale = this.loc.locale;\n    }\n    return base;\n  }\n\n  /**\n   * Returns a JavaScript Date equivalent to this DateTime.\n   * @return {Date}\n   */\n  toJSDate() {\n    return new Date(this.isValid ? this.ts : NaN);\n  }\n\n  // COMPARE\n\n  /**\n   * Return the difference between two DateTimes as a Duration.\n   * @param {DateTime} otherDateTime - the DateTime to compare this one to\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example\n   * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n   *     i2 = DateTime.fromISO('1983-10-14T10:30');\n   * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n   * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n   * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n   * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n   * @return {Duration}\n   */\n  diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n    if (!this.isValid || !otherDateTime.isValid) {\n      return Duration.invalid(\"created by diffing an invalid DateTime\");\n    }\n\n    const durOpts = { locale: this.locale, numberingSystem: this.numberingSystem, ...opts };\n\n    const units = maybeArray(unit).map(Duration.normalizeUnit),\n      otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n      earlier = otherIsLater ? this : otherDateTime,\n      later = otherIsLater ? otherDateTime : this,\n      diffed = diff(earlier, later, units, durOpts);\n\n    return otherIsLater ? diffed.negate() : diffed;\n  }\n\n  /**\n   * Return the difference between this DateTime and right now.\n   * See {@link DateTime#diff}\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  diffNow(unit = \"milliseconds\", opts = {}) {\n    return this.diff(DateTime.now(), unit, opts);\n  }\n\n  /**\n   * Return an Interval spanning between this DateTime and another DateTime\n   * @param {DateTime} otherDateTime - the other end point of the Interval\n   * @return {Interval}\n   */\n  until(otherDateTime) {\n    return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n  }\n\n  /**\n   * Return whether this DateTime is in the same unit of time as another DateTime.\n   * Higher-order units must also be identical for this function to return `true`.\n   * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n   * @param {DateTime} otherDateTime - the other DateTime\n   * @param {string} unit - the unit of time to check sameness on\n   * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n   * @return {boolean}\n   */\n  hasSame(otherDateTime, unit) {\n    if (!this.isValid) return false;\n\n    const inputMs = otherDateTime.valueOf();\n    const adjustedToZone = this.setZone(otherDateTime.zone, { keepLocalTime: true });\n    return adjustedToZone.startOf(unit) <= inputMs && inputMs <= adjustedToZone.endOf(unit);\n  }\n\n  /**\n   * Equality check\n   * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n   * To compare just the millisecond values, use `+dt1 === +dt2`.\n   * @param {DateTime} other - the other DateTime\n   * @return {boolean}\n   */\n  equals(other) {\n    return (\n      this.isValid &&\n      other.isValid &&\n      this.valueOf() === other.valueOf() &&\n      this.zone.equals(other.zone) &&\n      this.loc.equals(other.loc)\n    );\n  }\n\n  /**\n   * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n   * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n   * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n   * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n   * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n   * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n   * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n   * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n   */\n  toRelative(options = {}) {\n    if (!this.isValid) return null;\n    const base = options.base || DateTime.fromObject({}, { zone: this.zone }),\n      padding = options.padding ? (this < base ? -options.padding : options.padding) : 0;\n    let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n    let unit = options.unit;\n    if (Array.isArray(options.unit)) {\n      units = options.unit;\n      unit = undefined;\n    }\n    return diffRelative(base, this.plus(padding), {\n      ...options,\n      numeric: \"always\",\n      units,\n      unit,\n    });\n  }\n\n  /**\n   * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n   * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n   * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n   * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n   */\n  toRelativeCalendar(options = {}) {\n    if (!this.isValid) return null;\n\n    return diffRelative(options.base || DateTime.fromObject({}, { zone: this.zone }), this, {\n      ...options,\n      numeric: \"auto\",\n      units: [\"years\", \"months\", \"days\"],\n      calendary: true,\n    });\n  }\n\n  /**\n   * Return the min of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n   * @return {DateTime} the min DateTime, or undefined if called with no argument\n   */\n  static min(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, (i) => i.valueOf(), Math.min);\n  }\n\n  /**\n   * Return the max of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n   * @return {DateTime} the max DateTime, or undefined if called with no argument\n   */\n  static max(...dateTimes) {\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, (i) => i.valueOf(), Math.max);\n  }\n\n  // MISC\n\n  /**\n   * Explain how a string would be parsed by fromFormat()\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see description)\n   * @param {Object} options - options taken by fromFormat()\n   * @return {Object}\n   */\n  static fromFormatExplain(text, fmt, options = {}) {\n    const { locale = null, numberingSystem = null } = options,\n      localeToUse = Locale.fromOpts({\n        locale,\n        numberingSystem,\n        defaultToEN: true,\n      });\n    return explainFromTokens(localeToUse, text, fmt);\n  }\n\n  /**\n   * @deprecated use fromFormatExplain instead\n   */\n  static fromStringExplain(text, fmt, options = {}) {\n    return DateTime.fromFormatExplain(text, fmt, options);\n  }\n\n  // FORMAT PRESETS\n\n  /**\n   * {@link DateTime#toLocaleString} format like 10/14/1983\n   * @type {Object}\n   */\n  static get DATE_SHORT() {\n    return Formats.DATE_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED() {\n    return Formats.DATE_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_MED_WITH_WEEKDAY() {\n    return Formats.DATE_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_FULL() {\n    return Formats.DATE_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n   * @type {Object}\n   */\n  static get DATE_HUGE() {\n    return Formats.DATE_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_SIMPLE() {\n    return Formats.TIME_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SECONDS() {\n    return Formats.TIME_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_SHORT_OFFSET() {\n    return Formats.TIME_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get TIME_WITH_LONG_OFFSET() {\n    return Formats.TIME_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_SIMPLE() {\n    return Formats.TIME_24_SIMPLE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SECONDS() {\n    return Formats.TIME_24_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_SHORT_OFFSET() {\n    return Formats.TIME_24_WITH_SHORT_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n   * @type {Object}\n   */\n  static get TIME_24_WITH_LONG_OFFSET() {\n    return Formats.TIME_24_WITH_LONG_OFFSET;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT() {\n    return Formats.DATETIME_SHORT;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_SHORT_WITH_SECONDS() {\n    return Formats.DATETIME_SHORT_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED() {\n    return Formats.DATETIME_MED;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_SECONDS() {\n    return Formats.DATETIME_MED_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_MED_WITH_WEEKDAY() {\n    return Formats.DATETIME_MED_WITH_WEEKDAY;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL() {\n    return Formats.DATETIME_FULL;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_FULL_WITH_SECONDS() {\n    return Formats.DATETIME_FULL_WITH_SECONDS;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE() {\n    return Formats.DATETIME_HUGE;\n  }\n\n  /**\n   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n   * @type {Object}\n   */\n  static get DATETIME_HUGE_WITH_SECONDS() {\n    return Formats.DATETIME_HUGE_WITH_SECONDS;\n  }\n}\n\n/**\n * @private\n */\nexport function friendlyDateTime(dateTimeish) {\n  if (DateTime.isDateTime(dateTimeish)) {\n    return dateTimeish;\n  } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n    return DateTime.fromJSDate(dateTimeish);\n  } else if (dateTimeish && typeof dateTimeish === \"object\") {\n    return DateTime.fromObject(dateTimeish);\n  } else {\n    throw new InvalidArgumentError(\n      `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`\n    );\n  }\n}\n","import { InvalidArgumentError, InvalidDurationError, InvalidUnitError } from \"./errors.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Locale from \"./impl/locale.js\";\nimport { parseISODuration, parseISOTimeOnly } from \"./impl/regexParser.js\";\nimport {\n  asNumber,\n  hasOwnProperty,\n  isNumber,\n  isUndefined,\n  normalizeObject,\n  roundTo,\n} from \"./impl/util.js\";\nimport Settings from \"./settings.js\";\nimport DateTime from \"./datetime.js\";\n\nconst INVALID = \"Invalid Duration\";\n\n// unit conversion constants\nexport const lowOrderMatrix = {\n    weeks: {\n      days: 7,\n      hours: 7 * 24,\n      minutes: 7 * 24 * 60,\n      seconds: 7 * 24 * 60 * 60,\n      milliseconds: 7 * 24 * 60 * 60 * 1000,\n    },\n    days: {\n      hours: 24,\n      minutes: 24 * 60,\n      seconds: 24 * 60 * 60,\n      milliseconds: 24 * 60 * 60 * 1000,\n    },\n    hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 },\n    minutes: { seconds: 60, milliseconds: 60 * 1000 },\n    seconds: { milliseconds: 1000 },\n  },\n  casualMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: 52,\n      days: 365,\n      hours: 365 * 24,\n      minutes: 365 * 24 * 60,\n      seconds: 365 * 24 * 60 * 60,\n      milliseconds: 365 * 24 * 60 * 60 * 1000,\n    },\n    quarters: {\n      months: 3,\n      weeks: 13,\n      days: 91,\n      hours: 91 * 24,\n      minutes: 91 * 24 * 60,\n      seconds: 91 * 24 * 60 * 60,\n      milliseconds: 91 * 24 * 60 * 60 * 1000,\n    },\n    months: {\n      weeks: 4,\n      days: 30,\n      hours: 30 * 24,\n      minutes: 30 * 24 * 60,\n      seconds: 30 * 24 * 60 * 60,\n      milliseconds: 30 * 24 * 60 * 60 * 1000,\n    },\n\n    ...lowOrderMatrix,\n  },\n  daysInYearAccurate = 146097.0 / 400,\n  daysInMonthAccurate = 146097.0 / 4800,\n  accurateMatrix = {\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: daysInYearAccurate / 7,\n      days: daysInYearAccurate,\n      hours: daysInYearAccurate * 24,\n      minutes: daysInYearAccurate * 24 * 60,\n      seconds: daysInYearAccurate * 24 * 60 * 60,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000,\n    },\n    quarters: {\n      months: 3,\n      weeks: daysInYearAccurate / 28,\n      days: daysInYearAccurate / 4,\n      hours: (daysInYearAccurate * 24) / 4,\n      minutes: (daysInYearAccurate * 24 * 60) / 4,\n      seconds: (daysInYearAccurate * 24 * 60 * 60) / 4,\n      milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4,\n    },\n    months: {\n      weeks: daysInMonthAccurate / 7,\n      days: daysInMonthAccurate,\n      hours: daysInMonthAccurate * 24,\n      minutes: daysInMonthAccurate * 24 * 60,\n      seconds: daysInMonthAccurate * 24 * 60 * 60,\n      milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000,\n    },\n    ...lowOrderMatrix,\n  };\n\n// units ordered by size\nconst orderedUnits = [\n  \"years\",\n  \"quarters\",\n  \"months\",\n  \"weeks\",\n  \"days\",\n  \"hours\",\n  \"minutes\",\n  \"seconds\",\n  \"milliseconds\",\n];\n\nconst reverseUnits = orderedUnits.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone(dur, alts, clear = false) {\n  // deep merge for vals\n  const conf = {\n    values: clear ? alts.values : { ...dur.values, ...(alts.values || {}) },\n    loc: dur.loc.clone(alts.loc),\n    conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n    matrix: alts.matrix || dur.matrix,\n  };\n  return new Duration(conf);\n}\n\n// this is needed since in some test cases it would return 0.9999999999999999 instead of 1\nfunction removePrecisionIssue(a) {\n  return Math.trunc(a * 1e3) / 1e3;\n}\n\n// NB: mutates parameters\nfunction convert(matrix, fromMap, fromUnit, toMap, toUnit) {\n  const conv = matrix[toUnit][fromUnit],\n    raw = fromMap[fromUnit] / conv,\n    added = Math.floor(raw);\n\n  toMap[toUnit] = removePrecisionIssue(toMap[toUnit] + added);\n  fromMap[fromUnit] = removePrecisionIssue(fromMap[fromUnit] - added * conv);\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n  reverseUnits.reduce((previous, current) => {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        convert(matrix, vals, previous, vals, current);\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n  const newVals = {};\n  for (const [key, value] of Object.entries(vals)) {\n    if (value !== 0) {\n      newVals[key] = value;\n    }\n  }\n  return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See  {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nexport default class Duration {\n  /**\n   * @private\n   */\n  constructor(config) {\n    const accurate = config.conversionAccuracy === \"longterm\" || false;\n    let matrix = accurate ? accurateMatrix : casualMatrix;\n\n    if (config.matrix) {\n      matrix = config.matrix;\n    }\n\n    /**\n     * @access private\n     */\n    this.values = config.values;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.matrix = matrix;\n    /**\n     * @access private\n     */\n    this.isLuxonDuration = true;\n  }\n\n  /**\n   * Create Duration from a number of milliseconds.\n   * @param {number} count of milliseconds\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  static fromMillis(count, opts) {\n    return Duration.fromObject({ milliseconds: count }, opts);\n  }\n\n  /**\n   * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n   * If this object is empty then a zero milliseconds duration is returned.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.years\n   * @param {number} obj.quarters\n   * @param {number} obj.months\n   * @param {number} obj.weeks\n   * @param {number} obj.days\n   * @param {number} obj.hours\n   * @param {number} obj.minutes\n   * @param {number} obj.seconds\n   * @param {number} obj.milliseconds\n   * @param {Object} [opts=[]] - options for creating this Duration\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the custom conversion system to use\n   * @return {Duration}\n   */\n  static fromObject(obj, opts = {}) {\n    if (obj == null || typeof obj !== \"object\") {\n      throw new InvalidArgumentError(\n        `Duration.fromObject: argument expected to be an object, got ${\n          obj === null ? \"null\" : typeof obj\n        }`\n      );\n    }\n\n    return new Duration({\n      values: normalizeObject(obj, Duration.normalizeUnit),\n      loc: Locale.fromObject(opts),\n      conversionAccuracy: opts.conversionAccuracy,\n      matrix: opts.matrix,\n    });\n  }\n\n  /**\n   * Create a Duration from DurationLike.\n   *\n   * @param {Object | number | Duration} durationLike\n   * One of:\n   * - object with keys like 'years' and 'hours'.\n   * - number representing milliseconds\n   * - Duration instance\n   * @return {Duration}\n   */\n  static fromDurationLike(durationLike) {\n    if (isNumber(durationLike)) {\n      return Duration.fromMillis(durationLike);\n    } else if (Duration.isDuration(durationLike)) {\n      return durationLike;\n    } else if (typeof durationLike === \"object\") {\n      return Duration.fromObject(durationLike);\n    } else {\n      throw new InvalidArgumentError(\n        `Unknown duration argument ${durationLike} of type ${typeof durationLike}`\n      );\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 duration string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the preset conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n   * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n   * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n   * @return {Duration}\n   */\n  static fromISO(text, opts) {\n    const [parsed] = parseISODuration(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 time string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n   * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @return {Duration}\n   */\n  static fromISOTime(text, opts) {\n    const [parsed] = parseISOTimeOnly(text);\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n    }\n  }\n\n  /**\n   * Create an invalid Duration.\n   * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Duration}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDurationError(invalid);\n    } else {\n      return new Duration({ invalid });\n    }\n  }\n\n  /**\n   * @private\n   */\n  static normalizeUnit(unit) {\n    const normalized = {\n      year: \"years\",\n      years: \"years\",\n      quarter: \"quarters\",\n      quarters: \"quarters\",\n      month: \"months\",\n      months: \"months\",\n      week: \"weeks\",\n      weeks: \"weeks\",\n      day: \"days\",\n      days: \"days\",\n      hour: \"hours\",\n      hours: \"hours\",\n      minute: \"minutes\",\n      minutes: \"minutes\",\n      second: \"seconds\",\n      seconds: \"seconds\",\n      millisecond: \"milliseconds\",\n      milliseconds: \"milliseconds\",\n    }[unit ? unit.toLowerCase() : unit];\n\n    if (!normalized) throw new InvalidUnitError(unit);\n\n    return normalized;\n  }\n\n  /**\n   * Check if an object is a Duration. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isDuration(o) {\n    return (o && o.isLuxonDuration) || false;\n  }\n\n  /**\n   * Get  the locale of a Duration, such 'en-GB'\n   * @type {string}\n   */\n  get locale() {\n    return this.isValid ? this.loc.locale : null;\n  }\n\n  /**\n   * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n   *\n   * @type {string}\n   */\n  get numberingSystem() {\n    return this.isValid ? this.loc.numberingSystem : null;\n  }\n\n  /**\n   * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n   * * `S` for milliseconds\n   * * `s` for seconds\n   * * `m` for minutes\n   * * `h` for hours\n   * * `d` for days\n   * * `w` for weeks\n   * * `M` for months\n   * * `y` for years\n   * Notes:\n   * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n   * * Tokens can be escaped by wrapping with single quotes.\n   * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - options\n   * @param {boolean} [opts.floor=true] - floor numerical values\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n   * @return {string}\n   */\n  toFormat(fmt, opts = {}) {\n    // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n    const fmtOpts = {\n      ...opts,\n      floor: opts.round !== false && opts.floor !== false,\n    };\n    return this.isValid\n      ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt)\n      : INVALID;\n  }\n\n  /**\n   * Returns a string representation of a Duration with all units included.\n   * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat\n   * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`.\n   * @example\n   * ```js\n   * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n   * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n   * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n   * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n   * ```\n   */\n  toHuman(opts = {}) {\n    const l = orderedUnits\n      .map((unit) => {\n        const val = this.values[unit];\n        if (isUndefined(val)) {\n          return null;\n        }\n        return this.loc\n          .numberFormatter({ style: \"unit\", unitDisplay: \"long\", ...opts, unit: unit.slice(0, -1) })\n          .format(val);\n      })\n      .filter((n) => n);\n\n    return this.loc\n      .listFormatter({ type: \"conjunction\", style: opts.listStyle || \"narrow\", ...opts })\n      .format(l);\n  }\n\n  /**\n   * Returns a JavaScript object with this Duration's values.\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n   * @return {Object}\n   */\n  toObject() {\n    if (!this.isValid) return {};\n    return { ...this.values };\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n   * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n   * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n   * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n   * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n   * @return {string}\n   */\n  toISO() {\n    // we could use the formatter, but this is an easier way to get the minimum string\n    if (!this.isValid) return null;\n\n    let s = \"P\";\n    if (this.years !== 0) s += this.years + \"Y\";\n    if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n    if (this.weeks !== 0) s += this.weeks + \"W\";\n    if (this.days !== 0) s += this.days + \"D\";\n    if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0)\n      s += \"T\";\n    if (this.hours !== 0) s += this.hours + \"H\";\n    if (this.minutes !== 0) s += this.minutes + \"M\";\n    if (this.seconds !== 0 || this.milliseconds !== 0)\n      // this will handle \"floating point madness\" by removing extra decimal places\n      // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n      s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n    if (s === \"P\") s += \"T0S\";\n    return s;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n   * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n   * @return {string}\n   */\n  toISOTime(opts = {}) {\n    if (!this.isValid) return null;\n\n    const millis = this.toMillis();\n    if (millis < 0 || millis >= 86400000) return null;\n\n    opts = {\n      suppressMilliseconds: false,\n      suppressSeconds: false,\n      includePrefix: false,\n      format: \"extended\",\n      ...opts,\n      includeOffset: false,\n    };\n\n    const dateTime = DateTime.fromMillis(millis, { zone: \"UTC\" });\n    return dateTime.toISOTime(opts);\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n   * @return {string}\n   */\n  toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n   * @return {string}\n   */\n  toString() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration.\n   * @return {number}\n   */\n  toMillis() {\n    let sum = this.values.milliseconds ?? 0;\n    for (let unit of reverseUnits.slice(1)) {\n      if (this.values?.[unit]) {\n        sum += this.values[unit] * this.matrix[unit][\"milliseconds\"];\n      }\n    }\n    return sum;\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n   * @return {number}\n   */\n  valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  plus(duration) {\n    if (!this.isValid) return this;\n\n    const dur = Duration.fromDurationLike(duration),\n      result = {};\n\n    for (const k of orderedUnits) {\n      if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n        result[k] = dur.get(k) + this.get(k);\n      }\n    }\n\n    return clone(this, { values: result }, true);\n  }\n\n  /**\n   * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */\n  minus(duration) {\n    if (!this.isValid) return this;\n\n    const dur = Duration.fromDurationLike(duration);\n    return this.plus(dur.negate());\n  }\n\n  /**\n   * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n   * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n   * @return {Duration}\n   */\n  mapUnits(fn) {\n    if (!this.isValid) return this;\n    const result = {};\n    for (const k of Object.keys(this.values)) {\n      result[k] = asNumber(fn(this.values[k], k));\n    }\n    return clone(this, { values: result }, true);\n  }\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n   * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n   * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n   * @return {number}\n   */\n  get(unit) {\n    return this[Duration.normalizeUnit(unit)];\n  }\n\n  /**\n   * \"Set\" the values of specified units. Return a newly-constructed Duration.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dur.set({ years: 2017 })\n   * @example dur.set({ hours: 8, minutes: 30 })\n   * @return {Duration}\n   */\n  set(values) {\n    if (!this.isValid) return this;\n\n    const mixed = { ...this.values, ...normalizeObject(values, Duration.normalizeUnit) };\n    return clone(this, { values: mixed });\n  }\n\n  /**\n   * \"Set\" the locale and/or numberingSystem.  Returns a newly-constructed Duration.\n   * @example dur.reconfigure({ locale: 'en-GB' })\n   * @return {Duration}\n   */\n  reconfigure({ locale, numberingSystem, conversionAccuracy, matrix } = {}) {\n    const loc = this.loc.clone({ locale, numberingSystem });\n    const opts = { loc, matrix, conversionAccuracy };\n    return clone(this, opts);\n  }\n\n  /**\n   * Return the length of the duration in the specified unit.\n   * @param {string} unit - a unit such as 'minutes' or 'days'\n   * @example Duration.fromObject({years: 1}).as('days') //=> 365\n   * @example Duration.fromObject({years: 1}).as('months') //=> 12\n   * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n   * @return {number}\n   */\n  as(unit) {\n    return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n  }\n\n  /**\n   * Reduce this Duration to its canonical representation in its current units.\n   * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n   * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n   * @return {Duration}\n   */\n  normalize() {\n    if (!this.isValid) return this;\n    const vals = this.toObject();\n    if (this.valueOf() >= 0) {\n      normalizeValues(this.matrix, vals);\n      return clone(this, { values: vals }, true);\n    }\n    return this.negate().normalize().negate();\n  }\n\n  /**\n   * Rescale units to its largest representation\n   * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n   * @return {Duration}\n   */\n  rescale() {\n    if (!this.isValid) return this;\n    const vals = removeZeroes(this.normalize().shiftToAll().toObject());\n    return clone(this, { values: vals }, true);\n  }\n\n  /**\n   * Convert this Duration into its representation in a different set of units.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n   * @return {Duration}\n   */\n  shiftTo(...units) {\n    if (!this.isValid) return this;\n\n    if (units.length === 0) {\n      return this;\n    }\n\n    units = units.map((u) => Duration.normalizeUnit(u));\n\n    const built = {},\n      accumulated = {},\n      vals = this.toObject();\n    let lastUnit;\n\n    for (const k of orderedUnits) {\n      if (units.indexOf(k) >= 0) {\n        lastUnit = k;\n\n        let own = 0;\n\n        // anything we haven't boiled down yet should get boiled to this unit\n        for (const ak in accumulated) {\n          own += this.matrix[ak][k] * accumulated[ak];\n          accumulated[ak] = 0;\n        }\n\n        // plus anything that's already in this unit\n        if (isNumber(vals[k])) {\n          own += vals[k];\n        }\n\n        const i = Math.trunc(own);\n        built[k] = i;\n        accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n        // plus anything further down the chain that should be rolled up in to this\n        for (const down in vals) {\n          if (orderedUnits.indexOf(down) > orderedUnits.indexOf(k)) {\n            convert(this.matrix, vals, down, built, k);\n          }\n        }\n        // otherwise, keep it in the wings to boil it later\n      } else if (isNumber(vals[k])) {\n        accumulated[k] = vals[k];\n      }\n    }\n\n    // anything leftover becomes the decimal for the last unit\n    // lastUnit must be defined since units is not empty\n    for (const key in accumulated) {\n      if (accumulated[key] !== 0) {\n        built[lastUnit] +=\n          key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n      }\n    }\n\n    return clone(this, { values: built }, true).normalize();\n  }\n\n  /**\n   * Shift this Duration to all available units.\n   * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n   * @return {Duration}\n   */\n  shiftToAll() {\n    if (!this.isValid) return this;\n    return this.shiftTo(\n      \"years\",\n      \"months\",\n      \"weeks\",\n      \"days\",\n      \"hours\",\n      \"minutes\",\n      \"seconds\",\n      \"milliseconds\"\n    );\n  }\n\n  /**\n   * Return the negative of this Duration.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n   * @return {Duration}\n   */\n  negate() {\n    if (!this.isValid) return this;\n    const negated = {};\n    for (const k of Object.keys(this.values)) {\n      negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n    }\n    return clone(this, { values: negated }, true);\n  }\n\n  /**\n   * Get the years.\n   * @type {number}\n   */\n  get years() {\n    return this.isValid ? this.values.years || 0 : NaN;\n  }\n\n  /**\n   * Get the quarters.\n   * @type {number}\n   */\n  get quarters() {\n    return this.isValid ? this.values.quarters || 0 : NaN;\n  }\n\n  /**\n   * Get the months.\n   * @type {number}\n   */\n  get months() {\n    return this.isValid ? this.values.months || 0 : NaN;\n  }\n\n  /**\n   * Get the weeks\n   * @type {number}\n   */\n  get weeks() {\n    return this.isValid ? this.values.weeks || 0 : NaN;\n  }\n\n  /**\n   * Get the days.\n   * @type {number}\n   */\n  get days() {\n    return this.isValid ? this.values.days || 0 : NaN;\n  }\n\n  /**\n   * Get the hours.\n   * @type {number}\n   */\n  get hours() {\n    return this.isValid ? this.values.hours || 0 : NaN;\n  }\n\n  /**\n   * Get the minutes.\n   * @type {number}\n   */\n  get minutes() {\n    return this.isValid ? this.values.minutes || 0 : NaN;\n  }\n\n  /**\n   * Get the seconds.\n   * @return {number}\n   */\n  get seconds() {\n    return this.isValid ? this.values.seconds || 0 : NaN;\n  }\n\n  /**\n   * Get the milliseconds.\n   * @return {number}\n   */\n  get milliseconds() {\n    return this.isValid ? this.values.milliseconds || 0 : NaN;\n  }\n\n  /**\n   * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n   * on invalid DateTimes or Intervals.\n   * @return {boolean}\n   */\n  get isValid() {\n    return this.invalid === null;\n  }\n\n  /**\n   * Returns an error code if this Duration became invalid, or null if the Duration is valid\n   * @return {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Equality check\n   * Two Durations are equal iff they have the same units and the same values for each unit.\n   * @param {Duration} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n\n    if (!this.loc.equals(other.loc)) {\n      return false;\n    }\n\n    function eq(v1, v2) {\n      // Consider 0 and undefined as equal\n      if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n      return v1 === v2;\n    }\n\n    for (const u of orderedUnits) {\n      if (!eq(this.values[u], other.values[u])) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n","// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nexport class InvalidDateTimeError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid DateTime: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidIntervalError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Interval: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidDurationError extends LuxonError {\n  constructor(reason) {\n    super(`Invalid Duration: ${reason.toMessage()}`);\n  }\n}\n\n/**\n * @private\n */\nexport class ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nexport class InvalidUnitError extends LuxonError {\n  constructor(unit) {\n    super(`Invalid unit ${unit}`);\n  }\n}\n\n/**\n * @private\n */\nexport class InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nexport class ZoneIsAbstractError extends LuxonError {\n  constructor() {\n    super(\"Zone is an abstract class\");\n  }\n}\n","import {\n  integerBetween,\n  isLeapYear,\n  timeObject,\n  daysInYear,\n  daysInMonth,\n  weeksInWeekYear,\n  isInteger,\n} from \"./util.js\";\nimport Invalid from \"./invalid.js\";\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n  leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n\nfunction unitOutOfRange(unit, value) {\n  return new Invalid(\n    \"unit out of range\",\n    `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`\n  );\n}\n\nfunction dayOfWeek(year, month, day) {\n  const d = new Date(Date.UTC(year, month - 1, day));\n\n  if (year < 100 && year >= 0) {\n    d.setUTCFullYear(d.getUTCFullYear() - 1900);\n  }\n\n  const js = d.getUTCDay();\n\n  return js === 0 ? 7 : js;\n}\n\nfunction computeOrdinal(year, month, day) {\n  return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\n\nfunction uncomputeOrdinal(year, ordinal) {\n  const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n    month0 = table.findIndex((i) => i < ordinal),\n    day = ordinal - table[month0];\n  return { month: month0 + 1, day };\n}\n\n/**\n * @private\n */\n\nexport function gregorianToWeek(gregObj) {\n  const { year, month, day } = gregObj,\n    ordinal = computeOrdinal(year, month, day),\n    weekday = dayOfWeek(year, month, day);\n\n  let weekNumber = Math.floor((ordinal - weekday + 10) / 7),\n    weekYear;\n\n  if (weekNumber < 1) {\n    weekYear = year - 1;\n    weekNumber = weeksInWeekYear(weekYear);\n  } else if (weekNumber > weeksInWeekYear(year)) {\n    weekYear = year + 1;\n    weekNumber = 1;\n  } else {\n    weekYear = year;\n  }\n\n  return { weekYear, weekNumber, weekday, ...timeObject(gregObj) };\n}\n\nexport function weekToGregorian(weekData) {\n  const { weekYear, weekNumber, weekday } = weekData,\n    weekdayOfJan4 = dayOfWeek(weekYear, 1, 4),\n    yearInDays = daysInYear(weekYear);\n\n  let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3,\n    year;\n\n  if (ordinal < 1) {\n    year = weekYear - 1;\n    ordinal += daysInYear(year);\n  } else if (ordinal > yearInDays) {\n    year = weekYear + 1;\n    ordinal -= daysInYear(weekYear);\n  } else {\n    year = weekYear;\n  }\n\n  const { month, day } = uncomputeOrdinal(year, ordinal);\n  return { year, month, day, ...timeObject(weekData) };\n}\n\nexport function gregorianToOrdinal(gregData) {\n  const { year, month, day } = gregData;\n  const ordinal = computeOrdinal(year, month, day);\n  return { year, ordinal, ...timeObject(gregData) };\n}\n\nexport function ordinalToGregorian(ordinalData) {\n  const { year, ordinal } = ordinalData;\n  const { month, day } = uncomputeOrdinal(year, ordinal);\n  return { year, month, day, ...timeObject(ordinalData) };\n}\n\nexport function hasInvalidWeekData(obj) {\n  const validYear = isInteger(obj.weekYear),\n    validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)),\n    validWeekday = integerBetween(obj.weekday, 1, 7);\n\n  if (!validYear) {\n    return unitOutOfRange(\"weekYear\", obj.weekYear);\n  } else if (!validWeek) {\n    return unitOutOfRange(\"week\", obj.week);\n  } else if (!validWeekday) {\n    return unitOutOfRange(\"weekday\", obj.weekday);\n  } else return false;\n}\n\nexport function hasInvalidOrdinalData(obj) {\n  const validYear = isInteger(obj.year),\n    validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validOrdinal) {\n    return unitOutOfRange(\"ordinal\", obj.ordinal);\n  } else return false;\n}\n\nexport function hasInvalidGregorianData(obj) {\n  const validYear = isInteger(obj.year),\n    validMonth = integerBetween(obj.month, 1, 12),\n    validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validMonth) {\n    return unitOutOfRange(\"month\", obj.month);\n  } else if (!validDay) {\n    return unitOutOfRange(\"day\", obj.day);\n  } else return false;\n}\n\nexport function hasInvalidTimeData(obj) {\n  const { hour, minute, second, millisecond } = obj;\n  const validHour =\n      integerBetween(hour, 0, 23) ||\n      (hour === 24 && minute === 0 && second === 0 && millisecond === 0),\n    validMinute = integerBetween(minute, 0, 59),\n    validSecond = integerBetween(second, 0, 59),\n    validMillisecond = integerBetween(millisecond, 0, 999);\n\n  if (!validHour) {\n    return unitOutOfRange(\"hour\", hour);\n  } else if (!validMinute) {\n    return unitOutOfRange(\"minute\", minute);\n  } else if (!validSecond) {\n    return unitOutOfRange(\"second\", second);\n  } else if (!validMillisecond) {\n    return unitOutOfRange(\"millisecond\", millisecond);\n  } else return false;\n}\n","import Duration from \"../duration.js\";\n\nfunction dayDiff(earlier, later) {\n  const utcDayStart = (dt) => dt.toUTC(0, { keepLocalTime: true }).startOf(\"day\").valueOf(),\n    ms = utcDayStart(later) - utcDayStart(earlier);\n  return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\n\nfunction highOrderDiffs(cursor, later, units) {\n  const differs = [\n    [\"years\", (a, b) => b.year - a.year],\n    [\"quarters\", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4],\n    [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12],\n    [\n      \"weeks\",\n      (a, b) => {\n        const days = dayDiff(a, b);\n        return (days - (days % 7)) / 7;\n      },\n    ],\n    [\"days\", dayDiff],\n  ];\n\n  const results = {};\n  const earlier = cursor;\n  let lowestOrder, highWater;\n\n  /* This loop tries to diff using larger units first.\n     If we overshoot, we backtrack and try the next smaller unit.\n     \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n     as we use smaller and smaller units.\n     highWater keeps track of where we would be if we added one more of the smallest unit,\n     this is used later to potentially convert any difference smaller than the smallest higher order unit\n     into a fraction of that smallest higher order unit\n  */\n  for (const [unit, differ] of differs) {\n    if (units.indexOf(unit) >= 0) {\n      lowestOrder = unit;\n\n      results[unit] = differ(cursor, later);\n      highWater = earlier.plus(results);\n\n      if (highWater > later) {\n        // we overshot the end point, backtrack cursor by 1\n        results[unit]--;\n        cursor = earlier.plus(results);\n\n        // if we are still overshooting now, we need to backtrack again\n        // this happens in certain situations when diffing times in different zones,\n        // because this calculation ignores time zones\n        if (cursor > later) {\n          // keep the \"overshot by 1\" around as highWater\n          highWater = cursor;\n          // backtrack cursor by 1\n          results[unit]--;\n          cursor = earlier.plus(results);\n        }\n      } else {\n        cursor = highWater;\n      }\n    }\n  }\n\n  return [cursor, results, highWater, lowestOrder];\n}\n\nexport default function (earlier, later, units, opts) {\n  let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n\n  const remainingMillis = later - cursor;\n\n  const lowerOrderUnits = units.filter(\n    (u) => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0\n  );\n\n  if (lowerOrderUnits.length === 0) {\n    if (highWater < later) {\n      highWater = cursor.plus({ [lowestOrder]: 1 });\n    }\n\n    if (highWater !== cursor) {\n      results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n    }\n  }\n\n  const duration = Duration.fromObject(results, opts);\n\n  if (lowerOrderUnits.length > 0) {\n    return Duration.fromMillis(remainingMillis, opts)\n      .shiftTo(...lowerOrderUnits)\n      .plus(duration);\n  } else {\n    return duration;\n  }\n}\n","const numberingSystems = {\n  arab: \"[\\u0660-\\u0669]\",\n  arabext: \"[\\u06F0-\\u06F9]\",\n  bali: \"[\\u1B50-\\u1B59]\",\n  beng: \"[\\u09E6-\\u09EF]\",\n  deva: \"[\\u0966-\\u096F]\",\n  fullwide: \"[\\uFF10-\\uFF19]\",\n  gujr: \"[\\u0AE6-\\u0AEF]\",\n  hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n  khmr: \"[\\u17E0-\\u17E9]\",\n  knda: \"[\\u0CE6-\\u0CEF]\",\n  laoo: \"[\\u0ED0-\\u0ED9]\",\n  limb: \"[\\u1946-\\u194F]\",\n  mlym: \"[\\u0D66-\\u0D6F]\",\n  mong: \"[\\u1810-\\u1819]\",\n  mymr: \"[\\u1040-\\u1049]\",\n  orya: \"[\\u0B66-\\u0B6F]\",\n  tamldec: \"[\\u0BE6-\\u0BEF]\",\n  telu: \"[\\u0C66-\\u0C6F]\",\n  thai: \"[\\u0E50-\\u0E59]\",\n  tibt: \"[\\u0F20-\\u0F29]\",\n  latn: \"\\\\d\",\n};\n\nconst numberingSystemsUTF16 = {\n  arab: [1632, 1641],\n  arabext: [1776, 1785],\n  bali: [6992, 7001],\n  beng: [2534, 2543],\n  deva: [2406, 2415],\n  fullwide: [65296, 65303],\n  gujr: [2790, 2799],\n  khmr: [6112, 6121],\n  knda: [3302, 3311],\n  laoo: [3792, 3801],\n  limb: [6470, 6479],\n  mlym: [3430, 3439],\n  mong: [6160, 6169],\n  mymr: [4160, 4169],\n  orya: [2918, 2927],\n  tamldec: [3046, 3055],\n  telu: [3174, 3183],\n  thai: [3664, 3673],\n  tibt: [3872, 3881],\n};\n\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\n\nexport function parseDigits(str) {\n  let value = parseInt(str, 10);\n  if (isNaN(value)) {\n    value = \"\";\n    for (let i = 0; i < str.length; i++) {\n      const code = str.charCodeAt(i);\n\n      if (str[i].search(numberingSystems.hanidec) !== -1) {\n        value += hanidecChars.indexOf(str[i]);\n      } else {\n        for (const key in numberingSystemsUTF16) {\n          const [min, max] = numberingSystemsUTF16[key];\n          if (code >= min && code <= max) {\n            value += code - min;\n          }\n        }\n      }\n    }\n    return parseInt(value, 10);\n  } else {\n    return value;\n  }\n}\n\nexport function digitRegex({ numberingSystem }, append = \"\") {\n  return new RegExp(`${numberingSystems[numberingSystem || \"latn\"]}${append}`);\n}\n","import * as Formats from \"./formats.js\";\nimport { pick } from \"./util.js\";\n\nfunction stringify(obj) {\n  return JSON.stringify(obj, Object.keys(obj).sort());\n}\n\n/**\n * @private\n */\n\nexport const monthsLong = [\n  \"January\",\n  \"February\",\n  \"March\",\n  \"April\",\n  \"May\",\n  \"June\",\n  \"July\",\n  \"August\",\n  \"September\",\n  \"October\",\n  \"November\",\n  \"December\",\n];\n\nexport const monthsShort = [\n  \"Jan\",\n  \"Feb\",\n  \"Mar\",\n  \"Apr\",\n  \"May\",\n  \"Jun\",\n  \"Jul\",\n  \"Aug\",\n  \"Sep\",\n  \"Oct\",\n  \"Nov\",\n  \"Dec\",\n];\n\nexport const monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\n\nexport function months(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...monthsNarrow];\n    case \"short\":\n      return [...monthsShort];\n    case \"long\":\n      return [...monthsLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n    case \"2-digit\":\n      return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n    default:\n      return null;\n  }\n}\n\nexport const weekdaysLong = [\n  \"Monday\",\n  \"Tuesday\",\n  \"Wednesday\",\n  \"Thursday\",\n  \"Friday\",\n  \"Saturday\",\n  \"Sunday\",\n];\n\nexport const weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nexport const weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\nexport function weekdays(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...weekdaysNarrow];\n    case \"short\":\n      return [...weekdaysShort];\n    case \"long\":\n      return [...weekdaysLong];\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n    default:\n      return null;\n  }\n}\n\nexport const meridiems = [\"AM\", \"PM\"];\n\nexport const erasLong = [\"Before Christ\", \"Anno Domini\"];\n\nexport const erasShort = [\"BC\", \"AD\"];\n\nexport const erasNarrow = [\"B\", \"A\"];\n\nexport function eras(length) {\n  switch (length) {\n    case \"narrow\":\n      return [...erasNarrow];\n    case \"short\":\n      return [...erasShort];\n    case \"long\":\n      return [...erasLong];\n    default:\n      return null;\n  }\n}\n\nexport function meridiemForDateTime(dt) {\n  return meridiems[dt.hour < 12 ? 0 : 1];\n}\n\nexport function weekdayForDateTime(dt, length) {\n  return weekdays(length)[dt.weekday - 1];\n}\n\nexport function monthForDateTime(dt, length) {\n  return months(length)[dt.month - 1];\n}\n\nexport function eraForDateTime(dt, length) {\n  return eras(length)[dt.year < 0 ? 0 : 1];\n}\n\nexport function formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n  const units = {\n    years: [\"year\", \"yr.\"],\n    quarters: [\"quarter\", \"qtr.\"],\n    months: [\"month\", \"mo.\"],\n    weeks: [\"week\", \"wk.\"],\n    days: [\"day\", \"day\", \"days\"],\n    hours: [\"hour\", \"hr.\"],\n    minutes: [\"minute\", \"min.\"],\n    seconds: [\"second\", \"sec.\"],\n  };\n\n  const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n\n  if (numeric === \"auto\" && lastable) {\n    const isDay = unit === \"days\";\n    switch (count) {\n      case 1:\n        return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n      case -1:\n        return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n      case 0:\n        return isDay ? \"today\" : `this ${units[unit][0]}`;\n      default: // fall through\n    }\n  }\n\n  const isInPast = Object.is(count, -0) || count < 0,\n    fmtValue = Math.abs(count),\n    singular = fmtValue === 1,\n    lilUnits = units[unit],\n    fmtUnit = narrow\n      ? singular\n        ? lilUnits[1]\n        : lilUnits[2] || lilUnits[1]\n      : singular\n      ? units[unit][0]\n      : unit;\n  return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nexport function formatString(knownFormat) {\n  // these all have the offsets removed because we don't have access to them\n  // without all the intl stuff this is backfilling\n  const filtered = pick(knownFormat, [\n      \"weekday\",\n      \"era\",\n      \"year\",\n      \"month\",\n      \"day\",\n      \"hour\",\n      \"minute\",\n      \"second\",\n      \"timeZoneName\",\n      \"hourCycle\",\n    ]),\n    key = stringify(filtered),\n    dateTimeHuge = \"EEEE, LLLL d, yyyy, h:mm a\";\n  switch (key) {\n    case stringify(Formats.DATE_SHORT):\n      return \"M/d/yyyy\";\n    case stringify(Formats.DATE_MED):\n      return \"LLL d, yyyy\";\n    case stringify(Formats.DATE_MED_WITH_WEEKDAY):\n      return \"EEE, LLL d, yyyy\";\n    case stringify(Formats.DATE_FULL):\n      return \"LLLL d, yyyy\";\n    case stringify(Formats.DATE_HUGE):\n      return \"EEEE, LLLL d, yyyy\";\n    case stringify(Formats.TIME_SIMPLE):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_WITH_SECONDS):\n      return \"h:mm:ss a\";\n    case stringify(Formats.TIME_WITH_SHORT_OFFSET):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_WITH_LONG_OFFSET):\n      return \"h:mm a\";\n    case stringify(Formats.TIME_24_SIMPLE):\n      return \"HH:mm\";\n    case stringify(Formats.TIME_24_WITH_SECONDS):\n      return \"HH:mm:ss\";\n    case stringify(Formats.TIME_24_WITH_SHORT_OFFSET):\n      return \"HH:mm\";\n    case stringify(Formats.TIME_24_WITH_LONG_OFFSET):\n      return \"HH:mm\";\n    case stringify(Formats.DATETIME_SHORT):\n      return \"M/d/yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_MED):\n      return \"LLL d, yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_FULL):\n      return \"LLLL d, yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_HUGE):\n      return dateTimeHuge;\n    case stringify(Formats.DATETIME_SHORT_WITH_SECONDS):\n      return \"M/d/yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_MED_WITH_SECONDS):\n      return \"LLL d, yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_MED_WITH_WEEKDAY):\n      return \"EEE, d LLL yyyy, h:mm a\";\n    case stringify(Formats.DATETIME_FULL_WITH_SECONDS):\n      return \"LLLL d, yyyy, h:mm:ss a\";\n    case stringify(Formats.DATETIME_HUGE_WITH_SECONDS):\n      return \"EEEE, LLLL d, yyyy, h:mm:ss a\";\n    default:\n      return dateTimeHuge;\n  }\n}\n","/**\n * @private\n */\n\nconst n = \"numeric\",\n  s = \"short\",\n  l = \"long\";\n\nexport const DATE_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n};\n\nexport const DATE_MED = {\n  year: n,\n  month: s,\n  day: n,\n};\n\nexport const DATE_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n};\n\nexport const DATE_FULL = {\n  year: n,\n  month: l,\n  day: n,\n};\n\nexport const DATE_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n};\n\nexport const TIME_SIMPLE = {\n  hour: n,\n  minute: n,\n};\n\nexport const TIME_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const TIME_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s,\n};\n\nexport const TIME_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l,\n};\n\nexport const TIME_24_SIMPLE = {\n  hour: n,\n  minute: n,\n  hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: s,\n};\n\nexport const TIME_24_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: l,\n};\n\nexport const DATETIME_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_SHORT_WITH_SECONDS = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const DATETIME_MED = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_MED_WITH_SECONDS = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n};\n\nexport const DATETIME_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n  hour: n,\n  minute: n,\n};\n\nexport const DATETIME_FULL = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  timeZoneName: s,\n};\n\nexport const DATETIME_FULL_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s,\n};\n\nexport const DATETIME_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  timeZoneName: l,\n};\n\nexport const DATETIME_HUGE_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l,\n};\n","import * as English from \"./english.js\";\nimport * as Formats from \"./formats.js\";\nimport { padStart } from \"./util.js\";\n\nfunction stringifyTokens(splits, tokenToString) {\n  let s = \"\";\n  for (const token of splits) {\n    if (token.literal) {\n      s += token.val;\n    } else {\n      s += tokenToString(token.val);\n    }\n  }\n  return s;\n}\n\nconst macroTokenToFormatOpts = {\n  D: Formats.DATE_SHORT,\n  DD: Formats.DATE_MED,\n  DDD: Formats.DATE_FULL,\n  DDDD: Formats.DATE_HUGE,\n  t: Formats.TIME_SIMPLE,\n  tt: Formats.TIME_WITH_SECONDS,\n  ttt: Formats.TIME_WITH_SHORT_OFFSET,\n  tttt: Formats.TIME_WITH_LONG_OFFSET,\n  T: Formats.TIME_24_SIMPLE,\n  TT: Formats.TIME_24_WITH_SECONDS,\n  TTT: Formats.TIME_24_WITH_SHORT_OFFSET,\n  TTTT: Formats.TIME_24_WITH_LONG_OFFSET,\n  f: Formats.DATETIME_SHORT,\n  ff: Formats.DATETIME_MED,\n  fff: Formats.DATETIME_FULL,\n  ffff: Formats.DATETIME_HUGE,\n  F: Formats.DATETIME_SHORT_WITH_SECONDS,\n  FF: Formats.DATETIME_MED_WITH_SECONDS,\n  FFF: Formats.DATETIME_FULL_WITH_SECONDS,\n  FFFF: Formats.DATETIME_HUGE_WITH_SECONDS,\n};\n\n/**\n * @private\n */\n\nexport default class Formatter {\n  static create(locale, opts = {}) {\n    return new Formatter(locale, opts);\n  }\n\n  static parseFormat(fmt) {\n    // white-space is always considered a literal in user-provided formats\n    // the \" \" token has a special meaning (see unitForToken)\n\n    let current = null,\n      currentFull = \"\",\n      bracketed = false;\n    const splits = [];\n    for (let i = 0; i < fmt.length; i++) {\n      const c = fmt.charAt(i);\n      if (c === \"'\") {\n        if (currentFull.length > 0) {\n          splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n        }\n        current = null;\n        currentFull = \"\";\n        bracketed = !bracketed;\n      } else if (bracketed) {\n        currentFull += c;\n      } else if (c === current) {\n        currentFull += c;\n      } else {\n        if (currentFull.length > 0) {\n          splits.push({ literal: /^\\s+$/.test(currentFull), val: currentFull });\n        }\n        currentFull = c;\n        current = c;\n      }\n    }\n\n    if (currentFull.length > 0) {\n      splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n    }\n\n    return splits;\n  }\n\n  static macroTokenToFormatOpts(token) {\n    return macroTokenToFormatOpts[token];\n  }\n\n  constructor(locale, formatOpts) {\n    this.opts = formatOpts;\n    this.loc = locale;\n    this.systemLoc = null;\n  }\n\n  formatWithSystemDefault(dt, opts) {\n    if (this.systemLoc === null) {\n      this.systemLoc = this.loc.redefaultToSystem();\n    }\n    const df = this.systemLoc.dtFormatter(dt, { ...this.opts, ...opts });\n    return df.format();\n  }\n\n  dtFormatter(dt, opts = {}) {\n    return this.loc.dtFormatter(dt, { ...this.opts, ...opts });\n  }\n\n  formatDateTime(dt, opts) {\n    return this.dtFormatter(dt, opts).format();\n  }\n\n  formatDateTimeParts(dt, opts) {\n    return this.dtFormatter(dt, opts).formatToParts();\n  }\n\n  formatInterval(interval, opts) {\n    const df = this.dtFormatter(interval.start, opts);\n    return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n  }\n\n  resolvedOptions(dt, opts) {\n    return this.dtFormatter(dt, opts).resolvedOptions();\n  }\n\n  num(n, p = 0) {\n    // we get some perf out of doing this here, annoyingly\n    if (this.opts.forceSimple) {\n      return padStart(n, p);\n    }\n\n    const opts = { ...this.opts };\n\n    if (p > 0) {\n      opts.padTo = p;\n    }\n\n    return this.loc.numberFormatter(opts).format(n);\n  }\n\n  formatDateTimeFromString(dt, fmt) {\n    const knownEnglish = this.loc.listingMode() === \"en\",\n      useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n      string = (opts, extract) => this.loc.extract(dt, opts, extract),\n      formatOffset = (opts) => {\n        if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n          return \"Z\";\n        }\n\n        return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n      },\n      meridiem = () =>\n        knownEnglish\n          ? English.meridiemForDateTime(dt)\n          : string({ hour: \"numeric\", hourCycle: \"h12\" }, \"dayperiod\"),\n      month = (length, standalone) =>\n        knownEnglish\n          ? English.monthForDateTime(dt, length)\n          : string(standalone ? { month: length } : { month: length, day: \"numeric\" }, \"month\"),\n      weekday = (length, standalone) =>\n        knownEnglish\n          ? English.weekdayForDateTime(dt, length)\n          : string(\n              standalone ? { weekday: length } : { weekday: length, month: \"long\", day: \"numeric\" },\n              \"weekday\"\n            ),\n      maybeMacro = (token) => {\n        const formatOpts = Formatter.macroTokenToFormatOpts(token);\n        if (formatOpts) {\n          return this.formatWithSystemDefault(dt, formatOpts);\n        } else {\n          return token;\n        }\n      },\n      era = (length) =>\n        knownEnglish ? English.eraForDateTime(dt, length) : string({ era: length }, \"era\"),\n      tokenToString = (token) => {\n        // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n        switch (token) {\n          // ms\n          case \"S\":\n            return this.num(dt.millisecond);\n          case \"u\":\n          // falls through\n          case \"SSS\":\n            return this.num(dt.millisecond, 3);\n          // seconds\n          case \"s\":\n            return this.num(dt.second);\n          case \"ss\":\n            return this.num(dt.second, 2);\n          // fractional seconds\n          case \"uu\":\n            return this.num(Math.floor(dt.millisecond / 10), 2);\n          case \"uuu\":\n            return this.num(Math.floor(dt.millisecond / 100));\n          // minutes\n          case \"m\":\n            return this.num(dt.minute);\n          case \"mm\":\n            return this.num(dt.minute, 2);\n          // hours\n          case \"h\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n          case \"hh\":\n            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n          case \"H\":\n            return this.num(dt.hour);\n          case \"HH\":\n            return this.num(dt.hour, 2);\n          // offset\n          case \"Z\":\n            // like +6\n            return formatOffset({ format: \"narrow\", allowZ: this.opts.allowZ });\n          case \"ZZ\":\n            // like +06:00\n            return formatOffset({ format: \"short\", allowZ: this.opts.allowZ });\n          case \"ZZZ\":\n            // like +0600\n            return formatOffset({ format: \"techie\", allowZ: this.opts.allowZ });\n          case \"ZZZZ\":\n            // like EST\n            return dt.zone.offsetName(dt.ts, { format: \"short\", locale: this.loc.locale });\n          case \"ZZZZZ\":\n            // like Eastern Standard Time\n            return dt.zone.offsetName(dt.ts, { format: \"long\", locale: this.loc.locale });\n          // zone\n          case \"z\":\n            // like America/New_York\n            return dt.zoneName;\n          // meridiems\n          case \"a\":\n            return meridiem();\n          // dates\n          case \"d\":\n            return useDateTimeFormatter ? string({ day: \"numeric\" }, \"day\") : this.num(dt.day);\n          case \"dd\":\n            return useDateTimeFormatter ? string({ day: \"2-digit\" }, \"day\") : this.num(dt.day, 2);\n          // weekdays - standalone\n          case \"c\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"ccc\":\n            // like 'Tues'\n            return weekday(\"short\", true);\n          case \"cccc\":\n            // like 'Tuesday'\n            return weekday(\"long\", true);\n          case \"ccccc\":\n            // like 'T'\n            return weekday(\"narrow\", true);\n          // weekdays - format\n          case \"E\":\n            // like 1\n            return this.num(dt.weekday);\n          case \"EEE\":\n            // like 'Tues'\n            return weekday(\"short\", false);\n          case \"EEEE\":\n            // like 'Tuesday'\n            return weekday(\"long\", false);\n          case \"EEEEE\":\n            // like 'T'\n            return weekday(\"narrow\", false);\n          // months - standalone\n          case \"L\":\n            // like 1\n            return useDateTimeFormatter\n              ? string({ month: \"numeric\", day: \"numeric\" }, \"month\")\n              : this.num(dt.month);\n          case \"LL\":\n            // like 01, doesn't seem to work\n            return useDateTimeFormatter\n              ? string({ month: \"2-digit\", day: \"numeric\" }, \"month\")\n              : this.num(dt.month, 2);\n          case \"LLL\":\n            // like Jan\n            return month(\"short\", true);\n          case \"LLLL\":\n            // like January\n            return month(\"long\", true);\n          case \"LLLLL\":\n            // like J\n            return month(\"narrow\", true);\n          // months - format\n          case \"M\":\n            // like 1\n            return useDateTimeFormatter\n              ? string({ month: \"numeric\" }, \"month\")\n              : this.num(dt.month);\n          case \"MM\":\n            // like 01\n            return useDateTimeFormatter\n              ? string({ month: \"2-digit\" }, \"month\")\n              : this.num(dt.month, 2);\n          case \"MMM\":\n            // like Jan\n            return month(\"short\", false);\n          case \"MMMM\":\n            // like January\n            return month(\"long\", false);\n          case \"MMMMM\":\n            // like J\n            return month(\"narrow\", false);\n          // years\n          case \"y\":\n            // like 2014\n            return useDateTimeFormatter ? string({ year: \"numeric\" }, \"year\") : this.num(dt.year);\n          case \"yy\":\n            // like 14\n            return useDateTimeFormatter\n              ? string({ year: \"2-digit\" }, \"year\")\n              : this.num(dt.year.toString().slice(-2), 2);\n          case \"yyyy\":\n            // like 0012\n            return useDateTimeFormatter\n              ? string({ year: \"numeric\" }, \"year\")\n              : this.num(dt.year, 4);\n          case \"yyyyyy\":\n            // like 000012\n            return useDateTimeFormatter\n              ? string({ year: \"numeric\" }, \"year\")\n              : this.num(dt.year, 6);\n          // eras\n          case \"G\":\n            // like AD\n            return era(\"short\");\n          case \"GG\":\n            // like Anno Domini\n            return era(\"long\");\n          case \"GGGGG\":\n            return era(\"narrow\");\n          case \"kk\":\n            return this.num(dt.weekYear.toString().slice(-2), 2);\n          case \"kkkk\":\n            return this.num(dt.weekYear, 4);\n          case \"W\":\n            return this.num(dt.weekNumber);\n          case \"WW\":\n            return this.num(dt.weekNumber, 2);\n          case \"o\":\n            return this.num(dt.ordinal);\n          case \"ooo\":\n            return this.num(dt.ordinal, 3);\n          case \"q\":\n            // like 1\n            return this.num(dt.quarter);\n          case \"qq\":\n            // like 01\n            return this.num(dt.quarter, 2);\n          case \"X\":\n            return this.num(Math.floor(dt.ts / 1000));\n          case \"x\":\n            return this.num(dt.ts);\n          default:\n            return maybeMacro(token);\n        }\n      };\n\n    return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n  }\n\n  formatDurationFromString(dur, fmt) {\n    const tokenToField = (token) => {\n        switch (token[0]) {\n          case \"S\":\n            return \"millisecond\";\n          case \"s\":\n            return \"second\";\n          case \"m\":\n            return \"minute\";\n          case \"h\":\n            return \"hour\";\n          case \"d\":\n            return \"day\";\n          case \"w\":\n            return \"week\";\n          case \"M\":\n            return \"month\";\n          case \"y\":\n            return \"year\";\n          default:\n            return null;\n        }\n      },\n      tokenToString = (lildur) => (token) => {\n        const mapped = tokenToField(token);\n        if (mapped) {\n          return this.num(lildur.get(mapped), token.length);\n        } else {\n          return token;\n        }\n      },\n      tokens = Formatter.parseFormat(fmt),\n      realTokens = tokens.reduce(\n        (found, { literal, val }) => (literal ? found : found.concat(val)),\n        []\n      ),\n      collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter((t) => t));\n    return stringifyTokens(tokens, tokenToString(collapsed));\n  }\n}\n","export default class Invalid {\n  constructor(reason, explanation) {\n    this.reason = reason;\n    this.explanation = explanation;\n  }\n\n  toMessage() {\n    if (this.explanation) {\n      return `${this.reason}: ${this.explanation}`;\n    } else {\n      return this.reason;\n    }\n  }\n}\n","import { padStart, roundTo, hasRelative, formatOffset } from \"./util.js\";\nimport * as English from \"./english.js\";\nimport Settings from \"../settings.js\";\nimport DateTime from \"../datetime.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n// todo - remap caching\n\nlet intlLFCache = {};\nfunction getCachedLF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlLFCache[key];\n  if (!dtf) {\n    dtf = new Intl.ListFormat(locString, opts);\n    intlLFCache[key] = dtf;\n  }\n  return dtf;\n}\n\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let dtf = intlDTCache[key];\n  if (!dtf) {\n    dtf = new Intl.DateTimeFormat(locString, opts);\n    intlDTCache[key] = dtf;\n  }\n  return dtf;\n}\n\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n  const key = JSON.stringify([locString, opts]);\n  let inf = intlNumCache[key];\n  if (!inf) {\n    inf = new Intl.NumberFormat(locString, opts);\n    intlNumCache[key] = inf;\n  }\n  return inf;\n}\n\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n  const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options\n  const key = JSON.stringify([locString, cacheKeyOpts]);\n  let inf = intlRelCache[key];\n  if (!inf) {\n    inf = new Intl.RelativeTimeFormat(locString, opts);\n    intlRelCache[key] = inf;\n  }\n  return inf;\n}\n\nlet sysLocaleCache = null;\nfunction systemLocale() {\n  if (sysLocaleCache) {\n    return sysLocaleCache;\n  } else {\n    sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n    return sysLocaleCache;\n  }\n}\n\nfunction parseLocaleString(localeStr) {\n  // I really want to avoid writing a BCP 47 parser\n  // see, e.g. https://github.com/wooorm/bcp-47\n  // Instead, we'll do this:\n\n  // a) if the string has no -u extensions, just leave it alone\n  // b) if it does, use Intl to resolve everything\n  // c) if Intl fails, try again without the -u\n\n  // private subtags and unicode subtags have ordering requirements,\n  // and we're not properly parsing this, so just strip out the\n  // private ones if they exist.\n  const xIndex = localeStr.indexOf(\"-x-\");\n  if (xIndex !== -1) {\n    localeStr = localeStr.substring(0, xIndex);\n  }\n\n  const uIndex = localeStr.indexOf(\"-u-\");\n  if (uIndex === -1) {\n    return [localeStr];\n  } else {\n    let options;\n    let selectedStr;\n    try {\n      options = getCachedDTF(localeStr).resolvedOptions();\n      selectedStr = localeStr;\n    } catch (e) {\n      const smaller = localeStr.substring(0, uIndex);\n      options = getCachedDTF(smaller).resolvedOptions();\n      selectedStr = smaller;\n    }\n\n    const { numberingSystem, calendar } = options;\n    return [selectedStr, numberingSystem, calendar];\n  }\n}\n\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n  if (outputCalendar || numberingSystem) {\n    if (!localeStr.includes(\"-u-\")) {\n      localeStr += \"-u\";\n    }\n\n    if (outputCalendar) {\n      localeStr += `-ca-${outputCalendar}`;\n    }\n\n    if (numberingSystem) {\n      localeStr += `-nu-${numberingSystem}`;\n    }\n    return localeStr;\n  } else {\n    return localeStr;\n  }\n}\n\nfunction mapMonths(f) {\n  const ms = [];\n  for (let i = 1; i <= 12; i++) {\n    const dt = DateTime.utc(2009, i, 1);\n    ms.push(f(dt));\n  }\n  return ms;\n}\n\nfunction mapWeekdays(f) {\n  const ms = [];\n  for (let i = 1; i <= 7; i++) {\n    const dt = DateTime.utc(2016, 11, 13 + i);\n    ms.push(f(dt));\n  }\n  return ms;\n}\n\nfunction listStuff(loc, length, englishFn, intlFn) {\n  const mode = loc.listingMode();\n\n  if (mode === \"error\") {\n    return null;\n  } else if (mode === \"en\") {\n    return englishFn(length);\n  } else {\n    return intlFn(length);\n  }\n}\n\nfunction supportsFastNumbers(loc) {\n  if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n    return false;\n  } else {\n    return (\n      loc.numberingSystem === \"latn\" ||\n      !loc.locale ||\n      loc.locale.startsWith(\"en\") ||\n      new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\"\n    );\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n  constructor(intl, forceSimple, opts) {\n    this.padTo = opts.padTo || 0;\n    this.floor = opts.floor || false;\n\n    const { padTo, floor, ...otherOpts } = opts;\n\n    if (!forceSimple || Object.keys(otherOpts).length > 0) {\n      const intlOpts = { useGrouping: false, ...opts };\n      if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n      this.inf = getCachedINF(intl, intlOpts);\n    }\n  }\n\n  format(i) {\n    if (this.inf) {\n      const fixed = this.floor ? Math.floor(i) : i;\n      return this.inf.format(fixed);\n    } else {\n      // to match the browser's numberformatter defaults\n      const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n      return padStart(fixed, this.padTo);\n    }\n  }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n  constructor(dt, intl, opts) {\n    this.opts = opts;\n    this.originalZone = undefined;\n\n    let z = undefined;\n    if (this.opts.timeZone) {\n      // Don't apply any workarounds if a timeZone is explicitly provided in opts\n      this.dt = dt;\n    } else if (dt.zone.type === \"fixed\") {\n      // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n      // That is why fixed-offset TZ is set to that unless it is:\n      // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n      // 2. Unsupported by the browser:\n      //    - some do not support Etc/\n      //    - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n      const gmtOffset = -1 * (dt.offset / 60);\n      const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n      if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n        z = offsetZ;\n        this.dt = dt;\n      } else {\n        // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n        // we manually apply the offset and substitute the zone as needed.\n        z = \"UTC\";\n        this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n        this.originalZone = dt.zone;\n      }\n    } else if (dt.zone.type === \"system\") {\n      this.dt = dt;\n    } else if (dt.zone.type === \"iana\") {\n      this.dt = dt;\n      z = dt.zone.name;\n    } else {\n      // Custom zones can have any offset / offsetName so we just manually\n      // apply the offset and substitute the zone as needed.\n      z = \"UTC\";\n      this.dt = dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n      this.originalZone = dt.zone;\n    }\n\n    const intlOpts = { ...this.opts };\n    intlOpts.timeZone = intlOpts.timeZone || z;\n    this.dtf = getCachedDTF(intl, intlOpts);\n  }\n\n  format() {\n    if (this.originalZone) {\n      // If we have to substitute in the actual zone name, we have to use\n      // formatToParts so that the timezone can be replaced.\n      return this.formatToParts()\n        .map(({ value }) => value)\n        .join(\"\");\n    }\n    return this.dtf.format(this.dt.toJSDate());\n  }\n\n  formatToParts() {\n    const parts = this.dtf.formatToParts(this.dt.toJSDate());\n    if (this.originalZone) {\n      return parts.map((part) => {\n        if (part.type === \"timeZoneName\") {\n          const offsetName = this.originalZone.offsetName(this.dt.ts, {\n            locale: this.dt.locale,\n            format: this.opts.timeZoneName,\n          });\n          return {\n            ...part,\n            value: offsetName,\n          };\n        } else {\n          return part;\n        }\n      });\n    }\n    return parts;\n  }\n\n  resolvedOptions() {\n    return this.dtf.resolvedOptions();\n  }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n  constructor(intl, isEnglish, opts) {\n    this.opts = { style: \"long\", ...opts };\n    if (!isEnglish && hasRelative()) {\n      this.rtf = getCachedRTF(intl, opts);\n    }\n  }\n\n  format(count, unit) {\n    if (this.rtf) {\n      return this.rtf.format(count, unit);\n    } else {\n      return English.formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n    }\n  }\n\n  formatToParts(count, unit) {\n    if (this.rtf) {\n      return this.rtf.formatToParts(count, unit);\n    } else {\n      return [];\n    }\n  }\n}\n\n/**\n * @private\n */\n\nexport default class Locale {\n  static fromOpts(opts) {\n    return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN);\n  }\n\n  static create(locale, numberingSystem, outputCalendar, defaultToEN = false) {\n    const specifiedLocale = locale || Settings.defaultLocale;\n    // the system locale is useful for human readable strings but annoying for parsing/formatting known formats\n    const localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n    const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n    const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n    return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale);\n  }\n\n  static resetCache() {\n    sysLocaleCache = null;\n    intlDTCache = {};\n    intlNumCache = {};\n    intlRelCache = {};\n  }\n\n  static fromObject({ locale, numberingSystem, outputCalendar } = {}) {\n    return Locale.create(locale, numberingSystem, outputCalendar);\n  }\n\n  constructor(locale, numbering, outputCalendar, specifiedLocale) {\n    const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n\n    this.locale = parsedLocale;\n    this.numberingSystem = numbering || parsedNumberingSystem || null;\n    this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n    this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n\n    this.weekdaysCache = { format: {}, standalone: {} };\n    this.monthsCache = { format: {}, standalone: {} };\n    this.meridiemCache = null;\n    this.eraCache = {};\n\n    this.specifiedLocale = specifiedLocale;\n    this.fastNumbersCached = null;\n  }\n\n  get fastNumbers() {\n    if (this.fastNumbersCached == null) {\n      this.fastNumbersCached = supportsFastNumbers(this);\n    }\n\n    return this.fastNumbersCached;\n  }\n\n  listingMode() {\n    const isActuallyEn = this.isEnglish();\n    const hasNoWeirdness =\n      (this.numberingSystem === null || this.numberingSystem === \"latn\") &&\n      (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n    return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n  }\n\n  clone(alts) {\n    if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n      return this;\n    } else {\n      return Locale.create(\n        alts.locale || this.specifiedLocale,\n        alts.numberingSystem || this.numberingSystem,\n        alts.outputCalendar || this.outputCalendar,\n        alts.defaultToEN || false\n      );\n    }\n  }\n\n  redefaultToEN(alts = {}) {\n    return this.clone({ ...alts, defaultToEN: true });\n  }\n\n  redefaultToSystem(alts = {}) {\n    return this.clone({ ...alts, defaultToEN: false });\n  }\n\n  months(length, format = false) {\n    return listStuff(this, length, English.months, () => {\n      const intl = format ? { month: length, day: \"numeric\" } : { month: length },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.monthsCache[formatStr][length]) {\n        this.monthsCache[formatStr][length] = mapMonths((dt) => this.extract(dt, intl, \"month\"));\n      }\n      return this.monthsCache[formatStr][length];\n    });\n  }\n\n  weekdays(length, format = false) {\n    return listStuff(this, length, English.weekdays, () => {\n      const intl = format\n          ? { weekday: length, year: \"numeric\", month: \"long\", day: \"numeric\" }\n          : { weekday: length },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!this.weekdaysCache[formatStr][length]) {\n        this.weekdaysCache[formatStr][length] = mapWeekdays((dt) =>\n          this.extract(dt, intl, \"weekday\")\n        );\n      }\n      return this.weekdaysCache[formatStr][length];\n    });\n  }\n\n  meridiems() {\n    return listStuff(\n      this,\n      undefined,\n      () => English.meridiems,\n      () => {\n        // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n        // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n        if (!this.meridiemCache) {\n          const intl = { hour: \"numeric\", hourCycle: \"h12\" };\n          this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(\n            (dt) => this.extract(dt, intl, \"dayperiod\")\n          );\n        }\n\n        return this.meridiemCache;\n      }\n    );\n  }\n\n  eras(length) {\n    return listStuff(this, length, English.eras, () => {\n      const intl = { era: length };\n\n      // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n      // to definitely enumerate them.\n      if (!this.eraCache[length]) {\n        this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map((dt) =>\n          this.extract(dt, intl, \"era\")\n        );\n      }\n\n      return this.eraCache[length];\n    });\n  }\n\n  extract(dt, intlOpts, field) {\n    const df = this.dtFormatter(dt, intlOpts),\n      results = df.formatToParts(),\n      matching = results.find((m) => m.type.toLowerCase() === field);\n    return matching ? matching.value : null;\n  }\n\n  numberFormatter(opts = {}) {\n    // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n    // (in contrast, the rest of the condition is used heavily)\n    return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n  }\n\n  dtFormatter(dt, intlOpts = {}) {\n    return new PolyDateFormatter(dt, this.intl, intlOpts);\n  }\n\n  relFormatter(opts = {}) {\n    return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n  }\n\n  listFormatter(opts = {}) {\n    return getCachedLF(this.intl, opts);\n  }\n\n  isEnglish() {\n    return (\n      this.locale === \"en\" ||\n      this.locale.toLowerCase() === \"en-us\" ||\n      new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\")\n    );\n  }\n\n  equals(other) {\n    return (\n      this.locale === other.locale &&\n      this.numberingSystem === other.numberingSystem &&\n      this.outputCalendar === other.outputCalendar\n    );\n  }\n}\n","import {\n  untruncateYear,\n  signedOffset,\n  parseInteger,\n  parseMillis,\n  isUndefined,\n  parseFloating,\n} from \"./util.js\";\nimport * as English from \"./english.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nconst ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\n\nfunction combineRegexes(...regexes) {\n  const full = regexes.reduce((f, r) => f + r.source, \"\");\n  return RegExp(`^${full}$`);\n}\n\nfunction combineExtractors(...extractors) {\n  return (m) =>\n    extractors\n      .reduce(\n        ([mergedVals, mergedZone, cursor], ex) => {\n          const [val, zone, next] = ex(m, cursor);\n          return [{ ...mergedVals, ...val }, zone || mergedZone, next];\n        },\n        [{}, null, 1]\n      )\n      .slice(0, 2);\n}\n\nfunction parse(s, ...patterns) {\n  if (s == null) {\n    return [null, null];\n  }\n\n  for (const [regex, extractor] of patterns) {\n    const m = regex.exec(s);\n    if (m) {\n      return extractor(m);\n    }\n  }\n  return [null, null];\n}\n\nfunction simpleParse(...keys) {\n  return (match, cursor) => {\n    const ret = {};\n    let i;\n\n    for (i = 0; i < keys.length; i++) {\n      ret[keys[i]] = parseInteger(match[cursor + i]);\n    }\n    return [ret, null, cursor + i];\n  };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nconst isoExtendedZone = `(?:${offsetRegex.source}?(?:\\\\[(${ianaRegex.source})\\\\])?)?`;\nconst isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nconst isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);\nconst isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);\nconst isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nconst isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nconst isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nconst extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nconst extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nconst sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nconst sqlTimeRegex = RegExp(\n  `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`\n);\nconst sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\n\nfunction int(match, pos, fallback) {\n  const m = match[pos];\n  return isUndefined(m) ? fallback : parseInteger(m);\n}\n\nfunction extractISOYmd(match, cursor) {\n  const item = {\n    year: int(match, cursor),\n    month: int(match, cursor + 1, 1),\n    day: int(match, cursor + 2, 1),\n  };\n\n  return [item, null, cursor + 3];\n}\n\nfunction extractISOTime(match, cursor) {\n  const item = {\n    hours: int(match, cursor, 0),\n    minutes: int(match, cursor + 1, 0),\n    seconds: int(match, cursor + 2, 0),\n    milliseconds: parseMillis(match[cursor + 3]),\n  };\n\n  return [item, null, cursor + 4];\n}\n\nfunction extractISOOffset(match, cursor) {\n  const local = !match[cursor] && !match[cursor + 1],\n    fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n    zone = local ? null : FixedOffsetZone.instance(fullOffset);\n  return [{}, zone, cursor + 3];\n}\n\nfunction extractIANAZone(match, cursor) {\n  const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n  return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration =\n  /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\n\nfunction extractISODuration(match) {\n  const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] =\n    match;\n\n  const hasNegativePrefix = s[0] === \"-\";\n  const negativeSeconds = secondStr && secondStr[0] === \"-\";\n\n  const maybeNegate = (num, force = false) =>\n    num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num;\n\n  return [\n    {\n      years: maybeNegate(parseFloating(yearStr)),\n      months: maybeNegate(parseFloating(monthStr)),\n      weeks: maybeNegate(parseFloating(weekStr)),\n      days: maybeNegate(parseFloating(dayStr)),\n      hours: maybeNegate(parseFloating(hourStr)),\n      minutes: maybeNegate(parseFloating(minuteStr)),\n      seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n      milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds),\n    },\n  ];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n  GMT: 0,\n  EDT: -4 * 60,\n  EST: -5 * 60,\n  CDT: -5 * 60,\n  CST: -6 * 60,\n  MDT: -6 * 60,\n  MST: -7 * 60,\n  PDT: -7 * 60,\n  PST: -8 * 60,\n};\n\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n  const result = {\n    year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n    month: English.monthsShort.indexOf(monthStr) + 1,\n    day: parseInteger(dayStr),\n    hour: parseInteger(hourStr),\n    minute: parseInteger(minuteStr),\n  };\n\n  if (secondStr) result.second = parseInteger(secondStr);\n  if (weekdayStr) {\n    result.weekday =\n      weekdayStr.length > 3\n        ? English.weekdaysLong.indexOf(weekdayStr) + 1\n        : English.weekdaysShort.indexOf(weekdayStr) + 1;\n  }\n\n  return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 =\n  /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\n\nfunction extractRFC2822(match) {\n  const [\n      ,\n      weekdayStr,\n      dayStr,\n      monthStr,\n      yearStr,\n      hourStr,\n      minuteStr,\n      secondStr,\n      obsOffset,\n      milOffset,\n      offHourStr,\n      offMinuteStr,\n    ] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n\n  let offset;\n  if (obsOffset) {\n    offset = obsOffsets[obsOffset];\n  } else if (milOffset) {\n    offset = 0;\n  } else {\n    offset = signedOffset(offHourStr, offMinuteStr);\n  }\n\n  return [result, new FixedOffsetZone(offset)];\n}\n\nfunction preprocessRFC2822(s) {\n  // Remove comments and folding whitespace and replace multiple-spaces with a single space\n  return s\n    .replace(/\\([^()]*\\)|[\\n\\t]/g, \" \")\n    .replace(/(\\s\\s+)/g, \" \")\n    .trim();\n}\n\n// http date\n\nconst rfc1123 =\n    /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  rfc850 =\n    /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  ascii =\n    /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\n\nfunction extractRFC1123Or850(match) {\n  const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\n\nfunction extractASCII(match) {\n  const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\n\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\n\nconst extractISOYmdTimeAndOffset = combineExtractors(\n  extractISOYmd,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOWeekTimeAndOffset = combineExtractors(\n  extractISOWeekData,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOOrdinalDateAndTime = combineExtractors(\n  extractISOOrdinalData,\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\nconst extractISOTimeAndOffset = combineExtractors(\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\n\n/*\n * @private\n */\n\nexport function parseISODate(s) {\n  return parse(\n    s,\n    [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n    [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset],\n    [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime],\n    [isoTimeCombinedRegex, extractISOTimeAndOffset]\n  );\n}\n\nexport function parseRFC2822Date(s) {\n  return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\n\nexport function parseHTTPDate(s) {\n  return parse(\n    s,\n    [rfc1123, extractRFC1123Or850],\n    [rfc850, extractRFC1123Or850],\n    [ascii, extractASCII]\n  );\n}\n\nexport function parseISODuration(s) {\n  return parse(s, [isoDuration, extractISODuration]);\n}\n\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\n\nexport function parseISOTimeOnly(s) {\n  return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\n\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\n\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(\n  extractISOTime,\n  extractISOOffset,\n  extractIANAZone\n);\n\nexport function parseSQL(s) {\n  return parse(\n    s,\n    [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n    [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]\n  );\n}\n","import { parseMillis, isUndefined, untruncateYear, signedOffset, hasOwnProperty } from \"./util.js\";\nimport Formatter from \"./formatter.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport DateTime from \"../datetime.js\";\nimport { digitRegex, parseDigits } from \"./digits.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\n\nfunction intUnit(regex, post = (i) => i) {\n  return { regex, deser: ([s]) => post(parseDigits(s)) };\n}\n\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `[ ${NBSP}]`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\n\nfunction fixListRegex(s) {\n  // make dots optional and also make them literal\n  // make space and non breakable space characters interchangeable\n  return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\n\nfunction stripInsensitivities(s) {\n  return s\n    .replace(/\\./g, \"\") // ignore dots that were made optional\n    .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n    .toLowerCase();\n}\n\nfunction oneOf(strings, startIndex) {\n  if (strings === null) {\n    return null;\n  } else {\n    return {\n      regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n      deser: ([s]) =>\n        strings.findIndex((i) => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex,\n    };\n  }\n}\n\nfunction offset(regex, groups) {\n  return { regex, deser: ([, h, m]) => signedOffset(h, m), groups };\n}\n\nfunction simple(regex) {\n  return { regex, deser: ([s]) => s };\n}\n\nfunction escapeToken(value) {\n  return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n  const one = digitRegex(loc),\n    two = digitRegex(loc, \"{2}\"),\n    three = digitRegex(loc, \"{3}\"),\n    four = digitRegex(loc, \"{4}\"),\n    six = digitRegex(loc, \"{6}\"),\n    oneOrTwo = digitRegex(loc, \"{1,2}\"),\n    oneToThree = digitRegex(loc, \"{1,3}\"),\n    oneToSix = digitRegex(loc, \"{1,6}\"),\n    oneToNine = digitRegex(loc, \"{1,9}\"),\n    twoToFour = digitRegex(loc, \"{2,4}\"),\n    fourToSix = digitRegex(loc, \"{4,6}\"),\n    literal = (t) => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }),\n    unitate = (t) => {\n      if (token.literal) {\n        return literal(t);\n      }\n      switch (t.val) {\n        // era\n        case \"G\":\n          return oneOf(loc.eras(\"short\"), 0);\n        case \"GG\":\n          return oneOf(loc.eras(\"long\"), 0);\n        // years\n        case \"y\":\n          return intUnit(oneToSix);\n        case \"yy\":\n          return intUnit(twoToFour, untruncateYear);\n        case \"yyyy\":\n          return intUnit(four);\n        case \"yyyyy\":\n          return intUnit(fourToSix);\n        case \"yyyyyy\":\n          return intUnit(six);\n        // months\n        case \"M\":\n          return intUnit(oneOrTwo);\n        case \"MM\":\n          return intUnit(two);\n        case \"MMM\":\n          return oneOf(loc.months(\"short\", true), 1);\n        case \"MMMM\":\n          return oneOf(loc.months(\"long\", true), 1);\n        case \"L\":\n          return intUnit(oneOrTwo);\n        case \"LL\":\n          return intUnit(two);\n        case \"LLL\":\n          return oneOf(loc.months(\"short\", false), 1);\n        case \"LLLL\":\n          return oneOf(loc.months(\"long\", false), 1);\n        // dates\n        case \"d\":\n          return intUnit(oneOrTwo);\n        case \"dd\":\n          return intUnit(two);\n        // ordinals\n        case \"o\":\n          return intUnit(oneToThree);\n        case \"ooo\":\n          return intUnit(three);\n        // time\n        case \"HH\":\n          return intUnit(two);\n        case \"H\":\n          return intUnit(oneOrTwo);\n        case \"hh\":\n          return intUnit(two);\n        case \"h\":\n          return intUnit(oneOrTwo);\n        case \"mm\":\n          return intUnit(two);\n        case \"m\":\n          return intUnit(oneOrTwo);\n        case \"q\":\n          return intUnit(oneOrTwo);\n        case \"qq\":\n          return intUnit(two);\n        case \"s\":\n          return intUnit(oneOrTwo);\n        case \"ss\":\n          return intUnit(two);\n        case \"S\":\n          return intUnit(oneToThree);\n        case \"SSS\":\n          return intUnit(three);\n        case \"u\":\n          return simple(oneToNine);\n        case \"uu\":\n          return simple(oneOrTwo);\n        case \"uuu\":\n          return intUnit(one);\n        // meridiem\n        case \"a\":\n          return oneOf(loc.meridiems(), 0);\n        // weekYear (k)\n        case \"kkkk\":\n          return intUnit(four);\n        case \"kk\":\n          return intUnit(twoToFour, untruncateYear);\n        // weekNumber (W)\n        case \"W\":\n          return intUnit(oneOrTwo);\n        case \"WW\":\n          return intUnit(two);\n        // weekdays\n        case \"E\":\n        case \"c\":\n          return intUnit(one);\n        case \"EEE\":\n          return oneOf(loc.weekdays(\"short\", false), 1);\n        case \"EEEE\":\n          return oneOf(loc.weekdays(\"long\", false), 1);\n        case \"ccc\":\n          return oneOf(loc.weekdays(\"short\", true), 1);\n        case \"cccc\":\n          return oneOf(loc.weekdays(\"long\", true), 1);\n        // offset/zone\n        case \"Z\":\n        case \"ZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n        case \"ZZZ\":\n          return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n        // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n        // because we don't have any way to figure out what they are\n        case \"z\":\n          return simple(/[a-z_+-/]{1,256}?/i);\n        // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n        // in this case we accept any non-newline white-space\n        case \" \":\n          return simple(/[^\\S\\n\\r]/);\n        default:\n          return literal(t);\n      }\n    };\n\n  const unit = unitate(token) || {\n    invalidReason: MISSING_FTP,\n  };\n\n  unit.token = token;\n\n  return unit;\n}\n\nconst partTypeStyleToTokenVal = {\n  year: {\n    \"2-digit\": \"yy\",\n    numeric: \"yyyyy\",\n  },\n  month: {\n    numeric: \"M\",\n    \"2-digit\": \"MM\",\n    short: \"MMM\",\n    long: \"MMMM\",\n  },\n  day: {\n    numeric: \"d\",\n    \"2-digit\": \"dd\",\n  },\n  weekday: {\n    short: \"EEE\",\n    long: \"EEEE\",\n  },\n  dayperiod: \"a\",\n  dayPeriod: \"a\",\n  hour12: {\n    numeric: \"h\",\n    \"2-digit\": \"hh\",\n  },\n  hour24: {\n    numeric: \"H\",\n    \"2-digit\": \"HH\",\n  },\n  minute: {\n    numeric: \"m\",\n    \"2-digit\": \"mm\",\n  },\n  second: {\n    numeric: \"s\",\n    \"2-digit\": \"ss\",\n  },\n  timeZoneName: {\n    long: \"ZZZZZ\",\n    short: \"ZZZ\",\n  },\n};\n\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n  const { type, value } = part;\n\n  if (type === \"literal\") {\n    const isSpace = /^\\s+$/.test(value);\n    return {\n      literal: !isSpace,\n      val: isSpace ? \" \" : value,\n    };\n  }\n\n  const style = formatOpts[type];\n\n  // The user might have explicitly specified hour12 or hourCycle\n  // if so, respect their decision\n  // if not, refer back to the resolvedOpts, which are based on the locale\n  let actualType = type;\n  if (type === \"hour\") {\n    if (formatOpts.hour12 != null) {\n      actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n    } else if (formatOpts.hourCycle != null) {\n      if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n        actualType = \"hour12\";\n      } else {\n        actualType = \"hour24\";\n      }\n    } else {\n      // tokens only differentiate between 24 hours or not,\n      // so we do not need to check hourCycle here, which is less supported anyways\n      actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n    }\n  }\n  let val = partTypeStyleToTokenVal[actualType];\n  if (typeof val === \"object\") {\n    val = val[style];\n  }\n\n  if (val) {\n    return {\n      literal: false,\n      val,\n    };\n  }\n\n  return undefined;\n}\n\nfunction buildRegex(units) {\n  const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n  return [`^${re}$`, units];\n}\n\nfunction match(input, regex, handlers) {\n  const matches = input.match(regex);\n\n  if (matches) {\n    const all = {};\n    let matchIndex = 1;\n    for (const i in handlers) {\n      if (hasOwnProperty(handlers, i)) {\n        const h = handlers[i],\n          groups = h.groups ? h.groups + 1 : 1;\n        if (!h.literal && h.token) {\n          all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n        }\n        matchIndex += groups;\n      }\n    }\n    return [matches, all];\n  } else {\n    return [matches, {}];\n  }\n}\n\nfunction dateTimeFromMatches(matches) {\n  const toField = (token) => {\n    switch (token) {\n      case \"S\":\n        return \"millisecond\";\n      case \"s\":\n        return \"second\";\n      case \"m\":\n        return \"minute\";\n      case \"h\":\n      case \"H\":\n        return \"hour\";\n      case \"d\":\n        return \"day\";\n      case \"o\":\n        return \"ordinal\";\n      case \"L\":\n      case \"M\":\n        return \"month\";\n      case \"y\":\n        return \"year\";\n      case \"E\":\n      case \"c\":\n        return \"weekday\";\n      case \"W\":\n        return \"weekNumber\";\n      case \"k\":\n        return \"weekYear\";\n      case \"q\":\n        return \"quarter\";\n      default:\n        return null;\n    }\n  };\n\n  let zone = null;\n  let specificOffset;\n  if (!isUndefined(matches.z)) {\n    zone = IANAZone.create(matches.z);\n  }\n\n  if (!isUndefined(matches.Z)) {\n    if (!zone) {\n      zone = new FixedOffsetZone(matches.Z);\n    }\n    specificOffset = matches.Z;\n  }\n\n  if (!isUndefined(matches.q)) {\n    matches.M = (matches.q - 1) * 3 + 1;\n  }\n\n  if (!isUndefined(matches.h)) {\n    if (matches.h < 12 && matches.a === 1) {\n      matches.h += 12;\n    } else if (matches.h === 12 && matches.a === 0) {\n      matches.h = 0;\n    }\n  }\n\n  if (matches.G === 0 && matches.y) {\n    matches.y = -matches.y;\n  }\n\n  if (!isUndefined(matches.u)) {\n    matches.S = parseMillis(matches.u);\n  }\n\n  const vals = Object.keys(matches).reduce((r, k) => {\n    const f = toField(k);\n    if (f) {\n      r[f] = matches[k];\n    }\n\n    return r;\n  }, {});\n\n  return [vals, zone, specificOffset];\n}\n\nlet dummyDateTimeCache = null;\n\nfunction getDummyDateTime() {\n  if (!dummyDateTimeCache) {\n    dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n  }\n\n  return dummyDateTimeCache;\n}\n\nfunction maybeExpandMacroToken(token, locale) {\n  if (token.literal) {\n    return token;\n  }\n\n  const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n  const tokens = formatOptsToTokens(formatOpts, locale);\n\n  if (tokens == null || tokens.includes(undefined)) {\n    return token;\n  }\n\n  return tokens;\n}\n\nexport function expandMacroTokens(tokens, locale) {\n  return Array.prototype.concat(...tokens.map((t) => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nexport function explainFromTokens(locale, input, format) {\n  const tokens = expandMacroTokens(Formatter.parseFormat(format), locale),\n    units = tokens.map((t) => unitForToken(t, locale)),\n    disqualifyingUnit = units.find((t) => t.invalidReason);\n\n  if (disqualifyingUnit) {\n    return { input, tokens, invalidReason: disqualifyingUnit.invalidReason };\n  } else {\n    const [regexString, handlers] = buildRegex(units),\n      regex = RegExp(regexString, \"i\"),\n      [rawMatches, matches] = match(input, regex, handlers),\n      [result, zone, specificOffset] = matches\n        ? dateTimeFromMatches(matches)\n        : [null, null, undefined];\n    if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n      throw new ConflictingSpecificationError(\n        \"Can't include meridiem when specifying 24-hour format\"\n      );\n    }\n    return { input, tokens, regex, rawMatches, matches, result, zone, specificOffset };\n  }\n}\n\nexport function parseFromTokens(locale, input, format) {\n  const { result, zone, specificOffset, invalidReason } = explainFromTokens(locale, input, format);\n  return [result, zone, specificOffset, invalidReason];\n}\n\nexport function formatOptsToTokens(formatOpts, locale) {\n  if (!formatOpts) {\n    return null;\n  }\n\n  const formatter = Formatter.create(locale, formatOpts);\n  const df = formatter.dtFormatter(getDummyDateTime());\n  const parts = df.formatToParts();\n  const resolvedOpts = df.resolvedOptions();\n  return parts.map((p) => tokenForPart(p, formatOpts, resolvedOpts));\n}\n","/*\n  This is just a junk drawer, containing anything used across multiple classes.\n  Because Luxon is small(ish), this should stay small and we won't worry about splitting\n  it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\nimport { InvalidArgumentError } from \"../errors.js\";\nimport Settings from \"../settings.js\";\n\n/**\n * @private\n */\n\n// TYPES\n\nexport function isUndefined(o) {\n  return typeof o === \"undefined\";\n}\n\nexport function isNumber(o) {\n  return typeof o === \"number\";\n}\n\nexport function isInteger(o) {\n  return typeof o === \"number\" && o % 1 === 0;\n}\n\nexport function isString(o) {\n  return typeof o === \"string\";\n}\n\nexport function isDate(o) {\n  return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nexport function hasRelative() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n  } catch (e) {\n    return false;\n  }\n}\n\n// OBJECTS AND ARRAYS\n\nexport function maybeArray(thing) {\n  return Array.isArray(thing) ? thing : [thing];\n}\n\nexport function bestBy(arr, by, compare) {\n  if (arr.length === 0) {\n    return undefined;\n  }\n  return arr.reduce((best, next) => {\n    const pair = [by(next), next];\n    if (!best) {\n      return pair;\n    } else if (compare(best[0], pair[0]) === best[0]) {\n      return best;\n    } else {\n      return pair;\n    }\n  }, null)[1];\n}\n\nexport function pick(obj, keys) {\n  return keys.reduce((a, k) => {\n    a[k] = obj[k];\n    return a;\n  }, {});\n}\n\nexport function hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n// NUMBERS AND STRINGS\n\nexport function integerBetween(thing, bottom, top) {\n  return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nexport function floorMod(x, n) {\n  return x - n * Math.floor(x / n);\n}\n\nexport function padStart(input, n = 2) {\n  const isNeg = input < 0;\n  let padded;\n  if (isNeg) {\n    padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n  } else {\n    padded = (\"\" + input).padStart(n, \"0\");\n  }\n  return padded;\n}\n\nexport function parseInteger(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseInt(string, 10);\n  }\n}\n\nexport function parseFloating(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseFloat(string);\n  }\n}\n\nexport function parseMillis(fraction) {\n  // Return undefined (instead of 0) in these cases, where fraction is not set\n  if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n    return undefined;\n  } else {\n    const f = parseFloat(\"0.\" + fraction) * 1000;\n    return Math.floor(f);\n  }\n}\n\nexport function roundTo(number, digits, towardZero = false) {\n  const factor = 10 ** digits,\n    rounder = towardZero ? Math.trunc : Math.round;\n  return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nexport function isLeapYear(year) {\n  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function daysInYear(year) {\n  return isLeapYear(year) ? 366 : 365;\n}\n\nexport function daysInMonth(year, month) {\n  const modMonth = floorMod(month - 1, 12) + 1,\n    modYear = year + (month - modMonth) / 12;\n\n  if (modMonth === 2) {\n    return isLeapYear(modYear) ? 29 : 28;\n  } else {\n    return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n  }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nexport function objToLocalTS(obj) {\n  let d = Date.UTC(\n    obj.year,\n    obj.month - 1,\n    obj.day,\n    obj.hour,\n    obj.minute,\n    obj.second,\n    obj.millisecond\n  );\n\n  // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n  if (obj.year < 100 && obj.year >= 0) {\n    d = new Date(d);\n    // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n    // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n    // the calculations done by Date.UTC are using year 2000 - which is incorrect\n    d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n  }\n  return +d;\n}\n\nexport function weeksInWeekYear(weekYear) {\n  const p1 =\n      (weekYear +\n        Math.floor(weekYear / 4) -\n        Math.floor(weekYear / 100) +\n        Math.floor(weekYear / 400)) %\n      7,\n    last = weekYear - 1,\n    p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7;\n  return p1 === 4 || p2 === 3 ? 53 : 52;\n}\n\nexport function untruncateYear(year) {\n  if (year > 99) {\n    return year;\n  } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nexport function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n  const date = new Date(ts),\n    intlOpts = {\n      hourCycle: \"h23\",\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n    };\n\n  if (timeZone) {\n    intlOpts.timeZone = timeZone;\n  }\n\n  const modified = { timeZoneName: offsetFormat, ...intlOpts };\n\n  const parsed = new Intl.DateTimeFormat(locale, modified)\n    .formatToParts(date)\n    .find((m) => m.type.toLowerCase() === \"timezonename\");\n  return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nexport function signedOffset(offHourStr, offMinuteStr) {\n  let offHour = parseInt(offHourStr, 10);\n\n  // don't || this because we want to preserve -0\n  if (Number.isNaN(offHour)) {\n    offHour = 0;\n  }\n\n  const offMin = parseInt(offMinuteStr, 10) || 0,\n    offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n  return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nexport function asNumber(value) {\n  const numericValue = Number(value);\n  if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue))\n    throw new InvalidArgumentError(`Invalid unit value ${value}`);\n  return numericValue;\n}\n\nexport function normalizeObject(obj, normalizer) {\n  const normalized = {};\n  for (const u in obj) {\n    if (hasOwnProperty(obj, u)) {\n      const v = obj[u];\n      if (v === undefined || v === null) continue;\n      normalized[normalizer(u)] = asNumber(v);\n    }\n  }\n  return normalized;\n}\n\nexport function formatOffset(offset, format) {\n  const hours = Math.trunc(Math.abs(offset / 60)),\n    minutes = Math.trunc(Math.abs(offset % 60)),\n    sign = offset >= 0 ? \"+\" : \"-\";\n\n  switch (format) {\n    case \"short\":\n      return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n    case \"narrow\":\n      return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n    case \"techie\":\n      return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n    default:\n      throw new RangeError(`Value format ${format} is out of range for property format`);\n  }\n}\n\nexport function timeObject(obj) {\n  return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n","/**\n * @private\n */\n\nimport Zone from \"../zone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport InvalidZone from \"../zones/invalidZone.js\";\n\nimport { isUndefined, isString, isNumber } from \"./util.js\";\nimport SystemZone from \"../zones/systemZone.js\";\n\nexport function normalizeZone(input, defaultZone) {\n  let offset;\n  if (isUndefined(input) || input === null) {\n    return defaultZone;\n  } else if (input instanceof Zone) {\n    return input;\n  } else if (isString(input)) {\n    const lowered = input.toLowerCase();\n    if (lowered === \"default\") return defaultZone;\n    else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;\n    else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;\n    else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n  } else if (isNumber(input)) {\n    return FixedOffsetZone.instance(input);\n  } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n    // This is dumb, but the instanceof check above doesn't seem to really work\n    // so we're duck checking it\n    return input;\n  } else {\n    return new InvalidZone(input);\n  }\n}\n","import DateTime from \"./datetime.js\";\nimport Settings from \"./settings.js\";\nimport Locale from \"./impl/locale.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nimport { hasRelative } from \"./impl/util.js\";\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nexport default class Info {\n  /**\n   * Return whether the specified zone contains a DST.\n   * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n   * @return {boolean}\n   */\n  static hasDST(zone = Settings.defaultZone) {\n    const proto = DateTime.now().setZone(zone).set({ month: 12 });\n\n    return !zone.isUniversal && proto.offset !== proto.set({ month: 6 }).offset;\n  }\n\n  /**\n   * Return whether the specified zone is a valid IANA specifier.\n   * @param {string} zone - Zone to check\n   * @return {boolean}\n   */\n  static isValidIANAZone(zone) {\n    return IANAZone.isValidZone(zone);\n  }\n\n  /**\n   * Converts the input into a {@link Zone} instance.\n   *\n   * * If `input` is already a Zone instance, it is returned unchanged.\n   * * If `input` is a string containing a valid time zone name, a Zone instance\n   *   with that name is returned.\n   * * If `input` is a string that doesn't refer to a known time zone, a Zone\n   *   instance with {@link Zone#isValid} == false is returned.\n   * * If `input is a number, a Zone instance with the specified fixed offset\n   *   in minutes is returned.\n   * * If `input` is `null` or `undefined`, the default zone is returned.\n   * @param {string|Zone|number} [input] - the value to be converted\n   * @return {Zone}\n   */\n  static normalizeZone(input) {\n    return normalizeZone(input, Settings.defaultZone);\n  }\n\n  /**\n   * Return an array of standalone month names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @example Info.months()[0] //=> 'January'\n   * @example Info.months('short')[0] //=> 'Jan'\n   * @example Info.months('numeric')[0] //=> '1'\n   * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n   * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n   * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n   * @return {Array}\n   */\n  static months(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n  }\n\n  /**\n   * Return an array of format month names.\n   * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n   * changes the string.\n   * See {@link Info#months}\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @return {Array}\n   */\n  static monthsFormat(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n  }\n\n  /**\n   * Return an array of standalone week names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @example Info.weekdays()[0] //=> 'Monday'\n   * @example Info.weekdays('short')[0] //=> 'Mon'\n   * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n   * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n   * @return {Array}\n   */\n  static weekdays(length = \"long\", { locale = null, numberingSystem = null, locObj = null } = {}) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n  }\n\n  /**\n   * Return an array of format week names.\n   * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n   * changes the string.\n   * See {@link Info#weekdays}\n   * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale=null] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @return {Array}\n   */\n  static weekdaysFormat(\n    length = \"long\",\n    { locale = null, numberingSystem = null, locObj = null } = {}\n  ) {\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n  }\n\n  /**\n   * Return an array of meridiems.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n   * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n   * @return {Array}\n   */\n  static meridiems({ locale = null } = {}) {\n    return Locale.create(locale).meridiems();\n  }\n\n  /**\n   * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n   * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.eras() //=> [ 'BC', 'AD' ]\n   * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n   * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n   * @return {Array}\n   */\n  static eras(length = \"short\", { locale = null } = {}) {\n    return Locale.create(locale, null, \"gregory\").eras(length);\n  }\n\n  /**\n   * Return the set of available features in this environment.\n   * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n   * Keys:\n   * * `relative`: whether this environment supports relative time formatting\n   * @example Info.features() //=> { relative: false }\n   * @return {Object}\n   */\n  static features() {\n    return { relative: hasRelative() };\n  }\n}\n","import DateTime, { friendlyDateTime } from \"./datetime.js\";\nimport Duration from \"./duration.js\";\nimport Settings from \"./settings.js\";\nimport { InvalidArgumentError, InvalidIntervalError } from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport * as Formats from \"./impl/formats.js\";\n\nconst INVALID = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n  if (!start || !start.isValid) {\n    return Interval.invalid(\"missing or invalid start\");\n  } else if (!end || !end.isValid) {\n    return Interval.invalid(\"missing or invalid end\");\n  } else if (end < start) {\n    return Interval.invalid(\n      \"end before start\",\n      `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`\n    );\n  } else {\n    return null;\n  }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nexport default class Interval {\n  /**\n   * @private\n   */\n  constructor(config) {\n    /**\n     * @access private\n     */\n    this.s = config.start;\n    /**\n     * @access private\n     */\n    this.e = config.end;\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.isLuxonInterval = true;\n  }\n\n  /**\n   * Create an invalid Interval.\n   * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Interval}\n   */\n  static invalid(reason, explanation = null) {\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n    }\n\n    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n    if (Settings.throwOnInvalid) {\n      throw new InvalidIntervalError(invalid);\n    } else {\n      return new Interval({ invalid });\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n   * @param {DateTime|Date|Object} start\n   * @param {DateTime|Date|Object} end\n   * @return {Interval}\n   */\n  static fromDateTimes(start, end) {\n    const builtStart = friendlyDateTime(start),\n      builtEnd = friendlyDateTime(end);\n\n    const validateError = validateStartEnd(builtStart, builtEnd);\n\n    if (validateError == null) {\n      return new Interval({\n        start: builtStart,\n        end: builtEnd,\n      });\n    } else {\n      return validateError;\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and a Duration to extend to.\n   * @param {DateTime|Date|Object} start\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static after(start, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(start);\n    return Interval.fromDateTimes(dt, dt.plus(dur));\n  }\n\n  /**\n   * Create an Interval from an end DateTime and a Duration to extend backwards to.\n   * @param {DateTime|Date|Object} end\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */\n  static before(end, duration) {\n    const dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(end);\n    return Interval.fromDateTimes(dt.minus(dur), dt);\n  }\n\n  /**\n   * Create an Interval from an ISO 8601 string.\n   * Accepts `<start>/<end>`, `<start>/<duration>`, and `<duration>/<end>` formats.\n   * @param {string} text - the ISO string to parse\n   * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {Interval}\n   */\n  static fromISO(text, opts) {\n    const [s, e] = (text || \"\").split(\"/\", 2);\n    if (s && e) {\n      let start, startIsValid;\n      try {\n        start = DateTime.fromISO(s, opts);\n        startIsValid = start.isValid;\n      } catch (e) {\n        startIsValid = false;\n      }\n\n      let end, endIsValid;\n      try {\n        end = DateTime.fromISO(e, opts);\n        endIsValid = end.isValid;\n      } catch (e) {\n        endIsValid = false;\n      }\n\n      if (startIsValid && endIsValid) {\n        return Interval.fromDateTimes(start, end);\n      }\n\n      if (startIsValid) {\n        const dur = Duration.fromISO(e, opts);\n        if (dur.isValid) {\n          return Interval.after(start, dur);\n        }\n      } else if (endIsValid) {\n        const dur = Duration.fromISO(s, opts);\n        if (dur.isValid) {\n          return Interval.before(end, dur);\n        }\n      }\n    }\n    return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n  }\n\n  /**\n   * Check if an object is an Interval. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */\n  static isInterval(o) {\n    return (o && o.isLuxonInterval) || false;\n  }\n\n  /**\n   * Returns the start of the Interval\n   * @type {DateTime}\n   */\n  get start() {\n    return this.isValid ? this.s : null;\n  }\n\n  /**\n   * Returns the end of the Interval\n   * @type {DateTime}\n   */\n  get end() {\n    return this.isValid ? this.e : null;\n  }\n\n  /**\n   * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n   * @type {boolean}\n   */\n  get isValid() {\n    return this.invalidReason === null;\n  }\n\n  /**\n   * Returns an error code if this Interval is invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidReason() {\n    return this.invalid ? this.invalid.reason : null;\n  }\n\n  /**\n   * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n   * @type {string}\n   */\n  get invalidExplanation() {\n    return this.invalid ? this.invalid.explanation : null;\n  }\n\n  /**\n   * Returns the length of the Interval in the specified unit.\n   * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n   * @return {number}\n   */\n  length(unit = \"milliseconds\") {\n    return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n  }\n\n  /**\n   * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n   * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n   * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n   * @param {string} [unit='milliseconds'] - the unit of time to count.\n   * @return {number}\n   */\n  count(unit = \"milliseconds\") {\n    if (!this.isValid) return NaN;\n    const start = this.start.startOf(unit),\n      end = this.end.startOf(unit);\n    return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n  }\n\n  /**\n   * Returns whether this Interval's start and end are both in the same unit of time\n   * @param {string} unit - the unit of time to check sameness on\n   * @return {boolean}\n   */\n  hasSame(unit) {\n    return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end DateTimes.\n   * @return {boolean}\n   */\n  isEmpty() {\n    return this.s.valueOf() === this.e.valueOf();\n  }\n\n  /**\n   * Return whether this Interval's start is after the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isAfter(dateTime) {\n    if (!this.isValid) return false;\n    return this.s > dateTime;\n  }\n\n  /**\n   * Return whether this Interval's end is before the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  isBefore(dateTime) {\n    if (!this.isValid) return false;\n    return this.e <= dateTime;\n  }\n\n  /**\n   * Return whether this Interval contains the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */\n  contains(dateTime) {\n    if (!this.isValid) return false;\n    return this.s <= dateTime && this.e > dateTime;\n  }\n\n  /**\n   * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n   * @param {Object} values - the values to set\n   * @param {DateTime} values.start - the starting DateTime\n   * @param {DateTime} values.end - the ending DateTime\n   * @return {Interval}\n   */\n  set({ start, end } = {}) {\n    if (!this.isValid) return this;\n    return Interval.fromDateTimes(start || this.s, end || this.e);\n  }\n\n  /**\n   * Split this Interval at each of the specified DateTimes\n   * @param {...DateTime} dateTimes - the unit of time to count.\n   * @return {Array}\n   */\n  splitAt(...dateTimes) {\n    if (!this.isValid) return [];\n    const sorted = dateTimes\n        .map(friendlyDateTime)\n        .filter((d) => this.contains(d))\n        .sort(),\n      results = [];\n    let { s } = this,\n      i = 0;\n\n    while (s < this.e) {\n      const added = sorted[i] || this.e,\n        next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      i += 1;\n    }\n\n    return results;\n  }\n\n  /**\n   * Split this Interval into smaller Intervals, each of the specified length.\n   * Left over time is grouped into a smaller interval\n   * @param {Duration|Object|number} duration - The length of each resulting interval.\n   * @return {Array}\n   */\n  splitBy(duration) {\n    const dur = Duration.fromDurationLike(duration);\n\n    if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n      return [];\n    }\n\n    let { s } = this,\n      idx = 1,\n      next;\n\n    const results = [];\n    while (s < this.e) {\n      const added = this.start.plus(dur.mapUnits((x) => x * idx));\n      next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      idx += 1;\n    }\n\n    return results;\n  }\n\n  /**\n   * Split this Interval into the specified number of smaller intervals.\n   * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n   * @return {Array}\n   */\n  divideEqually(numberOfParts) {\n    if (!this.isValid) return [];\n    return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n  }\n\n  /**\n   * Return whether this Interval overlaps with the specified Interval\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  overlaps(other) {\n    return this.e > other.s && this.s < other.e;\n  }\n\n  /**\n   * Return whether this Interval's end is adjacent to the specified Interval's start.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsStart(other) {\n    if (!this.isValid) return false;\n    return +this.e === +other.s;\n  }\n\n  /**\n   * Return whether this Interval's start is adjacent to the specified Interval's end.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  abutsEnd(other) {\n    if (!this.isValid) return false;\n    return +other.e === +this.s;\n  }\n\n  /**\n   * Return whether this Interval engulfs the start and end of the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  engulfs(other) {\n    if (!this.isValid) return false;\n    return this.s <= other.s && this.e >= other.e;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end as the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */\n  equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n\n    return this.s.equals(other.s) && this.e.equals(other.e);\n  }\n\n  /**\n   * Return an Interval representing the intersection of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n   * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  intersection(other) {\n    if (!this.isValid) return this;\n    const s = this.s > other.s ? this.s : other.s,\n      e = this.e < other.e ? this.e : other.e;\n\n    if (s >= e) {\n      return null;\n    } else {\n      return Interval.fromDateTimes(s, e);\n    }\n  }\n\n  /**\n   * Return an Interval representing the union of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n   * @param {Interval} other\n   * @return {Interval}\n   */\n  union(other) {\n    if (!this.isValid) return this;\n    const s = this.s < other.s ? this.s : other.s,\n      e = this.e > other.e ? this.e : other.e;\n    return Interval.fromDateTimes(s, e);\n  }\n\n  /**\n   * Merge an array of Intervals into a equivalent minimal set of Intervals.\n   * Combines overlapping and adjacent Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static merge(intervals) {\n    const [found, final] = intervals\n      .sort((a, b) => a.s - b.s)\n      .reduce(\n        ([sofar, current], item) => {\n          if (!current) {\n            return [sofar, item];\n          } else if (current.overlaps(item) || current.abutsStart(item)) {\n            return [sofar, current.union(item)];\n          } else {\n            return [sofar.concat([current]), item];\n          }\n        },\n        [[], null]\n      );\n    if (final) {\n      found.push(final);\n    }\n    return found;\n  }\n\n  /**\n   * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */\n  static xor(intervals) {\n    let start = null,\n      currentCount = 0;\n    const results = [],\n      ends = intervals.map((i) => [\n        { time: i.s, type: \"s\" },\n        { time: i.e, type: \"e\" },\n      ]),\n      flattened = Array.prototype.concat(...ends),\n      arr = flattened.sort((a, b) => a.time - b.time);\n\n    for (const i of arr) {\n      currentCount += i.type === \"s\" ? 1 : -1;\n\n      if (currentCount === 1) {\n        start = i.time;\n      } else {\n        if (start && +start !== +i.time) {\n          results.push(Interval.fromDateTimes(start, i.time));\n        }\n\n        start = null;\n      }\n    }\n\n    return Interval.merge(results);\n  }\n\n  /**\n   * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n   * @param {...Interval} intervals\n   * @return {Array}\n   */\n  difference(...intervals) {\n    return Interval.xor([this].concat(intervals))\n      .map((i) => this.intersection(i))\n      .filter((i) => i && !i.isEmpty());\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for debugging.\n   * @return {string}\n   */\n  toString() {\n    if (!this.isValid) return INVALID;\n    return `[${this.s.toISO()} – ${this.e.toISO()})`;\n  }\n\n  /**\n   * Returns a localized string representing this Interval. Accepts the same options as the\n   * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n   * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n   * is browser-specific, but in general it will return an appropriate representation of the\n   * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n   * specified.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n   * Intl.DateTimeFormat constructor options.\n   * @param {Object} opts - Options to override the configuration of the start DateTime.\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n   * @return {string}\n   */\n  toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n    return this.isValid\n      ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this)\n      : INVALID;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Interval.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISO(opts) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of date of this Interval.\n   * The time components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {string}\n   */\n  toISODate() {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISODate()}/${this.e.toISODate()}`;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of time of this Interval.\n   * The date components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */\n  toISOTime(opts) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n  }\n\n  /**\n   * Returns a string representation of this Interval formatted according to the specified format\n   * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n   * formatting tool.\n   * @param {string} dateFormat - The format string. This string formats the start and end time.\n   * See {@link DateTime#toFormat} for details.\n   * @param {Object} opts - Options.\n   * @param {string} [opts.separator =  ' – '] - A separator to place between the start and end\n   * representations.\n   * @return {string}\n   */\n  toFormat(dateFormat, { separator = \" – \" } = {}) {\n    if (!this.isValid) return INVALID;\n    return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n  }\n\n  /**\n   * Return a Duration representing the time spanned by this interval.\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n   * @return {Duration}\n   */\n  toDuration(unit, opts) {\n    if (!this.isValid) {\n      return Duration.invalid(this.invalidReason);\n    }\n    return this.e.diff(this.s, unit, opts);\n  }\n\n  /**\n   * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n   * @param {function} mapFn\n   * @return {Interval}\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n   */\n  mapEndpoints(mapFn) {\n    return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n  }\n}\n","import SystemZone from \"./zones/systemZone.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport Locale from \"./impl/locale.js\";\n\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nlet now = () => Date.now(),\n  defaultZone = \"system\",\n  defaultLocale = null,\n  defaultNumberingSystem = null,\n  defaultOutputCalendar = null,\n  twoDigitCutoffYear = 60,\n  throwOnInvalid;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nexport default class Settings {\n  /**\n   * Get the callback for returning the current timestamp.\n   * @type {function}\n   */\n  static get now() {\n    return now;\n  }\n\n  /**\n   * Set the callback for returning the current timestamp.\n   * The function should return a number, which will be interpreted as an Epoch millisecond count\n   * @type {function}\n   * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n   * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n   */\n  static set now(n) {\n    now = n;\n  }\n\n  /**\n   * Set the default time zone to create DateTimes in. Does not affect existing instances.\n   * Use the value \"system\" to reset this value to the system's time zone.\n   * @type {string}\n   */\n  static set defaultZone(zone) {\n    defaultZone = zone;\n  }\n\n  /**\n   * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n   * The default value is the system's time zone (the one set on the machine that runs this code).\n   * @type {Zone}\n   */\n  static get defaultZone() {\n    return normalizeZone(defaultZone, SystemZone.instance);\n  }\n\n  /**\n   * Get the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultLocale() {\n    return defaultLocale;\n  }\n\n  /**\n   * Set the default locale to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultLocale(locale) {\n    defaultLocale = locale;\n  }\n\n  /**\n   * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultNumberingSystem() {\n    return defaultNumberingSystem;\n  }\n\n  /**\n   * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultNumberingSystem(numberingSystem) {\n    defaultNumberingSystem = numberingSystem;\n  }\n\n  /**\n   * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static get defaultOutputCalendar() {\n    return defaultOutputCalendar;\n  }\n\n  /**\n   * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n   * @type {string}\n   */\n  static set defaultOutputCalendar(outputCalendar) {\n    defaultOutputCalendar = outputCalendar;\n  }\n\n  /**\n   * Get the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.\n   * @type {number}\n   */\n  static get twoDigitCutoffYear() {\n    return twoDigitCutoffYear;\n  }\n\n  /**\n   * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.\n   * @type {number}\n   * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century\n   * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050\n   * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n   * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n   */\n  static set twoDigitCutoffYear(cutoffYear) {\n    twoDigitCutoffYear = cutoffYear % 100;\n  }\n\n  /**\n   * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static get throwOnInvalid() {\n    return throwOnInvalid;\n  }\n\n  /**\n   * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n   * @type {boolean}\n   */\n  static set throwOnInvalid(t) {\n    throwOnInvalid = t;\n  }\n\n  /**\n   * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCaches() {\n    Locale.resetCache();\n    IANAZone.resetCache();\n  }\n}\n","import { ZoneIsAbstractError } from \"./errors.js\";\n\n/**\n * @interface\n */\nexport default class Zone {\n  /**\n   * The type of zone\n   * @abstract\n   * @type {string}\n   */\n  get type() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * The name of this zone.\n   * @abstract\n   * @type {string}\n   */\n  get name() {\n    throw new ZoneIsAbstractError();\n  }\n\n  get ianaName() {\n    return this.name;\n  }\n\n  /**\n   * Returns whether the offset is known to be fixed for the whole year.\n   * @abstract\n   * @type {boolean}\n   */\n  get isUniversal() {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's common name (such as EST) at the specified timestamp\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the name\n   * @param {Object} opts - Options to affect the format\n   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n   * @param {string} opts.locale - What locale to return the offset name in.\n   * @return {string}\n   */\n  offsetName(ts, opts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */\n  formatOffset(ts, format) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to compute the offset\n   * @return {number}\n   */\n  offset(ts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone\n   * @abstract\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */\n  equals(otherZone) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is valid.\n   * @abstract\n   * @type {boolean}\n   */\n  get isValid() {\n    throw new ZoneIsAbstractError();\n  }\n}\n","import { formatOffset, parseZoneInfo, isUndefined, objToLocalTS } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n  if (!dtfCache[zone]) {\n    dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n      hour12: false,\n      timeZone: zone,\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\",\n      era: \"short\",\n    });\n  }\n  return dtfCache[zone];\n}\n\nconst typeToPos = {\n  year: 0,\n  month: 1,\n  day: 2,\n  era: 3,\n  hour: 4,\n  minute: 5,\n  second: 6,\n};\n\nfunction hackyOffset(dtf, date) {\n  const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n    parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n    [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;\n  return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n  const formatted = dtf.formatToParts(date);\n  const filled = [];\n  for (let i = 0; i < formatted.length; i++) {\n    const { type, value } = formatted[i];\n    const pos = typeToPos[type];\n\n    if (type === \"era\") {\n      filled[pos] = value;\n    } else if (!isUndefined(pos)) {\n      filled[pos] = parseInt(value, 10);\n    }\n  }\n  return filled;\n}\n\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nexport default class IANAZone extends Zone {\n  /**\n   * @param {string} name - Zone name\n   * @return {IANAZone}\n   */\n  static create(name) {\n    if (!ianaZoneCache[name]) {\n      ianaZoneCache[name] = new IANAZone(name);\n    }\n    return ianaZoneCache[name];\n  }\n\n  /**\n   * Reset local caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  static resetCache() {\n    ianaZoneCache = {};\n    dtfCache = {};\n  }\n\n  /**\n   * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n   * @param {string} s - The string to check validity on\n   * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n   * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n   * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.\n   * @return {boolean}\n   */\n  static isValidSpecifier(s) {\n    return this.isValidZone(s);\n  }\n\n  /**\n   * Returns whether the provided string identifies a real zone\n   * @param {string} zone - The string to check\n   * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n   * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n   * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n   * @return {boolean}\n   */\n  static isValidZone(zone) {\n    if (!zone) {\n      return false;\n    }\n    try {\n      new Intl.DateTimeFormat(\"en-US\", { timeZone: zone }).format();\n      return true;\n    } catch (e) {\n      return false;\n    }\n  }\n\n  constructor(name) {\n    super();\n    /** @private **/\n    this.zoneName = name;\n    /** @private **/\n    this.valid = IANAZone.isValidZone(name);\n  }\n\n  /** @override **/\n  get type() {\n    return \"iana\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.zoneName;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName(ts, { format, locale }) {\n    return parseZoneInfo(ts, format, locale, this.name);\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/\n  offset(ts) {\n    const date = new Date(ts);\n\n    if (isNaN(date)) return NaN;\n\n    const dtf = makeDTF(this.name);\n    let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts\n      ? partsOffset(dtf, date)\n      : hackyOffset(dtf, date);\n\n    if (adOrBc === \"BC\") {\n      year = -Math.abs(year) + 1;\n    }\n\n    // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n    const adjustedHour = hour === 24 ? 0 : hour;\n\n    const asUTC = objToLocalTS({\n      year,\n      month,\n      day,\n      hour: adjustedHour,\n      minute,\n      second,\n      millisecond: 0,\n    });\n\n    let asTS = +date;\n    const over = asTS % 1000;\n    asTS -= over >= 0 ? over : 1000 + over;\n    return (asUTC - asTS) / (60 * 1000);\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"iana\" && otherZone.name === this.name;\n  }\n\n  /** @override **/\n  get isValid() {\n    return this.valid;\n  }\n}\n","import { formatOffset, signedOffset } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nexport default class FixedOffsetZone extends Zone {\n  /**\n   * Get a singleton instance of UTC\n   * @return {FixedOffsetZone}\n   */\n  static get utcInstance() {\n    if (singleton === null) {\n      singleton = new FixedOffsetZone(0);\n    }\n    return singleton;\n  }\n\n  /**\n   * Get an instance with a specified offset\n   * @param {number} offset - The offset in minutes\n   * @return {FixedOffsetZone}\n   */\n  static instance(offset) {\n    return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n  }\n\n  /**\n   * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n   * @param {string} s - The offset string to parse\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n   * @return {FixedOffsetZone}\n   */\n  static parseSpecifier(s) {\n    if (s) {\n      const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n      if (r) {\n        return new FixedOffsetZone(signedOffset(r[1], r[2]));\n      }\n    }\n    return null;\n  }\n\n  constructor(offset) {\n    super();\n    /** @private **/\n    this.fixed = offset;\n  }\n\n  /** @override **/\n  get type() {\n    return \"fixed\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n  }\n\n  get ianaName() {\n    if (this.fixed === 0) {\n      return \"Etc/UTC\";\n    } else {\n      return `Etc/GMT${formatOffset(-this.fixed, \"narrow\")}`;\n    }\n  }\n\n  /** @override **/\n  offsetName() {\n    return this.name;\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.fixed, format);\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return true;\n  }\n\n  /** @override **/\n  offset() {\n    return this.fixed;\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n  }\n\n  /** @override **/\n  get isValid() {\n    return true;\n  }\n}\n","import Zone from \"../zone.js\";\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nexport default class InvalidZone extends Zone {\n  constructor(zoneName) {\n    super();\n    /**  @private */\n    this.zoneName = zoneName;\n  }\n\n  /** @override **/\n  get type() {\n    return \"invalid\";\n  }\n\n  /** @override **/\n  get name() {\n    return this.zoneName;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName() {\n    return null;\n  }\n\n  /** @override **/\n  formatOffset() {\n    return \"\";\n  }\n\n  /** @override **/\n  offset() {\n    return NaN;\n  }\n\n  /** @override **/\n  equals() {\n    return false;\n  }\n\n  /** @override **/\n  get isValid() {\n    return false;\n  }\n}\n","import { formatOffset, parseZoneInfo } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nexport default class SystemZone extends Zone {\n  /**\n   * Get a singleton instance of the local zone\n   * @return {SystemZone}\n   */\n  static get instance() {\n    if (singleton === null) {\n      singleton = new SystemZone();\n    }\n    return singleton;\n  }\n\n  /** @override **/\n  get type() {\n    return \"system\";\n  }\n\n  /** @override **/\n  get name() {\n    return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n  }\n\n  /** @override **/\n  get isUniversal() {\n    return false;\n  }\n\n  /** @override **/\n  offsetName(ts, { format, locale }) {\n    return parseZoneInfo(ts, format, locale);\n  }\n\n  /** @override **/\n  formatOffset(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/\n  offset(ts) {\n    return -new Date(ts).getTimezoneOffset();\n  }\n\n  /** @override **/\n  equals(otherZone) {\n    return otherZone.type === \"system\";\n  }\n\n  /** @override **/\n  get isValid() {\n    return true;\n  }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var inProgress = {};\nvar dataWebpackPrefix = \"multidialogo-frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","if (typeof __webpack_modules__ !== 'undefined') {\n__webpack_require__.m = __webpack_require__.m || __webpack_modules__;\n__webpack_require__.c = __webpack_require__.c || __webpack_module_cache__;\n}","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + {\"7\":\"afb15675cae6e97f50aa\",\"10\":\"5ee7494b1a11572633eb\",\"287\":\"ec491d129e23e251cdb5\",\"440\":\"31cc6de650de68d93341\",\"472\":\"f99b762c7ae9247bc557\",\"778\":\"6d0b2930967363303c86\",\"843\":\"12ba71a5b83e5d74e330\",\"990\":\"21e12fcbbcfc19e60a45\"}[chunkId] + \".chunk.js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmultidialogo_frontend\"] = self[\"webpackChunkmultidialogo_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// With default aurelia-loader-webpack config, this module is added as an extra entry\r\n// before any other code executes so that PAL.Loader is properly configured.\r\n// There are several tricky points worth noticing.\r\n// \r\n// We don't add aurelia-loader-webpack itself as an entry point (used to until 2.0 RC2)\r\n// because it (transitively) brings too much bagage with itself, most notably polyfills.\r\n// This made it super-hard to add other polyfills before Aurelia's and led to various bugs.\r\n//\r\n// We don't add custom code in aurelia-pal or aurelia-loader or aurelia-bootstrapper to detect\r\n// the Webpack environment and configure the loader because they might live in a DLL.\r\n// If they do, they would bring aurelia-loader-webpack along in the DLL and this is a special \r\n// library that *has to be in the main chunk.*\r\n//\r\n// The over-complicated design I've settled upon in the end is to use this special module\r\n// as an entry point that configures aurelia-loader-webpack. It has minimal static imports:\r\n// just aurelia-pal, which itself has no other dependencies and doesn't run much code.\r\n// It hacks the loader field into a getter so that it can synchronously load aurelia-loader-webpack\r\n// just in time when it is demanded by aurelia-bootstrapper.\r\n// This enables users to load polyfills before aurelia-loader-webpack is actually loaded.\r\n\r\nimport { PLATFORM } from \"aurelia-pal\";\r\n\r\nvar Loader;\r\n\r\nObject.defineProperty(PLATFORM, \"Loader\", {\r\n  get: function() {\r\n    return Loader || (Loader = require(\"aurelia-loader-webpack\").WebpackLoader);\r\n  },\r\n  set: function(value) {\r\n    Loader = value;\r\n  }\r\n});\r\n","import 'aurelia-polyfills';\nimport { PLATFORM, isInitialized } from 'aurelia-pal';\n\nvar bootstrapPromises = [];\r\nvar startResolve;\r\nvar startPromise = new Promise(function (resolve) { return startResolve = resolve; });\r\nvar host = PLATFORM.global;\r\nvar isNodeLike = typeof process !== 'undefined' && !process.browser;\r\nfunction ready() {\r\n    if (!host.document || host.document.readyState === 'complete') {\r\n        return Promise.resolve();\r\n    }\r\n    return new Promise(function (resolve) {\r\n        host.document.addEventListener('DOMContentLoaded', completed);\r\n        host.addEventListener('load', completed);\r\n        function completed() {\r\n            host.document.removeEventListener('DOMContentLoaded', completed);\r\n            host.removeEventListener('load', completed);\r\n            resolve();\r\n        }\r\n    });\r\n}\r\nfunction createLoader() {\r\n    if (PLATFORM.Loader) {\r\n        return Promise.resolve(new PLATFORM.Loader());\r\n    }\r\n    if (typeof AURELIA_WEBPACK_2_0 === 'undefined') {\r\n        if (typeof __webpack_require__ !== 'undefined') {\r\n            var m = __webpack_require__(require.resolve('aurelia-loader-webpack'));\r\n            return Promise.resolve(new m.WebpackLoader());\r\n        }\r\n        if (host.System && typeof host.System.config === 'function') {\r\n            return host.System.normalize('aurelia-bootstrapper').then(function (bsn) {\r\n                return host.System.normalize('aurelia-loader-default', bsn);\r\n            }).then(function (loaderName) {\r\n                return host.System.import(loaderName).then(function (m) { return new m.DefaultLoader(); });\r\n            });\r\n        }\r\n        if (typeof host.require === 'function' && typeof host.define === 'function' && typeof host.define.amd === 'object') {\r\n            return new Promise(function (resolve, reject) { return host.require(['aurelia-loader-default'], function (m) { return resolve(new m.DefaultLoader()); }, reject); });\r\n        }\r\n        if (isNodeLike && typeof module !== 'undefined' && typeof module.require !== 'undefined') {\r\n            var m = module.require('aurelia-loader-nodejs');\r\n            return Promise.resolve(new m.NodeJsLoader());\r\n        }\r\n    }\r\n    return Promise.reject('No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.');\r\n}\r\nfunction initializePal(loader) {\r\n    if (isInitialized)\r\n        return Promise.resolve();\r\n    var type;\r\n    var isRenderer = isNodeLike && (process.type === 'renderer' || process.versions['node-webkit']);\r\n    if (isNodeLike && !isRenderer) {\r\n        type = 'nodejs';\r\n    }\r\n    else if (typeof window !== 'undefined') {\r\n        type = 'browser';\r\n    }\r\n    else if (typeof self !== 'undefined') {\r\n        type = 'worker';\r\n    }\r\n    else {\r\n        throw new Error('Could not determine platform implementation to load.');\r\n    }\r\n    return loader.loadModule('aurelia-pal-' + type)\r\n        .then(function (palModule) { return type === 'nodejs' && !isInitialized && palModule.globalize() || palModule.initialize(); });\r\n}\r\nfunction preparePlatform(loader) {\r\n    var map = function (moduleId, relativeTo) {\r\n        return loader.normalize(moduleId, relativeTo)\r\n            .then(function (normalized) {\r\n            loader.map(moduleId, normalized);\r\n            return normalized;\r\n        });\r\n    };\r\n    return initializePal(loader)\r\n        .then(function () { return loader.normalize('aurelia-bootstrapper'); })\r\n        .then(function (bootstrapperName) {\r\n        var frameworkPromise = map(PLATFORM.moduleName('aurelia-framework', { exports: ['Aurelia'] }), bootstrapperName);\r\n        return Promise.all([\r\n            frameworkPromise,\r\n            frameworkPromise.then(function (frameworkName) { return map('aurelia-dependency-injection', frameworkName); }),\r\n            map('aurelia-router', bootstrapperName),\r\n            map('aurelia-logging-console', bootstrapperName)\r\n        ]);\r\n    })\r\n        .then(function (_a) {\r\n        var frameworkName = _a[0];\r\n        return loader.loadModule(frameworkName);\r\n    })\r\n        .then(function (fx) { return startResolve(function () { return new fx.Aurelia(loader); }); });\r\n}\r\nfunction config(appHost, configModuleId, aurelia) {\r\n    aurelia.host = appHost;\r\n    aurelia.configModuleId = configModuleId || null;\r\n    if (configModuleId) {\r\n        return aurelia.loader\r\n            .loadModule(configModuleId)\r\n            .then(function (customConfig) {\r\n            if (!customConfig.configure) {\r\n                throw new Error(\"Cannot initialize module '\".concat(configModuleId, \"' without a configure function.\"));\r\n            }\r\n            return customConfig.configure(aurelia);\r\n        });\r\n    }\r\n    aurelia.use\r\n        .standardConfiguration()\r\n        .developmentLogging();\r\n    return aurelia.start().then(function () { return aurelia.setRoot(); });\r\n}\r\nfunction run() {\r\n    return ready()\r\n        .then(createLoader)\r\n        .then(preparePlatform)\r\n        .then(function () {\r\n        var appHosts = host.document.querySelectorAll('[aurelia-app],[data-aurelia-app]');\r\n        for (var i = 0, ii = appHosts.length; i < ii; ++i) {\r\n            var appHost = appHosts[i];\r\n            var mainModuleId = appHost.getAttribute('aurelia-app') || appHost.getAttribute('data-aurelia-app');\r\n            bootstrap(config.bind(null, appHost, mainModuleId));\r\n        }\r\n        var toConsole = console.error.bind(console);\r\n        var bootstraps = bootstrapPromises.map(function (p) { return p.catch(toConsole); });\r\n        bootstrapPromises = null;\r\n        return Promise.all(bootstraps);\r\n    });\r\n}\r\nfunction bootstrap(configure) {\r\n    var p = startPromise.then(function (factory) { return configure(factory()); });\r\n    if (bootstrapPromises)\r\n        bootstrapPromises.push(p);\r\n    return p;\r\n}\r\nvar starting = run();\n\nexport { bootstrap, starting };\n//# sourceMappingURL=aurelia-bootstrapper.js.map\n"],"names":["_global","_interopRequireDefault","obj","__esModule","_babelPolyfill","console","warn","_class","_class2","_class3","_class5","_class7","_class8","_class9","_class10","_class12","_temp","_class13","_class14","_temp2","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Constructor","protoProps","staticProps","prototype","_typeof","Symbol","iterator","constructor","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","TypeError","create","value","setPrototypeOf","__proto__","targetContext","sourceContext","map","camelCase","name","result","charAt","toLowerCase","slice","replace","_","x","toUpperCase","createOverrideContext","bindingContext","parentOverrideContext","getContextFor","scope","ancestor","oc","overrideContext","createScopeForTest","parentBindingContext","slotNames","versionSlotNames","lastSlot","ensureEnoughSlotNames","currentSlot","ii","addObserver","observer","observerSlots","undefined","this","_observerSlots","subscribe","_version","observeProperty","propertyName","observerLocator","getObserver","observeArray","array","getArrayObserver","unobserve","all","unsubscribe","connectable","queue","queued","nextId","minimumImmediate","frameBudget","isFlushRequested","immediate","flush","animationFrameStart","binding","__connectQueueId","connect","splice","enqueueBindingConnect","id","push","setConnectQueueThreshold","enableConnectQueue","disableConnectQueue","Number","MAX_SAFE_INTEGER","getConnectQueueSize","addSubscriber","context","callable","hasSubscriber","_context0","_context1","_context2","_contextsRest","_callablesRest","_callable2","_callable1","_callable0","removeSubscriber","callables","contexts","arrayPool1","arrayPool2","poolUtilization","callSubscribers","newValue","oldValue","context0","callable0","context1","callable1","context2","callable2","contextsRest","callablesRest","poolIndex","hasSubscribers","index","subscriberCollection","ExpressionObserver","_dec","_dec2","expression","lookupFunctions","getValue","evaluate","setValue","assign","_this","arguments","Function","dispose","toNumber","s","newSplice","removed","addedCount","ArraySplice","calcEditDistances","current","currentStart","currentEnd","old","oldStart","oldEnd","rowCount","columnCount","distances","Array","north","west","j","_i","_j","equals","spliceOperationsFromEditDistances","edits","northWest","min","reverse","calcSplices","prefixCount","suffixCount","minLength","Math","sharedPrefix","sharedSuffix","_splice","ops","splices","oldIndex","searchLength","index1","index2","count","calculateSplices","previous","currentValue","previousValue","arraySplice","mergeSplice","start1","end1","start2","end2","inserted","insertionOffset","intersectCount","deleteCount","currentRemoved","prepend","apply","append","offset","projectArraySplices","changeRecords","createInitialSplices","record","type","error","JSON","stringify","forEach","concat","getChangeRecords","object","entries","size","keys","item","next","done","newRecord","ModifyCollectionObserver","_dec3","taskQueue","collection","oldCollection","lengthPropertyName","Map","Set","addChangeRecord","changeRecord","lengthObserver","arrayLength","queueMicroTask","flushChangeRecords","reset","getLengthObserver","CollectionLengthObserver","records","_dec4","arrayProto","pop","shift","sort","unshift","_getArrayObserver","ModifyArrayObserver","for","__au_patched__","Reflect","notEmpty","methodCallResult","__array_observer__","oldArray","_ModifyCollectionObse","_for","Expression","isAssignable","args","Error","toString","FEATURE_NO_UNPARSER","_Unparser","unparse","BindingBehavior","_Expression","_this3","accept","visitor","visitBindingBehavior","bind","behavior","bindingBehaviors","behaviorKey","evalList","unbind","ValueConverter","_Expression2","_this4","allArgs","converter","valueConverters","toView","fromView","visitValueConverter","expressions","signals","connectBindingToSignal","Assign","_Expression3","_this5","vistor","visitAssign","Conditional","_Expression4","condition","yes","no","_this6","visitConditional","AccessThis","_Expression5","_this7","visitAccessThis","AccessScope","_Expression6","_this8","visitAccessScope","AccessMember","_Expression7","_this9","instance","visitAccessMember","AccessKeyed","_Expression8","_this10","getKeyed","isArray","parseInt","setKeyed","visitAccessKeyed","CallScope","_Expression9","_this11","mustEvaluate","func","getFunction","visitCallScope","CallMember","_Expression10","_this12","visitCallMember","CallFunction","_Expression11","_this13","visitCallFunction","Binary","_Expression12","operation","left","right","_this14","autoConvertAdd","a","b","visitBinary","Unary","_Expression13","_this15","visitPrefix","LiteralPrimitive","_Expression14","_this16","visitLiteralPrimitive","LiteralString","_Expression15","_this17","visitLiteralString","LiteralTemplate","_Expression16","cooked","raw","tag","_this18","tagged","contextType","getScopeContext","getObjectContext","results","_i2","String","visitLiteralTemplate","LiteralArray","_Expression17","elements","_this19","visitLiteralArray","LiteralObject","_Expression18","values","_this20","visitLiteralObject","list","mustExist","Unparser","buffer","join","write","text","writeArgs","conditional","access","prefix","charCodeAt","binary","literal","escaped","ExpressionCloner","cloneExpressionArray","clonedArray","visitUnary","unary","cloneExpression","bindingMode","oneTime","oneWay","twoWay","Parser","cache","parse","src","ParserImplementation","parseBindingBehavior","fromCharCode","idx","start","len","tkn","T$EOF","val","ch","get","nextToken","T$ExpressionTerminal","err","parseValueConverter","opt","T$Ampersand","parseVariadicArgs","parseExpression","T$Bar","T$Colon","exprStart","parseConditional","T$Eq","parseBinary","T$Question","expect","minPrecedence","parseLeftHandSide","T$BinaryOp","opToken","T$Precedence","TokenValues","T$TokenMask","primary","T$Plus","T$Minus","T$Bang","T$TypeofKeyword","T$VoidKeyword","op","T$ParentScope","T$Period","T$AccessScopeTerminal","C$Ancestor","C$ShorthandProp","C$This","T$Identifier","C$Scope","T$ThisScope","T$LParen","T$RParen","C$Primary","T$LBracket","_elements","T$RBracket","T$Comma","T$LBrace","T$RBrace","T$IdentifierOrKeyword","T$Literal","T$StringLiteral","T$TemplateTail","T$TemplateContinuation","parseTemplate","T$NumericLiteral","T$NullKeyword","T$UndefinedKeyword","T$TrueKeyword","T$FalseKeyword","T$MemberOrCallExpression","C$Member","C$Keyed","C$Call","C$Tagged","scanTemplateTail","scanIdentifier","CharScanners","AsciiIdParts","has","IdParts","KeywordLookup","scanNumber","isFloat","pow","_start","parseFloat","scanString","quote","marker","_unescaped","hex","test","unescape","last","unescaped","scanTemplate","tail","message","column","token","code","T$ClosingToken","T$Keyword","T$UnaryOp","T$MemberExpression","T$BarBar","T$AmpersandAmpersand","T$Caret","T$EqEq","T$BangEq","T$EqEqEq","T$BangEqEq","T$Lt","T$Gt","T$LtEq","T$GtEq","T$InKeyword","T$InstanceOfKeyword","T$Star","T$Percent","T$Slash","true","null","false","$this","$parent","in","instanceof","typeof","void","codes","decompress","lookup","set","compressed","rangeCount","end","add","returnToken","p","unexpectedCharacter","Uint8Array","ci","mapProto","_getMapObserver","ModifyMapObserver","_ModifyCollectionObse2","__map_observer__","proto","delete","clear","hasValue","emLogger","findOriginalEventTarget","event","composedPath","deepPath","path","stopPropagation","standardStopPropagation","propagationStopped","handleCapturedEvent","orderedCallbacks","capturedCallbacks","callback","parentNode","orderedCallback","handleEvent","CapturedHandlerEntry","eventName","increment","decrement","DelegateHandlerEntry","eventManager","delegatedCallbacks","parent","escapeShadowRoot","ShadowRoot","host","DelegationEntryHandler","entry","targetEvent","EventHandler","removeEventListener","DefaultEventStrategy","delegatedHandlers","capturedHandlers","strategy","disposable","handlerEntry","delegationStrategy","bubbling","previousCallback","capturing","addEventListener","none","EventManager","elementHandlerLookup","eventStrategyLookup","registerElementConfig","tagName","properties","checked","files","scrollTop","scrollLeft","defaultEventStrategy","config","hasOwnProperty","registerEventStrategy","getElementHandler","EventSubscriber","callbackOrListener","delegate","events","element","handler","DirtyChecker","tracked","checkDelay","addProperty","property","scheduleDirtyCheck","removeProperty","indexOf","_this22","setTimeout","check","isDirty","DirtyCheckProperty","_dec5","dirtyChecker","logger","propertyAccessor","PrimitiveObserver","primitive","doNotCache","SetterObserver","_dec6","observing","getterValue","setterValue","convertProperty","propertyIsEnumerable","XLinkAttributeObserver","attributeName","getAttributeNS","setAttributeNS","nodeName","dataAttributeAccessor","getAttribute","removeAttribute","setAttribute","DataAttributeObserver","StyleObserver","styles","version","style","cssText","_setProperty","priority","setProperty","m","rx","pair","exec","ValueAttributeObserver","_dec7","notify","checkedArrayContext","checkedValueContext","CheckedObserver","_dec8","initialSync","arrayObserver","synchronizeElement","valueObserver","__observers__","model","elementValue","isRadio","matcher","findIndex","synchronizeValue","selectArrayContext","SelectValueObserver","_dec9","multiple","synchronizeOptions","options","_loop","option","optionValue","selected","_this23","_option","_ret2","_loop2","_loop3","v","_this24","domObserver","observe","childList","subtree","characterData","disconnect","ClassObserver","nameIndex","names","split","classList","remove","hasDeclaredDependencies","dependencies","declarePropertyDependencies","ctor","getOwnPropertyDescriptor","computedFrom","_len","rest","_key","ComputedExpression","_Expression19","_this25","createComputedObserver","parser","svgElements","svgPresentationElements","svgPresentationAttributes","svgAnalyzer","FEATURE_NO_SVG","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","mask","metadata","mpath","pattern","polygon","polyline","radialGradient","rect","script","stop","svg","switch","symbol","textPath","title","tref","tspan","use","view","vkern","SVGAnalyzer","createElement","html","div","innerHTML","firstChild","firstElementChild","altglyph","altglyphdef","altglyphitem","glyphref","isStandardSvgAttribute","presentationElements","presentationAttributes","_class11","ObserverLocator","adapters","observersLookup","createPropertyObserver","getOrCreateObserversLookup","createObserversLookup","addAdapter","adapter","getAdapterObserver","xlinkResult","getPropertyDescriptor","existingGetterOrSetter","adapterObserver","getMapObserver","getSetObserver","getAccessor","_getSetObserver","inject","ObjectObservationAdapter","BindingExpression","targetProperty","sourceExpression","mode","attribute","discrete","createBinding","Binding","_dec10","updateTarget","targetObserver","updateSource","source","isBound","method","CallExpression","Call","callSource","$event","prop","_this26","ValueConverterResource","convention","endsWith","substring","initialize","container","register","registry","registerValueConverter","load","valueConverter","nameOrTarget","BindingBehaviorResource","registerBindingBehavior","bindingBehavior","ListenerExpression","preventDefault","Listener","_handler","getAU","au","NameExpression","apiName","NameBinder","locateAPI","controller","viewModel","LookupFunctions","BindingEngine","createBindingExpression","propertyObserver","_this27","collectionObserver","_this28","expressionObserver","registerAdapter","setProto","ModifySetObserver","_ModifyCollectionObse3","__set_observer__","oldSize","from","observable","targetOrConfig","deco","isClassDecorator","innerPropertyName","innerPropertyDescriptor","callbackName","changeHandler","initializer","t","k","d","signalBindings","__decorate","decorators","c","r","decorate","__metadata","metadataKey","metadataValue","autoinject","potentialTarget","_emptyParameters","isInjectable","Strategy","resolver","isStrategy","actual","expected","state","StrategyResolver","singleton","invoke","transient","function","alias","Lazy","Lazy_1","of","All","All_1","getAll","Optional","checkParent","_checkParent","Optional_1","hasResolver","Boolean","Parent","Parent_1","Factory","Factory_1","fn","getResolver","NewInstance","dynamicDependencies","asKey","NewInstance_1","dependency","registerInstance","as","getDecoratorDependencies","lazy","keyValue","optional","checkParentOrTarget","inject$$1","factory","newInstance","asKeyOrTarget","validateKey","freeze","resolverDecorates","decorates","InvocationHandler","invoker","invokeWithDynamicDependencies","classInvoker","Type","deps","instances","dep","construct","staticDependencies","Container","configuration","_configuration","_onHandlerCreated","onHandlerCreated","_handlers","handlers","_resolvers","root","makeGlobal","setHandlerCreatedCallback","registerResolver","registerSingleton","registerTransient","registerHandler","registerAlias","originalKey","aliasKey","resolver$$1","allResolvers","autoRegister","registration","autoRegisterAll","fns","unregister","_get","createChild","child","_createInvocationHandler","e","f","getPrototypeOf","invokeAsFactory","FactoryInvoker","TransientRegistration","keyOrRegisterInChild","registerInChild","SingletonRegistration","existingResolver","_registerInChild","targetContainer","DefaultDialogSettings","lock","startingZIndex","centerHorizontalOnly","rejectOnCancel","ignoreTransitions","restoreFocus","lastActiveElement","focus","RENDERRERS","ux","then","DialogRenderer","native","NativeDialogRenderer","DEFAULT_RESOURCES","UxDialog","UxDialogHeader","UxDialogBody","UxDialogFooter","AttachFocus","DEFAULT_CSS_TEXT","cssM","DialogConfiguration","frameworkConfiguration","applySetter","renderer","resources","fwConfig","settings","_apply","Promise","_a","rendererImpl","$cssText","modules","globalResources","useDefaults","useRenderer","useCSS","useStandardResources","useResource","resourceName","whenClosed","onfulfilled","onrejected","wasCancelled","closeResult","DialogService","compositionEngine","defaultSettings","controllers","hasOpenDialog","hasActiveDialog","validateSettings","createCompositionContext","childContainer","viewResources","viewSlot","ensureViewModel","compositionContext","resolve","_cancelOperation","composeAndShowDialog","dialogController","compose","showDialog","reason","reject","createSettings","keyboard","overlayDismiss","open","resolveCloseResult","rejectCloseResult","removeController","getDialogContainer","asDialogOpenPromise","promise","canActivate","closeAll","cancel","catch","unclosedControllers","unclosed","service","configure","frameworkConfig","applyConfig","Renderer","hideDialog","createDialogCancelError","output","createDialogCloseError","invokeLifecycle","DialogController","releaseResources","cancelOperation","ok","close","closeError","closePromise","dialogResult","canDeactivate","Handler","messageType","handle","invokeCallback","data","invokeHandler","EventAggregator","eventLookup","messageHandlers","publish","subscribers","subscribeOnce","sub","includeEventsIn","ea","aurelia","extPattern","runTasks","tasks","loadResources","resourcesToLoad","appResources","viewEngine","n","_normalize","moduleId","ext","getExt","isOtherResource","removeExt","loader","normalize","relativeTo","normalized","importId","addOriginalExt","loads","importIds","l","importViewResources","match","assertProcessed","plugins","processed","invalidConfigMsg","cfg","FrameworkConfiguration","info","preTasks","postTasks","behaviorsToLoad","configuredPlugins","preTask","bootstrapperName","postTask","implementation","task","feature","plugin","hasIndex","resourcesRelativeTo","resource","toAdd","parent_1","grandParent","name_1","startsWith","meta","elementName","globalName","resourcePath","newName","pluginConfig","_addNormalizedPlugin","defaultBindingLanguage","router","history","defaultResources","eventAggregator","basicConfiguration","standardConfiguration","developmentLogging","level","logLevel","loadModule","ConsoleAppender","loadPlugin","debug","normalizedId","_loadPlugin","Aurelia","hostConfigured","_started","preventActionlessFormSubmit","evt","action","bubbles","cancelable","enhance","applicationHost","_configureHost","engine","attached","_onAureliaComposed","setRoot","instruction","deactivate","initialComposition","configModuleId","hostSlot","transformChildNodesIntoView","extendStatics","__extends","__","LinkHandler","activate","DefaultLinkHandler","_super","getEventInfo","shouldHandleEvent","href","navigate","_hasPushState","anchor","findClosestAnchor","targetIsThisWindow","hasAttribute","altKey","ctrlKey","metaKey","shiftKey","leftButtonClicked","which","isRelative","el","targetWindow","win","attr","BrowserHistory","linkHandler","_isActive","_checkUrlCallback","_checkUrl","location","$history","wantsPushState","pushState","normalizedOptions","rootUrl","rootStripper","wantsHashChange","_wantsHashChange","hashChange","hasPushState","$location","atRoot","pathname","fragment","_getFragment","search","hash","_getHash","routeStripper","replaceState","silent","_loadUrl","getAbsoluteRoot","createOrigin","protocol","hostname","port","_b","_c","trigger","_d","absoluteUrl","url","updateHash","navigateBack","back","setTitle","setState","getState","getHistoryIndex","historyIndex","go","movement","substr","forcePushState","location_1","trailingSlash","fragmentOverride","routeHandler","$config","mi","History","Headers","headers","header","configureXHR","xhr","setRequestHeader","headerStr","headerPairs","headerPair","_key2","RequestMessage","content","baseUrl","buildFullUrl","params","qs","traditional","HttpResponseMessage","requestMessage","responseType","reviver","statusCode","status","response","responseText","isSuccess","statusText","mimeType","getAllResponseHeaders","contentType","trim","mimeTypes","_content","RequestMessageProcessor","xhrType","xhrTransformers","XHRType","isAborted","abort","readyState","process","client","rejectResponse","rejectPromiseWithErrorObject","resp","errorResp","ErrorHttpResponseMessage","onload","ontimeout","onerror","onabort","chain","processRequest","user","password","applyXhrTransformers","processor","send","interceptors","interceptor","request","requestError","responseError","interceptorsPromise","_interceptorsPromise","timeoutTransformer","timeout","callbackParameterNameTransformer","callbackParameterName","credentialsTransformer","withCredentials","progressTransformer","progressCallback","upload","onprogress","downloadProgressTransformer","downloadProgressCallback","responseTypeTransformer","headerTransformer","contentTransformer","skipContentProcessing","FormData","Blob","ArrayBuffer","Document","replacer","JSONPRequestMessage","_RequestMessage","_this2","JSONPXHR","round","random","encodeURIComponent","cleanUp","createJSONPRequestMessageProcessor","HttpRequestMessage","_RequestMessage2","createHttpRequestMessageProcessor","_HttpResponseMessage","responseMessage","RequestBuilder","transformers","requestTransformers","useJsonp","asDelete","_addTransformer","asGet","asHead","asOptions","asPatch","asPost","asPut","asJsonp","withUrl","withContent","withBaseUrl","withParams","withResponseType","withTimeout","withHeader","withLogin","withReviver","withReplacer","withProgressCallback","withDownloadProgressCallback","withCallbackParameterName","withInterceptor","addHelper","trackRequestEnd","pendingRequests","isRequesting","HttpClient","requestProcessorFactories","builder","createRequest","createProcessor","trackRequestStart","_delete","req","head","jsonp","put","patch","post","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","rejected","adopt","__generator","body","y","label","sent","trys","verb","TextTemplateLoader","loadTemplate","loadText","address","template","WebpackLoader","moduleRegistry","loaderPlugins","modulesBeingLoaded","useTemplateLoader","addPlugin","fetch","getOrCreateTemplateRegistryEntry","templateIsLoaded","templateLoader","__webpack_require__","getOwnPropertyNames","some","moduleExports","exports","_import","defaultHMR","addressParts","loaderPlugin","plugin_1","asyncModuleId","module","hot","normalizeSync","loadAllModules","ids","existing","beingLoaded","ensureOriginOnExports","exportedValue","__useDefault","default","applyPluginToUrl","defaultExport","pluginName","TemplateDependency","TemplateRegistryEntry","factoryIsReady","onReady","_template","_factory","addDependency","finalSrc","requires","querySelectorAll","removeChild","Loader","templateRegistry","_console","_console2","_len2","_console3","_len3","_key3","_console4","_len4","_key4","loggers","appenders","globalDefaultLevel","standardLevels","isStandardLevel","appendArgs","logFactory","threshold","_appenders$i","logFactoryCustom","appender","connectLoggers","Logger","_level","getLogger","addAppender","removeAppender","getAppenders","clearAppenders","disconnectLoggers","_level2","addCustomLevel","isNaN","removeCustomLevel","setLevel","getLevel","cached","isDebugEnabled","_extends","isObject","paramTypes","propertyType","targetKey","getOwn","getOwnMetadata","define","defineMetadata","getOrCreateOwn","originStorage","unknownOrigin","moduleMember","Origin","origin","applicator","on","deprecated","optionsOrTarget","maybeKey","maybeDescriptor","decorator","methodSignature","SyntaxError","deprecationWrapper","mixin","instanceKeys","_mixin","possible","resolvedTarget","alwaysValid","noCompose","ensureProtocolOptions","validate","createProtocolValidator","createProtocolAsserter","assert","hidden","_PLATFORM","window","capture","global","performance","requestAnimationFrame","FEATURE_NO_IE","document","createElementNS","protoProp","strTrim","arrIndexOf","emptyArray","DOMEx","DOMException","checkTokenAndGetIndex","ClassList","elem","trimmedClasses","classes","_updateClassName","classListProto","contains","tokens","updated","toggle","force","Element","testElement","createMethod","original","DOMTokenList","_toggle","_filterEntries","_entries","_clearEntries","entryType","nowOffset","Date","now","timing","navigationStart","_marksIndex","mark","webkitMark","startTime","duration","measure","webkitMeasure","startMark","endMark","getEntriesByType","webkitGetEntriesByType","getEntriesByName","webkitGetEntriesByName","clearMarks","webkitClearMarks","clearMeasures","webkitClearMeasures","con","nop","memory","log","CustomEvent","_CustomEvent","detail","createEvent","initCustomEvent","Event","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","_FEATURE","shadowDOM","HTMLElement","attachShadow","scopedCSS","htmlTemplateElement","children","mutationObserver","MutationObserver","WebKitMutationObserver","ensureHTMLTemplateElement","isSVGTemplate","namespaceURI","fixSVGTemplateElement","ownerDocument","attrs","attributes","insertBefore","fixHTMLTemplateElement","createDocumentFragment","appendChild","fixHTMLTemplateElementRoot","childTemplates","shadowPoly","ShadowDOMPolyfill","_DOM","NodeList","SVGElement","boundary","adoptNode","node","createAttribute","createTextNode","createComment","createTemplateElement","createMutationObserver","createCustomEvent","eventType","dispatchEvent","getComputedStyle","getElementById","querySelector","query","nextElementSibling","nextSibling","nodeType","createTemplateFromMarkup","markup","temp","appendNode","newNode","replaceNode","replaceChild","unwrap","removeNode","injectStyles","destination","oldStyle","childNodes","platform","dom","activeElement","XMLHttpRequest","AggregateError","innerError","skipIfAlreadyAggregate","separator","stack","FEATURE","PLATFORM","noop","eachModule","moduleName","_moduleName","_x","DOM","isInitialized","initializePAL","subject","pd","relativeToFile","file","fileParts","nameParts","normalizedBaseParts","trimDots","ary","part","path1","path2","urlPrefix","schemeMatch","scheme","url1","url2","url3","encode","encodeKey","buildParam","arrayKey","buildQueryString","pairs","processScalarParam","existedParam","parseComplexParam","queryParams","currentParams","keysLastIndex","preventPollution","prevValue","parseQueryString","queryString","decodeURIComponent","O","dP","ObjectProto","toStringTag","toLength","iterCall","FEATURE_NO_ES2015","GOPS","setDescriptor","G","internalSymbol","DP","DPies","GOPN","GOPD","PIE","gOPN","gOPD","$defineProperties","hOP","pIE","addInternalIfNeeded","o","uid","onlyNonSymbols","onlySymbols","setAndGetSymbol","sourceConstructor","_Symbol","_Symbol2","description","sourceMap","$defineProperty","defineProp","copyAsNonEnumerable","newDescriptor","$getOwnPropertySymbols","getOwnPropertySymbols","cachedWindowNames","originalObjectGetOwnPropertyNames","descriptors","symbols","prefixLength","createWithSymbols","str","o_O","protoDescriptor","tst","Si","AP","SP","returnThis","fromCodePoint","codePointAt","isFinite","searchString","position","subjectString","floor","lastIndex","it","toInteger","ceil","iter","E","return","arrayLike","C","aLen","mapfn","mapping","iterFn","find","predicate","FEATURE_NO_ES2016","includes","searchElement","currentElement","hasDontEnumBug","dontEnums","dontEnumsLength","needsFix","gOPS","filterOS","where","keyOrSymbol","arg","is","_createCollection","_createCollection2","WeakMap","createCollection","sharedDelete","sharedClear","sharedGet","mapHas","sharedSet","sharedKeys","sharedIterator","_itp","_keys","sharedValues","mapEntries","sharedForEach","setHas","sharedAdd","setEntries","_values","objectOnly","Collection","init","sharedSize","itp","array2","_ref","WeakSet","propertyKey","Target","ownKeys","FEATURE_NO_ESNEXT","emptyMetadata","metadataContainerKey","metadataContainer","State","charSpec","nextStates","_iterator","_isArray","validChars","invalidChars","repeat","escapeRegex","RegExp","StaticSegment","string","caseSensitive","eachChar","regex","generate","DynamicSegment","consumed","StarSegment","EpsilonSegment","RouteRecognizer","rootState","routes","route","currentState","skippableStates","types","statics","dynamics","stars","routeName","isEmpty","segments","normalizedRoute","splitRoute","segment","_match","_name","_addSegment","addSegment","firstState","nextState","jj","routeNames","_i3","getRoute","nameOrRoute","handlersFor","hasRoute","generationUsesHref","routeParams","segmentValue","param","recognize","states","isSlashDropped","normalizedPath","queryStart","decodeURI","pathLen","recognizeChar","solutions","_i4","_l","sortSolutions","findHandler","captures","currentCapture","RecognizeResults","_names","_params","isDynamic","NavigationInstruction","plan","viewPortInstructions","ancestorParams","hasChildRouter","getWildCardName","parentInstruction","allParams","lifecycleArgs","getAllInstructions","instructions","childInstruction","childNavigationInstruction","getAllPreviousInstructions","previousInstruction","addViewPortInstruction","nameOrInitOptions","component","viewPortInstruction","viewPortName","currentViewPort","childRouter","configRoute","wildcardIndex","lastIndexOf","getWildcardPath","wildcardName","getBaseUrl","$encodeURI","encodeURI","nonEmptyRoute","_commitChanges","waitToSwap","currentInstruction","navModel","isActive","refreshNavigation","delaySwaps","_loop_1","viewPort","viewPorts","childNavInstruction","parentCatchHandler","swap","prune","_updateTitle","_buildTitle","titleSeparator","childTitles","navModelTitle","instructionRouter","transformTitle","child_nav_instruction","childTitle","NavModel","relativeHref","updateTitle","_normalizeAbsolutePath","absolute","_createRootedPath","isAbsoluteUrl","_ensureArrayWithSingleRoutePerConfig","routeConfigs","isRootedPath","RouterConfiguration","pipelineSteps","addPipelineStep","addAuthorizeStep","addPreActivateStep","addPreRenderStep","addPostRenderStep","fallbackRoute","_fallbackRoute","mapRoute","useViewPortDefaults","viewPortConfig","viewPortDefaults","routeConfig","createNavModel","addRoute","mapUnknownRoutes","unknownRouteConfig","exportToRouter","handleUnknownRoutes","pipelineStepCount","isRoot","pipelineProvider","addStep","Router","isConfigured","isNavigating","isExplicitNavigation","isExplicitNavigationBack","isNavigatingFirst","isNavigatingNew","isNavigatingRefresh","isNavigatingForward","isNavigatingBack","couldDeactivate","navigation","_fallbackOrder","_recognizer","_childRecognizer","_configuredPromise","_resolveConfiguredPromise","registerViewPort","ensureConfigured","callbackOrConfig","_resolveUrl","navigateToRoute","recognizer","rootedPath","order","nav","validateRouteConfig","navigationStrategy","withChild","hasOwnRoute","catchAllHandler","_createRouteConfig","parentRouter","length_1","$viewPortDefaults","_refreshBaseUrl","generateBaseUrl","_createNavigationInstruction","queryIndex","urlRecognizationResults","instructionInit","compareQueryParams","first","evaluateNavigationStrategy","_parentCatchAllHandler","newParentInstruction","_findParentInstructionFromRouter","evaluator","createCompletionHandler","completed","Pipeline","steps","run","getSteps","nextFn","complete","currentStep","createNextFn","isNavigationCommand","Redirect","shouldContinueProcessing","setRouter","appRouter","useAppRouter","RedirectToRoute","_buildNavigationPlan","forceLifecycleMinimum","buildRedirectPlan","prevInstruction","defaultViewPortConfigs","buildTransitionPlans","viewPortPlans","viewPortConfigs","InternalActivationStrategy","redirect","redirectInstruction","originalInstructionParams","redirectInstructionParams","redirectLocation","newInstructionConfig","hasNewParams","hasDifferentParameterValues","pending","previousViewPortInstructions","prevViewPortInstruction","prevViewPortComponent","newInstructionViewPortConfigs","nextViewPortConfig","viewPortActivationStrategy","determineActivationStrategy","viewPortPlan","prevComponent","prevModuleId","childPlan","currentNavInstruction","newViewPortConfig","prevViewPortViewModel","activationStrategy","prev","prevParams","nextParams","nextWildCardName","prevQueryParams","nextQueryParams","BuildNavigationPlanStep","navigationInstruction","loadNewRoute","routeLoader","loadPromises","determineLoadingPlans","loadingPlan","loadRoute","loadingPlans","planConfig","loadComponent","childRouter_1","getChildRouter","configureRouter","RouteLoader","LoadRouteStep","CommitChangesStep","PipelineStatus","RouterEvent","PipelineSlotName","noChange","processDeactivatable","ignoreResult","infos","findDeactivatable","inspect","shouldContinue","iterate","processPotential","addPreviousDeactivatable","prevViewModel","processActivatable","findActivatable","current_1","viewPortComponent","SafeSubscription","subscriptionFunc","_subscribed","_subscription","obs_1","subscribed","CanDeactivatePreviousStep","CanActivateNextStep","DeactivatePreviousStep","ActivateNextStep","PipelineSlot","slotName","slotAlias","PipelineProvider","createPipelineSlot","createPipeline","useCanDeactivateStep","pipeline","_findStep","found","slotSteps","removeStep","slot","_clearSteps","AppRouter","maxInstructionCount","_queue","loadUrl","_queueInstruction","restorePreviousLocation","$viewPort","_dequeueInstruction","viewModel_1","_findViewModel","resolveConfiguredPromise_1","instructionCount","navtracker","currentNavTracker","currentNavigationTracker","processResult","resolveInstruction","finalResult","navigationCommandResult","innerResult","isInnerInstruction","eventArgs","previousLocation","makeRequestFlushFromTimer","requestFlush","timeoutHandle","handleFlushTimer","intervalHandle","setInterval","clearTimeout","clearInterval","TaskQueue","flushing","longStacks","microTaskQueue","microTaskQueueCapacity","requestFlushMicroTaskQueue","makeRequestFlushFromMutationObserver","flushMicroTaskQueue","requestFlushTaskQueue","flushTaskQueue","_flushQueue","capacity","scan","newLength","onError","filterFlushStack","prepareQueueStack","queueTask","MAX_VALUE","filterQueueStack","captureStack","AttributeMap","allElements","registerUniversal","InterpolationBindingExpression","parts","attrToRemove","ChildInterpolationBinding","InterpolationBinding","validateTarget","parentElement","targetAccessor","interpolate","updateOneTimeBindings","rawValue","LetExpression","toBindingContext","LetBinding","arg0","LetInterpolationBindingExpression","LetInterpolationBinding","interpolationBinding","createInterpolationBinding","SyntaxInterpreter","attributeMap","interpret","existingInstruction","command","handleUnknownCommand","determineDefaultBindingMode","attrName","contentEditable","defaultBindingMode","attrValue","language","inString","inEscape","foundName","_getPrimaryPropertyName","inspectAttribute","createAttributeInstruction","primaryProperty","isDestructuring","local","items","TemplatingBindingLanguage","syntaxInterpreter","emptyStringExpression","toBindingContextAttr","interpolationParts","parseInterpolation","theInfo","createLetExpressions","letElement","nodeValue","inspectTextContent","char","interpolationStart","pos","partIndex","ActivationStrategy","Compose","InvokeLifecycle","currentController","currentViewModel","changes","created","owningView","pendingTask","processChanges","removeAll","modelChanged","requestUpdate","viewChanged","viewModelChanged","composer","needsReInitialization","vm","Replace","createInstruction","swapOrder","tryActivateViewModel","completeCompositionTask","updateRequested","IfCore","viewFactory","showing","isCaching","returnToCache","_show","_hide","_unbindView","If","conditionChanged","_update","show","animating","elseVm","_swap","Else","_registerInIf","ifVm","previousSibling","if","With","valueChanged","updateOverrideContexts","views","startIndex","updateOverrideContext","createFullOverrideContext","even","$index","$first","$last","$middle","$odd","$even","updateOneTimeBinding","ArrayRepeatStrategy","getCollectionObserver","instanceChanged","$repeat","itemsLength","viewsLength","viewsRequireLifecycle","childrenSnapshot","itemNameInBindingContext","matcher_1","itemsPreviouslyInViews_1","viewsToRemove","oldItem","updateViews","removePromise","removeViews","indexOfView","insertView","moveView","_inPlaceProcessItems","removeAllViews","_standardProcessInstanceChanged","addView","viewCount","removeView","middle","updateBindings","instanceMutated","__queuedSplices","__array","maybePromise","_runSplices","queuedSplices_1","runQueuedSplices_1","nextPromise","removeDelta","rmPromises","viewOrPromise","spliceIndexLow","_handleAddedSplices","spliceIndex","addIndex","MapRepeatStrategy","_standardProcessItems","removeIndex","_getViewIndexByKey","NullRepeatStrategy","NumberRepeatStrategy","childrenLength","SetRepeatStrategy","max","_getViewIndexByValue","RepeatStrategyLocator","matchers","strategies","addStrategy","getStrategy","lifecycleOptionalBehaviors","behaviorRequiresLifecycle","handlesAttached","handlesBind","handlesCreated","handlesDetached","handlesUnbind","targetRequiresLifecycle","behaviors","behaviorInstructions","_viewsRequireLifecycle","AbstractRepeater","sourceIndex","targetIndex","skipAnimation","matcherExtractionMarker","Repeat","strategyLocator","ignoreMutation","getItemsSourceExpression","bi","originalAttrName","isOneTime","Repeat_1","_captureAndRemoveMatcherBinding","matcherBinding","itemsChanged","_unsubscribeCollection","callContext","_observeInnerCollection","_observeCollection","_getInnerCollection","unwrapExpression","unwrapped","handleCollectionMutated","handleInnerCollectionMutated","newItems","useInnerMatcher","extractMatcherBindingExpression","getChildrenCount","repeatedElement","getFirstElementChild","repeatedElementTargetId","insert","move","removeMany","removeAt","$view","bindings","boundProperties","targetedElementId","instructionIds","instructionId","matcherBindingExpression","aureliaHideClassName","aureliaHideClass","injectAureliaHideStyleAtBoundary","domBoundary","hasAureliaHideStyle","Show","animator","removeClass","addClass","Hide","HTMLSanitizer","sanitize","input","SanitizeHTMLValueConverter","sanitizer","untrustedMarkup","Replaceable","Focus","isAttached","needsApply","blur","detached","cssUrlMatcher","CSSResource","_scoped","_alreadyGloballyInjected","registerViewEngineHooks","fixupCSSUrls","css","p1","CSSViewEngineHooks","owner","beforeCompile","targetShadowDOM","AttrBindingBehavior","modeBindingBehavior","originalMode","OneTimeBindingBehavior","OneWayBindingBehavior","ToViewBindingBehavior","FromViewBindingBehavior","TwoWayBindingBehavior","throttle","throttleState","elapsed","delay","timeoutId","throttledMethod","ThrottleBindingBehavior","methodToThrottle","originalName","unset","debounceCallSource","debounceState","debouncedMethod","debounceCall","callContextToDebounce","_oldValue","DebounceBindingBehavior","isCallSource","methodToDebounce","debouncer","handleSelfEvent","selfEventCallSource","SelfBindingBehavior","BindingSignaler","signal","SignalBindingBehavior","bindingSignaler","signalName","name_2","notApplicableMessage","UpdateTriggerBindingBehavior","originalHandler","configure$1","addResourcePlugin","viewUrl","registryEntry","bindableNames","useShadowDOMmode","getElementName","_createDynamicElement","DynamicElement","injectAureliaHideStyleAtHead","styleResourcePlugin","_createCSSResource","ViewCSS","EmptyLayoutViewModel","RouterView","viewLocator","compositionTransaction","compositionTransactionNotifier","enlist","$viewPortInstruction","viewModelResource","RouterViewLocator","_notify","layoutInstruction","layoutViewModel","layoutView","layoutModel","viewStrategy","getViewStrategy","makeRelativeTo","compositionTransactionOwnershipToken","tryCapture","viewPortComponentBehaviorInstruction","viewPortController","previousView","work","swapStrategy","ready","owningView_or_layoutView","automate","transactionOwnerShipToken","waitForCompositionComplete","createController","layoutController","slots","newView","notifier","$resource","bindables","findNearest","routerView","EmptyClass","TemplatingRouteLoader","resolveViewModel","createDynamicClass","DynamicClass","createChildContainer","navInstruction","RouteHref","processChange","attributeChanged","ElementEvents","subscriptions","_enqueueHandler","_dequeueHandler","captureOrOptions","defaultListenerOptions","EventHandlerImpl","subscription","disposeAll","once","ResourceLoadContext","hasDependency","ViewCompileInstruction","compileSurrogate","associatedModuleId","normal","BehaviorInstruction","unitTest","anchorIsContainer","containerless","initiatedByBehavior","dynamic","inheritBindingContext","biProto","partReplacements","contentFactory","TargetInstruction","shadowSlot","parentInjectorId","contentExpression","lifting","liftingInstruction","noExpressions","providers","injectorId","elementInstruction","surrogate","tiProto","slotFallbackFactory","capitalMatcher","addHyphenAndLower","_hyphenate","_isAllWhitespace","auInterpolationTarget","textContent","BehaviorPropertyObserver","selfSubscriber","initialValue","notqueued","publishing","_ensurePropertiesDefined","BindableProperty","nameOrConfig","registerWith","_configureDescriptor","defaultValue","defineOn","handlerName","createObserver","changeHandlerName","hasOptions","propertyChanged","_initialize","observerLookup","behaviorHandlesBind","_createDynamicProperty","ViewLocator","origin_1","RelativeViewStrategy","NoViewStrategy","StaticViewStrategy","viewStrategyMetadataKey","createFallbackViewStrategy","ConventionalViewStrategy","convertOriginToViewUrl","BindingLanguage","noNodes","SlotCustomAttribute","auSlotAttribute","PassThroughSlot","destinationName","fallbackFactory","destinationSlot","projections","contentView","renderFallbackContent","nodes","projectionSource","ownerView","ShadowDOM","distributeView","passThroughTo","addNode","removeNodes","needsFallbackRendering","projectFrom","ShadowSlot","isContentProjectionSource","projectFromAnchors","destinationSlots","$node","distributeNodes","auOwnerView","auProjectionSource","auAssignedSlot","_findAnchor","undistributeView","hasSlots","auSlotProjectFrom","auProjectionChildren","ownChildren","undistributeAll","viewIndex","lastView","projectTo","insertNodesBefore","fallbackSlots","getSlotName","defaultSlotKey","destinationOverride","currentNode","CompositionTransactionNotifier","_compositionCount","_tryCompleteTransaction","CompositionTransactionOwnershipToken","_ownershipToken","thenable","_createThenable","_resolveCallback","CompositionTransaction","View","lastChild","fromCache","viewModelScope","animatableElement","_isUserControlled","returnViewToCache","_systemUpdate","_invokeHook","addBinding","refNode","appendNodesTo","Animator","enter","leave","className","runSequence","animations","registerEffect","effectName","unregisterEffect","ViewSlot","contentSelectors","animateView","direction","getAnimatableElement","animation","removeAction","projectToSlots","_projectionAdd","_projectionInsert","_projectionMove","_projectionRemove","_projectionRemoveAt","_projectionRemoveMany","_projectionRemoveAll","$resolver","providerResolverInstance","ProviderResolver","__providerId__","elementContainerGet","BoundViewFactory","boundViewFactory","elementEvents","ViewResources","superGet","_element","applyInstructions","containers","shadowSlots","elementContainer","commentAnchor","slotDestination","makeElementIntoAnchor","contentElement","createElementContainer","styleStringToObject","firstIndexOfColon","styleObjectToString","parentContainer","factoryCreateInstruction","setCacheSize","doNotOverrideIfAlreadySet","getCachedView","ViewFactory","cacheSize","cachedView","instructable","cloneNode","instructables","surrogateInstruction","applySurrogateInstruction","currentAttributeValue","styleObject","nextInjectorId","lastAUTargetID","makeIntoInstructionTarget","auTargetID","getNextAUTargetID","defaultLetHandler","ViewCompiler","bindingLanguage","compile","compileInstruction","_compileNode","targetId","ins","_compileSurrogate","targetLightDOM","_compileElement","getBindingLanguage","wholeText","currentChild","knownAttribute","hasValues","mapAttribute","alteredAttr","_configureProperties","liftsContent","elementProperty","makeShadowSlot","compiler","auShadowSlot","getElement","processAttributes","getNextInjectorId","ViewEngineHooksResource","viewEngineHooks","ResourceModule","moduleInstance","mainResource","onLoaded","loadContext","vs","main","ResourceDescription","resourceTypeMeta","HtmlBehaviorResource","ModuleAnalyzer","getAnalysis","analyze","mainResourceKey","fallbackValue","fallbackKey","conventional","resourceModule","TemplateRegistryViewStrategy","ProxyViewFactory","auSlotBehavior","ViewEngine","viewCompiler","moduleAnalyzer","_pluginMap","extension","loadViewFactory","urlOrRegistryEntry","ensureRegistryEntry","loadTemplateResources","viewModelRequires","viewModelRequireMetadataKey","templateImportCount","importViewModelResource","moduleImport","viewModelModule","moduleIds","_applyLoaderPlugin","imports","analysis","associatedModule","allAnalysis","Controller","skipSelfSubscriber","__parentOverrideContext","lastProviderId","doProcessContent","doProcessAttributes","attributeDefaultBindingMode","shadowDOMOptions","processContent","usesShadowDOM","childBindings","hasDynamicOptions","addChildBinding","nextProviderId","htmlName","_copyInheritedProperties","registerAttribute","aliases","registerElement","transientView","hasChildNodes","toReplace","viewHost","__propertiesDefined__","derived","this_1","validateBehaviorName","conventionMark","hasParent","getValueConverter","getBindingBehavior","afterCompile","beforeCreate","afterCreate","beforeBind","beforeUnbind","resourceType","templateController","currentProps","newProp","existed","_tryAddHook","counter","one","two","three","four","hooks","bindingLanguageFallback","patchInParent","newParent","originalParent","relativeToView","registerValue","impl","absolutePath","dependencyBaseUrl","InlineViewStrategy","$deps","elDeps","dependencies_1","exported","SwapStrategies","before","with","after","skipActivation","CompositionEngine","previousViews","_createControllerAndSwap","isClass","transaction","animationEvent","enterBegin","enterActive","enterDone","enterTimeout","leaveBegin","leaveActive","leaveDone","leaveTimeout","staggerNext","removeClassBegin","removeClassActive","removeClassDone","removeClassTimeout","addClassBegin","addClassActive","addClassDone","addClassTimeout","animateBegin","animateActive","animateDone","animateTimeout","sequenceBegin","sequenceDone","createChildObserverDecorator","selectorOrConfig","actualTarget","selector","ChildObserver","ChildObserverBinder","noMutations","trackMutation","groupedMutations","binder","mutations","onChildChange","binders","bindersLength","added","addedNodes","removedNodes","onRemove","onAdd","mutationRecords","assignedSlot","anchors","__childObserver__","previousElementSibling","childObserver","ElementConfigResource","instanceOrConfig","override","customElement","customAttribute","bindable","nameOrConfigOrTarget","key2","descriptor2","dynamicOptions","defaultShadowDOMOptions","useShadowDOM","targetOrOptions","doNotProcessContent","useViewStrategy","useView","inlineView","noView","targetOrDependencies","templateOrConfig","elementConfig","TemplatingEngine","_container","_moduleAnalyzer","_viewCompiler","_compositionEngine","configureAnimator","compilerInstructions","letExpressions","Validator","__spreadArrays","il","jl","validateTrigger","ValidateResult","rule","valid","Rules","rules","ExpressionVisitor","visitChain","visitArgs","ValidationMessageParser","bindinqLanguage","nullExpression","undefinedExpression","coalesce","MessageExpressionValidator","originalMessage","validationMessages","required","email","maxLength","minItems","maxItems","range","between","ValidationMessageProvider","getMessage","getDisplayName","displayName","words","StandardValidator","messageProvider","validateProperty","validateObject","ruleExists","messageKey","$displayName","$propertyName","$value","$object","$getDisplayName","validateRuleSequence","ruleSequence","sequence","validateAllProperties","allValid","promises","when","promiseOrBoolean","GlobalValidationConfiguration","validatorType","validationTrigger","DEFAULT_VALIDATION_TRIGGER","customValidator","defaultValidationTrigger","getDefaultValidationTrigger","validator","getTargetDOMElement","getObject","objectExpression","getPropertyInfo","originalExpression","isString","PropertyAccessorParser","isNumber","accessorText","getAccessorExpression","accessor","ValidateEvent","errors","controllerValidateResult","ValidationController","propertyParser","renderers","validating","objects","finishValidating","eventCallbacks","addObject","removeObject","processResultDelta","addError","resolvedPropertyName","__manuallyAdded__","removeError","addRenderer","render","kind","unrender","removeRenderer","registerBinding","propertyInfo","unregisterBinding","resetBinding","getInstructionPredicate","predicate_1","object_1","propertyName_1","rules_1","execute","object_2","propertyName_2","rules_2","_e","resultSets","reduce","returnPromise","newResults","oldResults","invokeCallbacks","exception","getAssociatedElements","oldResult","newResultIndex","newResult","elements_1","oldResults_1","newResults_1","validateBinding","registeredBinding","changeTrigger","newTrigger","bindings_1","revalidateErrors","ValidateBindingBehaviorBase","rulesOrController","validationController","getValidateTrigger","change","vbbUpdateSource","validateBlurHandler","manual","standardUpdateTarget","ValidateBindingBehavior","ValidateManuallyBindingBehavior","ValidateOnBlurBindingBehavior","ValidateOnChangeBindingBehavior","ValidateOnChangeOrBlurBindingBehavior","changeOrBlur","ValidationControllerFactory","createForCurrentScope","ValidationErrorsCustomAttribute","boundaryElement","controllerAccessor","errorsInternal","targets","compareDocumentPosition","interestingElements","ValidationRendererCustomAttribute","FluentRuleCustomizer","fluentEnsure","fluentRules","parsers","_addRule","withMessageKey","withMessage","ensure","ensureObject","satisfies","satisfiesRule","expectedValue","FluentRules","customRules","argsToConfig","constraint","FluentEnsure","assertInitialized","mergeRules","existingRules","ValidationRules","messageParser","customRule","taggedRules","untaggedRules","off","Advices","Api","api","startUpdateInterval","updateIntervalDuration","targetRoutes","updateInterval","updateAdvices","newAdvices","advice","activeAdvices","hasBeenSeen","targetAdvices","targetCodes","setAsSeen","localStorage","getItem","setItem","checkAgreements","storagePrefix","currentTimestamp","moment","utc","expiryTimestamp","format","checkResult","dialog","class","removeItem","sanitizeUrl","hasPassed","URL","URLSearchParams","checkPlatformMessages","platformMessages","platformMessage","uuid","toastPlatformMessage","link","linkText","mdToast","hold","elementClass","icon","checkSettingsLinkedSoftware","multifatture","accountingClientSoftwareUuid","dialogMissingBillingProfile","checkUserBillingProfile","checkUserProfileData","profile","missingProperties","requiredProperties","countryCode","dialogMissingProperties","viewModelParams","checkUserProfilePec","hasPecCheckPassed","sessionStorage","pec","dialogMissingPec","CheckFlow","checks","addCheck","matched","getCheck","functionName","isBuildingAdministrator","businessType","isMandatory","MavRequest","isOperator","dateFormat","statuses","shortText","isPrivilegedUser","DateFormatValueConverter","displayText","payments","banking","mavSelfPrintingAuthorizationStatus","approvalDate","approvedAt","mavApprovedAt","activationDate","activatedAt","mavActivatedAt","deletionDate","deletedAt","mavDeletedAt","rejectionDate","refusedAt","mavRefusedAt","setDatasourceMavAuthorizationStatus","datasource","statusesRemoved","TableInterface","inizialized","configurables","endpoint","limit","total","isLoading","btoa","dataLoad","dataLoaded","xhrs","initialized","_query","sorts","loadRequest","parseQuery","parseResponse","dialogError","searchInterface","controls","SearchInterface","active","table","control","setError","schema","startOf","endOf","soft","TableSidebar","isOpen","backdrop","getElementsByTagName","sidebar","composition","TableSelectionInterface","selectedRecords","selectedCount","recordsByUuid","selectEveryVisibleRecordSelected","addLoadSuccessListener","_selection","isDisabled","isSelected","isEveryVisibleRecordSelected","changeSelectedRecords","setSelectedRecords","setSelectedCount","changeSelectEveryVisibleRecordSelected","isEveryVisibleRecordDisabled","every","hard","MdToast","holdedElement","transition","uuidv4","currentStack","closureTag","dataActionClosure","consume","FidelityCardsModel","toast","activation","card","fidelityCardPriceListUuid","priceListUuid","renew","activationUuid","QueueMessages","queueMessageStatusCodes","setQueueMessageStatusCodes","parseQueueMessageStatusCodes","statusGroupValue","statusGroup","statusGroupLabel","getQueueMessageStatusCodeGroupValue","getQueueMessageStatusCodeGroupLabel","getQueueMessageStatusCodeLabel","QueueProperties","group","channels","uuidQueueToUpdate","update","ENVIRONMENT","MdTooltipCustomAttribute","tooltip","bounds","getBoundingClientRect","top","height","width","StaticTooltipCustomAttribute","tooltipId","elementId","navigationEvent","elementIcon","generateIcon","handleClick","structuredClone","handleMouseEnter","handleMouseLeave","tooltipList","setIcon","placement","subtitle","defaultConfig","margin","color","fontSize","weight","svgMarkup","wrapper","marginStyle","parseMargin","display","verticalAlign","showTimeout","role","iconNode","iconHtml","outerHTML","closure","arrowElement","computePosition","middleware","flip","padding","arrow","middlewareData","arrowX","arrowY","staticSide","bottom","DialogIntents","vms","intent","intents","includesCode","DialogIntentsAcceptCashbackContract","goToCashbackContracts","DialogIntentsConfirmTransmissionDelay","KaDialog","KaToast","mdt","sessionUuid","nonWorkingDaysDisclaimerAccepted","DialogIntentsLogin","reload","login","searchParams","newRelativePathQuery","busy","username","finally","DialogIntentsPayOrders","DialogIntentsProvideCertifiedDocuments","uploadSessionUuid","documents","parseDocuments","_documents","codesTranslator","tr","MISSING","hasMissingDocuments","missingDocument","_errors","PENDING","hasPendingDocuments","pendingDocument","edit","DocumentResource","save","uploadSession","uploadedFileUuid","documentType","placeholder","userId","saved","attachment","reader","FileReader","readAsDataURL","filename","fileData","downloadStaticResource","templateFileName","download","click","lang","DialogIntentsProvideIban","iban","legalFormCode","billingProfileOwnerId","billingProfileUuid","DialogIntentsProvideLegalForm","legalForms","legalFormTypes","companyLegalFormCode","datatext","datavalue","datamultiple","datapreload","companyLegalFormCodeDatasource","getUser","optgroup","formsForThisType","form","legacyOwnerId","userDisplayName","parentId","DialogIntentsProvideSdd","sdd","sepaDirectDebitEnabled","KmLayout","_collapsed","_styles","aside","_intervals","_navigation","_toolbar","burgerAside","burgerHeader","innerWidth","interval","infoBox","brand","groups","roles","toolbar","isDevelopmentEnvironment","authorized","userGroups","userGroupsPassed","authGroups","userRoles","userRolesPassed","authRoles","setHiddens","hiddens","activateBadges","badge","toggleNavigation","collapsed","subtool","currentTarget","MdAccordionButton","targetElement","resetHeight","initDelay","overflow","isCollapsed","scrollHeight","MdControl","bindValueToParentData","mdTooltip","enterPressed","submit","MdCounter","inOutAnimationDuration","decimals","onEntryStart","toFixed","initElement","animateCounter","mdCounter","opacity","onfinish","mdCounterBody","mdCounterElement","startTimestamp","timestamp","progress","digits","MdInputArray","eval","MdInput","MdLoader","setParentPositionRelative","destroy","pendingChanged","setFadeOut","MdNavUtenti","stored","links","userIdChanged","userData","hasRole","parentUuid","MdPrefselDialog","users","tableUsers","parse_query","select","MdPrefsel","remapUserData","isOverrideChanged","isOverride","MdResource","schemaLoaded","dataSaved","dataSaveError","parentContext","konsole","field","errorPayload","MdTablePagination","page","limits","areLimitsValid","limitChanged","applyOptions","pageChanged","paginate","pages","showOptions","pagesDatasource","optionsShown","hideOptions","integerCastValueConverter","MdTableProgressbar","MdTableSort","MdTableToolbar","buttons","openSearch","SidebarSearch","inputs","MdTableWrapper","resizeHandler","innerHeight","decrease","AppendCommaValueConverter","ComboFormatValueConverter","MdDatasources","mdDatasources","mdDatasourceReference","isValid","FilesizeFormatValueConverter","units","ObjectFormatValueConverter","new_value","QueueChannelFormatValueConverter","channel","QueueStatusFormatValueConverter","StringifyValueConverter","StriphtmlValueConverter","_accessToken","_refreshToken","_refreshPromise","_autologinPromise","_user","_baseUrl","_boAccessToken","_boRefreshToken","_refreshUrl","msg","accessToken","fingerprint","queryMap","depth","fields","filters","expr","operators","gte","lte","gt","lt","eq","like","regexp","operator","convertHref","originalResponse","included","isResponseArray","warnings","warning","relationships","include","datasets","smsReportUrl","isJSON","dialogIntents","refreshToken","getRefreshToken","userDataChanged","refresh","grantType","logout","startUser","feat","featureCode","reroute","impersonate","boAccessToken","boRefreshToken","disimpersonate","parseUrl","chunks","hashes","unlabelParameters","isAuthenticated","MdApi","MdAuth","mdAuth","store","paymentMethods","flatServiceTypes","multifattureSoftwares","postalServices","vectors","postages","initPostalServices","initMultifattureSoftwares","initPaymentMethods","initFlatServiceTypes","vector","postage","InlineDialogFileViewer","MdFileViewer","kaDialog","kaToast","fileViewer","fileExtension","blob","createObjectURL","dialogFileViewer","revokeObjectURL","offsetParent","mouseleave","MouseEvent","MdFileDownload","fileDownload","contentDisposition","MdTools","BUSINESS_TYPES","preferences","mergeModelData","requested","preset","responseValue","helpers","diffObject","object1","object2","removeEmptyAttributes","nullifyEmptyStringAttributes","isDateGreaterThan","date1","date2","setDateRange","days","currentDate","getFullYear","setDate","getDate","toISOString","flattenApiResponseData","originalApiResponseData","apiResponseDataRecords","relationship","parsedRelationship","parseRelationship","relationshipData","apiError","errorMessages","errorBody","errorCode","parameters","parameter","messages","permissions","permission","contextualize","dictionary","fidelityCards","userCurrentFidelityCard","legacy","getCrossLoginTokenCurrent","general","dialogMavTiming","MdUser","mdApi","RestClient","storage","environment","_data","checkFlow","initData","apiResponse","setUserData","apiResponseData","auth","isImpersonated","setData","removeData","loggedUser","APP_DEBUG","MfApi","refreshUrl","MIME_TYPES","ALLOWED_DOCUMENT_TYPES","MfFileDownload","mfApi","exportFiles","filteredQuery","filterQuery","requestUrl","date","fileId","document_id","fileName","invoice_filename","report_filename","fromEntries","vmAgreement","agreement","vmLegacyViewer","profileUuid","encodedCallbackUri","atob","view_routeViewName","tabs","privilege","privileges","tab1","tab2","view_tabName1","tableInterface","control1","control2","control3","control4","control5","control6","view_tabName2","ServiceDialogUserProfile","missingPropertiesValueConverter","zipCode","streetAddress","admLvl1","admLvl2","admLvl3","Login","Logout","viewRecupero","uniqueIdentifier","success","emailAddress","pass1","pass2","password1","password2","vmDeleteAccount","DialogAddResellerTag","pendingInit","readonly","resellerCode","rewardedServiceCode","getServiceGroups","serviceGroups","changeReseller","uuidReseller","reseller","resellerCodes","referralCode","DialogSponsorAgreement","pendingSave","agreementText","loadAgreementText","LandingPages","editEnabled","priceLists","getPriceLists","initTableInterface","listCode","searchStatus","sponsorUuid","definitivePriceListCode","temporaryPriceListCode","temporaryPriceListCodeDurationInDays","recordFormatted","addResellerTag","deleteResellerTag","prospectLandingPageReferralCode","openSponsorDialog","RevisioneAbiCab","abiCode","cabCode","instituteName","officeName","loadData","initGeo","_initialized","controlKey","valueModel","endonym","viewRubricaDati","contact","loaded","firstname","lastname","nickname","companyName","jobTitle","admLvl1Uuid","admLvl2Uuid","admLvl3Uuid","locality","addressee","fiscalCode","vatCode","homePhoneNumberInternationalPrefix","homePhoneNumber","workPhoneNumberInternationalPrefix","workPhoneNumber","mobilePhoneNumberInternationalPrefix","mobilePhoneNumber","faxNumberInternationalPrefix","faxNumber","certifiedEmailAddress","webSiteUrl","contactGroups","notes","newsletterOptIn","newsletterOptInDate","uniqueCode","annulla","setGeo","childField","childControl","childSchema","childData","admLvls","lvl","objectValue","administrativeLevels","enabled","RubricaDialogEliminaGruppo","deleteContacts","RubricaDialogElimina","multipleRecords","viewRubricaGruppi","groupsTableInterface","nuovo","elimina","modifica","contatti","viewRubricaImportazione","loading","carica","viewRubrica","rubricaTableInterface","rubricaSearchInterface","textSearch","ricerca","gruppi","importa","esporta","csv","searchControlAdmLvl1","searchControlAdmLvl2","searchControlAdmLvl3","selectContact","toggleAllContacts","DialogMigrateSubuser","activableOn","payableBy","selectedUser","migrationRecipient","migrationReason","migrationSubuserUuid","ServiceDialogProfiloAddReseller","serviceGroupCode","ProfiloDeleteBillingProfile","ProfiloDocumentUpload","buttonPending","ibanCodes","userProfile","placeholderType","getIbanCodes","ibanCode","UtentiDialogArchiviaNuovo","newParentUserUuid","UtentiImportazioneDialogSovrascrittura","viewGestioneUtenti","elenco","importazione","anagrafica","documenti","documenti_approvazione","fatturazione","segnalatori","compensi","cashback","impostazioni","pagamenti","Anagrafica","mdUser","pendingLoad","parentUser","legalFormSelected","oldSelectedCountryCode","courtesyTitle","holderName","phoneNumber","getUserGroups","getBusinessType","setCompanyLegalFormCodeDatasource","getUserProfile","changeLegalForm","legalForm","vatCodeNeeded","fiscalCodeNeeded","companyNameNeeded","personNameNeeded","setBusinessTypeEndpoint","setLegalFormsEndpoint","legalFormsEndpoint","legalFormsForThisType","countryCodeValueModel","copyServiceToken","navigator","clipboard","writeText","parseResourceData","Cashback","savedData","readEnabled","writeEnabled","isInitializing","percentageOnServices","openDialogEditPercentageOnServices","submitAction","vmCompensi","summaryTableInterface","detailsTableInterface","usersTableInterface","usersSummaryTableInterface","summarySearchInterface","detailsSearchInterface","usersSearchInterface","usersSummarySearchInterface","createdAtStart","createdAtEnd","associatedUser","serviceGroup","loadServiceGroups","subtract","promisesT","loadCommissions","isReseller","new","exportSummary","exportDetail","exportUsers","exportUsersSummary","setTag","userTagEnabled","cancelTag","isInt","Segnalatori","contextUser","staticTooltipMavDocuments","initSearchInterface","subuser","fetchUserData","alterData","documentsBucket","notRefusedDocumentsCount","currentCertifiableDocumentBuckets","approval","uploadedAt","certification","downloadUri","uri","toggleType","typeRow","row","viewUtenti","migratePending","isAdvancedUser","isMasterUser","isImpersonateUser","priceList","registeredAtStart","registeredAtEnd","sepaDirectDebit","attivazione","_attivazionePending","archiviazione","impersonifica","abbonamenti","csvDownload","migrate","findMigrationProfile","profileId","SponsorsFormatValueConverter","sponsors","sponsor","sponsorInitials","sponsorDisplayName","FatturazioneEditor","mavRequests","taxPercentage","bankAccountInfo","billingProfileIban","hasProfileOwnership","changeLegalFormPending","checkSDDPassed","pendingPopulateMissingData","firstName","lastName","officeCode","ipaCode","splitPaymentsEnabled","lastFourIbanDigits","mavRequest","getBankAccountInfo","mavAuthorizationRequests","isVisitor","autoPopulate","populate","getMavAuthorizationRequest","mavCreateAuthorizationRequest","isBuildingAdminCreatingMavRequest","sendMavAuthorizationRequest","ownerLegacyId","isMAVRequestDeletable","dialogDeleteMAVRequest","operatorDeleteMAVRequest","userDeleteMAVRequest","requestUuid","isVisibleForTheSelectedLegalForm","checkSDD","legalFormCodeFound","legalFormType","setFieldSchemaRequired","resetUnrequiredFieldData","necessityStatement","schemaProperties","populateMissingData","flattenResource","vmFatturazione","isSetAsDefaultLoading","staticTooltipMavAuthorization","selectedBillingProfiles","allSelected","selectedProfile","newIban","oldIban","selectAll","activeSdd","editor","billingProfile","sdiEnabled","sdi","genericSubuserCode","isAdmin","searchContext","SearchContext","initLegalForms","initSearchContextUser","user_active","fiscal_code","mav_authorization_status","setDefaultSearchInterfaceData","updateContextDatasource","updateTableInterfaceEndpoint","getPaymentPreferences","updateTableInterfaceQuery","lastSearchContext","suffix","isChildUsers","hasUser","isOperatorActiveSubusersWorthy","isUserActiveSubusersWorthy","searchContextChange","searchContextUserChange","searchActiveUsersChange","resetSearch","createProfile","forceEnabled","setAsDefault","getBillingProfile","patchDefault","payment","saveBillingProfileIban","saveCustomSdi","mavSelfPrintingAuthorizationUuid","dialogDeleteMavRequest","deleteMavRequest","isUserMaster","viewUtentiImportazione","selectAllProfile","selectAllBilling","autocomplete","importStatus","countSelected","countProcessing","countErrors","countImported","billing","colClassName","billingProfileData","objToArray","fillBillingProfileWithUserProfileValues","_selected","_imported","matchedUserUuid","_status","matchedBillingProfileUuid","importTable","easing","toggleAllProfile","toggleAllBilling","selectProfile","selectBilling","resetErrors","importProfile","_overwrite","_disabled","importBilling","dialogDuplicate","Impostazioni","isInitPending","advancedPreferences","grantLoginWithSupportTicket","enableBetaFeatures","Pagamenti","customSdiEnabled","masterUserCreditSharingCheck","debtGuarantorDisplayName","debtGuarantorUuid","masterUserCreditSharing","registerBillsAsManagementMovement","scopes","downloadHistoryEnabled","noAssociations","services","newReseller","selectedCode","datasourceServiceGroups","addServiceGroup","deleteServiceGroup","addReseller","deleteReseller","downloadHistory","downloadHistoryPending","Navigation","authRequired","beforeIcon","explanation","highlighted","afterIcon","openSenderui","totalQueueDrafts","totalQueuesPendingPayment","dialogBlacklistedTaxCodes","openMultinforma","areContractualAgreementsSigned","queueType","getCrossLoginTokens","iframe","Toolbar","notiIntervalCounter","totalUnreadNotifications","codice","viewStrategyParams","App","isAppUpdated","initLayoutConfiguration","appUpdateCheck","serverStatusCheck","fingerprintCode","pic","layoutConfiguration","account","setAccountTitle","setUserDisplayName","picture","parseNavigation","inherit","hasLayout","hasLanguages","AutologinStep","AuthorizeStep","InitializationStep","NotificationsStep","WallAdvicesStep","gotoLegacy","getAppIndex","appEtag","serverStatusResponse","yearMonthDate","getMonth","userAgent","md5","deviceFingerprint","getHours","getMinutes","savedAppEtag","groupEnd","currentRoute","authRole","userCheck","myUnreadNotifications","subusersUnreadNotifications","totalUnreadNotificationsCount","totalMineUnreadNotificationsCount","totalSubuserUnreadNotificationsCount","advices","advicesToShow","adviceToShow","DialogModalSenderUI","senderui","SenderUI","checkDraftSaved","payload","draft","vmMaintenance","getHealthcheck","vmNotFound","viewAgreements","agreements","startAt","clauses","agreementsTableInterface","agreementsSearchInterface","startAtLte","startAtGte","clause","saveData","newClause","deleteClause","deleteClauseData","addClause","viewAlias","AliasSchema","aliasTableInterface","requestedAt","aliasSearchInterface","requestedAtGte","requestedAtLte","datatype","country","viewArchiviazioneDialog","preview","realPath","noDryRun","archivia","viewArchiviazione","archives","yearFrom","monthFrom","yearTo","monthTo","datasources","years","months","locale","EditorWallAdvice","wallAdvice","isExpiredAdvice","initResource","htmlContent","endAt","public","getWallAdvice","pendingGetWallAdvice","checkIsExpiredAdvice","wallAdvicePreview","editWallAdvice","dialogAdviceConfirmation","normalizeStartAtDateTime","setHours","normalizeEndAtDateTime","visibilityEndDate","alreadyVisible","getTime","visibilityStartDate","createWallAdvice","PreviewWallAdvice","WallAdvice","htmlTemplate","acknowledgedAdvice","acknowledged","viewCurrentAdvices","tools","openEditorWallAdvice","dialogEditorWallAdvice","viewExpiredAdvices","dialogConfirmExpiredAdviceDeletion","adviceUuid","deleteExpiredAdvice","vmAdvices","accumulator","dialogWallAdvice","dateToNormalize","isErrorInit","isPendingInit","viewBounces","bouncesTableInterface","bouncesSearchInterface","UtentiDialogDocumentiApproval","statusReason","editStatus","vmDocumentiGestione","documentTypes","getDocumentTypes","filterStatus","_search","setPlaceholderType","APP_API_BASE_URL","VMMultitrax","initTable","strategyIn","typeIn","lastAttemptStart","lastAttemptEnd","deliveredAtStart","deliveredAtEnd","notDelivered","excludeFromRetry","deleteRecord","setExcludeFromRetry","setNotDelivered","deliveredAt","DaysFormatValueConverter","difference","DateTime","diffNow","abs","ServiceDialogNotificationDetail","notificationUuid","getNotification","notification","dataParse","srcdoc","emailHtmlBody","scheduleEmail","buildEmail","recipientEmailAddress","emailDispatchedAt","emailDispatchErrorAt","emailDispatchErrorMessage","emailDeliveredAt","emailBouncedAt","emailBounceReason","emails","recipientEmailAddress2","recipientEmailAddress3","scheduleSms","scheduleUiNotice","vmNotifiche","copyText","notifiche","vmListaNotifiche","statusEmail","statusSms","statusUI","selectedChannel","statusTooltip","dispatchedAt","dispatchError","dispatchErrorMessage","bounced","bounceReason","createdAt","ServiceDialogAssignEditor","redeemCode","offer","ServiceDialogOfferteEditor","targetUserType","contextBusinessType","promotionCode","deadlineType","deadlineAt","deadlineTypeChange","vmOfferte","gestione","prenotate","riscattate","vmOfferteGestione","createdAtGte","createdAtLte","endAtGte","endAtLte","deadlineAtGte","deadlineAtLte","serviceCreationDeadlineGte","serviceCreationDeadlineLte","userCreationDeadlineGte","userCreationDeadlineLte","offerLink","deadline","createOffer","editOffer","assignOffer","vmOffertePrenotate","vmOfferteRiscattate","offerlink","redeemedAtGte","redeemedAtLte","userUuid","vmContracts","openDialogContractDetail","contractUuid","userRenderableHtml","contractVersion","contractType","DialogContractDetail","pendingGetCashbackContract","getCashbackContract","DialogContractRescission","isConfirmed","toLocaleDateString","latestVersions","schemaMessages","defaultMessage","validationRule","setDatasourceDefaultMessage","changeDefaultMessage","setLatestContractVersion","acceptance","changeUserUuid","parseData","rescindContract","DialogContractCreate","cashbackContract","pendingCreateCashbackContracts","openDialogConfirmContractCreation","createCashbackContracts","ViewMultinvioContracts","openDialogCreateContract","ViewServiceContracts","viewSubscriptions","serviceContract","multinvioContract","serviceContractPending","multinvioContractPending","dialogCashbackContractRescission","controllerTabRequests","viewUserArchive","tab","serviceContractSubscriptions","multinvioContractSubscriptions","tableInterfaceServiceContractSubscriptions","tableInterfaceMultinvioContractSubscriptions","viewUserSubscriptions","flatServiceContract","controllerTabUserArchive","pendingGetMultinvioContract","pendingGetFlatServiceContract","pendingSubscriptionMultinvioContract","pendingSubscriptionFlatServiceContract","clause1","disabled","clause2","getLatSubscriptedMultinvioContract","getLastSubscriptedFlatServiceContract","setClausesData","contract","acceptedAt","setClausesReadonly","pendingFlatServiceContract","hasNext","getNextFlatServiceContract","gracePeriodEndAt","lastContractGracePeriodEndsOn","pendingMultinvioContract","getNextMultinvioContract","setEndpointDownloadPdf","downloadPdfContract","subscribeContract","storageSubscriptions","DialogCreditTransfer","amount","saveTransferCreditMovements","clone","DialogEditRequest","statusSchema","saveEditRequest","DialogInsertMovement","saveInsertCreditMovement","DialogWithdrawalRequest","temporaryInvoiceFileUploadUuid","setWithdrawalAmount","billableAmount","saveWithdrawalRequest","postUploadSessions","fileUpload","postWithdrawalRequests","tabMovements","transactionDisabledDate","inhibitionCashbackMessage","metaResponse","lastAcceptedFlatServiceContract","lastAcceptedMultinvioVolumesContract","sourceTypeSchema","initTab","setEndpoint","setDirectionDatasource","setSourceTypeDatasource","irregularTypes","IN","HISTORY","OUT","changeDirection","sourceType","sourceUser","sourceUuids","getLastAcceptedFlatServiceContract","getLastlastAcceptedMultinvioVolumesContract","allSettled","isTransactionDisabledUntilDate","disabledUntilDate","isTransactionDisabledAfterDate","disabledStartDate","getCashbackTransferEligibilityCheck","openTemporaryDialog","dialogCreditTransfer","dialogWithdrawalRequest","bodyMessage","dialogInsertMovement","dialogServiceDetail","ownerId","sourceUserId","flatServiceUuid","sourceFlatServiceSubscriptionUuid","navigateToQueueDetail","sourceQueueUuid","navigateToLegacyReport","movementDetail","tabRequests","deleteRequest","dialogDeleteRequest","dialogEditRequest","vmTransactions","downloadDocument","DialogOrderDetail","orderUuid","orderStatuses","downloadOrderInvoice","setOrder","getOrder","PaymentInstruction","paymentCoors","SettleInvoice","confirm","settle","invoice","seen","confirmInvoice","ViewInvoicesList","suppliers","date_to","date_from","paymentStatuses","mfFileDownload","doctype","supplier_id","payment_status","number","getSuppliers","add_external","order_by","order_type","supplier","setSuppliersDatasource","dialogSettleInvoice","doctype_label","mfsuppliers_id","payment_status_label","payment_status_class","commodity","report","codici","pr","prcodes","pods","comp_code","codici_importazione","sdd_request_pay","parseDateQuery","ViewOrders","totalGrossAmount","DEFAULT_DATE_RANGE_DAYS","getPaymentMethodDatasource","cleanedPayments","getPaymentMethod","getContextDatasource","orderNumber","paymentStatus","paymentMethod","setDefaultDateRange","updateValidationRules","getOrdersEndpoint","contextChanged","setOwnerValue","ownerChanged","setContextSchema","setContextValue","getContextSuffix","contextSuffix","resetDateRange","dialogPaymentInstructions","dialogOrderDetail","disposition","Dashboard","sendEnabled","ViewActivation","userPromotions","fidelityCardsModel","templateCard","getFidelityCards","setUserFidelityCard","parseFidelityCards","setUserPromotions","viewActivation","statusClass","statusLabel","activable","statusDescription","revocable","revocableMessage","expireAt","promotion","DialogFidelityCardActivation","disclosure","isActivable","isPendingActivation","isAcknowledgementPending","elementDialogHeaderH2","acknowledgement","changeAcknowledgement","postDisclosureAcceptances","userFidelityCard","appendElementFidelityCardTitle","appendElementFidelityCardPrice","getFidelityCardDisclosure","acknowledgementStatement","span","price","disclosureAccepted","fidelityCardUuid","fidelityCardActivation","acceptDisclosure","dialogSwitchingActivation","autoRenewEnabled","viewTemplateCard","templateFidelityCard","mdFileDownload","disclosureDownload","setActivationButtonMessage","activationMessage","setSelfRenewTooltip","dialogCardActivation","dialogCardManagement","dialogGracePeriodInformation","gracePeriod","fidelityCardRenew","viewTemplateFidelityCard","DialogHelpServicesAgreement","setDatasourceServices","openServiceAgreement","selectedService","serviceData","Help","urls","privacy","mailTo","sla","knowledge","supportTickets","expired","dialogHelpServicesAgreement","openExternalLink","ViewAgreements","allClausesAccepted","accepted","acceptances","userAgreementClauseUuid","areAllClausesAccepted","ImpostazioniEmail","multinvioDigitalSelfUsages","isMultinvioDigitalSelfUsagesEnded","displayAddress","notificationAddress","emailForwarding","certified","notCertified","certifiedAddresses","isCal","prefsel","sender","hasInheritedPEC","enableOverride","smtpServer","smtpPort","getMultinvioDigitalSelfUsages","usage","prefselChanged","ImpostazioniFax","cover","fax","ImpostazioniGenerali","enableCreditPartialUsage","enableToPayQueueDutiesForSubuserAtCheckout","mobileNumbers","internationalPrefix","confirmationCode","optedIn","optedOut","overrideData","resend","revoke","ImpostazioniMultibox","envelope","packagePresentation","recipientList","multibox","ImpostazioniMulticerta","multicertaInvitation","legalAcknowledgement","legalDuration","legalType","multicerta","ImpostazioniNotifiche","uiPreferences","emailPreferences","credit","serviceThreshold","postageThreshold","dailyDigest","directDebit","bouncedEmailsDigest","pushPreferences","appPush","blocked","refused","delivered","privacyConsent","commercial","PostaDialogConfirm","ImpostazioniPosta","envelopeLogoUuid","dataset","postalOrders","watermarks","print","frontBack","colorMode","sheetFormat","staple","postageCode","vectorEnablings","enabledAt","disabledAt","expectReceipt","topicOnReturnReceipt","nexive","letter","_prioritaria","_raccomandata","prioritaria","raccomandata","processPostages","processVectors","nexiveIndex","toggleNexive","postalAccount","postalAccountHolder","isToggle","prefSelector","fileUri","previews","setStatus","setDefault","uriBuild","getImage","vmCover","webPath","ImpostazioniSms","smsAliases","staticTooltipSms","numberUuid","aliasUuid","sms","vmEmailConfirm","emailConfirmationCode","vmLandingOfferta","offerExpired","promoOffers","localStorageOffer","authUserRedeemDate","redeemedAt","offerStatus","redeemCodes","activateOffer","updateLocalStorage","vmLandingRegistrazione","clients","editableUsername","pendingAttached","definitive","temporary","prospectUuid","passwordConfirm","clientUuid","commercialContact","thirdPartyDisclosure","setClientUuidDatasource","setBusinessTypeDatasource","changeEmail","priceListResponse","definitivePriceList","temporaryPriceList","businessTypes","assignToProfile","assignToHolderName","parsePhoneNumber","referral","assignToLocation","phoneId","mobilePhoneId","phoneCountryPrefix","mobilePhoneCountryPrefix","changeUsername","dialogPrivacyConsent","postAnonymousUsers","MulticertaInvite","mittente","multicertaInviteTableInterface","multicertaInviteSearchInterface","demoRecipient","vmPointsTransactionHistory","sourceTypes","contextDatasource","isMdCounterVisible","sourceUserUuidDatasource","isSelectedUserBuildingAdministartor","infoTooltipStatus","infoTooltipPoints","multicoinPoints","staticTooltipFidelityCard","staticTooltipMulticoin","defaultSearchSettings","sourceUserIdDatasource","transactionStatuses","changeSourceUserUuid","sourceUserUuid","changeSourceUserId","setContextDatasource","changeContext","setMdCounterVisibility","initTabs","setSourceTypesDatasource","setTransactionStatusesDatasource","totalAmount","totalPending","totalPendingAmount","totalBlocked","totalBlockedAmount","totalTransferred","totalTransferredAmount","getTransactionStatus","recordStatus","subusers","displayAccount","displaySubusers","dialogReason","dialogLockedAccreditation","legacySmsQueueId","navigateToLegacySMSreport","dialogFlatServiceSubscriptionDetail","NotificheAnteprima","kaTabsCounter","alerts","kaTabs","insertAdjacentHTML","getAlerts","metaAlerts","fetchSubusers","ownerDisplayName","readByMeAt","notificationsReadStatus","read","setAllAsRead","notificationsTableInterface","takeOver","assigneeUuid","shareCode","notificationTooltip","plainTextBody","elencoNotificheMie","elencoNotificheSottoutenti","elencoNotificheUtenti","vmElencoNotificheMie","myNotificationsTableInterface","myNotificationsSearchInterface","readBy","templateCode","getTemplates","setTemplate","readByChanged","getNotifications","templates","oldSelectedTemplate","newSelectedTemplate","vmElencoNotificheUtenti","_subusers","userNotificationsTableInterface","userNotificationsSearchInterface","searchSubuser","setSubuser","searchSubuserChanged","oldSelectedSubuser","newSelectedSubuser","searchUser","viewCopertine","isSubuser","isPrintOperator","IsUserSearchFieldVisible","searchInterfaceData","coverStatuses","mdFileViewer","setPrivileges","setIsUserSearchFieldVisible","initView","getCovers","setSearchInterfaceUserLabel","setSearchInterfaceUserEndpoint","setSearchInterfaceSchemaStatusDatasource","setTableInterfaceCoversEndpoint","resetCovers","changeSearchInterfaceDataTarget","changeSearchInterfaceDataUser","dialogManageCover","dialogAddCover","dialogUserAssociationsWithTheCover","dialogDeleteCover","recordUuid","deleteCover","DialogAddCover","selectedSubuserProfiles","staticTooltipCover","associations","setResourceSchemaItemsValidationRule","presets","changeAssociationsTarget","setResourceSchemaPresetsDatasource","changeAssociationsItems","setFileData","onloadend","setPayload","associatedSubusers","postCover","addCover","DialogManageCover","refusalReason","setCoverStatus","authorDisplayName","patchLetterCover","manageCover","DialogUserAssociationsWithTheCover","dialogService","currentItems","isDefault","normalizeItemDefault","isAssociated","normalizeItemAssociation","itemDeafault","itemAssociation","changeTarget","saveUserAssociationsWithCover","vmAutorizzazioni","mav","isBankOperator","isUser","UtentiDialogMavApproval","trusteeServiceCode","trustee","serviceCode","UtentiDialogCreateRequest","setUserId","getBillingProfiles","subuserChanged","billingProfiles","identifier","vmMav","mavRequestModel","trusteeDisplayName","trusteeSubServiceCode","isMAVrequestCreatable","dialogMAVRequestCreation","isMAVrequestsCSVDownloadable","MAVrequestsCSVDownload","IsMAVcollectionDownloadDisabled","MAVcollectionDownload","IsMAVrequestApprovalDisabled","MAVrequestApproval","MAVrequestApprovalStatus","setMAVrequestApprovalStatus","toastContext","isMAVRequestDeletionDisabled","subServiceCode","DialogDownloadReceipts","vmTracciatiEsitoPagamento","richieste","vmTracciatiEsito","selectedArray","recordsSelected","allRecordsSelected","someRecordsSelected","someRecords","visibleRecordsUuids","allRecords","billingProfileOwnerDisplayName","accounted","downloaded","showDisabled","accountFor","resetSelectedCbis","exportSelectedCbis","receiptUuidIn","downloadSelectedCbis","markReceiptsAsAccountedOnSuccess","vmAbbonamenti","isPendingInitTabs","flatServiceProducts","showMigrationsTab","isGetFlatServiceTypesPending","setTools","showOrHideMigrationsTab","getFlatServiceProducts","isMaster","getLastServiceContractSubscribed","setPrivilegesTabs","responses","mineResponse","subusersResponse","mineHasElements","subusersHasElements","isBasicUser","attivi","attivabili","volture","getFlatServiceTypes","productCode","enabledUntil","dialogCashbackSubscriptionRequired","dialogFidelityCardRequired","requestedUserData","lastAcceptedServiceContract","isCashbackContractNeverBeenSigned","getLastMultinvioContractSubscribed","rescindedAt","ServiceDialogAbbonamentiAttivazioneSottoutenti","activations","isServicePayableBy","activationSummary","pendingBillingProfiles","pendingActivation","failedActivationsCount","successfulActivationsCount","userBillingProfileDatasource","recordBillingProfilePending","resourcePayment","resourceBillingProfile","payable","initServiceDialog","setResourcePaymentDatasource","setResourcePaymentData","setUserBillingProfile","initTableSelectionInterface","_resource","isLastRecord","setSubusersBillingProfiles","getAllSubuserBillingProfiles","tableSelectionInterface","any","usablePaymentMethods","setBillingProfileDatasourceItem","lasttName","taxCode","setEachSubuserBillingProfile","defaultBillingProfileUuid","setFailedActivationDetail","_failedActivationXhr","setFlatServicesActivationsPayload","payeeBillingProfileUuid","payeeUserUuid","autoRenewable","autoRenew","setActivationSummary","newActivation","setFailedActivationsCount","feedback","setSuccessfulActivationsCount","activateSelectedRecords","showFailedActivationDetail","exportActivationsReport","parseFailedActivationDetailMessage","ServiceDialogAbbonamentiAttivazione","payeeUserId","payableByUserId","billingDatasource","ServiceDialogAbbonamentiAutorinnovo","updateDatasourcePending","autoRenewPaymentMethod","updateDatasource","allowedAutoRenewPaymentMethods","filteredPaymentMethods","ServiceDialogAbbonamentiCashbackContractSubscriptionRequired","ServiceDialogAbbonamentiDetail","flatService","setStatusDatasource","setPaymentMethodDatasource","flatServiceCode","flatServiceProductCode","flatServiceType","flatServiceTitle","flatServiceDescription","orderId","ownerFiscalCode","ownerParentDisplayName","flatServicePrice","flatServiceCashbackAmount","flatServiceMulticoinPoint","payeeDisplayName","getFlatService","setResourceData","dataProperty","ServiceDialogAbbonamentiEditor","payers","getPaymentMethods","availableByDefault","changeProductCode","comboItems","comboItemsSource","changeActivableByPrivilegedUserOnly","payableByDatasource","activableByPrivilegedUserOnly","changeSubscriptionExpireAt","subscriptionExpireAt","changePaymentMethods","isFreeCharge","vatAmount","getDefaultPaymentMethods","allowableBusinessTypes","subscriptionExpiryType","promotionNeeded","createPortabilityPromotionOnActivation","associatedPromoCodes","cashbackAmount","multicoinPoint","vault","setAllowableBusinessTypesDatasource","flatServiceDataParse","activableOnUser","activableOnSubuser","payableBySponsor","payableByUser","payableBySubuser","addedPromoCode","removedPromoCode","promo","SponsorUuid","ServiceDialogFidelityCardActivationSubscriptionRecommended","goToFidelityCardsActivation","ServiceDialogLog","logs","operationLog","ServiceDialogModifyServiceExpiration","applyStatusAt","ServiceDialogAbbonamentiStatoServizio","toUTC","seconds","milliseconds","toISO","suppressMilliseconds","ACTIVE","TERMINATED","SUSPENDED","vmAbbonamentiAttivabili","searchedData","staticTooltipServices","productCodeChanged","setFlatServiceTypesDatasource","suffixUrl","activateService","activateOnUserId","payableByUserUuid","isServiceCashbackGracePeriod","openDialogSubuserServiceActivation","openDialogUserServiceActivation","serviceDescription","vmAbbonamentiAttivi","isServiceAutoRenewDisabled","showLogs","showBankTransfer","legacyApi","creditorCompany","creditorIban","editExpiration","dialogAutoRenew","editRenewal","isAutoRenewDisabled","vmAbbonamentiGestione","endpointServices","createService","editService","vmVolture","buildEndpoint","confirmSelectedServices","parsedError","viewCrediti","currentBalance","selectedParentIsMaster","migrationMessages","migrationReceiverDisplayName","creditTableInterface","creditSearchInterface","dateStart","dateEnd","setParent","filteredNoVatSubjectAmount","filteredVatSubjectAmount","noVatSubjectAmount","vatSubjectAmount","ripristina","creditMovement","getMigrationMessage","migrationVerse","messageTemplate","export","sign","vatSubject","noVatSubject","viewDeposito","bailmentTableInterface","bailmentSearchInterface","depositTransaction","DialogCreditMovement","signTransaction","masterUser","DialogDepositTransaction","note","cause","DialogTransactionConfirm","ServiceDialogListiniPianificazione","pricelists","vmPromozioni","isParent","vmListiniElenco","pricelistDefault","pricelistsPending","allSubusers","searchSubusersChanged","searchSubusers","selectedSubuser","legacyLink","getSubusers","setContext","selectSubuser","pricelist","priceListDefault","newPricelistSchedule","subusersPricelistSchedule","vmPromozioniAggiungi","addPromotion","promotionUuid","DialogCreatePromotion","DialogEditPromotion","assegnate","vmPromozioniAssegnate","selectedUserId","selectedUserData","endsPromotion","editPromotion","vmPromozioniGestione","createPromotion","vmRicariche","vmRicaricheElenco","fetched","visible","userChange","packageTypes","packages","cart","quantity","net","vat","packageCount","resetTypesDatasource","typesChange","schemaChanged","typeCode","updateCart","addToCart","pkg","setQuantity","removeFromCart","getCartPayload","emptyCart","cartbar","totalBasketItems","totalBasketNetAmount","totalBasketVat","storageCart","checkout","DialogBankTransfer","prececkout","getPrececkout","customerCareEmail","confirmationShortCode","mailto","customerCareConfirmation","DialogLegacyHistory","archiveLabel","archive","toLegacyArchive","setArchiveLabel","DialogMessageCostDetail","costVoices","DialogMessageStatusTransitionsHistory","messageStatuses","queueMessages","getMessageStatuses","setMessageStatuses","DialogQueueCostDetail","DialogMessageStatuses","sendCodes","sendCodeErrorsChanged","parsedValue","queuesSendCodes","xQueuesSendCodesErrors","sendCodeErrors","DialogReportAttachments","queueUuid","errorInit","messageUuid","attachments","globalCover","queueOwnerId","globalStaple","fastDelivery","messageChannel","downloadFile","slug","DialogReportMultiboxDetail","DialogReportQueueResend","selectableRecipients","numberSelected","errorSearch","allPageSelected","pendingSearch","getSelectedsCount","getSelectedsKeys","switchAllSelectedButton","toggleRecipientSelection","handlePageSelection","queueOwner","setDefaults","getDeafaultSelectableRecipients","allUuidsMap","getAllUuid","allUuids","recipient","togglePageSelection","createNewDraft","recipientsUuid","newDraftUuid","openCopiedQueueInSenderUi","updateCounter","ViewPending","parseRecordsSelected","sessionContext","totalGrossGte","totalGrossLte","payment_method","send_code","short_confirmation_code","topic","editDraft","deleteDraft","deleteSelectedDrafts","contextPath","possiblyRequiredFields","setPaymentMethod","setContextPath","utenti","_datasource","shortConfirmationCode","shipment","isSearchEnabled","isOrderAmountShowable","orderAmount","grossAmount","handlePossiblyRequiredFields","badgeUpdate","dialogPossiblyRequiredFields","searchEnabled","isRequired","userConfirmOrder","backofficeConfirmOrder","bankTranferCheck","editQueue","abortQueue","messageHtml","draftUuid","bankTransferData","dialogDeletePayment","deleteOrder","ViewReportDetail","queueProperties","previousRoute","usedChannels","isEmailForwardingUsed","canQueueBeDiscontinued","isGoBackButtonShowable","urlPosteItaliane","getQueueOutlines","getSender","initMessages","getPostages","initMessagesInterface","messagesTableInterface","messagesSearchInterface","setChannelDatasource","reinitializeAfterDeliveryInterruption","setIsEmailForwardingUsed","setCanQueueBeDiscontinued","postalService","setMessageDialogInterruptDelivery","isSomeChannelIncluded","dialogMessageStatusTransitionsHistory","dialogMessageCostDetail","dialogAttachments","dialogQueueResend","dialogMultibox","dialogInterruptDelivery","interruptDelivery","downloadReceipt3A","legacyId","downloadCertificatesTSD","downloadDeliveryReceipt","downloadQueueSchedule","downloadLogMessages","navigateTo","shouldShowCostLink","cost","emailForwardingUsed","queueDeliveryCanBeDiscontinued","canDownloadReceipt","deliveryReceiptAvailable","parseDeadlineEvents","deadlineEvents","emailNotificationAddresses","vmReport","isDateLowerThan","isLegacyQueueDetail","displayPaymentMethods","partialCreditPayment","getUserData","groupedStatuses","groupedValues","dataProperties","downloadWorkOrderList","openDialogQueueCsvDownload","setSelectable","oldRecords","newRecords","sendCode","setSelected","selectable","setPageSelection","dataSendCodes","islegacyDetail","navigateToLegacyReportDetail","inviate","annullate","archiviate","getClients","openDialogLegacyHistory","toLegacy","ViewArchived","statusMessages","pageSelection","selectedChanged","setContextSuffix","vmSentReload","vmCanceledReload","unarchive","directory","ViewCanceled","abandonedStatus","vmArchiveReload","ViewSent","loadingId","updateWaitingQueuesStorage","isSearchDisabled","updateQueueMessages","dataDefaultProperties","dialogQueueCostDetail","charenc","utf8","stringToBytes","bin","bytesToString","bytes","escape","core","__e","aFunction","that","ctx","hide","PROTOTYPE","$export","own","out","IS_FORCED","F","IS_GLOBAL","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","virtual","R","U","__g","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","Attributes","bitmap","valueOf","cof","UNSCOPABLES","ArrayProto","at","unicode","forbiddenField","toObject","toAbsoluteIndex","copyWithin","to","inc","fill","endPos","toIObject","IS_INCLUDES","fromIndex","IObject","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","res","memo","isRight","SPECIES","speciesConstructor","arraySlice","factories","partArgs","bound","TAG","ARG","T","tryGet","callee","redefineAll","anInstance","forOf","$iterDefine","setSpecies","DESCRIPTORS","fastKey","SIZE","getEntry","_f","getConstructor","NAME","ADDER","iterable","_t","def","setStrong","iterated","_k","getWeak","createArrayMethod","$has","arrayFind","arrayFindIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","ufstore","redefine","fails","$iterDetect","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","Base","fixMethod","KEY","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","NEED","$toISOString","lz","num","NaN","RangeError","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","NUMBER","hint","getKeys","getSymbols","isEnum","exp","MATCH","re","defined","wks","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","maybeCallNative","nativeMethod","arg2","forceStringMethod","strfn","rxfn","ignoreCase","multiline","sticky","IS_CONCAT_SPREADABLE","flattenIntoArray","sourceLen","mapper","spreadable","mapFn","isArrayIter","getIterFn","BREAK","RETURN","ITERATOR","documentElement","un","Iterators","isInteger","isRegExp","ret","IteratorPrototype","LIBRARY","$iterCreate","BUGGY","KEYS","VALUES","DEFAULT","IS_SET","FORCED","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","SAFE_CLOSING","riter","skipClosing","safe","arr","$expm1","expm1","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","Infinity","log1p","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","onFreeze","macrotask","Observer","isNode","domain","exit","nextTick","standalone","PromiseCapability","$$resolve","$$reject","$assign","A","K","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","contentWindow","Properties","windowNames","getWindowNames","$keys","hiddenKeys","arrayIndexOf","isEntries","$parseFloat","$trim","$parseInt","ws","radix","newPromiseCapability","promiseCapability","SRC","$toString","TO_STRING","TPL","isFunction","classof","builtinExec","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","buggy","stat","shared","SHARED","copyright","D","quot","createHTML","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","spaces","space","ltrim","rtrim","exporter","ALIAS","FORCE","defer","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","ONREADYSTATECHANGE","listener","port2","port1","onmessage","postMessage","importScripts","$typed","$buffer","propertyDesc","toIndex","createArrayIncludes","ArrayIterators","arrayFill","arrayCopyWithin","$DP","$GOPD","ARRAY_BUFFER","SHARED_BUFFER","BYTES_PER_ELEMENT","$ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayIncludes","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","WRONG_LENGTH","$map","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","toOffset","BYTES","speciesFromList","fromList","addGetter","internal","$from","$of","TO_LOCALE_BUG","$toLocaleString","comparefn","subarray","begin","$begin","byteOffset","$slice","$set","$iterators","isTAIndex","$getDesc","$setDesc","$TypedArrayPrototype$","CLAMPED","GETTER","SETTER","TypedArray","TAC","ABV","TypedArrayPrototype","addElement","getter","setter","$offset","$length","byteLength","klass","$len","$nativeIterator","CORRECT_ITER_NAME","$iterator","DATA_VIEW","WRONG_INDEX","BaseBuffer","LN2","BUFFER","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","unpackI32","packI8","packI16","packI32","packF64","packF32","isLittleEndian","intIndex","pack","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","Typed","TypedArrayConstructors","px","wksExt","$Symbol","USE_SYMBOL","$every","$filter","$find","forced","$forEach","STRICT","createProperty","$indexOf","NEGATIVE_ZERO","addToUnscopables","Arguments","$reduce","upTo","cloned","$some","$sort","toJSON","pv","TO_PRIMITIVE","DateProto","INVALID_DATE","HAS_INSTANCE","FunctionProto","FProto","nameRE","strong","MAP","sqrt","$acosh","acosh","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","$Number","BROKEN_COF","TRIM","argument","third","maxCode","_isFinite","isSafeInteger","MIN_SAFE_INTEGER","aNumberValue","$toFixed","ERROR","ZERO","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$fails","$toPrecision","toPrecision","precision","$freeze","$getOwnPropertyDescriptor","$getPrototypeOf","$isExtensible","$isFrozen","isFrozen","$isSealed","isSealed","$preventExtensions","$seal","seal","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","PROMISE","versions","v8","$Promise","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","_v","_s","reaction","exited","fail","_h","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","onrejectionhandled","$reject","_w","$resolve","executor","onFulfilled","onRejected","capability","remaining","alreadyCalled","race","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","deleteProperty","Enumerate","enumerate","getProto","receiver","V","existingDescriptor","ownDesc","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","flags","advanceStringIndex","regExpExec","$match","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","$SPLIT","LENGTH","MAX_UINT32","SUPPORTS_Y","SPLIT","$split","internalSplit","lastLength","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","big","blink","bold","$at","ENDS_WITH","$endsWith","endPosition","fixed","fontcolor","fontsize","$fromCodePoint","INCLUDES","italics","point","callSite","tpl","small","STARTS_WITH","$startsWith","strike","sup","wksDefine","enumKeys","_create","gOPNExt","$GOPS","$JSON","_stringify","HIDDEN","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$propertyIsEnumerable","$getOwnPropertyNames","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","$replacer","$isView","isView","fin","viewS","viewT","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint32Array","Uint8ClampedArray","InternalMap","each","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","WEAK_MAP","$WeakMap","WEAK_SET","arraySpeciesCreate","flatMap","$includes","getOwnPropertyDescriptors","getDesc","$values","onFinally","$pad","WEBKIT_BUG","padEnd","padStart","trimLeft","trimRight","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","$task","MSIE","time","boundArgs","base64map","crypt","rotl","rotr","endian","randomBytes","bytesToWords","wordsToBytes","bytesToHex","hexToBytes","bytesToBase64","base64","triplet","base64ToBytes","imod4","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_IMPORT_20___","___CSS_LOADER_URL_IMPORT_21___","___CSS_LOADER_URL_IMPORT_22___","___CSS_LOADER_URL_IMPORT_23___","___CSS_LOADER_URL_IMPORT_24___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","___CSS_LOADER_URL_REPLACEMENT_24___","___CSS_LOADER_URL_REPLACEMENT_25___","___CSS_LOADER_URL_REPLACEMENT_26___","___CSS_LOADER_URL_REPLACEMENT_27___","___CSS_LOADER_URL_REPLACEMENT_28___","___CSS_LOADER_URL_REPLACEMENT_29___","cssWithMappingToString","needLayer","media","dedupe","supports","layer","alreadyImportedModules","needQuotes","cssMapping","sourceMapping","sourceURLs","sources","sourceRoot","___HTML_LOADER_IMPORT_0___","___HTML_LOADER_IMPORT_1___","___HTML_LOADER_REPLACEMENT_0___","maybeNeedQuotes","isBuffer","isSlowBuffer","readFloatLE","_isBuffer","KaPluginConfiguration","_kaDialog","_kaToast","_kaApi","kaConfig","useAll","_kaConsole","KaConsole","_classCallCheck","useStandard","useLayout","useInputs","useControls","KaApi","_aureliaFramework","_aureliaHttpClient","_aureliaRouter","_environment2","routeLogin","routeHome","APP_STORAGE","APP_KAMAJI_BASE_URL","_isKamaji1","grant_type","access_token","refresh_token","userid","_ref2","conf","_descriptor","_descriptor2","_descriptor3","KaButton","_initDefineProp","_applyDecoratedDescriptor","_ready","disabledChanged","busyChanged","KaControlBackdropService","drawer","KaControlCheck","_descriptor4","_arr","_schema","kaControlComboTextifyValueConverter","kaControlComboHighlightValueConverter","KaControlCombo","_desc","_value","_initializerWarningHelper","_client","opened","combostack","valuestack","preloadedCombostack","datasearch","buildCombostack","clientChanged","getValueModel","buildValuestack","dts","buildQueryUrl","dtv","dtt","unmatched","getUrlParams","_isArray2","_iterator2","_ref3","_iterator3","_isArray3","_ref4","evalSafeVar","_ret","_combostack","max_h","searchInput","term","dtp","dsh","terms","searchRequest","searchPending","searchKeyUp","searchDebounceTimeout","searchKeyDown","_Object$assign","_hash$split","dtf","datafilter","urlParams","_keys2","_iterator4","_isArray4","_i5","_ref5","_item","_text","_keys3","_iterator5","_isArray5","_i6","_ref6","_valuestack","controlDateValueConverter","KaControlDate","_descriptor5","_luxon","_kaControlBackdrop","keydown","fromFormat","fromISO","setZone","toLocal","toFormat","controlDatetimeValueConverter","KaControlDateTime","KaControlEditor","_kaCkeditor2","buildEditor","editorValuePending","getData","readonlyChanged","isReadOnly","_editor_initialized","contentToolbar","editing","isFocused","KaControlFile","displayValue","KaControlsList","KaControlNumber","KaControlPassword","KaControlsTable","KaControlText","KaControlTextarea","_dec11","_dec12","_dec13","_dec14","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","NullifyEmptyValueConverter","KaControl","_aureliaValidation","_kaComponents","parentResourceName","_name$split","bindToResource","subscribeValueCollectionObserver","unbindFromResource","valueCollectionObserver","bindedToResource","checkNested","scrollErrorOverflow","scroller","offsetWidth","dropdown","setSchemaBinding","resourceControlSchemaBinding","resourceSchemaBinding","createNested","setDataBinding","resourceControlValueBinding","resourceValueBinding","resourceReadonlyBinding","levels","KaDatetime","Info","month","numeric","long","short","weekdays","weekday","hours","hour","minutes","minute","dateTime","day","year","weeks","monthInterval","Interval","fromDateTimes","startWeek","plus","weekInterval","week","splitBy","Duration","fromObject","setValues","shiftValues","KaDialogVm","_aureliaDialog","_kaDialogVm","KaEnterCustomAttribute","_callback","keyCode","kaHighlightValueConverter","KaInputControls","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_descriptor19","_descriptor20","_kaCkeditor","_moment","_moment2","bindingEngine","config_overrides","checklistInit","comboListUpdate","dateInit","comboInit","editorInit","clearEnabled","addEnabled","openEnabled","dropdownEnabled","showEnabled","downloadEnabled","dateDisplayValue","comboDisplayValue","childRoute","dialogClosed","hideEnabled","configChanged","checklistParseSelected","fileDisplayValue","requiredChanged","keyup","validation","checkClick","heading","fileInit","comboOpen","comboOpened","comboClose","comboReady","comboQuery","combo","comboQueryValue","comboGetItems","comboParseSelected","parse_response","addUrlParam","queryOperator","dataoperator","clientRequest","_endpoint","_fields","datatexts","parsed","comboValueReady","_datatext","comboSelect","_isArray6","_iterator6","comboListAddItem","comboListItems","comboListRemoveItem","listItem","checklistItems","checklistSelect","_iterator7","_isArray7","_i7","_ref7","_isArray8","_i8","_iterator8","_ref8","addUrlParams","_iterator9","_isArray9","_i9","_ref9","_ref10","_v2","_iterator10","_isArray10","_i10","_ref11","KaInput","insideMdResource","resourceControls","resourceRef","resourceControlsChanged","KaLayout","_navigation2","closest","expand","collapse","KaNavbar","appName","button","KaProgress","KaResource","saveAndReload","schema_loaded","data_loaded","save_before","save_after","buttonsActions","dataValidated","dataValidateError","modeChanged","_setReadonly","listRefQuery","_request","originalData","injectSchema","injectData","_validateControls","filedata","stream","granted","_ref12","_ref13","parentTab","promiseAll","_resetButtons","_iterator11","_isArray11","_i11","_ref14","KaTable","filters_loaded","records_loaded","sort_stack","sort_columns","config_operators","json","config_metas","config_options","hasFilters","hide_options","hide_filters","columns","filtrables","sortables","exportables","actions","appVer","prefilter","floater","transform","columns_schema","fieldDataset","fieldSchema","_fieldSchema","_field2","fieldKebab","export_schema","export_field","_field","_field4","default_operator","value_from","value_to","_loop4","_operator","filter_operator","filter_value","count_query","_field3","reference_query","export_query","nw","_iterator12","_isArray12","_i12","_iterator13","_isArray13","_i13","diff","set_sort","_iterator14","_isArray14","_i14","set_page","set_limit","show_options","optionsOpen","show_filters","filtersOpen","apply_filters","reset_filters","_iterator15","_isArray15","_i15","_ref15","_field5","show_export","exportOpen","hide_export","select_export","_iterator16","_isArray16","_i16","_ref16","_field6","unselect_export","_iterator17","_isArray17","_i17","_ref17","_field7","apply_export","exportPages","_iterator18","_isArray18","_i18","_ref18","_loop5","_isArray19","_i19","_iterator19","_ref19","copy","deep","unique","duplicate","deepcopy","_iterator20","_isArray20","_i20","_ref20","_field8","KaTableFilters","KaTabs","contents","whiteSpace","isDialog","currentTab","KaTooltipCustomAttribute","_dom","_middlewareData$arrow","getCssDimensions","hasOffset","offsetHeight","shouldFallback","$","unwrapElement","contextElement","getScale","domElement","noOffsets","getVisualOffsets","visualViewport","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getClientRectFromClippingAncestor","clippingAncestor","getViewportRect","clientWidth","clientHeight","visualViewportBased","getDocumentRect","scroll","scrollWidth","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","htmlX","htmlY","htmlRect","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","floating","getDocumentElement","getClippingRect","rootBoundary","clippingAncestors","getClippingElementAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","firstClippingAncestor","clippingRect","accRect","getElementRects","async","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","reference","getClientRects","isElement","isRTL","autoUpdate","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","passive","cleanupIo","observeMove","onMove","io","cleanup","_io","skip","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","frameId","reobserveFrame","resizeObserver","firstEntry","cancelAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","detectOverflow","autoPlacement","inline","limitShift","mergedOptions","platformWithCache","Bold","Cancel","Code","Column","Downloadable","Heading","Italic","Justify","Link","Next","Paragraph","Previous","Redo","Row","Save","Strikethrough","Subscript","Superscript","Undo","Unlink","getPluralForm","CKEDITOR_TRANSLATIONS","super","rethrowUnexpectedError","HTMLIFrameElement","contentDocument","base","u","h","references","updater","nonce","nc","styleSheet","Buffer","require","CKEDITOR_VERSION","allocUnsafe","webpackPolyfill","injectType","locals","M","I","N","__data__","H","Y","Q","J","Z","tt","X","nt","et","ot","st","ct","ft","pt","bt","wt","vt","xt","yt","Tt","Ct","St","Pt","Et","Mt","Nt","It","Rt","Ot","Lt","Dt","Vt","Bt","Ht","Ft","Wt","Ut","Yt","Qt","Gt","Jt","Xt","Zt","ne","ee","ie","oe","se","ce","ae","de","le","he","ue","ge","fe","pe","me","we","be","ke","xe","ye","ve","Ae","Te","Se","Ce","Pe","Ee","Ie","Me","Oe","De","Re","ze","Le","je","Ve","He","Fe","Ue","We","qe","$e","Ye","Qe","Ke","Ze","tn","Xe","nn","En","In","Mn","On","Nn","Rn","Dn","isTypedArray","zn","jn","Fn","Bn","Hn","Wn","Un","$n","Gn","Kn","Qn","Zn","Jn","ti","Xn","ni","ei","oi","ri","ai","di","li","hi","ui","fi","gi","pi","wi","vi","yi","xi","Ai","Ci","Ti","Pi","Mi","Ii","Oi","Ni","Di","Ri","zi","Li","ji","Vi","Fi","Ui","qi","Yi","Gi","Ki","Ji","Zi","Xi","eo","oo","so","ro","co","uo","lo","fo","mo","bo","po","wo","ko","_o","vo","yo","Ao","xo","Co","To","Yo","$o","Go","Qo","Ko","Zo","Jo","es","ts","ns","isMap","os","rs","cs","isSet","ds","gs","xs","Bs","Hs","Fs","keysIn","$s","Us","Gs","Ys","Qs","_config","Ks","_setObjectToTarget","_setToTarget","_getFromSource","Js","Xs","Zs","called","er","nr","ir","highest","high","low","lowest","or","rr","ar","cr","lr","listenTo","stopListening","fr","hr","emitter","callbacks","gr","childEvents","br","kr","fire","wr","_delegations","_r","stopDelegating","dr","_events","vr","yr","xr","_items","_itemMap","_idProperty","idProperty","_bindToExternalToInternalMap","_bindToInternalToExternalMap","_skippedIndexesFromExternal","_getItemIdBeforeAdding","getIndex","_bindToCollection","bindTo","_setUpBindToBinding","using","Ar","_context","_plugins","_availablePlugins","_contextPlugins","isContextPlugin","requiredBy","_add","plugin1","plugin2","Cr","Er","Pr","plural","Mr","Ir","uiLanguage","contentLanguage","uiLanguageDirection","Or","contentLanguageDirection","Nr","Rr","builtinPlugins","editors","_contextOwner","initPlugins","_addEditor","_removeEditor","_getEditorConfig","Dr","Vr","zr","jr","getChildIndex","getChild","getPath","getAncestors","includeSelf","parentFirst","getCommonAncestor","isBefore","isAfter","_remove","_removeChildren","_fireChange","Br","_textData","isSimilar","_clone","Fr","textNode","offsetInText","offsetSize","isPartial","Ur","Hr","Wr","_patterns","qr","matchAll","$r","Yr","Gr","getClassNames","hasClass","Qr","hasStyle","getStyle","Zr","Jr","Xr","ta","na","oa","Cache","sa","ca","aa","la","da","ua","ha","ga","fa","ma","pa","ba","wa","va","ka","xa","ya","Ta","Aa","Ca","Pa","Sa","Ma","Ea","Na","Ia","Ra","Oa","La","Da","Va","za","Ba","ja","Ha","Fa","Wa","Ua","$a","Ga","Ya","Ka","Qa","Za","Ja","tc","Xa","ec","ic","rc","sc","ac","lc","cc","uc","dc","hc","fc","pc","wc","bc","kc","yc","vc","Ac","xc","Cc","Tc","Sc","Pc","Mc","Ec","Nc","Ic","Oc","_styleProcessor","getStyleNames","setTo","Dc","toNormalizedForm","getReducedForm","Lc","_cleanEmptyObjectsOnPath","getNormalized","_getStylesEntries","getAsString","Rc","_normalizers","_extractors","_reducers","_consumables","zc","getRelatedStyles","setNormalizer","setExtractor","setReducer","setStyleRelation","_mapStyleNames","Vc","_attrs","jc","_children","_insertChild","_classes","Bc","stylesProcessor","_customProperties","childCount","getChildren","getAttributeKeys","getAttributes","getNormalizedStyle","findAncestor","getCustomProperty","getCustomProperties","getIdentity","getFillerOffset","_appendChild","Fc","_setAttribute","_removeAttribute","_addClass","_removeClass","_setStyle","_removeStyle","_setCustomProperty","_removeCustomProperty","Hc","Uc","Wc","qc","$c","Yc","Gc","Qc","Jc","Zc","toMany","Xc","_observable","_bindProperties","_to","_bindings","methodName","Kc","nl","rl","sl","ol","tl","al","selection","editableElement","cl","ll","rootName","dl","boundaries","startPosition","ul","_createAt","singleCharacters","shallow","ignoreElementEnd","_boundaryStartParent","_boundaryEndParent","_next","_previous","isAtEnd","_createAfter","_formatReturnValue","isAtStart","_createBefore","isEqual","previousPosition","nextPosition","nodeAfter","nodeBefore","getShiftedBy","getLastMatchingPosition","compareWith","getWalker","hl","isFlat","getEnlarged","fl","getTrimmed","containsPosition","containsRange","getDifference","isIntersecting","getIntersection","getContainedElement","getItems","getPositions","_createFromParentsAndOffsets","_createFromPositionAndShift","_createIn","_createOn","gl","ml","_ranges","_lastRangeBackward","_isFake","_fakeSelectionLabel","isFake","fakeSelectionLabel","isBackward","getRanges","getFirstRange","getLastRange","getFirstPosition","getLastPosition","getSelectedElement","_setRanges","_setFakeOptions","pl","fake","backward","setFocus","_addRange","_pushRange","addedRange","intersectingRange","_setTo","_setFocus","bl","roots","_postFixers","getRoot","registerPostFixer","_callPostFixers","kl","_priority","_id","_clonesGroup","getElementsWithSameId","vl","DEFAULT_PRIORITY","Al","Tl","isMac","Sl","isGecko","Pl","isSafari","El","isAndroid","Ml","features","isRegExpUnicodePropertySupported","Il","Cl","Nl","Ol","ctrl","alt","Rl","Vl","arrowleft","arrowup","arrowright","arrowdown","backspace","esc","cmd","Dl","Ll","zl","Bl","Hl","toDomElement","Fl","Ul","domTarget","defaultView","getSelection","getRangeAt","focusNode","focusOffset","domPositionToView","viewPositionToDom","extend","domConverter","Wl","ql","$l","_cloneGroups","setSelection","setSelectionFocus","createText","createAttributeElement","createContainerElement","createEditableElement","_document","createEmptyElement","createUIElement","setStyle","removeStyle","setCustomProperty","removeCustomProperty","breakAttributes","_breakAttributes","_breakAttributesRange","breakContainer","mergeAttributes","_removeFromClonedElementsGroup","Zl","mergeContainers","Xl","Gl","_addToClonedElementsGroup","nd","Yl","_wrapPosition","_wrapRange","_unwrapChildren","rename","clearClonedElementsGroup","createPositionAt","createPositionAfter","createPositionBefore","createRange","createRangeOn","createRangeIn","createSelection","_wrapChildren","_wrapAttributeElement","Ql","_unwrapAttributeElement","Kl","Jl","POSITIVE_INFINITY","ed","td","od","sd","rd","ckeFiller","cd","ld","dd","ud","fd","startContainer","startOffset","gd","md","firstIndex","lastIndexOld","lastIndexNew","bd","wd","howMany","kd","fastDiff","vd","yd","xd","Node","Ad","domDocuments","markedAttributes","markedChildren","markedTexts","_inlineFiller","_fakeSelectionContainer","markToSync","mapViewToDom","_updateChildrenMappings","_isSelectionInInlineFiller","_removeInlineFiller","_getInlineFillerPosition","_needsInlineFillerAtSelection","_updateAttrs","_updateChildren","inlineFillerPosition","_updateText","Cd","_updateSelection","_updateFocus","viewChildrenToDom","withChildren","_diffNodeLists","_findReplaceActions","equal","_updateElementMappings","unbindDomElement","bindElements","Td","findCorrespondingDomText","viewToDom","insertData","deleteData","_markDescendantTextToSync","domToView","Md","Pd","Sd","_removeDomSelection","_removeFakeSelection","_updateFakeSelection","_updateDomSelection","Id","bindFakeSelection","_fakeSelectionNeedsUpdate","removeAllRanges","selectNodeContents","addRange","_domSelectionNeedsUpdate","Ed","ELEMENT_NODE","isDomSelectionCorrect","domSelectionToView","anchorNode","mapDomToView","isBlockFiller","Nd","Od","Rd","DOCUMENT_NODE","Ld","zd","blockFillerMode","preElements","blockElements","_blockFiller","_domToViewMapping","_viewToDomMapping","_fakeSelectionMapping","fakeSelectionToView","bindDocumentFragments","_processDataFromViewText","viewRangeToDom","setStart","setEnd","getParentUIElement","_processDataFromDomText","isComment","isDocumentFragment","keepOriginalCase","domChildrenToView","isDomSelectionBackward","domRangeToView","endContainer","endOffset","findCorrespondingViewText","scrollX","scrollY","jd","scrollTo","DOCUMENT_FRAGMENT_NODE","COMMENT_NODE","isEqualNode","Fd","Bd","anchorOffset","detach","_isDomSelectionPositionCorrect","_getTouchingViewTextNode","_nodeEndsWithSpace","Vd","_getTouchingInlineDomNode","_checkShouldLeftTrimDomText","_checkShouldRightTrimDomText","Text","createTreeWalker","NodeFilter","SHOW_TEXT","SHOW_ELEMENT","acceptNode","FILTER_ACCEPT","FILTER_SKIP","Dd","Hd","Ud","_getProxyEmitter","qd","attach","ur","$d","Wd","_domNode","_domListeners","_createDomListener","useCapture","removeListener","Yd","isEnabled","enable","disable","Kd","Qd","Zd","Jd","Xd","tu","nu","eu","ou","iu","cu","du","lu","hu","uu","Cu","Su","Eu","Pu","Nu","Ru","Ou","Lu","zu","Vu","Bu","Hu","Fu","Wu","Uu","$u","qu","Yu","characterDataOldValue","_renderer","_domElements","_mutationObserver","_onMutations","takeRecords","_isBogusBrMutation","oldText","newText","oldChildren","newChildren","forceRender","Gu","domEvent","Qu","domEventType","onDomEvent","Ku","keystroke","Zu","th","eh","nh","ih","oh","rh","sh","lh","uh","dh","leading","maxWait","trailing","hh","_fireSelectionChangeDoneDebounced","fh","_handleSelectionMove","oldSelection","newSelection","domSelection","gh","_clearInfiniteLoopInterval","_clearInfiniteLoop","_loopbackCounter","_handleSelectionChange","hasDomSelection","mh","_renderTimeoutId","ph","isComposing","bh","wh","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","kh","vh","_source","yh","getDomRangeRects","moveTo","moveBy","getIntersectionArea","getArea","getVisible","xh","commonAncestorContainer","excludeScrollbarsAndBorders","Th","viewportOffset","Oh","Rh","Ph","Dh","Sh","frameElement","Mh","Eh","Ih","Nh","scrollViewportToShowTarget","scrollAncestorsToShowTarget","Ch","Lh","domRoots","_initialDomRootAttributes","_observers","_ongoingChange","_postFixersInProgress","_renderingDisabled","_hasChangedSinceTheLastRendering","_writer","hd","_render","attachDomRoot","detachDomRoot","getDomRoot","disableObservers","enableObservers","scrollToTheSelection","isRenderingInProgress","_disableRendering","zh","getChildStartOffset","_setAttributesTo","_clearAttributes","Vh","fromJSON","jh","Bh","_nodes","_insertNodes","maxOffset","getNode","getNodeIndex","getNodeStartOffset","indexToOffset","offsetToIndex","nodeList","_removeNodes","Fh","getNodeByPath","Hh","Uh","qh","stickiness","_visitedParent","$h","Yh","Wh","Gh","getParentPath","getCommonPath","isTouching","hasSameParentAs","getTransformedByOperation","_getTransformedByInsertOperation","_getTransformedByMoveOperation","_getTransformedBySplitOperation","_getTransformedByMergeOperation","_getTransformedByInsertion","_getTransformedByMove","sourcePosition","targetPosition","movedRange","_getCombined","splitPosition","moveTargetPosition","graveyardPosition","insertionPosition","_getTransformedByDeletion","deletionPosition","graveyard","Qh","containsItem","getMinimalFlatRanges","getTransformedByOperations","_createFromRanges","Kh","_modelToViewMapping","_viewToModelMapping","_viewToModelLengthCallbacks","_markerNameToElements","_elementToMarkerNames","_unboundMarkerNames","viewPosition","modelPosition","_findPositionIn","findMappedViewAncestor","_toModelOffset","unbindViewElement","toModelElement","unbindModelElement","toViewElement","bindElementToMarker","unbindElementFromMarkerName","flushUnboundMarkerNames","clearBindings","toModelRange","toModelPosition","toViewRange","toViewPosition","isPhantom","markerNameToElements","registerViewToModelLength","getModelLength","_moveViewPositionToTextNode","Jh","_consumable","_textProxyRegistry","Zh","_getSymbolForTextProxy","revert","_addSymbolForTextProxy","Xh","conversionApi","dispatcher","convertChanges","getMarkersToRemove","convertMarkerRemove","getChanges","convertInsert","convertRemove","convertAttribute","attributeKey","attributeOldValue","attributeNewValue","getRange","convertMarkerAdd","getMarkersToAdd","writer","consumable","_createInsertConsumable","_testAndFire","_clearConversionApi","_createConsumableForRange","convertSelection","getMarkersAtPosition","_createSelectionConsumable","tf","markerName","markerRange","ef","_removeAllRanges","directChange","_popRange","attributeKeys","getSelectedBlocks","sf","rf","containsEntireContent","_checkRange","nf","isBlock","isLimit","af","cf","lf","toRange","fromRange","isDocumentOperation","df","uf","hf","ff","gf","hasOwnRange","isGravityOverridden","markers","_updateMarkers","_updateAttributes","_getStoredAttributes","_overrideGravity","overrideGravity","_restoreGravity","restoreGravity","_getStoreAttributeKey","_isStoreAttributeKey","_model","_attributePriority","_fixGraveyardRangesData","_hasChangedRange","_overriddenGravityRegister","liveRange","_fixGraveyardSelection","_validateSelectionRange","pf","differ","enqueueChange","_getDefaultRange","_prepareRange","oldMarkers","_getSurroundingAttributes","mf","getNearestSelectionRange","bf","wf","_dispatchers","yf","vf","xf","elementToElement","Vf","Uf","converterPriority","attributeToElement","jf","qf","Mf","attributeToAttribute","Bf","$f","Rf","markerToElement","Ff","Nf","isOpening","markerToHighlight","Hf","Df","Yf","Cf","Lf","zf","Wf","Gf","Zf","elementToAttribute","Xf","rg","ag","ng","tg","sg","elementToMarker","eg","dg","ig","viewItem","og","splitToAllowedParent","modelCursor","convertChildren","getSplitParts","modelRange","cursorParent","cg","lg","checkAttribute","ug","downcastDispatcher","Jf","hg","_commands","commandName","commands","fg","gg","consumablesFromElement","createFrom","_canConsumeName","_test","_consume","_revert","mg","_sourceDefinitions","_attributeProperties","pg","getDefinition","itemName","_clearCache","getDefinitions","_compiledDefinitions","_compile","isRegistered","isInline","checkChild","_checkContextMatch","allowAttributes","checkMerge","addChildCheck","addAttributeCheck","setAttributeProperties","getAttributeProperties","getLimitElement","checkAttributeInSelection","getValidRanges","Ig","_getValidRangesForRange","Mg","walker","findAllowedParent","removeDisallowedAttributes","Ng","createContext","bg","wg","_g","kg","vg","yg","xg","allowIn","Eg","getNames","allowContentOf","allowWhere","allowAttributesOf","inheritTypesFrom","Ag","Tg","Cg","inheritAllFrom","Sg","Pg","Og","_splitParts","_modelCursor","convertItem","_convertItem","_convertChildren","_splitToAllowedParent","_getSplitParts","convert","Dg","_removeEmptyElements","Rg","_registerSplitPair","Lg","upcastDispatcher","viewDocument","_viewWriter","Kf","_checkIfRootsExists","hasContent","ignoreWhitespaces","toData","zg","removeSelectionAttribute","toModel","addStyleProcessorRules","getRootNames","Vg","_helpers","_downcast","_createConversionHelpers","dispatchers","isDowncast","_upcast","addAlias","jg","upcastAlso","Bg","Fg","operations","baseVersion","addOperation","batch","Hg","_validate","__className","Ug","Wg","qg","Qg","Jg","Kg","$g","Yg","Zg","tm","Xg","em","getReversed","_execute","Gg","nm","im","getMovedRangeStart","om","shouldReceiveAttributes","sm","oldRange","newRange","affectsData","_markers","rm","oldName","am","cm","lm","getInsertionPosition","dm","um","_assertWriterUsedCorrectly","pm","applyOperation","usingOperation","updateMarker","addMarker","insertText","insertElement","appendText","appendElement","hm","fm","setAttributes","clearAttributes","_addOperationForAffectedMarkers","mm","merge","_merge","_mergeDetached","createPositionFromPath","gm","_set","_refresh","managedUsingOperations","removeMarker","setSelectionAttribute","_setSelectionAttribute","_removeSelectionAttribute","overrideSelectionGravity","restoreSelectionGravity","_currentWriter","bm","_markerCollection","_changesInElement","_elementSnapshots","_changedMarkers","_changeCount","_cachedChanges","_cachedChangesWithGraveyard","refreshItem","_isInInsertedElement","_markRemove","_markInsert","getMarkersIntersectingRange","bufferMarkerChange","bufferOperation","_markAttribute","getChangedMarkers","hasDataChanges","includeChangesInGraveyard","wm","_m","_getInsertDiff","_getRemoveDiff","_getAttributesDiff","changeCount","km","_markChange","_removeAllNestedChanges","_makeSnapshot","_getChangesForElement","_handleChange","nodesToHandle","_operations","_undoPairs","_undoneOperations","getOperations","getOperation","setOperationAsUndone","isUndoingOperation","isUndoneOperation","getUndoneOperation","Tm","xm","Am","Cm","ym","Sm","Pm","_hasSelectionChangedFromTheLastChangeBlock","createRoot","_handleChangeBlock","_hasDocumentChangedFromTheLastChangeBlock","_getDefaultRoot","Em","Mm","Im","_attachLiveRange","_managedUsingOperations","_affectsData","_destroyMarker","getMarkersGroup","_detachLiveRange","_liveRange","getStart","getEnd","Nm","Om","Rm","Dm","Lm","toPosition","fromPosition","zm","jm","canMergeWith","_filterAttributesOf","_affectedStart","_affectedEnd","handleNodes","_handleNode","isFirst","isLast","getSelectionRange","nodeToSelect","getAffectedRange","_handleObject","_checkAndSplitToAllowedPosition","_insert","_mergeSiblingsOf","_handleDisallowedNode","_tryAutoparagraphing","_setAffectedBoundaries","_canMergeLeft","_canMergeRight","_getAllowedIn","Bm","doNotResetEntireContent","$m","qm","Wm","leaveUnmerged","Fm","Ym","doNotAutoparagraph","Hm","Um","Gm","Km","unit","Zm","tp","ep","isForward","Jm","Xm","ip","sp","rp","up","ap","cp","dp","hp","lp","fp","_pendingChanges","_runPendingChanges","insertContent","Vm","deleteContent","modifySelection","Qm","getSelectedContent","np","createBatch","createOperationFromJSON","gp","_listener","press","mp","pp","keystrokes","bp","wp","kp","updateSourceElement","sourceElement","_p","HTMLTextAreaElement","vp","xp","getHtml","createHTMLDocument","Ap","_domParser","DOMParser","_domConverter","_htmlWriter","_toDom","parseFromString","Tp","_components","Cp","Sp","_nextEventLoopTimeout","_focus","_blur","focusedElement","Pp","componentFactory","focusTracker","_editableElementsMap","ckeditorInstance","setEditableElement","getEditableElement","getEditableElementsNames","_editableElements","editorUI","Np","Op","isDirectHost","Vp","Lp","jp","Bp","hostElement","zp","Dp","Fp","_replacedElements","newElement","restore","Hp","_toolbarConfig","Mp","_elementReplacer","editable","_initPlaceholder","_initToolbar","stickyPanel","limiterElement","viewportTopOffset","fillFromConfig","Ep","originKeystrokeHandler","originFocusTracker","beforeFocus","afterBlur","Up","_renderViewIntoCollectionParent","_parentElement","Wp","isRendered","$p","ib","nb","_isRendered","_revertData","_renderNode","intoFragment","isApplying","revertData","_revertTemplateFromNode","getViews","fb","gb","Gp","eventNameOrFunction","Qp","valueIfTrue","ub","_renderText","_renderElement","_renderAttributes","_renderElementChildren","_setUpListeners","Kp","_bindToObservable","Xp","bb","tb","_renderStyleAttribute","lb","hb","eb","mb","eventListeners","activateDomEventListener","Zp","activateAttributeListener","Yp","Jp","removeAttributeNS","rb","ab","sb","cb","ob","db","_viewCollections","_unboundChildren","bindTemplate","_bindTemplate","registerChild","deregisterChild","extendTemplate","yb","vb","Ab","attachToDom","_bodyCollectionContainer","dir","xb","xmlns","detachFromDom","childElementCount","Cb","Pb","Eb","_voiceLabelView","_createVoiceLabel","Mb","_editableElement","_hasExternalElement","_editingView","_updateIsFocusedClasses","Ib","Nb","Rb","Db","_contentPanelPlaceholder","_panelRect","_contentPanel","limiterBottomOffset","marginLeft","_checkIfShouldBeSticky","_limiterRect","isSticky","_isStickyToTheLimiter","_hasViewportTopOffset","_marginLeft","Lb","keystrokeHandler","focusables","zb","_getFocusableItem","focusFirst","focusLast","focusNext","focusPrevious","Vb","Bb","_observerInstance","_createObserver","_addElementCallback","_deleteElementCallback","_elementCallbacks","_getElementCallbacks","Fb","_previousRects","_periodicCheckTimeout","_checkElementRectsAndExecuteCallback","_startPeriodicCheck","_stopPeriodicCheck","_hasRectChanged","contentRect","Hb","Ub","selectstart","$b","positions","limiter","fitInViewport","qb","Gb","elementRect","viewportRect","Qb","targetRect","limiterRect","Yb","positionName","positionRect","limiterIntersectArea","viewportIntersectArea","Kb","Zb","Jb","Xb","buttonView","panelView","panelPosition","_getOptimalPosition","_panelPositions","southEast","southWest","northEast","defaultPanelPositions","ew","viewBox","_updateXMLContent","_colorFillPaths","fillColor","iw","sw","tooltipView","_createTooltipView","labelView","_createLabelView","iconView","keystrokeView","_createKeystrokeView","_getTooltipString","tabindex","isToggleable","mousedown","withKeystroke","rw","aw","arrowView","_createArrowView","lw","_focusCycler","dw","uw","fw","toggleSwitchView","_createToggleView","gw","activator","contextElements","bw","kw","vw","yw","xw","ww","toolbarView","Cw","listView","itemsView","Sw","maxWidth","_behavior","shouldGroupWhenFull","Ew","Pw","viewChildren","viewFocusables","viewItemsView","viewFocusTracker","viewLocale","ungroupedItems","groupedItems","groupedItemsDropdown","_createGroupedItemsDropdown","cachedPadding","shouldUpdateGroupingOnNextResize","_updateFocusCycleableItems","_updateGrouping","viewElement","_enableGroupingOnResize","_enableGroupingOnMaxWidthChange","_areItemsOverflowing","_groupLastItem","_ungroupFirstItem","Iw","shouldToolbarGroupWhenFull","Ow","yp","initialData","Rw","Nw","Dw","_disableStack","forceDisabled","Lw","clearForceDisabled","zw","Vw","jw","Bw","Fw","Hw","Uw","Ww","_canBeAligned","qw","$w","Yw","isFormatting","Gw","Qw","Kw","Xw","t_","localizedOptionTitles","center","justify","_addButton","isVertical","ariaLabel","n_","i_","o_","s_","a_","c_","l_","_actions","hasAny","d_","_reader","u_","loaders","_updatePendingAction","_loadersMap","_pendingAction","getLoader","createLoader","createUploadAdapter","h_","uploaded","uploadTotal","destroyLoader","_destroy","uploadedPercent","_filePromiseWrapper","_createFilePromiseWrapper","_adapter","uploadResponse","isFulfilled","rejecter","g_","m_","_getValue","_checkEnabled","forceValue","p_","w_","_applyQuote","_removeQuote","b_","afterInit","y_","A_","_getValueFromFirstAllowedNode","T_","C_","copyOnEnter","P_","E_","I_","N_","D_","L_","V_","j_","getAsFile","_native","B_","dropRange","dataTransfer","targetRanges","clipboardData","F_","clientX","clientY","caretRangeFromPoint","rangeParent","rangeOffset","W_","q_","$_","_htmlDataProcessor","U_","H_","Y_","G_","Q_","K_","J_","isSoft","Z_","X_","ek","nk","tk","ik","sk","rk","ak","lk","dk","uk","isLocked","_changeCallback","_batch","_reset","_selectionChangeCallback","unlock","hk","_buffer","_batches","resultRange","fk","mk","gk","wk","pk","vk","bk","_handleContainerChildrenMutations","_handleTextMutation","_handleTextNodeInsertion","yk","xk","firstChangeAt","insertions","deletions","Ak","Tk","kk","isInput","Ck","_shouldEntireContentBeReplacedWithParagraph","_replaceEntireContentWithParagraph","Sk","inputType","selectionToRemove","Pk","Ek","Mk","Ik","Ok","Rk","Nk","Dk","Lk","useRelations","forceWeakRemove","setOriginalOperations","originalOperations","operationsA","operationsB","nextBaseVersionA","nextBaseVersionB","originalOperationsACount","originalOperationsBCount","getContext","updateRelation","padWithNoOps","Vk","zk","_history","_useRelations","_forceWeakRemove","_relations","_setRelation","side","wasInLeftElement","wasStartBeforeMergedElement","wasEndBeforeMergedElement","wasInRightElement","aIsStrong","aWasUndone","_wasUndone","bWasUndone","abRelation","_getRelation","baRelation","wasUndone","jk","Fk","Hk","Bk","Uk","_stack","_createdBatches","addBatch","ranges","clearStack","_restoreSelection","Wk","_undo","qk","$k","Yk","_batchRegistry","_undoCommand","_redoCommand","Gk","Qk","Kk","Jk","Xk","tv","ev","nv","paragraphLikeElements","ov","iv","_autoparagraphEmptyRoots","sv","modelElements","rv","av","cv","_addDefaultH1Conversion","lv","hv","dv","withText","commandValue","isOn","gv","_fireEvents","mv","_insertDescriptor","oldDescriptor","_removeDescriptor","bv","wv","kv","vv","yv","isVisible","attachTo","defaultPositions","southArrowNorth","southArrowNorthMiddleWest","southArrowNorthMiddleEast","southArrowNorthWest","southArrowNorthEast","northArrowSouth","northArrowSouthMiddleWest","northArrowSouthMiddleEast","northArrowSouthWest","northArrowSouthEast","pin","unpin","_pinWhenIsVisibleCallback","_startPinning","_stopPinning","xv","Av","arrowVerticalOffset","Tv","arrowHorizontalOffset","northWestArrowSouthWest","northWestArrowSouthMiddleWest","northWestArrowSouth","northWestArrowSouthMiddleEast","northWestArrowSouthEast","northEastArrowSouthWest","northEastArrowSouthMiddleWest","northEastArrowSouth","northEastArrowSouthMiddleEast","northEastArrowSouthEast","southWestArrowNorthWest","southWestArrowNorthMiddleWest","southWestArrowNorth","southWestArrowNorthMiddleEast","southWestArrowNorthEast","southEastArrowNorthWest","southEastArrowNorthMiddleWest","southEastArrowNorth","southEastArrowNorthMiddleEast","southEastArrowNorthEast","Cv","Pv","Ev","Mv","Vv","Nv","hasSelectionHandle","jv","Iv","Ov","Rv","Dv","zv","Hv","Fv","Uv","Wv","qv","Yv","Kv","Gv","Qv","$v","Xv","ty","ey","ny","Bv","Zv","Jv","iy","cy","ly","uy","dy","hy","my","py","by","_widgetsWithTypeAroundUI","_enableTypeAroundUIInjection","_enableDetectionOfTypeAroundWidgets","_enableInsertingParagraphsOnButtonClick","_insertParagraph","oy","wy","_y","importNode","sy","ry","ay","vy","_previouslySelected","_clearPreviouslySelectedWidgets","Ay","_onMousedown","_onKeydown","_handleDelete","xy","_setSelectionOverElement","yy","_handleEnterKey","_handleArrowKeys","_getObjectElementNextToSelection","Ty","Cy","Sy","Ey","fieldView","statusView","_createStatusView","Iy","Ny","ariaDescribedById","errorText","Ry","Dy","Ly","Vy","labeledInput","_createLabeledInputView","saveButtonView","_createButton","cancelButtonView","_focusables","Uy","Wy","positionLimiter","_viewToStack","_idToStack","_rotatorView","_createRotatorView","_fakePanelsView","_createFakePanelsView","hasView","stackId","_numberOfStacks","_visibleStack","singleViewMode","showStack","_showView","_singleViewMode","visibleView","_showNextStack","hideView","_getStackId","updatePosition","_getBalloonPosition","visibleStack","_showPrevStack","qy","buttonNextView","buttonPrevView","$y","balloonClassName","withArrow","showView","_createButtonView","_balloonPanelView","_addPanels","_removePanels","numberOfPanels","Qy","Ky","_createForm","_form","_showForm","_balloon","_hideForm","_isVisible","Gy","_isInBalloon","Jy","nx","ix","ox","_insertMissingModelCaptionElement","sx","tx","_fixCaptionVisibility","_updateCaptionVisibility","_lastSelectedCaption","ax","cx","lx","hx","_options","_referenceCoordinates","activeHandlePosition","mx","gx","bx","originalWidth","originalHeight","aspectRatio","originalWidthPercents","fx","proposedWidth","proposedHeight","proposedWidthPercents","widthPercents","proposedHandleHostWidth","handleHostWidth","proposedHandleHostHeight","handleHostHeight","wx","_domResizerWrapper","_viewResizerWrapper","_cleanup","_appendHandles","_appendSizeUI","_sizeUI","bindToState","_initialViewWidth","_getHandleHost","_getResizeHost","updateSize","_proposeNewSize","redraw","commit","onCommit","isSameNode","containsHandle","isResizeHandle","dismiss","vx","pageX","pageY","isCentered","dominant","getResizeHost","getHandleHost","kx","Ax","xx","Cx","_resizers","_observer","_mouseDownListener","_mouseMoveListener","_mouseUpListener","_visibleResizer","_getResizerByViewElement","_getResizerByHandle","_activeResizer","Sx","Mx","defaultStyle","Ox","Rx","Dx","Lx","zx","Vx","full","alignLeft","alignCenter","alignRight","jx","Bx","Fx","Hx","Ix","Nx","Wx","localizedDefaultStylesTitles","qx","Yx","Kx","_toolbarDefinitions","_updateToolbarsVisibility","getRelatedElement","toolbarId","_isToolbarVisible","_hideToolbar","_isToolbarInBalloon","_showToolbar","Gx","Qx","Zx","_fileInputView","Xx","eA","nA","oA","File","sA","acceptedType","allowMultipleFiles","dA","uploadStatusChange","uA","fA","gA","mA","wA","yA","bA","pA","vA","hA","kA","_A","xA","alert","showSuccess","_showNotification","namespace","showInfo","showWarning","AA","insertChild","removeChildren","TA","CA","uploadId","SA","PA","iA","imageElement","EA","_readAndUpload","_ckHack","uploadStatus","_parseAndSetSrcsetAttributeOnImage","IA","_childCommands","_getFirstEnabledCommand","registerChildCommand","NA","OA","RA","DA","_defineButton","zA","VA","BA","FA","UA","WA","qA","manualDecorators","restoreManualDecoratorStates","_getDecoratorStateFromModel","$A","GA","YA","nT","oT","iT","rT","sT","aT","fT","gT","mT","bT","wT","_T","vT","yT","AT","TT","CT","PT","ST","MT","ET","NT","IT","RT","DT","LT","VT","jT","BT","UT","_definitions","getDispatcher","WT","$T","_modelSelection","_overrideUid","_isNextGravityRestorationSkipped","_isGravityOverridden","YT","handleForwardMovement","_hasSelectionAttribute","KT","_preventCaretMovement","GT","QT","handleBackwardMovement","_setSelectionAttributeFromTheNodeBefore","JT","_skipNextAutomaticGravityRestoration","XT","tC","nC","iC","addTargetToExternalLinks","FT","HT","_enableAutomaticDecorators","_enableManualDecorators","qT","_setupLinkHighlight","_enableInsertContentSelectionAttributesFixer","rel","oC","rC","urlInputView","_createUrlInput","_manualDecoratorSwitches","_createManualDecoratorSwitches","_createFormChildren","getDecoratorSwitchesState","dC","previewButtonView","_createPreviewButton","unlinkButtonView","editButtonView","hC","fC","actionsView","_createActionsView","formView","_createFormView","_createToolbarLinkButton","_enableUserBalloonInteractions","_addFormView","_hideUI","_closeFormView","_showUI","_getSelectedLinkElement","_areActionsVisible","_isUIVisible","_isUIInPanel","_addActionsView","_areActionsInPanel","_getBalloonPositionData","_isFormInPanel","_removeFormView","_startUpdatingUI","gC","zT","pC","wC","listIndent","bC","listType","_C","_indentBy","vC","kC","SC","yC","TC","sameIndent","smallerIndent","AC","xC","CC","PC","MC","IC","OC","RC","DC","$C","HC","UC","LC","qC","zC","VC","FC","WC","foo","YC","BC","GC","jC","NC","EC","JC","XC","getMediaViewElement","iS","rS","oS","sS","aS","dS","extraProviders","removeProviders","provider","providerDefinitions","hasMedia","_getMedia","getViewElement","uS","_getUrlMatches","_getValidUrl","_previewRenderer","renderForEditingView","renderMediaPreview","_getPreviewHtml","_getPlaceholderHtml","fS","tS","gS","mS","_timeoutId","_positionToInsert","_embedMediaBetweenPositions","bS","_validators","resetFormStatus","infoText","_urlInputViewInfoDefault","_urlInputViewInfoTip","_S","kS","_setUpDropdown","_setUpForm","AS","CS","MS","indent","NS","OS","RS","SS","PS","DS","ES","IS","LS","zS","xS","TS","BS","FS","VS","WS","jS","innerText","HS","US","sheet","cssRules","stylesString","bodyString","qS","YS","GS","QS","KS","ZS","$S","JS","XS","tP","eP","oP","sP","rP","_getFormattingItems","_getFormattingAttributes","aP","lP","hP","fP","mP","pP","wP","_P","vP","yP","TP","PP","EP","NP","getCellLocation","OP","rows","headingRows","headingColumns","LP","zP","VP","startRow","endRow","includeSpanned","_skipRows","_row","_column","_cellIndex","_spannedCells","_nextCellAtColumn","_isOverEndRow","_isSpanned","_getSpanned","_shouldSkipRow","_shouldSkipColumn","_formatOutValue","_recordSpans","skipRow","cell","isSpanned","rowspan","colspan","cellIndex","_markSpannedCell","BP","FP","HP","UP","tE","eE","WP","qP","$P","XP","YP","GP","iE","oE","nE","QP","KP","JP","ZP","sE","asWidget","jP","bE","pE","gE","fE","rE","yE","aE","cE","vE","uE","hE","kE","lE","mE","xE","wE","_E","AE","TE","createTable","CE","insertRows","copyStructureFromAbove","SE","insertColumns","PE","splitCellHorizontally","splitCellVertically","EE","isHorizontal","_getMergeableCell","NE","OE","removeRows","ME","IE","RE","getRows","DE","LE","getColumns","VE","zE","removeColumns","jE","_isInHeading","BE","FE","HE","UE","cellsToMove","cellsToTrim","YE","GE","$E","qE","newCellsSpan","updatedSpan","WE","QE","mergeWidth","mergeHeight","ZE","XE","KE","JE","tM","eM","nM","iM","cM","oM","sM","rM","aM","lM","dM","uM","hM","fM","gM","mM","pM","bM","_M","dE","vM","actionView","_createActionView","xM","_createGridCollection","_highlightGridBoxes","AM","EM","bindIsOn","_prepareDropdown","_prepareMergeSplitButtonDropdown","_fillDropdownWithListOptions","MM","IM","NM","startColumn","endColumn","OM","RM","LM","_handleDeleteContent","_defineSelectionConverter","_enableShiftClickSelection","_enableMouseDragSelection","_enablePluginDisabling","getSelectedTableCells","getSelectionAsFragment","setCellSelection","_getCellsToSelect","cells","getFocusCell","getAnchorCell","_getModelTableCellFromDomEvent","zM","flat","VM","_onCopyCut","_onInsertContent","FM","BM","UM","firstRow","lastRow","firstColumn","lastColumn","qM","WM","YM","GM","jM","firstColumnOfSelection","lastColumnOfSelection","firstRowOfSelection","lastRowOfSelection","HM","$M","QM","_handleTabOnSelectedTable","_getTabHandler","KM","JM","_navigateFromCellInDirection","_isSelectionAtCellEdge","_isObjectElementNextToSelection","_findTextRangeFromSelection","_isSingleLineRange","_getNearestVisibleTextPosition","eI","testCallback","hasMatch","_startListening","_evaluateTextBeforeSelection","nI","iI","sI","oI","rI","registeredTrademark","trademark","oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight","horizontalEllipsis","enDash","emDash","quotesPrimary","fI","quotesSecondary","quotesPrimaryEnGb","quotesSecondaryEnGb","quotesPrimaryPl","quotesSecondaryPl","aI","mathematical","typography","quotes","cI","dI","uI","hI","pI","e_","r_","_addListAutoformats","_addBasicStylesAutoformats","_addHeadingAutoformats","_addBlockQuoteAutoformats","_addCodeBlockAutoformats","f_","x_","M_","z_","Zk","fv","Xy","Ex","_registerSchema","_registerConverters","modelElement","$x","Jx","MA","LA","HA","mC","ZC","yS","nP","isTransformedWithPasteFromOffice","cP","gP","kP","CP","XM","tI","lI","transformations","_enableTransformationWatchers","gI","extra","mI","normalizedTransformation","LuxonError","InvalidDateTimeError","toMessage","InvalidIntervalError","InvalidDurationError","ConflictingSpecificationError","InvalidUnitError","InvalidArgumentError","ZoneIsAbstractError","DATE_SHORT","DATE_MED","DATE_MED_WITH_WEEKDAY","DATE_FULL","DATE_HUGE","TIME_SIMPLE","TIME_WITH_SECONDS","second","TIME_WITH_SHORT_OFFSET","timeZoneName","TIME_WITH_LONG_OFFSET","TIME_24_SIMPLE","hourCycle","TIME_24_WITH_SECONDS","TIME_24_WITH_SHORT_OFFSET","TIME_24_WITH_LONG_OFFSET","DATETIME_SHORT","DATETIME_SHORT_WITH_SECONDS","DATETIME_MED","DATETIME_MED_WITH_SECONDS","DATETIME_MED_WITH_WEEKDAY","DATETIME_FULL","DATETIME_FULL_WITH_SECONDS","DATETIME_HUGE","DATETIME_HUGE_WITH_SECONDS","Zone","ianaName","isUniversal","offsetName","opts","formatOffset","otherZone","singleton$1","SystemZone","Intl","DateTimeFormat","resolvedOptions","timeZone","parseZoneInfo","getTimezoneOffset","dtfCache","typeToPos","era","ianaZoneCache","IANAZone","resetCache","isValidSpecifier","isValidZone","zone","zoneName","makeDTF","hour12","adOrBc","formatToParts","partsOffset","formatted","filled","isUndefined","hackyOffset","fMonth","fDay","fYear","fadOrBc","fHour","fMinute","fSecond","asTS","over","objToLocalTS","millisecond","intlLFCache","intlDTCache","getCachedDTF","locString","intlNumCache","intlRelCache","sysLocaleCache","weekInfoCache","listStuff","loc","englishFn","intlFn","listingMode","PolyNumberFormatter","intl","forceSimple","padTo","otherOpts","intlOpts","useGrouping","minimumIntegerDigits","inf","getCachedINF","NumberFormat","roundTo","PolyDateFormatter","dt","originalZone","gmtOffset","offsetZ","toJSDate","PolyRelFormatter","isEnglish","hasRelative","rtf","getCachedRTF","cacheKeyOpts","RelativeTimeFormat","formatRelativeTime","narrow","quarters","lastable","isDay","isInPast","fmtValue","singular","lilUnits","fmtUnit","fallbackWeekSettings","firstDay","minimalDays","weekend","Locale","fromOpts","numberingSystem","outputCalendar","weekSettings","defaultToEN","specifiedLocale","Settings","defaultLocale","localeR","systemLocale","numberingSystemR","defaultNumberingSystem","outputCalendarR","defaultOutputCalendar","weekSettingsR","validateWeekSettings","defaultWeekSettings","numbering","parsedLocale","parsedNumberingSystem","parsedOutputCalendar","parseLocaleString","localeStr","xIndex","uIndex","selectedStr","smaller","calendar","intlConfigString","weekdaysCache","monthsCache","meridiemCache","eraCache","fastNumbersCached","fastNumbers","supportsFastNumbers","isActuallyEn","hasNoWeirdness","alts","redefaultToEN","redefaultToSystem","formatStr","mapMonths","ms","extract","mapWeekdays","meridiems","eras","matching","dtFormatter","numberFormatter","relFormatter","listFormatter","getCachedLF","ListFormat","getWeekSettings","hasLocaleWeekInfo","getCachedWeekInfo","getWeekInfo","weekInfo","getStartOfWeek","getMinDaysInFirstWeek","getWeekendDays","other","FixedOffsetZone","utcInstance","parseSpecifier","signedOffset","InvalidZone","normalizeZone","defaultZone","lowered","numberingSystems","arab","arabext","bali","beng","deva","fullwide","gujr","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","latn","numberingSystemsUTF16","hanidecChars","digitRegexCache","digitRegex","throwOnInvalid","twoDigitCutoffYear","cutoffYear","resetCaches","resetDigitRegexCache","Invalid","nonLeapLadder","leapLadder","unitOutOfRange","dayOfWeek","UTC","setUTCFullYear","js","getUTCDay","computeOrdinal","isLeapYear","uncomputeOrdinal","ordinal","month0","isoWeekdayToLocal","isoWeekday","startOfWeek","gregorianToWeek","gregObj","minDaysInFirstWeek","weekYear","weekNumber","weeksInWeekYear","timeObject","weekToGregorian","weekData","weekdayOfJan4","yearInDays","daysInYear","gregorianToOrdinal","gregData","ordinalToGregorian","ordinalData","usesLocalWeekValues","localWeekday","localWeekNumber","localWeekYear","hasInvalidGregorianData","validYear","validMonth","integerBetween","validDay","daysInMonth","hasInvalidTimeData","validHour","validMinute","validSecond","validMillisecond","bestBy","compare","best","thing","padded","parseInteger","parseFloating","parseMillis","fraction","towardZero","factor","modMonth","floorMod","firstWeekOffset","weekOffset","weekOffsetNext","untruncateYear","offsetFormat","modified","offHourStr","offMinuteStr","offHour","offMin","asNumber","numericValue","normalizeObject","normalizer","pick","monthsLong","monthsShort","monthsNarrow","weekdaysLong","weekdaysShort","weekdaysNarrow","erasLong","erasShort","erasNarrow","stringifyTokens","splits","tokenToString","macroTokenToFormatOpts","DD","DDD","DDDD","ttt","tttt","TTT","TTTT","fff","ffff","FF","FFF","FFFF","Formatter","parseFormat","fmt","currentFull","bracketed","formatOpts","systemLoc","formatWithSystemDefault","formatDateTime","formatDateTimeParts","formatInterval","formatRange","formatDateTimeFromString","knownEnglish","useDateTimeFormatter","isOffsetFixed","allowZ","meridiem","meridiemForDateTime","monthForDateTime","weekdayForDateTime","maybeMacro","eraForDateTime","quarter","formatDurationFromString","dur","tokenToField","realTokens","lildur","mapped","shiftTo","ianaRegex","combineRegexes","regexes","combineExtractors","extractors","mergedVals","mergedZone","ex","patterns","extractor","simpleParse","offsetRegex","isoTimeBaseRegex","isoTimeRegex","isoTimeExtensionRegex","extractISOWeekData","extractISOOrdinalData","sqlTimeRegex","sqlTimeExtensionRegex","int","fallback","extractISOTime","extractISOOffset","fullOffset","extractIANAZone","isoTimeOnly","isoDuration","extractISODuration","yearStr","monthStr","weekStr","dayStr","hourStr","minuteStr","secondStr","millisecondsStr","hasNegativePrefix","negativeSeconds","maybeNegate","obsOffsets","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","fromStrings","weekdayStr","rfc2822","extractRFC2822","obsOffset","milOffset","rfc1123","rfc850","ascii","extractRFC1123Or850","extractASCII","isoYmdWithTimeExtensionRegex","isoWeekWithTimeExtensionRegex","isoOrdinalWithTimeExtensionRegex","isoTimeCombinedRegex","extractISOYmdTimeAndOffset","extractISOYmd","extractISOWeekTimeAndOffset","extractISOOrdinalDateAndTime","extractISOTimeAndOffset","extractISOTimeOnly","sqlYmdWithTimeExtensionRegex","sqlTimeCombinedRegex","extractISOTimeOffsetAndIANAZone","INVALID$2","lowOrderMatrix","casualMatrix","daysInYearAccurate","daysInMonthAccurate","accurateMatrix","orderedUnits$1","reverseUnits","clone$1","conversionAccuracy","matrix","durationToMillis","vals","_vals$milliseconds","normalizeValues","previousVal","conv","rollUp","accurate","invalid","isLuxonDuration","fromMillis","normalizeUnit","fromDurationLike","durationLike","isDuration","parseISODuration","fromISOTime","parseISOTimeOnly","fmtOpts","toHuman","unitDisplay","listStyle","toISOTime","millis","toMillis","suppressSeconds","includePrefix","includeOffset","invalidReason","minus","negate","mapUnits","reconfigure","rescale","removeZeroes","newVals","shiftToAll","built","accumulated","lastUnit","negated","invalidExplanation","v1","v2","INVALID$1","isLuxonInterval","builtStart","friendlyDateTime","builtEnd","validateError","validateStartEnd","startIsValid","endIsValid","isInterval","toDuration","useLocaleWeeks","hasSame","splitAt","dateTimes","sorted","divideEqually","numberOfParts","overlaps","abutsStart","abutsEnd","engulfs","intersection","union","intervals","final","sofar","xor","currentCount","ends","toISODate","mapEndpoints","hasDST","isValidIANAZone","locObj","getMinimumDaysInFirstWeek","getWeekendWeekdays","monthsFormat","weekdaysFormat","relative","localeWeek","dayDiff","earlier","later","utcDayStart","keepLocalTime","highWater","lowestOrder","highOrderDiffs","differs","remainingMillis","lowerOrderUnits","intUnit","deser","parseDigits","spaceOrNBSP","spaceOrNBSPRegExp","fixListRegex","stripInsensitivities","oneOf","strings","simple","escapeToken","partTypeStyleToTokenVal","dayperiod","dayPeriod","hour24","dummyDateTimeCache","expandMacroTokens","maybeExpandMacroToken","formatOptsToTokens","TokenParser","unitForToken","six","oneOrTwo","oneToThree","oneToSix","oneToNine","twoToFour","fourToSix","unitate","disqualifyingUnit","regexString","buildRegex","explainFromTokens","rawMatches","matchIndex","specificOffset","dateTimeFromMatches","toField","getDummyDateTime","resolvedOpts","tokenForPart","isSpace","actualType","INVALID","MAX_DATE","unsupportedZone","possiblyCachedWeekData","possiblyCachedLocalWeekData","localWeekData","inst","fixOffset","localTS","tz","utcGuess","o2","o3","tsToObj","objToTS","adjustTime","oPre","millisToAdd","parseDataToDateTime","parsedZone","interpretationZone","toTechFormat","extended","longFormat","extendedZone","defaultUnitValues","defaultWeekUnitValues","defaultOrdinalUnitValues","orderedUnits","orderedWeekUnits","orderedOrdinalUnits","normalizeUnitWithLocalWeeks","weeknumber","weeksnumber","weeknumbers","weekyear","weekyears","quickDT","offsetProvis","guessOffsetForZone","zoneOffsetGuessCache","zoneOffsetTs","diffRelative","calendary","lastOpts","argList","_zone","isLuxonDateTime","fromJSDate","isDate","zoneToUse","fromSeconds","tsNow","containsOrdinal","containsGregorYear","containsGregorMD","containsGregor","definiteWeekDef","useWeekData","defaultValues","objNow","foundFirst","higherOrderInvalid","hasInvalidWeekData","validWeek","validWeekday","hasInvalidOrdinalData","validOrdinal","gregorian","tsFinal","offsetFinal","parseISODate","fromRFC2822","parseRFC2822Date","preprocessRFC2822","fromHTTP","parseHTTPDate","localeToUse","parseFromTokens","fromString","fromSQL","parseSQL","isDateTime","parseFormatForOpts","localeOpts","tokenList","expandFormat","isWeekend","monthShort","monthLong","weekdayShort","weekdayLong","offsetNameShort","offsetNameLong","isInDST","getPossibleOffsets","dayMs","minuteMs","oEarlier","oLater","o1","ts1","ts2","c1","isInLeapYear","weeksInLocalWeekYear","resolvedLocaleOptions","keepCalendarTime","newTS","offsetGuess","asObj","setLocale","settingWeekStuff","mixed","normalizedUnit","toLocaleParts","toISOWeekDate","toRFC2822","toHTTP","toSQLDate","toSQLTime","includeZone","includeOffsetSpace","toSQL","toSeconds","toUnixInteger","toBSON","includeConfig","otherDateTime","durOpts","maybeArray","otherIsLater","diffed","until","inputMs","adjustedToZone","toRelative","toRelativeCalendar","fromFormatExplain","fromStringExplain","buildFormatParser","fromFormatParser","formatParser","dateTimeish","VERSION","defineLocale","weekdaysMin","meridiemParse","isPM","isLower","longDateFormat","LTS","LL","LLL","LLLL","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","dayOfMonthOrdinalParse","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","postformat","symbolMap","preparse","numberMap","suffixes","word","forms","relativeTimeWithPlural","isFormat","period","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","monthsParse","monthsRegex","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","weekdaysParse","longMonthsParse","shortMonthsParse","processRelativeTime","translate","lll","llll","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","since","abbr","eraYearOrdinalRegex","eraYearOrdinalParse","$0","$1","$2","isUpper","ezafeNumSuffix","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","translateSeconds","translateSingular","special","relativeTimeWithSingular","relativeSeconds","translator","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","weekdaysCaseReplace","nominative","accusative","genitive","processHoursFunction","webpackContext","webpackContextResolve","webpackContextKeys","hookCallback","setHookCallback","hasOwnProp","isObjectEmpty","arrLen","createUTC","strict","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","weekdayMismatch","getParsingFlags","_pf","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","_isValid","createInvalid","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","dates","isoweekdays","isoweekday","dayofyears","dayofyear","GG","isoweekyears","isoweekyear","isoweeks","isoweek","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","dayOfYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p2","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","addParseToken","tokenLen","addWeekParseToken","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","getMilliseconds","getSeconds","getDay","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setUTCDate","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","mod","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","setUTCMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weeksInYear","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","checkWeekday","parsedInput","calculateOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","configFromArray","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","_milliseconds","_days","_bubble","absRound","compareArrays","array1","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","cloneWithOffset","setTime","getDateOffset","getSetOffset","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","tmp","isAdding","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","formats","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","isSame","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","keepOffset","toDate","datetime","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","isDSTShifted","proto$1","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","encoding","_ff","_gg","HH","_hh","II","_ii","_blocksize","_digestsize","digestbytes","asBytes","asString","addUnitAlias","shorthand","lowerCase","addUnitPriority","dayOfMonth","runtime","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","makeInvokeMethod","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","tryCatch","GenStateSuspendedYield","GeneratorFunction","GeneratorFunctionPrototype","NativeIteratorPrototype","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","previousPromise","enqueue","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","skipTempReset","rootRecord","rval","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","_RestClient_instances","_RestClient_baseUrl","_RestClient_makeUrl","_RestClient_makeRequest","_APIResponse_jsonMimeTypes","__classPrivateFieldSet","__classPrivateFieldGet","RestAuth","xhrFingerprint","APIResponse","Request","isJson","getRandomValues","rnds8","rng","crypto","msCrypto","byteToHex","v4","buf","rnds","computeCoordsFromPlacement","rtl","sideAxis","alignmentAxis","alignLength","commonX","commonY","commonAlign","coords","_await$platform$isEle","rects","elementContext","altBoundary","paddingObject","clippingClientRect","offsetScale","elementClientRect","platformWithDetectOverflow","statefulPlacement","resetCount","currentMiddleware","nextX","nextY","initialPlacement","axis","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","shouldAddOffset","alignmentOffset","centerOffset","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflows","overflowsData","sides","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","originSides","_middlewareData$offse","diffCoords","convertValueToCoords","alignment","mainAxisMulti","crossAxisMulti","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","getHTMLOffset","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginRight","clippingStableScrollbarWidth","setLeftRTLScrollbarOffset","htmlOffset","firstRect","hasWindow","getNodeName","getWindow","_node$ownerDocument","isHTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","isTableElement","isTopLayer","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","rotate","perspective","isWebKit","backdropFilter","willChange","contain","getContainingBlock","getParentNode","isLastTraversableNode","CSS","getNodeScroll","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","getFrameElement","createCoords","oppositeSideMap","clamp","getSide","getAlignment","getOppositeAxis","getAxisLength","getSideAxis","firstChar","getAlignmentAxis","getAlignmentSides","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getOppositeAxisPlacements","getSideList","isStart","getPaddingObject","expandPaddingObject","rectToClientRect","validMiddleware","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","allowedPlacements","autoAlignment","placements$1","getPlacementList","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","placementsSortedByMostSpace","getSideOffsets","isAnySideFullyClipped","referenceHiddenOffsets","referenceHidden","escapedOffsets","getBoundingRect","minX","minY","nativeClientRects","clientRects","getRectsByLine","sortedRects","prevRect","resetRects","lastRect","isTop","isLeftSide","maxRight","minLeft","measureRects","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","isOriginSide","_state$middlewareData","_state$middlewareData2","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","webkit","containerType","alignments","oppositeAlignmentMap","removePrecisionIssue","fromMap","fromUnit","toMap","toUnit","down","MISSING_FTP","adjustedHour","__webpack_module_cache__","inProgress","dataWebpackPrefix","cachedModule","__webpack_modules__","definition","chunkId","hmd","needAttach","scripts","charset","onScriptComplete","doneFns","nmd","paths","baseURI","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","chunkLoadingGlobal","startResolve","bootstrapPromises","startPromise","isNodeLike","browser","preparePlatform","initializePal","isRenderer","palModule","globalize","frameworkPromise","frameworkName","appHost","customConfig","bootstrap","appHosts","mainModuleId","toConsole","bootstraps"],"sourceRoot":""}